ClosedHash.h
0.00MB
ClosedHash.c
0.00MB
버킷의 상태 구조체
각각의 버킷(해시 값)이 비어있는지, 데이터가 들어와 있는지, 들어왔다가 삭제됐는지를 표시합니다.
자료형은 'Status'를 사용합니다.
버킷 구조체
해시 테이블에 있는 버킷 하나 하나에 대한 형식입니다.
자료형은 'Bucket'을 사용합니다.
해시 테이블 구조체
해시 테이블 전체에 대한 형식입니다.
자료형은 'ClosedHash'를 사용합니다.
함수 01 hash - 해시 함수
원본 데이터 값 key와 최대 용량인 size를 이용해 해시 값을 생성하여 반환합니다.
함수 02 rehash - 재해시 함수
새로운 데이터를 해시 테이블에 삽입할 때, 이미 겹치는 해시 값이 있는 경우 새로운 방법으로 해시 값을 계산합니다.
원본 데이터 값 key와 최대 용량인 size를 이용해 새로운 해시 값을 생성하여 반환합니다.
함수 03 SetBucket - 버킷 값 설정
버킷 n에 넣고 싶은 값(데이터 x, 버킷의 상태 stat)를 넣습니다.
함수 04 Initialize - 해시 테이블 생성
최대 용량이 size인 해시 테이블 h를 생성합니다.(함수의 성공 여부를 반환합니다.)
함수 05 Search - 해시 테이블에서 특정 데이터 찾기
해시 테이블 h에서 데이터 x가 들어 있는 버킷을 찾은 후, 그 버킷에 대한 포인터를 반환합니다.
함수 06 Add - 노드 추가
해시 테이블 h에 데이터 x를 추가합니다.
함수 07 Remove - 노드 삭제
해시 테이블 h에서 데이터 x를 삭제합니다.
함수 08 Dump - 해시 테이블 전체 출력
해시 테이블 h를 통째로 출력합니다.
함수 09 Clear - 해시 테이블 초기화
해시 테이블 h에 들어 있는 모든 버킷을 삭제합니다.
함수 10 Terminate - 해시 테이블 삭제
해시 테이블 h를 삭제합니다.
728x90
반응형
'Algorithm > 이론' 카테고리의 다른 글
알고리즘 유형 2. 완전탐색 (0) | 2022.04.22 |
---|---|
알고리즘 유형 1. 자료구조 (파이썬) (0) | 2022.04.21 |
(C언어) 체인 해시 (0) | 2021.09.29 |
(C언어) 집합 by 비트 벡터 (0) | 2021.09.29 |
(C언어) 집합 by 배열 (0) | 2021.09.29 |