STL

hash를 사용하는 경우

원이지 2020. 2. 15. 20:37

1. 많은 자료를 저장하고, 검색 속도가 빨라야하는 경우

2. 너무 빈번하게 자료를 삽입, 삭제하지 않는 경우

 

해쉬는 테이블에 자료를 저장할때 키값을 해시 함수에 대입하여 버킷 번호가 나오면 그 버킷의 빈 슬롯에 자료를 저장하는 자료구조이다. 버킷 번호에 자료를 넣기 때문에 많은 자료를 저장해도 삽입, 삭제, 검색 속도가 거의 일정하다.

 

Key 값 → 해쉬 함수에 대입 → 버킷 번호 출력

 

장점 : 많은 자료를 저장하고 있어도 검색이 빠름,

단점 : 적은 자료를 저장하는 경우 메모리 낭비와 검색 시 오버헤드가 발생함

많은 양의 자료를 저장하는 경우 해쉬를 사용하고,

적은 양이라면 리스트가 벡터가 낫다.

 

참고

https://gamdekong.tistory.com/73