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

2022-05-08 13:06:09 字數 783 閱讀 6342

0、前言

順序表:乙個乙個挨個查詢;

有序查詢:二分查詢方法;

雜湊表查詢:記錄的儲存位置=f(關鍵字);

雜湊技術是在記錄的儲存位置和他的關鍵字之間建立乙個確定的對應關係f,使得每個關鍵字key對應乙個儲存位置f(key)。

查詢時,根據這個確定的對應關係找到固定值key的對映f(key),若查詢集合中存在這個記錄,則必定在f(key)的位置上。

我們把這種對應關係f稱為雜湊函式,又稱為雜湊函式(hash)。採用雜湊技術將記錄儲存在一塊連續的儲存空間中,這塊連續儲存空間稱為雜湊表或者雜湊表。

1、雜湊表的查詢步驟

1)在儲存時,通過雜湊函式計算記錄的雜湊位址,並按此雜湊位址儲存該記錄;

2)在查詢時,通過同樣的雜湊函式計算記錄的雜湊位址,按此雜湊位址訪問該記錄。

所以說,雜湊技術既是一種儲存方法,也是一種查詢方法。

雜湊技術最適合的求解問題就是查詢與給定關健值對應的記錄(一對一)。不過雜湊表不適合範圍查詢,比如查詢乙個班級18-22歲的同學,在雜湊表中沒法進行。想獲得表中記錄的排序也不可能,像最大值、最小值等結果也都無法從雜湊表中計算出來。

2、雜湊函式的構造(兩個關鍵字不能出現衝突)

1)直接定址法;f(key)=key;

2)數字分析法;

3)平方取中法;

4)摺疊法;

5)除留餘數法;

6)隨機數法;

3、處理雜湊衝突的方法

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

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

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

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

資料結構之雜湊表查詢 雜湊表

這個知識點不難,話不多說,直接上 如下 1 include stdafx.h 2 include3 define success 1 4 define unsuccess 0 5 define hashsize 12 定義雜湊表長為陣列的長度 6 define nullkey 3276878 usi...