題目如下:
若一個雜湊表包含1000 slots(標註為1~1000),若關鍵值是介於
1~99999之間,下面哪一個雜湊表是正確的?
(A)h(x)=x mod 1000
(B)h(x)=(x-1) mod 1000
(C)h(x)=((x+1)mod 999)
(D)h(x)=(x mod 1000)+1
答案是(D)
這題我的疑問是鍵值為1~9999,若我要雜湊表的第一個標註1,
那以答案(D)的雜湊函數不就無法得到,因為x最小為1,
那以1帶入的話,h(1)=(1 mod 1000)+1=2,最小也只能到2,
請問一下我的觀念是哪裡錯誤了??
--
若一個雜湊表包含1000 slots(標註為1~1000),若關鍵值是介於
1~99999之間,下面哪一個雜湊表是正確的?
(A)h(x)=x mod 1000
(B)h(x)=(x-1) mod 1000
(C)h(x)=((x+1)mod 999)
(D)h(x)=(x mod 1000)+1
答案是(D)
這題我的疑問是鍵值為1~9999,若我要雜湊表的第一個標註1,
那以答案(D)的雜湊函數不就無法得到,因為x最小為1,
那以1帶入的話,h(1)=(1 mod 1000)+1=2,最小也只能到2,
請問一下我的觀念是哪裡錯誤了??
--
All Comments