-
집합의 각 원소를 해시함수로 구한 hash값의 위치에 저장하는 자료구조
-
해시셋 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
-
참고자료
- 예제(원본)
- 구현
- set_init : t_hash_set형 struct를 반환
- set_insert : hash set에 data를 삽입
- set_exists : hash set 안에 data가 존재하는지 확인
- set_delete : hash set에서 data를 삭제
- free_set : hash set의 메모리 할당을 해제
- header : t_node구조체(data,next) 선언, t_hash_set구조체(t_node,size,cmp) 선언