>

해시 테이블을 사용할 때 해시 함수와 압축 함수를 분리해야하는 이유가 궁금합니다.

AFAIK, 먼저 해시 함수가 인덱스를 계산하고 압축 함수를 사용하여 인덱스를 좁 힙니다. 값이 배열에 삽입되면 압축 키 (인덱스)가 아닌가?


  • 답변 # 1

    용어를 올바르게 이해하면 해시 함수는 모든 크기 배열에서 작동하지만 압축 함수는 현재 크기와 관련이 있습니다. 따라서 해시 함수는 동일한 32 비트 숫자를 반환 할 수 있습니다. 압축은 예를 들어 사용할 배열 인덱스를 알기 위해 해당 숫자의 모듈로를 계산합니다. 해시 테이블의 대부분의 구현은 테이블이 변경 될 때 동적으로 줄어들고 커지므로 두 가지를 분리하는 것이 좋습니다.

관련 자료

  • 이전 mysql - 주어진 입력에 대한 최대 ID 만 선택하십시오
  • 다음 installation - 우분투에서 phpMyAdmin을 실행하여 다른 출력을 얻습니다