HashMap - unordered_map

CodeKong의 기술 블로그·2023년 6월 19일
1

자료구조

목록 보기
1/4

unordered_map은 C++의 STL중의 하나로서 HashMap 자료구조로 되어있습니다.
해싱을 기반으로 데이터들을 관리해주는 자료구조 입니다.

HashMap은 <key,value> 형태입니다.

삽입, 삭제, 탐색 등 모든 함수의 시간복잡도가 O(1) 입니다.

map 보다 속도가 빠르기 때문에 순서가 상관없다면 사용합니다

선언

#include <unordered_map>

unordered_map<int,int> m;

삽입

m.insert({key,value})

m[key] = value

탐색

m.find(key)

m[key]

찾지 못했다면 m.end() 값을 반환합니다.
찾았다면 해당 iterator 값을 반환합니다.

//접근법

//key
m.find(key)->first
(*m.find(key)).first

//value
m.find(key)->second
(*m.find(key)).second

m[key]

- 부록 : value로 key를 찾는 법

for(auto it=m.begin();it=m.end();++it){
	if(it->second = "찾고자하는 값"){
    	cout<< if->first;
    }
}

삭제

m.erase(key)

0개의 댓글