개발/자료구조

[자료구조] 배열(Array)이란?

난중후니 2022. 12. 29. 18:37
728x90
반응형

배열(Array)이란?

  • 데이터를 메모리 상에서 연관된 데이터를 순차적으로 저장하며 메모리를 정적인 크기로 할당 받아 이후 크기 변경이 불가능합니다.
  • 인덱스를 통해서 배열에 있는 요소에 접근 할 수 있습니다.

ex) int[] intArray = new int[3];

Index 0 1 2
Data 0 0 0

장점

  1. index를 가지고 있기 때문에 데이터에 바로 접근이 가능합니다.
  • 조회시 index를 통해 조회하기 때문에 시간 복잡도 O(1)로 갖게 되며 자료 구조의 크기가 클 수록 더욱 효율적입니다.

단점

  1. 배열을 생성할 때 크기를 정해야 합니다.
  • 배열을 생성 후 크기 변경이 불가능하기 때문에 데이터의 수와 맞지 않으면 데이터를 담지 못하거나 메모리 낭비가 있습니다.
  1. 배열은 변경만 가능하며 삽입, 삭제가 불가능합니다.

배열을 사용하기 좋은 상황

  • 데이터의 개수가 확실히 정해져 있을 때
  • 삽입/삭제 작업이 거의 없고 조회와 데이터 변경만 이용할 시
  • 배열에 저장된 데이터를 검색하는 작업이 많을 때
728x90
반응형