Hash
해시 Hash
기본적으로 ChatGPT를 이용하여 틀을 잡고 만든 것
해시란
- 일반적으로 빠른 데이터 검색을 위해 사용되는 데이터 구조로 많이 사용
- 해시는 키-값 쌍으로 데이터를 저장
- 각 키에 대해 고유한 해시 코드를 생성하여 데이터를 저장하고 검색
- 이를 통해 매우 빠른 검색 시간을 달성
- 문자열 검색, 문자열 비교, 중복 항목 찾기 및 빈번한 항목 찾기와 같은 일부 문제에 사용
- 해시 테이블은 배열과 같은 데이터 구조로 구현
- 배열의 인덱스를 계산하기 위해 해시 함수가 사용
- 키를 입력으로 받아 해시 코드를 반환
- 일반적으로 입력 키의 각 문자의 아스키 코드 값을 합산한 후, 배열의 크기로 나눈 나머지 값을 해시 코드로 사용
- 해시 충돌은 서로 다른 두 입력 키에 대해 동일한 해시 코드가 생성되는 경우
- 해결하기 위해 해시 충돌 해결 기법 중 하나는 해시 버킷(Bucket) 을 사용
- 해시 버킷은 각각의 인덱스에 대해 연결 리스트와 같은 구조
- 충돌이 발생한 경우 같은 버킷에 연결 리스트를 추가하여 다른 입력 키와의 충돌을 방지
- 암호학적 해시(cryptographic hash)가 사용
- 보안 및 무결성 검사를 위해 사용
- 입력 메시지의 고유한 고정 크기 출력 값을 생성
- 이러한 함수는 해시 테이블에서 사용되는 일반적인 해시 함수와는 다름
참조 영상
- 해시-해시테이블-해싱 5분만에 이해하기 - Gunny
- 확실히 이미지로 인식하는게 더 좋은 것 같다. 간단하게 다룬 내용으로 개념만 이해하기