字典與hash表

2021-08-20 06:15:03 字數 973 閱讀 6400

---》儲存位置=hash(鍵)

在查詢時,首先對鍵進行hash運算,把求得的值當做「鍵-值對」的儲存位置,在結構中按照此位置取「鍵-值對」進行比較,若鍵相等,則表示搜尋成功。在儲存「鍵-值對」的時候,依照相同的hash函式計算儲存位置,並按此位置存放,這種方法就叫做雜湊方法,也叫做雜湊方法。在雜湊方法中使用的轉換函式hash被稱作雜湊函式(或者雜湊函式)。按照此中演算法構造出來的表叫做雜湊表(或者雜湊表)。

雜湊函式建立了從「鍵-值對」到雜湊表位址集合的乙個對映,有了雜湊函式,我們就可以根據鍵來確定「鍵-值對」在雜湊表中的位置的位址。使用這種方法由於不必進行多次鍵的比較,查詢的時間複雜度為o(1)。

舉乙個例子,有一組「鍵值對」:

<5,

」tom

」>、<8,

」jane

」>、<12,

」bit

」>、<17,

」lily

」>、<20,

」sunny

」>

我們按照如下雜湊函式對鍵進行計算:

hash(x)=x%17+3

得出如下結果:

hash(5)=8

、hash(8)=11

、hash(12)=15

、hash(17)=3

、hash(20)=6

我們把<5,

」tom

」>、<8,

」jane

」>、<12,

」bit

」>、<17,

」lily

」>、<20,

」sunny

」>分別放到位址為8、11、15、3、6的位置上。當要檢索17對應的值的時候,只要首先計算17的雜湊值為3,然後到位址為3的地方去取資料就可以找到17對應的資料是「lily」了。

hash表 hash演算法

概念 雜湊表 hash table。也叫雜湊表 是依據關鍵碼值 key value 而直接進行訪問的 資料結構。也就是說,它通過把關鍵碼值對映到表中乙個位置來訪問記錄,以加快查詢的速度。這個對映函式叫做雜湊函式,存放記錄的陣列叫做雜湊表。給定表m,存在函式f key 對隨意給定的keyword值ke...

字典與雜湊表

一 字典 字典 dictionary 是一些元素的集合。每個元素有乙個稱作key 的域,不同元素的key各 不相同。有關字典的操作有 插入具有給定關鍵字值的元素。在字典中尋找具有給定關鍵字值的元素。刪除具有給定關鍵字值的元素。隨機訪問 若僅按照乙個字典元素本身的關鍵字來訪問該元素。順序訪問 指按照關...

Hash表和Hash衝突

hash表中的元素儲存位址是通過hash函式計算出來的,當要取出指定元素的時候,直接通過hash函式計算出元素的儲存位址。有時候會出現key不同,但是通過hash函式計算出來的值相同,這個值相同意味著這兩個key要存在同一位置,這顯然不對,這就是hash衝突。hash函式有多種構造方法,常見的有直接...