黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 簡述6種哈希表常用方法

簡述6種哈希表常用方法

更新時間:2020-12-24 17:34:51 來源:動力節(jié)點 瀏覽2599次

哈希表(Hash table),也叫散列表,是根據(jù)關(guān)鍵碼值(Key value)而直接進行訪問的數(shù)據(jù)結(jié)構(gòu)。哈希(hashing)是電腦科學(xué)中一種對資料的處理方法,通過某種特定的函數(shù)/算法(稱為散列函數(shù)/算法)將要檢索的項與用來檢索的索引(稱為哈希,或者哈希值)關(guān)聯(lián)起來,生成一種便于搜索的數(shù)據(jù)結(jié)構(gòu)(稱為哈希表表)。

散列函數(shù)能使對一個數(shù)據(jù)序列的訪問過程更加迅速有效,通過散列函數(shù),數(shù)據(jù)元素將被更快地定位。

 

下面為大家介紹6種哈希表常用方法

 

1.直接尋址法:取關(guān)鍵字或關(guān)鍵字的某個線性函數(shù)值為散列地址。即H(key)=key或H(key) = a·key + b,其中a和b為常數(shù)(這種散列函數(shù)叫做自身函數(shù))。若其中H(key)中已經(jīng)有值了,就往下一個找,直到H(key)中沒有值了,就放進去。

 

2.數(shù)字分析法:分析一組數(shù)據(jù),比如一組員工的出生年月日,這時我們發(fā)現(xiàn)出生年月日的前幾位數(shù)字大體相同,這樣的話,出現(xiàn)沖突的幾率就會很大,但是我們發(fā)現(xiàn)年月日的后幾位表示月份和具體日期的數(shù)字差別很大,如果用后面的數(shù)字來構(gòu)成散列地址,則沖突的幾率會明顯降低。因此數(shù)字分析法就是找出數(shù)字的規(guī)律,盡可能利用這些數(shù)據(jù)來構(gòu)造沖突幾率較低的散列地址。

 

3.平方取中法:當無法確定關(guān)鍵字中哪幾位分布較均勻時,可以先求出關(guān)鍵字的平方值,然后按需要取平方值的中間幾位作為哈希地址。這是因為:平方后中間幾位和關(guān)鍵字中每一位都相關(guān),故不同關(guān)鍵字會以較高的概率產(chǎn)生不同的哈希地址。 [1]

例:我們把英文字母在字母表中的位置序號作為該英文字母的內(nèi)部編碼。例如K的內(nèi)部編碼為11,E的內(nèi)部編碼為05,Y的內(nèi)部編碼為25,A的內(nèi)部編碼為01, B的內(nèi)部編碼為02。由此組成關(guān)鍵字“KEYA”的內(nèi)部代碼為11052501,同理我們可以得到關(guān)鍵字“KYAB”、“AKEY”、“BKEY”的內(nèi)部編碼。之后對關(guān)鍵字進行平方運算后,取出第7到第9位作為該關(guān)鍵字哈希地址。

 

4. 折疊法:將關(guān)鍵字分割成位數(shù)相同的幾部分,最后一部分位數(shù)可以不同,然后取這幾部分的疊加和(去除進位)作為散列地址。數(shù)位疊加可以有移位疊加和間界疊加兩種方法。移位疊加是將分割后的每一部分的最低位對齊,然后相加;間界疊加是從一端向另一端沿分割界來回折疊,然后對齊相加。

 

5. 隨機數(shù)法:選擇一隨機函數(shù),取關(guān)鍵字的隨機值作為散列地址,即H(key)=random(key)其中random為隨機函數(shù),通常用于關(guān)鍵字長度不等的場合。

 

6. 除留余數(shù)法:取關(guān)鍵字被某個不大于散列表表長m的數(shù)p除后所得的余數(shù)為散列地址。即 H(key) = key MOD p,p<=m。不僅可以對關(guān)鍵字直接取模,也可在折疊、平方取中等運算之后取模。對p的選擇很重要,一般取素數(shù)或m,若p選的不好,容易產(chǎn)生同義詞。

 

以上就是6種哈希表常用方法,使用哈希表可以進行非??焖俚牟檎也僮?,很多語言的內(nèi)置數(shù)據(jù)結(jié)構(gòu)像python中的字典,java中的HashMap,都是基于哈希表實現(xiàn)的。所以,哈希表的學(xué)習(xí)是必然的,在本站的數(shù)據(jù)結(jié)構(gòu)和算法教程中還有更多的數(shù)據(jù)結(jié)構(gòu)等你來學(xué)!


提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)

免費課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 中文字幕一区二区在线观看 | 91视频导航| 午夜色大片| 黄色片网站在线播放 | 三级黄色免费网站 | 九九综合| 操的网站| 欧美日韩视频二区三区 | 日本久久中文字幕 | 免费在线欧美 | 9i9精品国产免费久久 | 乳色吐息在线观看免费 | 久久精品九九 | 国产精欧美一区二区三区 | 日韩一区二区三区免费 | 欧美性群另类大交人妖 | 欧洲一区麻豆文化传媒 | 欧洲一区麻豆文化传媒 | 欧美日韩成人在线观看 | 精品色| 中文字幕在线观看网站 | 波多野结衣中文一区 | 网站在线观看 | 国产综合成色在线视频 | 777国产精品永久免费观看 | 久久成人网18网站 | 一级国产在线观看高清 | 狠狠狠狠狠狠 | 黄色片视频在线免费观看 | 在线中文字幕日韩 | 国产精品久久一区一区 | 人人射人人插 | 亚洲国产一区在线观看 | 国产高级黄区18勿进一区二区 | 激情五月在线 | 中文字幕一区二区三 | 男女视频免费观看 | 在线观看日批 | 最近中文字幕免费完整 | 成人高清毛片a | 欧美精品免费专区在线观看 |