資料結構 雜湊表

2022-07-22 18:30:11 字數 590 閱讀 5728

雜湊表(hash,雜湊表)是根據關鍵碼值(key value)而直接進行訪問的資料結構

給定表 m,存在函式 f(key),對於任意給定的關鍵碼值key,代入函式後能得到包含該關鍵碼值的記錄在表中的位址

這個對映函式是雜湊函式,存放記錄的陣列叫做雜湊表

hash就是找到一種資料內容能夠和資料存放位址之間的對映關係,hash table的查詢速度幾乎是o(1)的時間複雜度

實際工作中根據不同的情況採用不同的雜湊函式(雜湊函式):

(1) 計算雜湊函式的時間

(2) 關鍵碼值 key 的長度

(3) 雜湊表的大小

(4) 關鍵碼值的分布情況

(5) 記錄的查詢頻率

雜湊衝突(hash collision)是不可避免的,如果遇到衝突可以採用開放定址法和鏈位址法

鏈位址法是遇到衝突的時候在原位址新建乙個節點空間,然後以鍊錶的形式插入到該節點空間

資料結構 雜湊表

1.雜湊表的定義 元素的儲存位置和它的關鍵碼之間建立乙個確定的對應關係h,使得每個關鍵碼key和唯一的儲存位置h key 相對應。在查詢時,根據這個確定的對應關係找到給定值k的對映h k 若查詢集合中存在這個記錄,則必定在h k 的位置上,這種查詢技術稱為雜湊技術。採用雜湊技術將記錄儲存在一塊連續的...

資料結構 雜湊表

雜湊表的定義 雜湊表 hash table,也叫雜湊表 是根據關鍵碼值 key value 而直接進行訪問的資料結構。也就是說,它通過把 關鍵碼值對映到表中乙個位置來訪問記錄,以加快查詢的 速度。這個對映函式叫做雜湊函式,存放 記錄的陣列叫做雜湊表。雜湊函式的析構方法 餘數法 取關鍵字被某個不大於雜...

資料結構 雜湊表

3 雜湊函式 數字分析法 根據關鍵碼在各個位上的分布情況,選取分布比較均勻的若干位組成雜湊位址。適用情況 能預先估計出全部關鍵碼的每一位上各種數字出現的頻度,不同的關鍵碼集合需要重新分析。4 雜湊函式 平方取中法 對關鍵碼平方後,按照雜湊表大小,取中間的若干位作為雜湊位址 平方後擷取 適用情況 實現...