當前位置:成語大全網 - 書法字典 - 搜索哈希技術-哈希表的概念

搜索哈希技術-哈希表的概念

哈希方法不同於順序搜索、二分搜索法、二叉排序樹和B樹搜索。它不以關鍵字比較為基本操作,采用直接尋址技術。在理想情況下,您可以找到要搜索的關鍵字,而無需進行任何比較。搜索的預期時間為O()。

哈希表的概念

散列表

設所有可能的關鍵詞集記為U(簡稱全集),實際出現(即實際存儲)的關鍵詞集記為K(| K |遠小於|U|)。

哈希方法是利用函數H(m = O(| U |)將U映射到表T【m】的下標上,使U中的關鍵字為自變量、H為函數的運算結果為phase。

根據節點的存儲地址,可以在o()時間內完成搜索。

在…之中

① h U→{ … m} H通常被稱為哈希函數。哈希函數H的功能是壓縮要處理的下標範圍,以便它可以被處理。

的|U|值減少到m個值,從而減少了空間開銷。

② T是哈希表。

③h(K i)(ki∈U)是帶有關鍵字ki的節點的存儲地址(也稱為哈希值或哈希地址)。

④根據關鍵字哈希地址將節點存儲在哈希表中的過程稱為哈希。

哈希表的沖突現象

沖突()

由於相同的散列函數值,兩個不同的關鍵字被映射到相同的表位置。這種現象被稱為碰撞或碰撞。

該關鍵字被稱為哈希函數的同義詞。

例如上圖中的k ≠k為h(K)= h(K),所以K和K所在節點的存儲地址是相同的。

()安全避免沖突的條件

解決沖突最理想的方式是安全地避免沖突。為此,必須滿足兩個條件。

(1)壹個是| u |U|≤m m。

(2)其次是選擇合適的哈希函數。

這僅適用於|U|較小且關鍵字事先已知的情況。此時,通過仔細設計散列函數h可以完全避免沖突。

沖突是無法完全避免的。

正常情況下,H是壓縮圖像|K|≤m但| u |》;m,因此,無論如何設計H,都不可能完全避免沖突,因此只能在設計H時進行。

為了最大限度地減少沖突,還需要確定解決沖突的方法,以便可以將有沖突的同義詞存儲在表中。

()影響沖突的因素

沖突的頻率不僅與H有關,還與表的填充程度有關。

設m和n分別表示表的長度和表中填充的節點數,並將α=n/m定義為哈希表的加載因子α越大,表越滿的概率。

它越大,α越≤

Lishi Xinzhi/Article/program/sjjg/201311/23740