학교 공부/알고리즘3 해시테이블 구현 / 이중 해싱 // 이 코드는 해시 테이블을 이중 해싱(Double Hashing)을 사용하여 구현한 프로그램입니다. // 이중 해싱은 충돌이 발생했을 때 보조 해시 함수(hh)를 사용하여 새로운 위치를 계산합니다. // 주요 기능: // 1. 'i': 원소 삽입 - 기본 해시 함수와 보조 해시 함수를 사용하여 데이터를 삽입합니다. // - 충돌이 발생하면 보조 해시를 활용해 새로운 위치를 탐색하며, 충돌 횟수를 출력합니다. // 2. 's': 원소 검색 - 기본 해시 값을 기준으로 값을 탐색하고, 해당 값이 저장된 인덱스를 반환합니다. // 3. 'p': 해시 테이블 출력 - 해시 테이블의 모든 슬롯 값을 출력합니다. // 4. 'e': 프로그램 종료 - 해시 테이블을 출력하고 종료합니다. // 기본 해시 함수.. 2025. 1. 9. 해시테이블 구현 / 선형 조사법 // 이 코드는 해시 테이블을 선형 조사법(Linear Probing)을 사용하여 구현한 프로그램입니다. // 해싱은 해시 함수로부터 계산된 인덱스에 데이터를 삽입하며, 충돌이 발생할 경우 선형 탐색으로 해결합니다. // 주요 기능: // 1. 'i': 원소 삽입 - 해시 값에 따라 데이터를 저장하며 충돌 시 빈 슬롯을 탐색하여 저장합니다. // 2. 's': 원소 검색 - 해시 값에 따라 데이터 위치를 검색하며 충돌 시 다음 슬롯을 탐색하여 확인합니다. // 3. 'p': 해시 테이블 출력 - 해시 테이블의 모든 슬롯 값을 출력합니다. // 해시 함수는 모듈러 연산(x % M)을 사용하여 데이터를 삽입할 초기 인덱스를 계산합니다.#define _CRT_SECURE_NO_WARNINGS#include #.. 2025. 1. 9. 해시테이블 구현 / 체이닝 방식 // 이 코드는 해시 테이블을 구현한 프로그램입니다. // 해시 테이블의 노드들은 연결 리스트로 구성되며, 충돌 해결은 체이닝 방식으로 처리됩니다. // 제공되는 기능: // 1. 'i': 원소 삽입 - 해시 값을 계산하여 연결 리스트의 맨 앞에 노드를 추가합니다. // 2. 's': 원소 검색 - 주어진 값을 가진 노드를 검색하고, 발견되면 그 위치를 반환합니다. // 3. 'd': 원소 삭제 - 주어진 값을 가진 노드를 찾아 삭제하고 성공 여부를 반환합니다. // 4. 'p': 해시 테이블 출력 - 각 슬롯의 연결 리스트에 저장된 모든 원소를 출력합니다. // 해시 함수는 모듈러 연산을 사용하여 입력값을 해시 테이블 크기로 나눈 나머지를 반환합니다. 1차해싱 // 이 코드는 해시 테이블을 구현한 프로.. 2025. 1. 9. 이전 1 다음