麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 邏輯算法 > 正文

算法系列15天速成 第五天 五大經典查找【中】

2024-09-08 23:18:39
字體:
來源:轉載
供稿:網友
哈希查找:

    對的,他就是哈希查找,說到哈希,大家肯定要提到哈希函數,呵呵,這東西已經在我們腦子里面形成
固有思維了。大家一定要知道“哈希“中的對應關系。
     比如說: ”5“是一個要保存的數,然后我丟給哈希函數,哈希函數給我返回一個”2",那么此時的”5“
和“2”就建立一種對應關系,這種關系就是所謂的“哈希關系”,在實際應用中也就形成了”2“是key,”5“是value。
    那么有的朋友就會問如何做哈希,首先做哈希必須要遵守兩點原則:
          ①:  key盡可能的分散,也就是我丟一個“6”和“5”給你,你都返回一個“2”,那么這樣的哈希函數不盡完美。
          ②: 哈希函數盡可能的簡單,也就是說丟一個“6”給你,你哈希函數要搞1小時才能給我,這樣也是不好的。

其實常用的做哈希的手法有“五種”:
第一種:”直接定址法“。
                  很容易理解,key=Value+C; 這個“C"是常量。Value+C其實就是一個簡單的哈希函數。
第二種:“除法取余法”。
                  很容易理解, key=value%C;解釋同上。
第三種:“數字分析法”。
                  這種蠻有意思,比如有一組value1=112233,value2=112633,value3=119033,
                  針對這樣的數我們分析數中間兩個數比較波動,其他數不變。那么我們取key的值就可以是
                  key1=22,key2=26,key3=90。
第四種:“平方取中法”。此處忽略,見名識意。
第五種:“折疊法”。
                 這種蠻有意思,比如value=135790,要求key是2位數的散列值。那么我們將value變為13+57+90=160,
                 然后去掉高位“1”,此時key=60,哈哈,這就是他們的哈希關系,這樣做的目的就是key與每一位value都相
                 關,來做到“散列地址”盡可能分散的目地。

正所謂常在河邊走,哪有不濕鞋。哈希也一樣,你哈希函數設計的再好,搞不好哪一次就撞樓了,那么拋給我們的問題
就是如果來解決“散列地址“的沖突。

其實解決沖突常用的手法也就2種:

第一種: “開放地址法“。
                 所謂”開放地址“,其實就是數組中未使用的地址。也就是說,在發生沖突的地方,后到的那個元素(可采用兩種方式
                 :①線性探測,②函數探測)向數組后尋找"開放地址“然后把自己插進入。

第二種:”鏈接法“。
                這個大家暫時不懂也沒關系,我就先介紹一下原理,就是在每個元素上放一個”指針域“,在發生沖突的地方,后到的那
               個元素將自己的數據域拋給沖突中的元素,此時沖突的地方就形成了一個鏈表。

上面 主站蜘蛛池模板: 视频一区二区三区免费观看 | 好吊色欧美一区二区三区四区 | 狠狠干91| 91av久久 | 在线播放的av网站 | 成人福利在线观看 | 91成人在线免费视频 | 久久人人做 | 久久精品久久精品国产大片 | 热99re久久免费视精品频软件 | 古装三级在线观看 | 激情网站免费观看 | 91精品国产乱码久 | h色网站免费观看 | 亚洲精品 在线播放 | 免费观看9x视频网站在线观看 | 天天草天天操 | 久久国产综合精品 | 成人nv在线观看 | 国产精品午夜未成人免费观看 | 欧美18—19sex性hd按摩 | 国产欧美在线一区二区三区 | 天天操综 | 国产精品成人av片免费看最爱 | 手机视频在线播放 | 免费久久久久 | 欧美激情性色生活片在线观看 | 国产91一区 | 国产乱淫a∨片免费观看 | 国产一区视频在线观看免费 | 欧美大屁股精品毛片视频 | 91九色网址 | 婷婷亚洲一区二区三区 | 在线播放黄色网址 | 久久精品亚洲精品国产欧美kt∨ | 加勒比综合 | 欧美性生交xxxxx久久久缅北 | 失禁高潮抽搐喷水h | 欧美一级淫片免费视频1 | 久章草在线观看 | 免费一区在线 |