1. 많은 자료를 저장하고, 검색 속도가 빨라야하는 경우
2. 너무 빈번하게 자료를 삽입, 삭제하지 않는 경우
해쉬는 테이블에 자료를 저장할때 키값을 해시 함수에 대입하여 버킷 번호가 나오면 그 버킷의 빈 슬롯에 자료를 저장하는 자료구조이다. 버킷 번호에 자료를 넣기 때문에 많은 자료를 저장해도 삽입, 삭제, 검색 속도가 거의 일정하다.
Key 값 → 해쉬 함수에 대입 → 버킷 번호 출력
장점 : 많은 자료를 저장하고 있어도 검색이 빠름,
단점 : 적은 자료를 저장하는 경우 메모리 낭비와 검색 시 오버헤드가 발생함
많은 양의 자료를 저장하는 경우 해쉬를 사용하고,
적은 양이라면 리스트가 벡터가 낫다.
참고
'STL' 카테고리의 다른 글
Stack과 Queue의 차이 (0) | 2020.02.16 |
---|---|
데이터를 찾을 때 hash와 array 어떤게 더 빠를까 (0) | 2020.02.15 |
list와 vector의 차이 (0) | 2020.01.24 |
int array와 vector의 차이 (0) | 2020.01.24 |
int array와 list의 차이 (0) | 2020.01.24 |