我正在阅读有关此人“在一家知名搜索公司”的采访。
http://asserttrue.blogspot.com/2009/05/one-of-toughest-job-interview-questions.html
他被问到一个导致他实现哈希表的问题。他说:
HASH = INITIAL_VALUE;
FOR EACH ( CHAR IN WORD ) {
HASH *= MAGIC_NUMBER
HASH ^= CHAR
HASH %= BOUNDS
}
RETURN HASH
我解释了哈希表数组长度应该是素数,并且 BOUNDS 数小于表长度,但与表长度互质。
为什么 BOUNDS 数应该小于桶数?与桌子长度互质有什么作用?它不应该与 BOUNDS 互质吗?