[C++] unordered_map

윤경·2021년 6월 18일
0

C++

목록 보기
14/20

unordered_map

  • map보다 더 빠른 탐색을 하기 위한 자료구조
  • unordered_map은 해쉬테이블로 구현한 자료구조. 탐색 시간복잡도: O(1)
  • map은 Binary Search Tree로 탐색 시간 복잡도: O(log n)
  • #include <unordered_map> 헤더 필요
  • unordered_map은 중복된 데이터를 허용하지 않고 map에 비해 데이터가 많을 시 훨씬 좋은 성능
  • 하지만, key가 유사한 데이터가 많을 시 해시 충돌로 인해 성능이 떨어질 수 있음

함수

  • empty()
    : 맵이 비어있는지 확인

  • size()
    : 맵의 크기

  • operator []
    : 맵에서 key를 통해 value를 지정하는 operator

  • find(key)
    : 맵에서 key에 해당하는 원소를 찾는 함수

  • count(key)
    : 맵에서 key에 해당하는 원소의 개수를 반환

  • insert({key, value})
    : 맵에 pair<key, value>를 추가하는 함수

  • erase(key)
    : 맵에서 key에 해당하는 원소를 제거

  • clear()
    : 맵 초기화

  • operator =
    : 대입 연산자 가능

주의사항

  • index로 접근할 수 없으며 iterator로 접근하여야 한다.
  • 시작: begin(), 끝: end()
  • key: iter -> first, value: iter -> second
  • 반복문 사용 시 auto 활용 또는 pair<key_type, value_type> 사용
profile
개발 바보 이사 중

0개의 댓글