본문 바로가기

STL

hash를 사용하는 경우

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

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

 

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

 

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

 

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

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

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

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

 

참고

https://gamdekong.tistory.com/73

'STL' 카테고리의 다른 글