Hash Map 과 비슷한 Key-Value 자료구조.
공식적으로 unordered Map 을 권한다.
key를 Int형으로 사용할경우 왠만하면 O(1)의 복잡도를 유지한다.
- 데이터가 많은 경우에는 unordered_map 이 map 보다 성능면에서 유리합니다.
- 문자열을 키로 사용하는 경우 문자열이 길어질 수록 unordered_map 이 map에 비해 더 성능이 떨어질 수 있습니다.
- 유사도가 높은 문자열 집합을 키로 사용하는 경우에 map 의 성능이 떨어질 수 있습니다.
#include <unordered_map>
namespace std
unordered_map<string,string> hash_map;
[1] Key가 존재하는지 찾기
auto it = hash_map.find( "key1" );
if( it != hash_map.end() ){
cout << hash_map["key1"] ;
cout << it->first << *it.second ;
}
[2] insert 사용 보다는 map[ 4 ] 이런식으로 쓰자.
unordered_map<string,string> hash_map2;
hash_map2.insert( make_pair ( 1, "a" ) ) ;
hash_map2[1] = "a"; // 삽입도되고 변경도됨
hash_map2[1] ; // 기본으로 0 으로 초기화댐
[3] Auto 이터레이터
for( auto& i : unmap){
cout<< i.first << i.second;
}
'알고리즘' 카테고리의 다른 글
파이썬 (0) | 2020.09.24 |
---|---|
SQL 기초 (0) | 2020.09.09 |
소수를 구하는 방법 (0) | 2020.08.21 |
BFS (0) | 2020.05.21 |
cin과 cout 으로 인한 시간초과 잡는 2가지팁 (0) | 2020.04.23 |