What is a Middle Square Hashing? - minseok127/HashSimulator GitHub Wiki
Middle Square Hashing
Middle Square Hashing이란 주어진 key를 거듭제곱한 결과의 일부 bit를 Index로 사용하는 것입니다.
예를 들어 bin이 총 256개 있다고 가정하면 8개의 bit가 필요합니다.
이 때 Middle Square Hashing이 결과값의 5번 bit부터 12번 bit까지를 index로 사용한다고 가정해보겠습니다.
만약 key가 0x1234이라면 이 값을 제곱한 값은 0x14b5a90이고 5번 bit부터 12번 bit는 a9이므로 169를 Index로 사용하게 됩니다.
이 방식은 key에 연속적인 0이 나타나는 경우가 적다면 괜찮은 결과를 보여줄 수 있습니다.