2015-05-11 141 views
-3

如果哈希表的索引是通過使用從hash()函數% TABLE_SIZE返回的某個整數值計算的,那麼這並不意味着唯一可能的索引值是0-9,因爲返回的範圍模運算符的值是[0,9]?我知道這很簡單,但是它讓我無法理解更多的哈希表概念。非常簡單的哈希表查詢

+0

也許我應該更具體一點 - 如果通過調用NUMBER%TABLE_SIZE獲得散列表索引值,其中NUMBER總是一個正整數,是否總是返回0-9之間的值? – Hazim

+0

那麼你在這裏有什麼問題? –

+2

編號'x%y'可以給出0到y-1範圍內的值。 – kaylum

回答

2

不,您對%modulo)的理解不正確。具體而言,你似乎忽略了右手論證的原因,並假設它始終是一個常數10,這簡直是錯誤的。

表達式x % y將返回範圍爲0到(y - 1)(包括兩者)的值(假定兩者都是無符號的)。

+0

我知道我錯過了一些東西,只是不能把手指放在它上面。 – Hazim