版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 常用的字符串Hash函數(shù)還有ELFHash,APHash等等,都是十分簡單有效的方法。這些函數(shù)使用位運算使得每一個字符都對最后的函數(shù)值產(chǎn)生影響。另外還有以MD5 常用字符串哈希函數(shù)有BKDRHash,APHash,DJBHash,JSHash,RSHash, SDBMHash,PJWHash,ELFHash等等。對于以上幾種哈希函數(shù),我對其進行了 其中數(shù)據(jù)1為100000個字母和數(shù)字組成的隨機串哈希沖突個數(shù)。數(shù)據(jù)2為100000個有意義的英文句子哈希沖突個數(shù)。數(shù)據(jù)3為數(shù)據(jù)1的哈希值與1000003(大素數(shù)求模后存儲到線性表中沖突的個數(shù)。數(shù)據(jù)4為數(shù)據(jù)1的哈希值與10000019(更大素數(shù)求模后
2、存儲到線性表中沖突的個數(shù)。經(jīng)過比較,得出以上平均得分。平均數(shù)為平方平均數(shù)??梢园l(fā)現(xiàn),BKDRHash無論是在實際效果還是編碼實現(xiàn)中,效果都是最突出的。APHash也是較為優(yōu)秀的算法。DJBHash,JSHash,RSHash與SDBMHash各有千秋。PJWHash與ELFHash效果最差,但得分相似,其算法本質(zhì)是相似的。在信息修競賽中,要本著易于編碼調(diào)試的原則,個人認為BKDRHash是最適合記憶和使用的。BYVoid原創(chuàng),歡迎建議、交流、批評和指正。附:各種哈希函數(shù)的C語言程序代碼 / equivalent to: hash = 65599*hash + (*str+;hash =(*st
3、r+(hash 6+(hash 16- hash;return(hash &0x7FFFFFFF;/ RS Hash Functionunsigned int RSHash(char*strunsigned int b =378551;unsigned int a =63689;unsigned int hash =0;while(*strhash = hash * a +(*str+;a *= b;return(hash &0x7FFFFFFF;/ JS Hash Functionunsigned int JSHash(char*strunsigned int hash =131542391
4、1;while(*strhash =(hash 2;return(hash &0x7FFFFFFF;/ P. J. Weinberger Hash Functionunsigned int PJWHash(char*strunsigned int BitsInUnignedInt =(unsigned int(sizeof(unsigned int* 8;unsigned int ThreeQuarters =(unsigned int(BitsInUnignedInt *3/4;unsigned int OneEighth =(unsigned int(BitsInUnignedInt /
5、8;unsigned int HighBits =(unsigned int(0xFFFFFFFF (BitsInUnignedInt - OneEighth;unsigned int hash =0;unsigned int test =0;while(*strhash =(hash ThreeQuarters&(HighBits;return(hash &0x7FFFFFFF;/ ELF Hash Functionunsigned int ELFHash(char*strunsigned int hash =0;unsigned int x =0;while(*strhash =(hash
6、 24;hash &= x;return(hash &0x7FFFFFFF;/ BKDR Hash Functionunsigned int BKDRHash(char*strunsigned int seed =131;/ 31 131 1313 13131 131313 etc.unsigned int hash =0;while(*strhash = hash * seed +(*str+;return(hash &0x7FFFFFFF;/ DJB Hash Functionunsigned int DJBHash(char*strunsigned int hash =5381;while(*strhash +=(hash 5+(*str+;return(hash &0x7FFFFFFF;/ AP Hash Functionunsigned int APHash(char*strunsigned i
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 許昌陶瓷職業(yè)學院《抽樣查實踐》2024-2025學年第一學期期末試卷
- 長江藝術(shù)工程職業(yè)學院《現(xiàn)代生物科學導論A》2024-2025學年第一學期期末試卷
- 濰坊食品科技職業(yè)學院《室內(nèi)手繪表現(xiàn)技法》2024-2025學年第一學期期末試卷
- 高鐵國際規(guī)范改進策略分析報告
- 濰坊環(huán)境工程職業(yè)學院《高等數(shù)學精講》2024-2025學年第一學期期末試卷
- 水資源管理效益分析報告
- 河北科技學院《機械項目設計》2024-2025學年第一學期期末試卷
- 咖啡機壓力與咖啡質(zhì)量分析報告
- 廣西理工職業(yè)技術(shù)學院《施工組織學A》2024-2025學年第一學期期末試卷
- 河北農(nóng)業(yè)大學《羽毛球理論與實踐Ⅲ》2024-2025學年第一學期期末試卷
- 環(huán)境設計專業(yè)科技前沿課程教學大綱
- GA/T 2133.2-2024便攜式微型計算機移動警務終端第2部分:安全監(jiān)控組件技術(shù)規(guī)范
- 外科品管圈成果匯報課件-提高護理文書書寫規(guī)范率
- 股東未(足額)繳納出資的催繳函模板
- 交通警情分析總結(jié)報告
- 發(fā)電機同期并網(wǎng)試驗方案及措施
- 安寧療護中的舒適護理
- 2024年云南紅河州開發(fā)區(qū)投資建設集團有限公司招聘筆試參考題庫含答案解析
- 慢性結(jié)腸炎的護理查房
- 醫(yī)學影像科年月三基三嚴考試附有答案
- 全球迷你PC主機行業(yè)調(diào)研分析報告2024年
評論
0/150
提交評論