首頁 加密 & 解密 哈希 & 散列

輸入要哈希 / 散列的值,然后點擊中間的各種算法按鈕,得出各種 HASH 值。

散列 & 哈希說明

一、Hash表

Hash表也稱散列表,也有直接譯作哈希表,Hash表是一種特殊的數據結構,它同數組、鏈表以及二叉排序樹等相比較有很明顯的區別,它能夠快速定位到想要查找的記錄,而不是與表中存在的記錄的關鍵字進行比較來進行查找。這個源于Hash表設計的特殊性,它采用了函數映射的思想將記錄的存儲位置與記錄的關鍵字關聯起來,從而能夠很快速地進行查找。

二、Hash表大小的確定

Hash表大小的確定也非常關鍵,如果Hash表的空間遠遠大于最后實際存儲的記錄個數,則造成了很大的空間浪費,如果選取小了的話,則容易造成沖突。在實際情況中,一般需要根據最終記錄存儲個數和關鍵字的分布特點來確定Hash表的大小。還有一種情況時可能事先不知道最終需要存儲的記錄個數,則需要動態維護Hash表的容量,此時可能需要重新計算Hash地址。

二、Hash表大小的確定

此外還有一些變種,它們將“+/”改為“_-”或“._”(用作編程語言中的標識符名稱)或“.-”(用于XML中的Nmtoken)甚至“_:”(用于XML中的Name)。

三、Hash表的平均查找長度

Hash表的平均查找長度包括查找成功時的平均查找長度和查找失敗時的平均查找長度。

查找成功時的平均查找長度=表中每個元素查找成功時的比較次數之和/表中元素個數;

查找不成功時的平均查找長度相當于在表中查找元素不成功時的平均比較次數,可以理解為向表中插入某個元素,該元素在每個位置都有可能,然后計算出在每個位置能夠插入時需要比較的次數,再除以表長即為查找不成功時的平均查找長度。

四、Hash表的優缺點

Hash表存在的優點顯而易見,能夠在常數級的時間復雜度上進行查找,并且插入數據和刪除數據比較容易。但是它也有某些缺點,比如不支持排序,一般比用線性表存儲需要更多的空間,并且記錄的關鍵字不能重復。

廣告 for Goolge

支付掃碼

所有贊助/開支都講公開明細,用于網站維護:贊助名單查看

正在加載... ...

北京pk一期免费计划