資料結構雜湊表在查詢中的使用

2021-09-10 02:18:41 字數 850 閱讀 2686

雜湊表的原理是將全部資料通過某個函式來確定獨特的乙個儲存位置,在查詢某個資料時通過該函式來直接得到該資料的儲存位置。所以在理想情況下該種查詢方法的期望時間為o(1)。

衝突是雜湊表使用過程不可避免的存在,在資料較為龐大時,通過固定的乙個函式轉換很可能得到相同的結果,就發生了儲存位置的衝突。所以在雜湊表使用中最重要的就是函式的選取和衝突的解決方法。

衝突的頻繁程度除了與h相關外,還與表的填滿程度相關。設m和n分別表示表長和表中填入的結點數,則將α=n/m定義為雜湊表的裝填因子。α越大,表越滿,衝突的機會也越大。

如圖,在儲存如下資料時,通過函式的適當改變是可以解決一定數量的衝突的。

雜湊函式----除留餘數法

這是在儲存簡單資料時常用的一種方法,關鍵字被某乙個不大於雜湊表長度m的最大素數p除后所得的餘數為雜湊位址,即 h(key)=key%p。

處理衝突

上面兩種方法的asl證明結果如下:

線性探測再雜湊:

鏈位址法:

可知時間只與裝填因子有關,與n無關,所以要根據情況選擇適當的裝填因子來提高效率。

資料結構 雜湊表查詢(雜湊表)

對於查詢,有順序表直接遍歷,有折半查詢直到查詢成功。但是這都需要不斷的比較,每一次查詢都需要重新遍歷,所以當資料龐大時是非常耗時的。雜湊表是一種可以避免多次比較,直接通過關鍵字就可以得到要查詢的記錄記憶體儲存位置。例如就像是乙個函式,每乙個自變數都對應著乙個函式值,即 這屬於雜湊技術,不需要比較就可...

資料結構 雜湊表(雜湊表)查詢

0 前言 順序表 乙個乙個挨個查詢 有序查詢 二分查詢方法 雜湊表查詢 記錄的儲存位置 f 關鍵字 雜湊技術是在記錄的儲存位置和他的關鍵字之間建立乙個確定的對應關係f,使得每個關鍵字key對應乙個儲存位置f key 查詢時,根據這個確定的對應關係找到固定值key的對映f key 若查詢集合中存在這個...

大話資料結構 雜湊表查詢(雜湊表)

雜湊技術 在記錄的儲存位置和它的關鍵字之間建立乙個確定的對應關係f,使得每個關鍵字key對應乙個儲存位置f key f 雜湊函式 雜湊函式 採用雜湊技術將記錄儲存在一塊連續的儲存空間中,這塊連續儲存空間稱為雜湊表或雜湊表。關鍵字對應的記錄儲存位置稱為雜湊位址。雜湊技術既是一種儲存方法,也是一種查詢方...