Skip to content

Latest commit

 

History

History

2_hash_set

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Hash Set

  • 집합의 각 원소를 해시함수로 구한 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}
  • 참고자료


Nadarm's Exercise

  • 예제(원본)
  • 구현
    • 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) 선언

맨 위로