Array(배열)

노지수·2022년 5월 28일
0
post-thumbnail

배열(Array)

  • 메모리상에 데이터를 연속하게 배치한 자료구조.
  • 배열은 같은 타입의 데이터를 여러개 나열한 선형 자료구조.
  • 배열은 선언하는 순간 셀에 인덱스가 부여되고, 셀 갯수는 고정된다.
  • 부여된 인덱스를 통해 원하는 데이터에 접근할 수 있다.
  • 배열의 주소를 보면, 한 칸마다 배열의 자료형의 크기를 갖고있다.(int형으로 선언된 배열이라면 배열 한 칸의 크기는 4byte이다.)
  • 배열의 종류에는 직선형(1차원 배열), 직사각형형(2차원 배열), 직육면체형(3차원 배열) 등이 있다.

배열의 특징

  1. 추가적으로 소모되는 메모리 양(=overhead)가 거의 없다.
  2. Cache hit rate가 높다.
  • cache hit ratio : 적중률 = (캐시히트 횟수)/(전체 참조횟수)
  • cache hit : 참조하려는 데이터가 캐시에 존재할 때
  • cache miss : 참조하려는 데이터가 캐시에 존재하지 않을 때
  1. 배열을 생성 시 메모리 상에 연속된 구간을 할당해야 해서 할당에 제약이 걸릴 수 있음.

배열을 사용해야하는 상황

  • 데이터 개수가 확실하게 정해져 있을 때 데이터 저장을 위한 자료구조로 선택하면 좋다.
  • 데이터 삽입 / 삭제 작업이 적을 때 사용하면 좋다.
  • 배열에 저장된 데이터를 검색하는 작업이 많을 때 사용하면 좋다.(인덱스를 통한 빠른 검색이 가능하기 때문)
profile
프로그래밍, 개념 및 이론 기록

0개의 댓글