>  기사  >  웹 프론트엔드  >  데이터 구조 및 알고리즘 0일차

데이터 구조 및 알고리즘 0일차

Patricia Arquette
Patricia Arquette원래의
2024-10-06 06:20:03990검색

Data Structures & Algorithm Day 0

0일차

기본 데이터 구조

Javascript의 모든 코드 예제를 볼 수 있지만 이러한 개념은 언어에 구애받지 않습니다

  1. 배열

배열은 연속된 메모리 위치에 저장된 일반적으로 동일한 유형의 요소 모음입니다.

도서 목록으로 배열:
특정한 수의 책을 보관하는 선반이 있다고 상상해 보십시오. 선반의 각 슬롯은 배열의 색인과 같고, 각 책은 해당 색인에 저장된 요소와 같습니다.

주요 특징:

인덱싱: 각 요소는 해당 인덱스(언어에 따라 0 기반 또는 1 기반)로 액세스할 수 있습니다.


const fruit  = ['Banana','Apple','Grape', 'Pineapple']

console.log(fruit[0]) //  Banana is accessed 0 index
console.log(fruit[3]) // Pineapple is accessed 3 index


고정 크기: 일단 선언되면 배열의 크기를 변경할 수 없습니다(정적 배열).
정적 배열을 사용하는 언어에서는 배열을 선언할 때 생성 시 크기를 지정해야 합니다. 즉, 크기가 5인 배열을 선언하면 해당 배열에 5개의 요소만 저장할 수 있으며 나중에 크기를 변경할 수 없습니다. 배열이 가득 차면 더 많은 요소를 추가하거나 축소할 수 없습니다.

그러나 JavaScript 배열은 본질적으로 동적이므로 대부분의 경우 고정 크기 제한이 없습니다. 하지만 고정 크기 배열을 개념적으로 이해하려면 JavaScript 배열이 늘어나거나 줄어들 수 없다고 상상해 보세요.


let fixedArray = new Array(3); // Array with a fixed size of 3
fixedArray[0] = 'apple';
fixedArray[1] = 'banana';
fixedArray[2] = 'cherry';

// Now if you try to add another item:
fixedArray[3] = 'date'; // This would throw an error or overwrite an existing element (hypothetically)


console.log(fixedArray) // [ 'apple', 'banana', 'cherry', 'date' ]


랜덤 액세스: 인덱스를 사용하여 모든 요소에 직접 액세스할 수 있습니다.


const fruit  = ['Banana','Apple','Grape', 'Pineapple']

console.log(fruit[0]) // index 0 is the Banana 
console.log(fruit[3]) // index 3 is the Pineapple 


장점:

  • 색인별 요소에 대한 빠른 액세스(O(1) 시간 복잡도).
  • 구현이 간단합니다.

단점:

  • 요소 이동이 필요할 수 있으므로 삽입 및 삭제는 비용이 많이 듭니다(O(n) 시간 복잡도).
  • 고정 크기(일부 언어의 경우)로 인해 유연성이 떨어집니다.

위 내용은 데이터 구조 및 알고리즘 0일차의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.