1

我有兩個輸入(例如):「Smooth Criminal」和「Billie Jean」,它們在運行散列函數時返回相同的索引鍵。如何在使用二次探測時在數組中找到特定元素?

在數組[]中,我想將路徑保存到硬盤上的歌曲MP3文件。

比方說,他們都返回0作爲索引鍵,所以「犯罪高手」變爲指數:0,「比利·吉恩」變爲指數0 + 1^2 = 1

如何,我會找到的文件路徑陣列中的「Billie Jean」,當兩首歌曲都返回相同的密鑰?

謝謝

回答

1

通過二次探測,再次。你首先檢查索引0,你會發現「Smooth Criminal」;這不是你想要的。所以,你看索引1,在那裏你找到「比利吉恩」;你完成了。

+0

如果我想根據歌曲標題保存歌曲的文件路徑,我使用標題運行散列函數,在兩種情況下都會生成相同的密鑰(0)。在搜索時,我不知道要匹配的文件路徑? – Kenci 2011-12-27 12:06:36

+1

哈希比較只是關鍵比較的替代品。在相同的哈希值之後,您仍然應該檢查實際的密鑰。 – wildplasser 2011-12-27 12:10:00

+0

對不起,如果我聽起來有點困惑,但我怎麼接觸實際的鑰匙?從我的數組中,我只能得到歌曲的文件路徑的索引號? – Kenci 2011-12-27 12:13:44

相關問題