호빵의 IT 개발소

리스트(List)와 배열(Array)의 차이점 본문

CS(전공지식)/기술면접 준비

리스트(List)와 배열(Array)의 차이점

호빵Stack 2025. 3. 26. 21:32
리스트(List) vs 배열(Array) 차이점
  • 구조
    • 리스트: 연결 리스트(노드 + 포인터)
    • 배열: 고정된 크기의 연속된 메모리 공간
  • 크기 조절
    • 리스트: 동적 크기, 노드 추가로 확장
    • 배열: 정적 배열은 고정 크기, 동적 배열은 재할당 필요
  • 접근 속도
    • 리스트: 순차 접근 O(n)
    • 배열: 인덱스 직접 접근 O(1)
  • 삽입/삭제
    • 리스트: 위치 알고 있으면 빠름 (O(1))
    • 배열: 중간 삽입/삭제는 느림 (O(n))
  • 메모리
    • 리스트: 포인터 추가 저장 필요 → 메모리 사용 많음
    • 배열: 포인터 없이 값만 저장 → 메모리 효율 좋음

 

 

면접 스타일 답변 예시:

배열은 연속된 메모리 공간을 사용하는 구조로 인덱스를 통한 접근이 빠르며 메모리 사용이 효율적입니다.
반면 리스트는 포인터를 이용해 각 노드를 연결하는 방식으로 구성되어 있어 삽입과 삭제가 유연하지만 인덱스 기반 접근은 느리고 메모리 사용이 더 많습니다.
따라서 빠른 접근이 중요할 경우 배열을 빈번한 삽입과 삭제가 필요할 경우 리스트를 사용하는 것이 적절합니다.
Comments