這個散列函數有什麼問題?具體來說,當N = 127被傳入時會發生什麼?這個散列有什麼問題?
int hash3(char *k, int N)
{
char *c; int h = 0;
for (c = k; *c != '\0'; c++) {
h = h | *c;
}
return (h % N);
}
這是一個在實踐考試中出現的問題(不幸的是,沒有解決方案)。據我瞭解,該函數使用按位或將字符串轉換爲整數,並將其放在一個大小爲N的表格中,但我不知道爲什麼它會出錯。提前致謝。
嘗試輸入一些長句子,看看會返回什麼。 – ymonad 2014-11-05 02:39:43