개념

배열(array)

  • 같은 타입의 데이터들을 저장하는 자료 구조
  • 연속된 메모리 공간(1차원)에 데이터들을 저장
  • 데이터들 각각은 이름이 없지만 인덱스로 접근 가능

대부분의 high level 언어들은 배열에 객체들을 저장할 때는,
객체 들은 메모리 상에 듬성 듬성 존재하고,
객체의 레퍼런스(메모리 주소)를 배열에 연속적으로 저장한다.

연속된 메모리 공간에 데이터들을 저장하기 때문에
cpu cache를 통해
같은 배열에 있는 다른 데이터에 접근하는 시간을 단축할 수 있다.

동적 배열(Dynamic array)

  • 크기가 변할 수 있는 array
  • 데이터를 더하거나 빼는 것이 가능한 자료 구조
  • resizable array 또는 array list 등으로도 불림

연관 배열(Associative array)

  • key-value 쌍(pair)들을 저장하는 ADT
  • 같은 key를 가지는 쌍(pair)은 최대 1개만 존재
  • map, dictionary 라고 불리기도 함 (구현체)

0개의 댓글