호빵의 IT 개발소

리스트(List)와 벡터(Vector)의 차이점 본문

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

리스트(List)와 벡터(Vector)의 차이점

호빵Stack 2025. 3. 26. 21:28
리스트(List) vs 벡터(Vector) 차이점
  • 구조
    • 리스트: 연결 리스트(Linked List), 노드 간 포인터로 연결
    • 벡터: 동적 배열(Dynamic Array), 연속된 메모리 공간 사용
  • 접근 속도
    • 리스트: 순차 접근 → O(n)
    • 벡터: 인덱스로 직접 접근 → O(1)
  • 삽입/삭제
    • 리스트: 중간 삽입/삭제 빠름 (O(1), 위치 알 경우)
    • 벡터: 끝 삽입은 빠르지만, 중간은 느림 (O(n))
  • 메모리
    • 리스트: 포인터 추가 저장 → 메모리 사용 많음
    • 벡터: 연속된 공간 사용 → 메모리 효율 좋음

 

 

면접 스타일 답변 예시:

리스트는 연결 리스트 기반으로 구성되어 노드 간 포인터를 통해 연결되며 중간 삽입이나 삭제가 빠른 반면 인덱스 접근은 느립니다.
반면 벡터는 동적 배열로 구현되어 있어 연속된 메모리 공간을 사용하고 인덱스를 통한 접근이 O(1)로 매우 빠르지만 중간 삽입이나 삭제에는 오버헤드가 큽니다.
상황에 따라 삽입/삭제가 빈번하면 리스트를 빠른 인덱스 접근이 중요할 경우에는 벡터를 선택하는 것이 효율적입니다.
Comments