4차산업혁명의 일꾼/개발문답

배열(Array)과 연결 리스트(Linked List)의 차이점과 시간 복잡도를 설명해주세요

르무엘 2025. 3. 15. 14:34
 

배열(Array)의 특징

  1. 데이터에 빠르게 접근할 때 유리 (O(1)).
  2. 크기가 고정되어 있어 메모리 효율적인 경우 적합.
  3. 삽입/삭제가 많지 않고, 데이터의 정렬 상태를 유지해야 하는 경우 사용.
  • 사용 사례: 정적 배열, 간단한 데이터 저장, 2D 또는 다차원 배열 활용.

연결 리스트(Linked List)의 특징

  1. 크기를 동적으로 조정 가능하고, 삽입/삭제가 빈번한 경우 적합.
  2. 탐색이 느리지만, 순차적으로 데이터를 처리하거나 삽입/삭제가 중요할 때 유리.
  3. 메모리 사용량이 상대적으로 많아질 수 있음.
  • 사용 사례: 동적 데이터 저장, 스택/큐 구현, 그래프의 인접 리스트, LRU 캐시.

 


정리

  • 빠른 데이터 접근이 필요하고 크기가 고정된 경우 배열(Array) 사용.
  • 크기가 가변적이고 삽입/삭제가 자주 일어나는 경우 연결 리스트(Linked List) 사용.
    상황에 따라 두 자료 구조의 장단점을 고려하여 선택하는 것이 중요합니다.
LIST