호빵의 IT 개발소

std::map과 std::unordered_map 차이점 본문

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

std::map과 std::unordered_map 차이점

호빵Stack 2025. 3. 26. 21:04
std::map vs std::unordered_map 차이점 요약
  • 구조:
    • std::map: Red-Black Tree 기반 (이진 탐색 트리)
    • std::unordered_map: Hash Table 기반
  • 정렬:
    • map: 자동 정렬 (키 기준 오름차순)
    • unordered_map: 정렬 없음
  • 시간 복잡도:
    • map: 검색, 삽입, 삭제 O(log n)
    • unordered_map: 평균 O(1), 최악 O(n)
  • 사용 시점:
    • map: 정렬된 순서 필요할 때
    • unordered_map: 빠른 접근이 중요할 때

 

 

면접 스타일 답변 예시:

std::map은 내부적으로 Red-Black Tree를 사용해 키를 자동 정렬하며 모든 연산의 시간 복잡도는 O(log n)입니다.
반면 std::unordered_map은 해시 테이블 기반으로 정렬은 없지만 평균적으로 O(1)의 빠른 검색 속도를 제공합니다.
따라서 키의 순서가 중요하면 map을 성능 위주로 빠른 조회가 필요할 경우엔 unordered_map을 사용하는 것이 적합합니다.

'CS(전공지식) > 기술면접 준비' 카테고리의 다른 글

트리(Tree)의 개념  (0) 2025.03.26
해쉬 맵(Hash Map)의 개념  (0) 2025.03.26
맵(Map)의 개념  (0) 2025.03.26
큐(Queue)의 개념  (0) 2025.03.26
벡터(Vector)란?  (0) 2025.03.26
Comments