평생 공부하는 빠타박스 블로그 : Learning is Happiness
article thumbnail
SMALL
  • C++ STL 

unorderd_mpa

#include <unordered_map>

 

클래스

unordered_map 클래스 {key, mapped} 쌍의 해시 테이블을 저장합니다.
unordered_multimap 클래스 {key, mapped} 쌍의 해시 테이블을 저장합니다.

 

  • map 보다 더 빠른 탐색을 하기위한 자료구조
  • 해쉬테이블로 구현한 자료구조로 탐색 시간복잡도는 O(1)
  • map 은 Binary Search Tree로 탐색 시간 복잡도는 O(log n)
  • unorderd_map은 중복된 데이터를 허용하지 않고, map에 비해서 데이터가 많을 시 좋은 성능을 냄
  • 단점 ) Key가 유사한 데이터가 많을 시 해시 충돌로 인해 성능이 저하될 우려가 있음

 


함수 

operator!= 연산자의 좌변에 있는 unordered_map 개체가 우변에 있는 unordered_map 개체와 같지 않은지 테스트합니다.
operator== 연산자의 좌변에 있는 unordered_map 개체가 우변에 있는 unordered_map 개체와 같은지 테스트합니다.
swap 함수(unordered_map) 두 map을 바꿉니다.
operator!= 연산자의 좌변에 있는 unordered_multimap 개체가 우변에 있는 unordered_multimap 개체와 같지 않은지 테스트합니다.
operator== 연산자의 좌변에 있는 unordered_multimap 개체가 우변에 있는 unordered_multimap 개체와 같은지 테스트합니다.
swap 함수(unordered_map) 두 multimap을 바꿉니다.

 

empty( )

  • 맵이 비어있는지 확인하는 함수
  • if unordered_map is empty, then return 1 else 0

size( )

  • 맵의 크기를 확인하는 함수
  • return size_type ( unsigned int )

operator [ ]

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

find( key )

  • 맵에서 key에 해당하는 원소를 찾는 함수
  • if key is contained, then iterator else map_name.end()

count( key )

  • 맵에서 key에 해당하는 원소의 갯수를 반환하는 함수
  • if key is contained, return 1 else 0

insert( {key, value} )

  • 맵에 pair<key,value> 를 추가하는 함수
  • if key is contained, then not insert

erase( key )

  • 맵에서 key에 해당하는 원소를 제거하는 함수
  • erase 하는 방법 : 특정 position의 pair 삭제, key를 통해 삭제, 범위 삭제

clear( )

  • 맵을 초기화하는 함수

operator =

  • 대입연산자 가능

 


탐색방법

  • index로 접근할 수 없고 iterator로 접근하여야 한다.
  • 시작 : begin( ), 끝 : end( )
  • key : iter->first, value : iter->second
  • 반복문 사용 시 auto 활용 or pair< key_type, value_type > 사용

 

 

 

 

 

 

 

참고 링크)

 

[Data Structure] unordered_map 사용법

C++ STL중 하나인 unordered_map에 대한 설명입니다. unorderd_map map보다 더 빠른 탐색을 하기 위한 자료구조입니다. unordered_map은 해쉬테이블로 구현한 자료구조로 탐색 시간복잡도는 O(1)입니다. map은 Bin

math-coding.tistory.com

 

728x90
728x90
LIST
profile

평생 공부하는 빠타박스 블로그 : Learning is Happiness

@공부하는 PPATABOX

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!