我正在實施一個項目的哈希表,使用3種不同的探測。現在我正在研究線性問題。探測哈希表
對於線性探測,我理解探測是如何工作的,而且我的導師暗示他希望步長是1.事情是,不允許重複。所以我必須在插入之前「搜索」一個值,對吧?但是如果表格被用於所有單元格被「佔用」或「刪除」的點?然後,爲了搜索特定的關鍵字以確保它不在表格中,我必須搜索整個表格。這意味着搜索操作(以及擴展,插入操作)是O(n)。
這看起來不正確,我想我誤解了一些東西。
我知道我不會遇到與二次探測相同的問題,因爲表需要至少有一半空,並且它只會探測確定數量的元素。而對於double哈希,我不知道這將如何工作,因爲我還需要搜索表以證明要插入的密鑰不存在。但是,如果沒有一個單元「沒有被佔用」,我怎麼知道如何停止搜索?
因此:在開放哈希中,表中的每個條目都被佔用,是否需要O(n)個探針來搜索元素(並插入,如果不允許重複)?