Computer Science/자료구조 & 알고리즘
[알고리즘 과제] 해싱(Hashing)
2sjin
2022. 10. 3. 15:56
1. 해싱(Hashing)이란?
데이터를 해시 함수(Hash Function)를 이용하여 해시 테이블(Hash Table) 내에서 주소값 계산 후, 빠르게 저장하고 원하는 데이터를 빠르게 검색할 수 있도록 하는 알고리즘.
[해싱 알고리즘]
① 데이터를 매개 변수로 입력
② 데이터로부터 테이블 내의 주소를 해시
③ 주소를 이용하여 요소에 접근
2. 해싱(Hashing) 알고리즘 성능
- 일반적으로 O(1)
- Overflow 또는 Collision 발생 시에는 O(1)보다 성능이 떨어진다.
- 성능 향상을 위해 Hash Table의 크기를 적절히 크게 할 필요가 있다.
3. 해싱(Hashing) 의 활용
- 소량의 데이터를 처리할 때(데이터 개수가 많지 않을 때) 적합한 알고리즘
- 운영체제, DB, 네트워크 등 여러 분야에서 소량의 데이터를 처리할 때 사용
- 데이터의 위·변조를 막기 위해 전자서명이나 보안 알고리즘 등에 사용