배열(순차 리스트)

김동현·2023년 8월 30일
0
post-thumbnail

배열(순차 리스트)

배열이란, 연관된 데이터를 연속적인 형태로 저장하는 복합 타입을 말한다. 일반적으로 변수를 선언하면 메모리상에 기록되는데, 우리는 이 메모리에 저장된 변수를 꺼내 쓸 수 있다. 이때 여러 개의 변수를 메모리에 기록하려면 배열이라는 자료구조를 사용하면 된다. 배열은 연관된 데이터를 연속적인 형태로 구성된 구조를 가진다. 배열에 포함된 원소는 순서대로 번호(index)가 붙는다.

배열의 특징

  • 고정된 크기를 가지며 일반적으론 동적으로 크기를 늘릴 수 없다. (자바스크립트처럼 대부분의 스크립트 언어는 동적으로 크기가 증감되도록 만들어져 있다.)
  • 원하는 원소의 index 를 알고 있다면 O(1)의 시간 복잡도로 원소를 찾을 수 있다.
  • 원소를 삭제하면 해당 index 에 빈자리가 생긴다.

배열의 예제

배열에 요소를 추가 하려면 push(), unshift(), splice() 메서드를 사용하면 되고 시간 복잡도는 O(n)이다.
배열에 요소를 삭제 하려면 pop(), shift(), splice() 메서드를 사용하면 되고 시간 복잡도는 O(n)이다.
따라서 추가와 삭제가 반복되는 로직이라면 배열 사용을 권장하지 않는다.

배열 생성 방법은 크게 3가지가 있다.

  • 배열 리터럴을 이용하는 방법
  • Array의 객체 생성자를 이용하는 방법
  • new 연산자를 이용한 Array 객체 생성 방법

    ※ new 연산자를 이용한 방법은 가독성, 실행 속도를 위해 추천하지 않는다.

자바스크립트의 Array 는 다른 언어의 Array 와 조금 다르다. 자바스크립트의 Array는 동적이며, HashMap 에 가깝다. 그래서 index 가 number 가 아닌 다른 논리 값이 들어가도 된다.

profile
가치를 전달하는 개발자

0개의 댓글

관련 채용 정보