发现一种简单高效的Hash算法,比常用的几种算法效率高出一倍以上

dz_huanbao dz_huanbao 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
原文:http://blog.csdn.net/dz_huanbao/archive/2009/06/26/4301129.aspx

代码:
int GetHashCode(const string& key)
{
int hashcode = 0;
int kelength = (int) key.length();

int COUNT = (kelength >> 2) + ((kelength & 3) ? 1 : 0);

int data[1024];

memcpy(((char*) data) + 0, key.c_str(), kelength);
memset(((char*) data) + kelength, kelength, (COUNT << 2) - kelength);

for (int n = 0; n < COUNT; n++)
{
hashcode += (data[n] << n);
}

return hashcode;
}

欢迎有兴趣的朋友一起研究一下。
...全文
评论 4
收藏 已收藏
分享
返回顶部
dz_huanbao
VC/MFC 16,550 成员 421,606 内容