[자료구조&알고리즘] 배열(Array)

cojet·2022년 10월 20일
0

자료구조&알고리즘

목록 보기
3/16

배열(Array)

배열은 연관된 테이터를 연속적인 형태로 구성된 구조를 가집니다.
배열에 포함된 원소는 순서대로 번호(index)가 붙습니다.

특징

  • 고정된 크기를 가지며 일반적으로 동적으로 크기를 늘릴 수 없습니다.
    (JavaScript처럼 대부분의 스크립트 언어는 동적으로 크기가 증감가능합니다.)
  • 원하는 원소의 index를 알고 있다면 O(1)로 원소를 찾을 수 있습니다.
  • 원소를 삭제하면 해당 index에 빈자리가 생깁니다.

요소 제거

숫자 3을 제거 해보도록 합시다.

요소를 삭제하고 순서를 맞추려면 최악의 경우 O(n)이 소요됩니다.

요소 추가

이번에는 요소 5뒤에 8을 추가해보도록 하겠습니다.

중간에 요소를 추가하고 싶다면 최악의 경우 O(n)만큼 소요됩니다.

JavaScript의 배열

  • 자바스크립트의 Array는 동적입니다.
  • 자바스크립트의 Arraysms HashMap에 가깝습니다.
  • index가 number가 아니어도 가능합니다.

note
배열의 추가와 제거시 최악의 경우 O(n)의 시간복잡도를 갖습니다.
따라서, 추가와 제거가 반복되는 로직이라면 배열 사용을 권장하지 않습니다.
탐색이 많은 로직에서 사용시 유리한 자료구조입니다.

0개의 댓글