본문 바로가기
Language_/Algorithm

[C++] STL 프로그래밍 _ 컨테이너

by 낭람_ 2019. 9. 16.
반응형

[Hash Map]


컨테이너의 종류

- 시퀀스 컨테이너(Sequence Container) : 순서 있게 자료를 보관

- 연관 컨테이너(Associative Container) : Key값과 짝지어 자료를 보관 (자료를 넣고, 빼고, 찾을 때는 key값이 필요)


Sequence Container

- 많지 않은 자료를 보관할때 사용

- 검색 속도가 중요한 경우 사용


Sequence Container의 종류

- vector

- list

- deque


Associative Container

- 대량의 자료를 저장할때 사용

- 빠르게 검색을 하기 위해 사용


Associative Container의 종류

- map

- set

- hash_map

- hash_set

- multi_map

- multi_set

- hash_multimap

- hash_multiset

* multi는 중복되는 key값을 사용할때 이용

* map과 set은 자료를 정렬하여 저장하고 정렬된 순서대로 순회

* hash는 정렬이 필요없고 빠른 검색을 원할 때 사용한다. (STL 표준은 아니지만 C++ 컴파일러에서 대부분 지원

* c++11부터 hash_map과 충돌을 방지하기 위해서 unorderd_map이 등장


hash_map을 사용하는 경우

- 많은 자료를 저장하고, 검색 속도가 빨라야 한다.

- 너무 빈번하게 자료를 삽입, 삭제 하지 않는다.

반응형

댓글