박오이님
무미건조한 개발자
박오이님
전체 방문자
오늘
어제
  • 뭥미 (101)
    • 프로젝트 (8)
      • 자가 보호 (3)
      • 주식 시장 분석 도구 (5)
    • 보안 (7)
      • 개론 (2)
      • 웹 (2)
      • 시스템 (2)
    • 개발 (69)
      • C++ (12)
      • Win32 (7)
      • MFC (2)
      • 자료구조 (8)
      • 알고리즘 (22)
      • 백준 (9)
      • 프로그래머스 (4)
      • LeetCode (0)
      • 개발자 면접 준비 (4)
      • OpenGL (1)
    • 서적 (13)
      • Effective C++ (9)
      • Effective Modern C++ (4)
    • 관심사 (4)
      • 재테크 (4)

블로그 메뉴

  • 홈
  • 방명록

공지사항

인기 글

태그

  • 동빈나
  • 최소간선비용
  • JSON
  • 윈도우
  • 시스템프로그래밍
  • std
  • 프로세스메모리
  • C
  • 안경잡이개발자
  • jsoncpp
  • vcpkg
  • CPP
  • Functional
  • 합집합찾기
  • EffectiveC++
  • 플로이드와샬알고리즘 #최단경로 #백준 #알고리즘 #개발 #C #C++
  • 윈도우시스템프로그래밍
  • 에라토스테네스의 체 #알고리즘 #개발 #C #C++ #소수 #소수판별
  • C++
  • 백준 #알고리즘 #플로이드와샬 #DFS #BFS #C #C++
  • 개발
  • 윈도우프로그래밍
  • 나동빈 #알고리즘 #동빈나
  • 에라토스테네스의 체 #C #C++ #개발 #알고리즘 #BFS #DFS #백준 #백준알고리즘
  • 알고리즘
  • DFS #BFS #알고리즘 #프로그래밍 #코딩테스트 #코딩 #C++ #C
  • 크루스칼알고리즘
  • 윈도우개발자
  • 나동빈
  • 코딩컨벤션

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
박오이님

무미건조한 개발자

개발/C++

map ? unorderd_map ?

2021. 8. 9. 00:28

map Container는 (key, value) pair의 원소로 구성되어있다.

가장 큰 차이는
map은 레드 블랙 트리로 구현
unordered_map은 hash 방식으로 구현

즉, map에 들어가는 원소들은 key에 따라 정렬되어 저장된다.
(레드 블랙 트리를 공부해야겠다.... 했지만, 이해가 안 간다.)
검색/삽입/삭제: O(logN)

unordered_map은 key의 hash값에 따라서 저장된다.
검색/삽입/삭제:O(1)

이것만 보고, unordered_map 쓰면 되겠네~로 끝나면 안 된다.

어쩔 때는, map을 쓰고, 또 언제는 unordered_map을 쓰는가?

내 주관적인 답변:
개발자가 map과 unordered_map 상황에 맞게 쓰면 될 것 같다.
--> 미안합니다.
map 은 데이터가 삽입/삭제가 빈번하면, 균형을 맞추려는 레드 블랙 트리에서 성능 저하를 일으킬 수 있다.
삽입/삭제가 빈번할 것 같은지 검토가 필요.
unordered_map 은 hash 기반이다. 즉, 데이터가 많으면 해시 충돌 가능성이 높아진다.
데이터의 수? 기준이 필요하겠지만, 충돌 가능성 검토가 필요하다.

저작자표시 (새창열림)

'개발 > C++' 카테고리의 다른 글

std::function 이란?  (0) 2022.04.11
JsonCpp 사용법  (2) 2022.02.04
인라인 함수(inline function)  (0) 2021.03.17
함수 호출 규약(Calling convention)  (0) 2021.03.17
코딩 컨벤션 맛보기  (0) 2020.03.29
    '개발/C++' 카테고리의 다른 글
    • std::function 이란?
    • JsonCpp 사용법
    • 인라인 함수(inline function)
    • 함수 호출 규약(Calling convention)
    박오이님
    박오이님
    긍정도 아니고 부정도 아닌 0

    티스토리툴바