-
dictionary pair(key, value)의 key값에 해시함수를 적용해서 구한 hash값의 위치에 dictionary pair를 저장하는 자료구조
-
해시셋 vs 해시맵
- Hash Set
- Null 값을 가진 원소를 1개 허용함
- 요소(data)의 중복을 허용하지 않음
- e.g. {1, 2, 3, 4, 5}
- Hash Map
- key값과 그에 연관된 value값을 하나의 dictionary pair를 요소로 함 (key, value)
- Null값을 가진 key 1개와 Null값을 가진 value 복수 개를 허용함
- 첫번째요소(key)의 중복을 허용하지 않지만, 두번째요소(value)의 중복은 허용함
- e.g. {a -> 1, b -> 2, c -> 2, d -> 1}
- Hash Set
-
참고자료
- 예제(원본)
- 구현
- map_init : t_hash_map형 struct를 반환
- map_insert : hash map에 (key, value)를 삽입
- map_get : hash map 안에 key가 존재한다면 (key, value) 반환
- map_delete : hash map에서 key가 존재한다면 (key, value) 삭제
- free_set : hash map 전체를 비우고 hash map의 메모리 해제
- header : t_node구조체(key,value,,next) 선언, t_hash_map구조체(t_node,size) 선언