• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            面對現實,超越自己
            逆水行舟,不進則退
            posts - 269,comments - 32,trackbacks - 0
            設計高效算法往往需要使用Hash表,O(1)級的查找速度是任何別的算法無法比擬的。
            所謂Hash,一般是一個整數,通過某種算法,可以把一個字符串"pack"成一個整數,這個數稱為Hash,當然,一個整數是無法對應一個字符串的。
            所以Hash函數是Hash表最核心的部分,對于一個Hash函數,評價其優劣的標準應為隨機性或離散性,即對任意一組標本,進入Hash表每一個單元(cell)之概率的平均程度,因為這個概率越平均,兩個字符串計算出的Hash值相等hash collision的可能越小,數據在表中的分布就越平均,表的空間利用率就越高。

            Hash表的構造和沖突的不同實現方法對執行效率也有一定的影響.

            DJBHash是一種非常流行的算法,俗稱"Times33"算法。Times33的算法很簡單,就是不斷的乘33,原型如下

            hash(i) = hash(i-1) * 33 + str[i]

            Time33在效率和隨機性兩方面上俱佳。

            其它常用字符串哈希函數有:
            BKDRHash,APHash,JSHash,RSHash,SDBMHash,PJWHash,ELFHash等。BKDRHash和APHash也是比較優秀的算法。當然要根據具體應用選擇合適的Hash算法,比如字符集的考慮。

            APHash作者Arash Partow有一個頁面很有參考價值,包括了各種Hash的介紹及代碼。

            http://www.partow.net/programming/hashfunctions/#RSHashFunction

            Blizzard使用的算法比較精妙,被稱為"One-Way Hash",并且在Hash表中使用了三個哈希值(一個用來確定位置,另外兩個用來校驗)。

            MD5等加密算法也屬于hash,不過已被中國學者找到碰撞檢測的破解算法

            本文轉自:http://www.shnenglu.com/humanchao/archive/2012/12/26/196690.html
            posted on 2013-01-07 16:29 王海光 閱讀(1784) 評論(0)  編輯 收藏 引用 所屬分類: 算法
            亚洲国产精品一区二区久久hs| 无码国内精品久久人妻| 久久99国产精品久久| 久久夜色精品国产噜噜噜亚洲AV| 一本一本久久a久久综合精品蜜桃| 一本色道久久88精品综合| 人妻久久久一区二区三区| 久久久久亚洲av无码专区喷水| 久久美女人爽女人爽| 久久精品无码一区二区日韩AV| 色欲综合久久躁天天躁| 久久精品国产亚洲av麻豆小说 | 99久久国产亚洲高清观看2024 | 99久久99久久精品国产片果冻 | 国产精品欧美久久久久无广告| 伊人久久大香线蕉精品不卡| 午夜精品久久久久久99热| 99久久www免费人成精品| 亚洲AV无码成人网站久久精品大| 青青青国产精品国产精品久久久久| 久久精品国产精品亜洲毛片| 伊人久久大香线蕉综合Av| 久久精品成人免费国产片小草| 久久噜噜电影你懂的| 久久精品成人国产午夜| 久久久99精品一区二区| 日日躁夜夜躁狠狠久久AV| 亚洲AⅤ优女AV综合久久久| 国内精品久久久久影院日本| 亚洲性久久久影院| 国产69精品久久久久99尤物| 久久精品国产亚洲av水果派| 国产精品99久久久久久宅男小说| 久久本道伊人久久| 久久久女人与动物群交毛片| 久久无码专区国产精品发布 | 超级97碰碰碰碰久久久久最新| 91精品国产91热久久久久福利| 精品国产乱码久久久久久郑州公司 | 狠狠色婷婷综合天天久久丁香 | 一本色综合网久久|