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

2022-09-06 10:54:18 字數 1345 閱讀 5848

這個知識點不難,話不多說,直接上**.

**如下:

1 #include "

stdafx.h

"2 #include3

#define success 1

4#define unsuccess 0

5#define hashsize 12 //

定義雜湊表長為陣列的長度

6#define nullkey -3276878

using

namespace

std;

910 typedef struct

hashtable;

14int m = 0;15

16int inithashtable(hashtable &h) //

初始化數列表

1726

27int hash(int key) //

雜湊函式

2831

32void inserthash(hashtable &h, int key) //

求雜湊位址

3339

40int searchhash(hashtable h, int key, int &addr)//

雜湊表查詢關鍵字

4150}51

return

success;52}

5354

55int

main()56;

58int

i, p, key, result;

59hashtable h;

60 key = 39;61

inithashtable(h);

62for (i = 0; i)

63inserthash(h, arr[i]);

64 result =searchhash(h, key, p);

65if

(result)

66 cout << "

查詢 "

<< key << "

的位址為:

"<< p <

67else

68 cout << "

查詢 "

<< key << "

失敗。"

<

6970

for (i = 0; i)

7176

return0;

77 }

執行結果:

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

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

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

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

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

基本概念 如何查詢?以上兩例為例,若查詢2001011810216的資訊,可直接訪問v 16 查詢key 9,則訪問h 9 9號位址,若內容為9則成功,若查不到,則返回空指標或空記錄。優缺點 構造方法 制定乙個好的解決衝突的方案 構造雜湊函式需考慮的因素 根據元素集合的特性構造 要求2 無論用什麼方...