728x90
반응형

충돌해결 2

해시 테이블(Hash Table)

개요해시 테이블(Hash Table)은 키(Key)를 해시 함수(Hash Function)를 통해 고정된 인덱스로 변환하여 값을 저장하는 자료구조이다. 평균적으로 삽입, 삭제, 탐색 연산이 **O(1)**로 매우 빠르며, 파이썬의 dict, set, 자바의 HashMap, C++의 unordered_map 등 거의 모든 언어의 핵심 자료구조로 활용된다.1. 개념 및 정의 항목 설명 키(Key)값을 식별하기 위한 고유한 값값(Value)저장할 실제 데이터해시 함수키를 배열 인덱스로 변환하는 함수버킷(Bucket)해시 충돌이 발생할 수 있는 배열의 각 칸해시 함수는 키를 숫자로 변환해 해시 테이블의 인덱스로 매핑한다.2. 해시 함수와 충돌해시 함수(Hash Function): hash(key) % tabl..

Topic 2025.03.30

해시 탐색(Hash Search) 알고리즘

개요해시 탐색(Hash Search)은 키(key)를 해시 함수(hash function)를 통해 해시 테이블의 인덱스로 변환한 뒤, 해당 위치에서 값을 직접 찾아내는 탐색 알고리즘이다. 평균적으로 **O(1)**의 시간 복잡도를 제공하며, 가장 빠른 검색 기법 중 하나로 꼽힌다. 해시맵(HashMap), 딕셔너리(Dictionary), 셋(Set) 등 현대 프로그래밍 언어의 기본 자료구조에서도 사용된다.1. 개념 및 정의해시 탐색은 다음 과정을 거쳐 값을 찾는다:**입력 키(key)**를 해시 함수에 입력하여 해시 값(index)을 얻는다.해당 인덱스에 접근하여 값을 확인한다.해시 충돌이 발생할 경우에는 충돌 해결 기법(체이닝, 개방 주소법 등)을 통해 탐색을 이어간다.2. 해시 함수와 해시 테이블 구..

Topic 2025.03.29
728x90
반응형