大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

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

簡述6種哈希表常用方法

更新時間:2020-12-24 17:34:51 來源:動力節點 瀏覽2541次

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

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

 

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

 

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

 

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

 

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

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

 

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

 

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

 

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

 

以上就是6種哈希表常用方法,使用哈希表可以進行非常快速的查找操作,很多語言的內置數據結構像python中的字典,java中的HashMap,都是基于哈希表實現的。所以,哈希表的學習是必然的,在本站的數據結構和算法教程中還有更多的數據結構等你來學!


提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 欧美精品福利在线视频 | 毛片激情永久免费 | 99视频全部免费 | 国产一级视频久久 | 夜夜艹日日干 | 国产亚洲在线观看 | 久草久草在线视频 | 天堂成人av | www.99爱| 欧美成人一区二区三区 | 国产娱乐凹凸视觉盛宴在线视频 | 在线观看精品一区 | 精品成人 | 一级毛片免费不卡在线 | 玖玖国产在线观看 | 视频一区欧美 | 99久久99久久久精品久久 | 久久精品re | 九九色播 | 国语国产真人对白毛片 | 国产一区二区三区日韩欧美 | 99久久精品免费看国产情侣 | 射综合网 | 国产成人精品一区二三区 | 最新777奇米影视四色 | 久久99精品福利久久久 | www亚洲欲色成人久久精品 | 亚洲成人第一页 | 成人性色生活影片 | 日韩高清一区二区 | 91九色视频在线观看 | 久久精品国产国产 | 天堂va亚洲va欧美va国产 | 成人国产精品 | 国产精品视频一区国模私拍 | 久久久久免费视频 | 黄色α片 | 亚洲欧洲一区二区三区在线观看 | 久久大香香蕉国产免费网站 | 精品欧美一区手机在线观看 | 国产成人在线播放视频 |