학습 일자 : 2023.04.26
키 값을 해시함수로 해싱하여 해시테이블의 특정 위치로 직접 액세스하도록 만든 방식
→ 공간을 버리고 속도를 택한 방식
해시 : 임의의 길이를 가진 데이터를 고정된 길이를 가진 데이터로 매핑
배열 기반으로 엄청 큰 영역을 미리 잡아둠
숫자, 문자, 열거형 같은 키값을 받았을 때 특정 인덱스로 변환 하는 해싱 과정을 통해 원하는 위치를 바로 찾아감.
해싱 인덱스로 이뤄진 테이블을 해싱 테이블이라고 함
입력에 대한 해시 함수 결과가 항상 동일한 값이어야 함.
해시 함수자체가 느린 경우 의미가 없음. (해시함수의 효율성)
→ 해싱 처리 과정이 오래걸린다? 그럼 다른 거 쓰는게 낫지
입력값 % 테이블 크기 = 인덱스
char → 아스키 코드 또는 유니코드 값으로 변환 → 자릿수 접기를 통해 인덱스 값 추출
계산을 통해 해시 값을 반환 했을 때 문제가 발생할 수 있는 상황을 방지함.
보통은 GetHashCode 메소드를 많이 활용함.