91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡(jiǎn)介

該文檔中包含 bloomFilter過(guò)濾器中用到的對(duì)于字符串進(jìn)行hash的hash函數(shù)共十一個(gè),并帶有測(cè)試程序..

資源截圖

代碼片段和文件信息

#include?“GeneralHashFunctions.h“

unsigned?int?RSHash(char*?str?unsigned?int?len)
{
???unsigned?int?b????=?378551;
???unsigned?int?a????=?63689;
???unsigned?int?hash?=?0;
???unsigned?int?i????=?0;

???for(i?=?0;?i????{
??????hash?=?hash?*?a?+?(*str);
??????a????=?a?*?b;
???}

???return?hash;
}
/*?End?Of?RS?Hash?Function?*/


unsigned?int?JSHash(char*?str?unsigned?int?len)
{
???unsigned?int?hash?=?1315423911;
???unsigned?int?i????=?0;

???for(i?=?0;?i????{
??????hash?^=?((hash?<>?2));
???}

???return?hash;
}
/*?End?Of?JS?Hash?Function?*/


unsigned?int?PJWHash(char*?str?unsigned?int?len)
{
???const?unsigned?int?BitsInUnsignedInt?=?(unsigned?int)(sizeof(unsigned?int)?*?8);
???const?unsigned?int?ThreeQuarters?????=?(unsigned?int)((BitsInUnsignedInt??*?3)?/?4);
???const?unsigned?int?OneEighth?????????=?(unsigned?int)(BitsInUnsignedInt?/?8);
???const?unsigned?int?HighBits??????????=?(unsigned?int)(0xFFFFFFFF)?<???unsigned?int?hash??????????????=?0;
???unsigned?int?test??????????????=?0;
???unsigned?int?i?????????????????=?0;

???for(i?=?0;?i????{
??????hash?=?(hash?<
??????if((test?=?hash?&?HighBits)??!=?0)
??????{
?????????hash?=?((?hash?^?(test?>>?ThreeQuarters))?&?(~HighBits));
??????}
???}

???return?hash;
}
/*?End?Of??P.?J.?Weinberger?Hash?Function?*/


unsigned?int?ELFHash(char*?str?unsigned?int?len)
{
???unsigned?int?hash?=?0;
???unsigned?int?x????=?0;
???unsigned?int?i????=?0;

???for(i?=?0;?i????{
??????hash?=?(hash?<??????if((x?=?hash?&?0xF0000000L)?!=?0)
??????{
?????????hash?^=?(x?>>?24);
??????}
??????hash?&=?~x;
???}

???return?hash;
}
/*?End?Of?ELF?Hash?Function?*/


unsigned?int?BKDRHash(char*?str?unsigned?int?len)
{
???unsigned?int?seed?=?131;?/*?31?131?1313?13131?131313?etc..?*/
???unsigned?int?hash?=?0;
???unsigned?int?i????=?0;

???for(i?=?0;?i????{
??????hash?=?(hash?*?seed)?+?(*str);
???}

???return?hash;
}
/*?End?Of?BKDR?Hash?Function?*/


unsigned?int?SDBMHash(char*?str?unsigned?int?len)
{
???unsigned?int?hash?=?0;
???unsigned?int?i????=?0;

???for(i?=?0;?i????{
??????hash?=?(*str)?+?(hash?<???}

???return?hash;
}
/*?End?Of?SDBM?Hash?Function?*/


unsigned?int?DJBHash(char*?str?unsigned?int?len)
{
???unsigned?int?hash?=?5381;
???unsigned?int?i????=?0;

???for(i?=?0;?i????{
??????hash?=?((hash?<???}

???return?hash;
}
/*?End?Of?DJB?Hash?Function?*/


unsigned?int?DEKHash(char*?str?unsigned?int?len)
{
???unsigned?int?hash?=?len;
???unsigned?int?i????=?0;

???for(i?=?0;?i????{
??????hash?=?((hash?<>?27))?^?(*str);
???}
???return?hash;
}
/*?End?Of?DEK?Hash?Function?*/


unsigned?int?BPHash(char*?str?unsigned?int?len)
{
???unsigned?int?hash?=?0;
???unsigned?int?i????=?0;
???for(i?=?0;?i????{
?????

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----

?????文件???????3742??2008-06-09?20:29??GeneralHashFunctions_-_C\GeneralHashFunctions.c

?????文件???????1899??2000-01-01?01:00??GeneralHashFunctions_-_C\GeneralHashFunctions.h

?????文件???????2231??2000-01-01?01:00??GeneralHashFunctions_-_C\HashTest.c

?????文件????????801??2000-01-01?01:00??GeneralHashFunctions_-_C\Makefile

????..AD...?????????0??2009-03-21?20:00??GeneralHashFunctions_-_C

-----------?---------??----------?-----??----

?????????????????8673????????????????????5


評(píng)論

共有 條評(píng)論

相關(guān)資源