哈希表

哈希表(Hash table,也叫散列表)绽快,是根據(jù)關(guān)鍵碼值(Key value)而直接進(jìn)行訪問的數(shù)據(jù)結(jié)構(gòu)。也就是說,它通過把關(guān)鍵碼值映射到表中一個(gè)位置來訪問記錄粘驰,以加快查找的速度。這個(gè)映射函數(shù)叫做散列函數(shù)述么,存放記錄的數(shù)組叫做散列表蝌数。

記錄的存儲(chǔ)位置=f(關(guān)鍵字)

即直接將關(guān)鍵值與實(shí)際存儲(chǔ)地址綁定起來了,可以直接通過key計(jì)算出存儲(chǔ)地址度秘,而不需要尋址顶伞。

這里的對(duì)應(yīng)關(guān)系f稱為散列函數(shù),又稱為哈希(Hash函數(shù))剑梳,采用散列技術(shù)將記錄存儲(chǔ)在一塊連續(xù)的存儲(chǔ)空間中唆貌,這塊連續(xù)存儲(chǔ)空間稱為散列表或哈希表(Hash table)。


哈希表hashtable(key垢乙,value) 就是把Key通過一個(gè)固定的算法函數(shù)既所謂的哈希函數(shù)轉(zhuǎn)換成一個(gè)整型數(shù)字锨咙,然后就將該數(shù)字對(duì)數(shù)組長度進(jìn)行取余,取余結(jié)果就當(dāng)作數(shù)組的下標(biāo)追逮,將value存儲(chǔ)在以該數(shù)字為下標(biāo)的數(shù)組空間里酪刀。(或者:把任意長度的輸入(又叫做預(yù)映射, pre-image)钮孵,通過散列算法骂倘,變換成固定長度的輸出,該輸出就是散列值巴席。這種轉(zhuǎn)換是一種壓縮映射历涝,也就是,散列值的空間通常遠(yuǎn)小于輸入的空間漾唉,不同的輸入可能會(huì)散列成相同的輸出荧库,而不可能從散列值來唯一的確定輸入值。簡單的說就是一種將任意長度的消息壓縮到某一固定長度的消息摘要的函數(shù)毡证。)??? 而當(dāng)使用哈希表進(jìn)行查詢的時(shí)候电爹,就是再次使用哈希函數(shù)將key轉(zhuǎn)換為對(duì)應(yīng)的數(shù)組下標(biāo),并定位到該空間獲取value料睛,如此一來丐箩,就可以充分利用到數(shù)組的定位性能進(jìn)行數(shù)據(jù)定位摇邦。

Hash Table的查詢速度非常的快,幾乎是O(1)的時(shí)間復(fù)雜度屎勘。

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

1.直接地址法

h(k) = k+c

2.除留余數(shù)法

h(k) = k mod p

p最好取為不大于哈希表長度的最大素?cái)?shù)施籍,效果最好

3.數(shù)字分析法

提取關(guān)鍵字中取值均勻的數(shù)字作為哈希地址,適用于所有關(guān)鍵字值都已知的情況概漱。

-哈希沖突解決方法

1.開放地址法

即將沖突的元素插入到哈希表重的空閑單元中丑慎。(線性探查法,平方探查法等)

2.拉鏈法

將所有的同義詞用單鏈表鏈接起來瓤摧,哈希表中每個(gè)單元中存放的不是記錄本身竿裂,而是同義詞單鏈表的頭指針。

3.再哈希法

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末照弥,一起剝皮案震驚了整個(gè)濱河市腻异,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌这揣,老刑警劉巖悔常,帶你破解...
    沈念sama閱讀 212,080評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異给赞,居然都是意外死亡机打,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,422評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門片迅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來残邀,“玉大人,你說我怎么就攤上這事障涯」奁欤” “怎么了?”我有些...
    開封第一講書人閱讀 157,630評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵唯蝶,是天一觀的道長九秀。 經(jīng)常有香客問我,道長粘我,這世上最難降的妖魔是什么鼓蜒? 我笑而不...
    開封第一講書人閱讀 56,554評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮征字,結(jié)果婚禮上都弹,老公的妹妹穿的比我還像新娘。我一直安慰自己匙姜,他們只是感情好畅厢,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,662評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著氮昧,像睡著了一般框杜。 火紅的嫁衣襯著肌膚如雪浦楣。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,856評(píng)論 1 290
  • 那天咪辱,我揣著相機(jī)與錄音振劳,去河邊找鬼。 笑死油狂,一個(gè)胖子當(dāng)著我的面吹牛历恐,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播专筷,決...
    沈念sama閱讀 39,014評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼弱贼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了仁堪?” 一聲冷哼從身側(cè)響起哮洽,我...
    開封第一講書人閱讀 37,752評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤填渠,失蹤者是張志新(化名)和其女友劉穎弦聂,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體氛什,經(jīng)...
    沈念sama閱讀 44,212評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡莺葫,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,541評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了枪眉。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片捺檬。...
    茶點(diǎn)故事閱讀 38,687評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖贸铜,靈堂內(nèi)的尸體忽然破棺而出堡纬,到底是詐尸還是另有隱情,我是刑警寧澤蒿秦,帶...
    沈念sama閱讀 34,347評(píng)論 4 331
  • 正文 年R本政府宣布烤镐,位于F島的核電站,受9級(jí)特大地震影響棍鳖,放射性物質(zhì)發(fā)生泄漏炮叶。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,973評(píng)論 3 315
  • 文/蒙蒙 一渡处、第九天 我趴在偏房一處隱蔽的房頂上張望镜悉。 院中可真熱鬧,春花似錦医瘫、人聲如沸侣肄。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,777評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽稼锅。三九已至叮喳,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間缰贝,已是汗流浹背馍悟。 一陣腳步聲響...
    開封第一講書人閱讀 32,006評(píng)論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留剩晴,地道東北人锣咒。 一個(gè)月前我還...
    沈念sama閱讀 46,406評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像赞弥,于是被迫代替她去往敵國和親毅整。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,576評(píng)論 2 349

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

  • 哈希表定義 散列表(Hash table戏蔑,也叫哈希表),是根據(jù)關(guān)鍵碼值(Key value)而直接進(jìn)行訪問的數(shù)據(jù)結(jié)...
    n油炸小朋友閱讀 4,850評(píng)論 0 22
  • 哈希表:即散列存儲(chǔ)結(jié)構(gòu)鲁纠。散列法存儲(chǔ)的基本思想:建立記錄關(guān)鍵碼字與其存儲(chǔ)位置的對(duì)應(yīng)關(guān)系总棵,或者說,由關(guān)鍵碼的值決定數(shù)據(jù)...
    linbj閱讀 6,325評(píng)論 1 5
  • 什么是哈希表改含? 哈希表(Hash table情龄,也叫散列表),是根據(jù)關(guān)鍵碼值(Key value)而直接進(jìn)行訪問的數(shù)...
    郝程序猿閱讀 2,234評(píng)論 1 7
  • ##什么是哈希表捍壤? 哈希表(Hash table骤视,也叫散列表),是根據(jù)關(guān)鍵碼值(Key value)而直接進(jìn)行訪問...
    莫冰先生閱讀 310評(píng)論 0 0
  • 如需轉(zhuǎn)載, 請咨詢作者, 并且注明出處.有任何問題, 可以關(guān)注我的微博: coderwhy, 或者添加我的微信: ...
    coderwhy閱讀 11,521評(píng)論 19 121