哈希法-哈希表介紹、構(gòu)造方法惊搏、解決沖突辦法

哈希法-哈希表介紹

??哈希法又稱散列法贮乳、雜湊法以及關(guān)鍵字地址計算法等,相應(yīng)的表稱為哈希表恬惯。這種方法的基本思想是:首先在元素的關(guān)鍵字k和元素的存儲位置p之間建立一個對應(yīng)關(guān)系f向拆,使得p=f(k),f稱為哈希函數(shù)酪耳。創(chuàng)建哈希表時浓恳,把關(guān)鍵字為k的元素直接存入地址為f(k)的單元;以后當查找關(guān)鍵字為k的元素時碗暗,再利用哈希函數(shù)計算出該元素的存儲位置p=f(k)颈将,從而達到按關(guān)鍵字直接存取元素的目的。
??當關(guān)鍵字集合很大時讹堤,關(guān)鍵字值不同的元素可能會映象到哈希表的同一地址上,即 k1≠k2 厨疙,但 H(k1)=H(k2)洲守,這種現(xiàn)象稱為沖突疑务,此時稱k1和k2為同義詞。實際中梗醇,沖突是不可避免的知允,只能通過改進哈希函數(shù)的性能來減少沖突。
綜上所述叙谨,哈希法主要包括以下兩方面的內(nèi)容:
1)如何構(gòu)造哈希函數(shù)
2)如何處理沖突温鸽。


哈希函數(shù)的構(gòu)造方法

常用五種方法:

(1)數(shù)字分析法
(2)平方取中法
(3)分段疊加法
(4)除留余數(shù)法
(5)偽隨機數(shù)法


哈希表解決沖突的方法

主要有以下四種方法:
(1)開放定址法(也稱再散列法)
基本思想:當關(guān)鍵字key的哈希地址p=H(key)出現(xiàn)沖突時手负,以p為基礎(chǔ)涤垫,產(chǎn)生另一個哈希地址p1,如果p1仍然沖突竟终,再以p為基礎(chǔ)蝠猬,產(chǎn)生另一個哈希地址p2,…统捶,直到找出一個不沖突的哈希地址pi 榆芦,將相應(yīng)元素存入其中。
(2)再哈希法
基本思想:同時構(gòu)造多個不同的哈希函數(shù)喘鸟,當一個函數(shù)計算產(chǎn)生沖突時匆绣,再用另一個函數(shù),直到?jīng)_突不再產(chǎn)生什黑。這種方法不易產(chǎn)生聚集崎淳,但增加了計算時間。
(3)鏈地址法
基本思想:將所有哈希地址為i的元素構(gòu)成一個稱為同義詞鏈的單鏈表兑凿,并將單鏈表的頭指針存在哈希表的第i個單元中凯力,因而查找、插入和刪除主要在同義詞鏈中進行礼华。鏈地址法適用于經(jīng)常進行插入和刪除的情況咐鹤。
(4)建立公共溢出區(qū)
基本思想:將哈希表分為基本表溢出表兩部分,凡是和基本表發(fā)生沖突的元素圣絮,一律填入溢出表祈惶。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市扮匠,隨后出現(xiàn)的幾起案子捧请,更是在濱河造成了極大的恐慌,老刑警劉巖棒搜,帶你破解...
    沈念sama閱讀 221,273評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件疹蛉,死亡現(xiàn)場離奇詭異,居然都是意外死亡力麸,警方通過查閱死者的電腦和手機可款,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,349評論 3 398
  • 文/潘曉璐 我一進店門育韩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人闺鲸,你說我怎么就攤上這事筋讨。” “怎么了摸恍?”我有些...
    開封第一講書人閱讀 167,709評論 0 360
  • 文/不壞的土叔 我叫張陵悉罕,是天一觀的道長。 經(jīng)常有香客問我立镶,道長壁袄,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,520評論 1 296
  • 正文 為了忘掉前任谜慌,我火速辦了婚禮然想,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘欣范。我一直安慰自己变泄,他們只是感情好,可當我...
    茶點故事閱讀 68,515評論 6 397
  • 文/花漫 我一把揭開白布恼琼。 她就那樣靜靜地躺著妨蛹,像睡著了一般。 火紅的嫁衣襯著肌膚如雪晴竞。 梳的紋絲不亂的頭發(fā)上蛙卤,一...
    開封第一講書人閱讀 52,158評論 1 308
  • 那天,我揣著相機與錄音噩死,去河邊找鬼颤难。 笑死,一個胖子當著我的面吹牛已维,可吹牛的內(nèi)容都是我干的行嗤。 我是一名探鬼主播,決...
    沈念sama閱讀 40,755評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼垛耳,長吁一口氣:“原來是場噩夢啊……” “哼栅屏!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起堂鲜,我...
    開封第一講書人閱讀 39,660評論 0 276
  • 序言:老撾萬榮一對情侶失蹤栈雳,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后缔莲,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體哥纫,經(jīng)...
    沈念sama閱讀 46,203評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,287評論 3 340
  • 正文 我和宋清朗相戀三年痴奏,在試婚紗的時候發(fā)現(xiàn)自己被綠了蛀骇。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片奖慌。...
    茶點故事閱讀 40,427評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖松靡,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情建椰,我是刑警寧澤雕欺,帶...
    沈念sama閱讀 36,122評論 5 349
  • 正文 年R本政府宣布,位于F島的核電站棉姐,受9級特大地震影響屠列,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜伞矩,卻給世界環(huán)境...
    茶點故事閱讀 41,801評論 3 333
  • 文/蒙蒙 一笛洛、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧乃坤,春花似錦苛让、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,272評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽厅须。三九已至仿畸,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間朗和,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,393評論 1 272
  • 我被黑心中介騙來泰國打工眶拉, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留千埃,地道東北人。 一個月前我還...
    沈念sama閱讀 48,808評論 3 376
  • 正文 我出身青樓镀层,卻偏偏與公主長得像镰禾,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子唱逢,可洞房花燭夜當晚...
    茶點故事閱讀 45,440評論 2 359

推薦閱讀更多精彩內(nèi)容