亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁(yè) > 學(xué)院 > 邏輯算法 > 正文

php-perl哈希算法實(shí)現(xiàn)(times33哈希算法)

2020-03-22 20:29:26
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
復(fù)制代碼 代碼如下:
APR_DECLARE_NONSTD(unsigned int) apr_hashfunc_default(const char *char_key,
apr_ssize_t *klen)
{
unsigned int hash = 0;
const unsigned char *key = (const unsigned char *)char_key;
const unsigned char *p;
apr_ssize_t i;

/*
* This is the popular `times 33' hash algorithm which is used by
* perl and also appears in Berkeley DB. This is one of the best
* known hash functions for strings because it is both computed
* very fast and distributes very well.
*
* The originator may be Dan Bernstein but the code in Berkeley DB
* cites Chris Torek as the source. The best citation I have found
* is "Chris Torek, Hash function for text in C, Usenet message
* 27038@mimsy.umd.edu in comp.lang.c , October, 1990." in Rich
* Salz's USENIX 1992 paper about INN which can be found at
* .
*
* The magic of number 33, i.e. why it works better than many other
* constants, prime or not, has never been adequately explained by
* anyone. So I try an explanation: if one experimentally tests all
* multipliers between 1 and 256 (as I did while writing a low-level
* data structure library some time ago) one detects that even
* numbers are not useable at all. The remaining 128 odd numbers
* (except for the number 1) work more or less all equally well.
* They all distribute in an acceptable way and this way fill a hash
* table with an average percent of approx. 86%.
*
* If one compares the chi^2 html' target='_blank'>values of the variants (see
* Bob Jenkins ``Hashing Frequently Asked Questions'' at
* http://burtleburtle.net/bob/hash/hashfaq.html for a description
* of chi^2), the number 33 not even has the best value. But the
* number 33 and a few other equally good numbers like 17, 31, 63,
* 127 and 129 have nevertheless a great advantage to the remaining
* numbers in the large set of possible multipliers: their multiply
* operation can be replaced by a faster operation based on just one
* shift plus either a single addition or subtraction operation. And
* because a hash function has to both distribute good _and_ has to
* be very fast to compute, those few numbers should be preferred.
*
* -- Ralf S. Engelschall
*/

if (*klen == APR_HASH_KEY_STRING) {
for (p = key; *p; p++) {
hash = hash * 33 + *p;
}
*klen = p - key;
}
else {
for (p = key, i = *klen; i; i--, p++) {
hash = hash * 33 + *p;
}
}
return hash;
}
對(duì)函數(shù)注釋部分的翻譯: 這是很出名的times33哈希算法,此算法被perl語(yǔ)言采用并在Berkeley DB中出現(xiàn).它是已知的最好的哈希算法之一,在處理以字符串為鍵值的哈希時(shí),有著極快的計(jì)算效率和很好哈希分布.最早提出這個(gè)算法的是Dan Bernstein,但是源代碼確實(shí)由Clris Torek在Berkeley DB出實(shí)作的.我找到的最確切的引文中這樣說(shuō)”Chris Torek,C語(yǔ)言文本哈希函數(shù),Usenet消息 27038@mimsy.umd.edu in comp.lang.c ,1990年十月.”在Rich Salz于1992年在USENIX報(bào)上發(fā)表的討論INN的文章中提到.這篇文章可以在上找到. 33這個(gè)奇妙的數(shù)字,為什么它能夠比其他數(shù)值效果更好呢?無(wú)論重要與否,卻從來(lái)沒(méi)有人能夠充分說(shuō)明其中的原因.因此在這里,我來(lái)試著解釋一下.如果某人試著測(cè)試1到256之間的每個(gè)數(shù)字(就像我前段時(shí)間寫(xiě)的一個(gè)底層數(shù)據(jù)結(jié)構(gòu)庫(kù)那樣),他會(huì)發(fā)現(xiàn),沒(méi)有哪一個(gè)數(shù)字的表現(xiàn)是特別突出的.其中的128個(gè)奇數(shù)(1除外)的表現(xiàn)都差不多,都能夠達(dá)到一個(gè)能接受的哈希分布,平均分布率大概是86%. 如果比較這128個(gè)奇數(shù)中的方差值(gibbon:統(tǒng)計(jì)術(shù)語(yǔ),表示隨機(jī)變量與它的數(shù)學(xué)期望之間的平均偏離程度)的話(見(jiàn)Bob Jenkins的 哈希常見(jiàn)疑問(wèn) http://burtleburtle.net/bob/hash/hashfaq.html,中對(duì)平方差的描述),數(shù)字33并不是表現(xiàn)最好的一個(gè).(gibbon:這里按照我的理解,照常理,應(yīng)該是方差越小穩(wěn)定,但是由于這里不清楚作者方差的計(jì)算公式,以及在哈希離散表,是不是離散度越大越好,所以不得而知這里的表現(xiàn)好是指方差值大還是指方差值小),但是數(shù)字33以及其他一些同樣好的數(shù)字比如 17,31,63,127和129對(duì)于其他剩下的數(shù)字,在面對(duì)大量的哈希運(yùn)算時(shí),仍然有一個(gè)大大的優(yōu)勢(shì),就是這些數(shù)字能夠?qū)⒊朔ㄓ梦贿\(yùn)算配合加減法來(lái)替換,這樣的運(yùn)算速度會(huì)提高.畢竟一個(gè)好的哈希算法要求既有好的分布,也要有高的計(jì)算速度,能同時(shí)達(dá)到這兩點(diǎn)的數(shù)字很少.PHP教程

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
色综合欧美在线| 91成品视频入口| 成人动漫在线播放| 在线满18网站观看视频| 欧美亚州韩日在线看免费版国语版| 久久性感美女视频| 成全电影播放在线观看国语| 日韩欧美高清一区二区三区| www操操操| av免费观看大全| аⅴ资源新版在线天堂| 大桥未久一区二区三区| 国产波霸爆乳一区二区| 精品国产三级电影在线观看| 亚洲欧美一二三| www久久精品| 美女一区二区三区视频| 自拍偷拍亚洲图片| 欧美偷窥清纯综合图区| 少妇精品无码一区二区免费视频| 国产成年人在线观看| 91蜜臀精品国产自偷在线| 亚洲一区二区三区在线视频| 亚洲精品在线看| 欧美日韩亚洲一| 亚洲天堂伊人网| 伊人电影在线观看| 国产ts一区| 国产这里只有精品| 一区二区三区视频国产日韩| 久久久欧美精品| 欧美色图另类| 精品乱码一区二区三四区视频| 日韩在线三级| 色综合999| 色哟哟网站在线观看| 狠狠久久综合| 毛片网站在线看| 婷婷丁香六月天| 亚洲精品男人| 日本一极黄色片| 国产精品久久久久久久久久久久久久久久| 国产91精品久久久久久| 欧美日韩国内自拍| 成黄免费在线| 97精品伊人久久久大香线蕉| 欧美这里有精品| 成人亚洲免费| 久久久国产在线视频| aaaaaaaa毛片| 亚洲中文字幕无码av永久| 二个人看的毛片| 日韩在线免费视频观看| 亚洲精品日韩综合观看成人91| 国产精品网址| 亚洲欧美在线观看视频| 色综合天天综合色综合av| a级片免费观看| 国产视频1区2区| 亚洲视频一区| 在线视频色在线| 久久精品国产久精国产爱| 4480yy私人影院高清不卡| www.久久| 伊人情人网综合| 在线亚洲一区二区| 中文字幕久久午夜不卡| 亚洲一区图片| 日韩有码视频在线| 日韩在线视频导航| 国产精品男女| 欧美色图亚洲自拍| 国产69精品久久久久777| 国产高清av在线播放| 免费色视频在线观看| 午夜精品福利一区二区三区av| 久草热在线观看| 国产一线二线在线观看| 欧美又大粗又爽又黄大片视频| 美女张开让男人捅| 久久久久久亚洲综合影院红桃| 免费看的www视频网站视频| 国产综合精品久久久久成人av| 国产精成人品2018| 色噜噜狠狠一区二区| 欧美精品第三页| 18av.com视频| 国产一区在线观看免费| 草久在线视频| 日本中文字幕精品—区二区| 毛片av在线播放| 精品久久在线播放| 91成人在线免费观看| 亚洲深夜福利在线观看| 中国xxx69视频| 在线视频欧美日韩精品| 日韩精品一区二区三区视频播放| 欧美日韩久久久一区| 国产成免费视频| 国产aⅴ精品一区二区三区色成熟| 一二三区在线| 九九综合九九综合| 成人一区二区视频| 这里只有精品视频在线观看| 欧美丝袜丝nylons| 国产一区二区精品丝袜| 日韩欧美一区二区在线观看| 亚洲午夜激情| 亚洲成av人片www| 欧美freesex交免费视频| 国产麻豆一区二区三区在线观看| 中文字幕亚洲欧洲| 亚洲国产成人精品久久| eeuss影院www免费视频| 欧美日韩精品国产| 男人的天堂亚洲一区| 欧美专区第二页| 国产在线观看不卡| 午夜国产福利| 国产免费毛卡片| 美女禁区视频免费观看精选| 亚州精品永久观看视频| 天堂中文在线资| 亚洲男女毛片无遮挡| 波多野结衣视频在线看| 国产一区二区三区四区尤物| 日韩深夜影院| 啄木系列成人av电影| 国产米奇在线777精品观看| 亚洲一区二区精品在线| 午夜精品久久久久影视| 91精品免费在线观看| 午夜激情在线观看视频| 国色天香2019中文字幕在线观看| 99re成人精品视频| 精品视频一区二区三区四区五区| 国产精品爽黄69天堂a| 电影一区二区三区久久免费观看| 丰满人妻一区二区三区免费视频| 亚洲精品成人无码毛片| 国内视频一区二区| 国产aⅴ一区二区三区| 精品久久国产97色综合| 久久免费视频一区| 给我免费播放日韩视频| 成人免费视频视频在| 日本韩国一区二区三区视频| 日韩一区二区三区在线| 午夜欧美视频| 丰满熟女一区二区三区| 欧美一级视频在线播放| 欧美午夜视频一区二区| 国产精品自拍电影| 国产精品视频一区视频二区| 日韩激情视频| 一区福利视频| 成人ww免费完整版在线观看| 成人在线电影在线观看视频| 日本24小时在线高清视频| 日日噜噜夜夜狠狠久久波多野| 午夜黄色小视频| 欧美性受xxxx免费视频| 国产毛片久久久久久| 老司机aⅴ毛片免费观看| porn亚洲| 欧美视频一区二区三区| 在线播放一区二区精品视频| 香蕉视频在线视频| 亚州欧美一区三区三区在线| 在线视频免费在线观看一区二区| 国产精品777一区二区| 路边理发店露脸熟妇泻火| 免费看黄色三级| 成年女人a毛片免费视频| 国产精品成人一区二区| 亚洲美女啪啪| 亚洲妇女屁股眼交7| 精品无人乱码| 欧美剧情片在线观看| 日本h片在线观看| 精品粉嫩aⅴ一区二区三区四区| 成人做爰69片免网站| 日韩母乳在线| 欧美精品 - 色网| 色狼人综合干| 日本一区二区三区视频在线播放| 人妻 丝袜美腿 中文字幕| 国产精品一区专区欧美日韩| 日韩精品久久久免费观看| 国产大陆精品国产| 7777kkk亚洲综合欧美网站| 一本久道中文字幕精品亚洲嫩| 中文字幕精品久久久久| 婷婷在线免费观看| 日韩中文字幕在线精品| 色美美综合视频| 精品国产1区二区| 91亚洲人成网污www| www.成人黄色| 狠狠色狠狠色综合系列| 色8久久久久| 欧美男人的天堂| 国产一区二区三区奇米久涩| 2020色愉拍亚洲偷自拍| 黄网站色视频免费观看| 国产精品尤物福利片在线观看| 国产中文一区| 久久久久久九九九九| 成年女人在线看片| 欧美亚洲第一区| 成人午夜无人区一区二区| 在线精品视频免费观看| 1区1区3区4区产品乱码芒果精品| 日韩精品一区二区三区免费观看| 色777狠狠综合秋免鲁丝| 成人爽a毛片免费啪啪| 久久婷五月综合| 欧美午夜无遮挡| 日本熟妇一区二区| 成人黄网大全在线观看| 亚洲国产视频直播| 国产成人高清激情视频在线观看| 亚洲免费激情视频| 午夜精品久久久久久久久久久久久蜜桃| 午夜精品久久久久久久星辰影院| 成人激情黄色小说| 搞黄网站免费观看| 飘雪影视在线观看免费观看| 91 在线视频| 亚洲精品自在久久| 伊人久久综合| 欧美一级片网址| 久久久久成人网| 风间由美中文字幕在线看视频国产欧美| 成人在线中文| 亚洲国产美女视频| 最近免费中文字幕中文高清百度| 久久电影网站中文字幕| 亚洲精品中文字幕在线观看| 成年人网站av| 精品国产人妻一区二区三区| 2021天堂中文幕一二区在线观| 中文字幕一区二区三区人妻| 影音先锋中文字幕在线播放| 狠狠做深爱婷婷久久综合一区| 偷拍自拍在线| 一区二区三区产品免费精品久久75| 亚洲熟女www一区二区三区| 欧美妇性猛交视频| 韩国三级在线一区| 在线观看精品自拍私拍| 四虎影视成人永久免费观看视频| 开心激情综合网| 精品视频第一页| 99久久99精品久久久久久| 中文字幕在线观看高清| 亚洲视频在线观看免费| 国产又黄又粗又爽| 欧美日韩a区| 国产又粗又大又黄| 国产又大又黑又粗免费视频| 国产麻豆视频精品| 中文字幕日韩精品有码视频| 中文字幕av一区二区三区四区| 免费在线观看视频一区| 成人看的羞羞网站| 色婷婷综合久久久久中文一区二区| 亚洲做受高潮| 97成人在线观看| 国产免费看av| 福利一区福利二区微拍刺激| 国产99视频在线观看| 国产成人香蕉在线视频网站| 日韩一区二区三区免费视频| 日本a级c片免费看三区| 国产在线观看不卡一区二区三区| 亚洲精品一区二区三区99| 色综合视频在线| 午夜无码国产理论在线| 老司机免费视频一区二区| 黄色小说在线播放| 亚洲人精选亚洲人成在线| 九九精品在线观看| 亚洲国产成人私人影院| 日韩视频在线观看一区二区三区| 色噜噜国产精品视频一区二区| 亚洲精品在线视频免费| 久久亚洲国产精品成人av秋霞| 91国偷自产一区二区三区的观看方式| 日韩欧美一级二级| 男人添女人下面免费视频| yourporn在线观看中文站| 日韩麻豆第一页| 午夜三级在线观看| 亚洲一区二区日韩| 女人抽搐喷水高潮国产精品| 1000部国产精品成人观看| 欧美精品v日韩精品v国产精品| 亚洲精品一区在线| 久久99国内精品| 日韩电影在线一区| 亚洲精品你懂的| 日韩精品视频在线观看网址| 国产精品欧美激情在线| 国产精品久久久久影院| av在线播放成人| 日韩精品视频网站| 欧美亚洲免费| 日韩天堂av| 97国产精品免费视频| 亚洲 日本 欧美 中文幕| 97欧美在线视频| 日本一区二区在线视频观看| 亚洲欧洲在线观看av| 外国一级黄色片| 不卡一区中文字幕| 91看片在线观看| av福利在线| 日韩精品视频无播放器在线看| 久久99国产精品久久99小说| 88av在线播放| 在线播放精品一区二区三区| 影音先锋中文字幕在线视频| 日韩一区二区免费高清| 欧美理论电影在线精品| www.久久撸.com| 欧美偷拍一区二区三区| 公肉吊粗大爽色翁浪妇视频|