그냥 게임개발자

unordered_map 본문

내 개인적인 공부/자료구조

unordered_map

sudoju 2024. 4. 13. 21:46

저번 포스팅에서는 정렬이 되는 컨테이너 map을 사용했다면,

이번에는 정렬이 되지 않은 unorderd_map을 사용할 것입니다.

물론 함수들은 map과 똑같습니다.

 

map과 unordered_map의 차이점은

map unordered_map
정렬 안정렬
균형 이진 검색트리 기반 해시테이블 기반
탐색, 삽입, 삭제 O(logN)이 걸림 탐색, 삽입, 삭제에 평균은 O(1) 최악은 O(N)

이렇습니다.

만약 정렬이 필요하지 않을 때에는 unordered_map을 사용하는 것도 좋지만 최악의 경우는 map보다 느릴 수 있어요.

왠만하면 map을 사용하는 것을 추천합니다.

 

간단하게 사용해보고 다음으로 넘어가죠

 

#include <iostream>
#include <unordered_map>

using namespace std;

int main()
{
    unordered_map<string, int> ump;
    
    ump["bbb"] = 2;
    ump["aaa"] = 1;
    ump["ccc"] = 3;
    
    // auto = unordered_map<string, int>::iterator::value_type
    for (auto it : ump)
    {
        cout << it.first << " : " << it.second << '\n';
    }
    
    return 0;
}

결과를 보면 map은 오름차순으로 정렬이 되었는데 이것은 정렬이 되지 않고 바로 나오네요.

 

끄읕!

 

'내 개인적인 공부 > 자료구조' 카테고리의 다른 글

set? unique?  (0) 2024.04.14
set  (0) 2024.04.13
map  (0) 2024.04.13
배열 vs 연결리스트  (0) 2024.04.13
랜덤접근과 순차적 접근?  (0) 2024.04.13