데이터를 효율적으로 관리하기 위한 알고리즘으로, 어떠한 데이터든 고정된 길이의 고유한 값(해시 값 또는 해시 코드)으로 변환하는 과정을 말함
key
, value
를 가지는 자료 구조
무언가를 찾기 위한 검색어 = Key
그 검색어로 나온 결과 = Value
모든 데이터 타입으로 접근이 가능하다
데이터의 고유성 확인 : 해시 알고리즘은 데이터의 무결성을 검증하는데 사용됨. 같은 데이터는 항상 동일한 해시 값을 생성하므로, 데이터가 변경되었는지 여부를 쉽게 확인할 수 있음
데이터 저장 및 검색 최적화 : 해시 테이블 구조에서는 해시 함수를 사용하여 데이터를 저장하고 빠르게 검색함. 해시 값은 데이터의 저장 위치를 결정하는 데 사용되어 데이터 접근 시간을 단축시킴
예시
👉🏻 완주하지 못한 선수
- String을 기반으로 정보를 기록하고 관리해야 될 때
1. 완주하지 못한 선수
- 선수 이름 -> 완주 여부
String -> Hash
String Key : boolean Value
2. 신고 결과 받기
- 게시판 사용자
신고 당한 사람을 기준으로
신고자들의 목록을 관리
신고 당한 사람의 이름이 String
String Key
ArrayList<String> Value
3. 위장
- 옷의 종류가 정수가 아니라
얼굴 / 상의 / 하의 / 겉옷
String Key : Integer Value
출처
위 내용은 개발자로 취직하기 강의를 참고하여 공부 및 이해를 목적으로 작성하였습니다. 🙏🏻