c_cpp 快速哈希算法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 快速哈希算法相关的知识,希望对你有一定的参考价值。
#include "stdio.h"
// djb2 hash example
unsigned long
hash(unsigned char *str)
{
unsigned long hash = 5381;
int c;
while (c = *str++)
hash = ((hash << 5) + hash) + c; /* hash * 33 + c */
return hash;
}
int main(void) {
printf("Hash of %s is %lu\n", "a", hash((unsigned char*)"a") % 2048);
printf("Hash of %s is %lu\n", "b", hash((unsigned char*)"b") % 2048);
printf("Hash of %s is %lu\n", "ab", hash((unsigned char*)"ab") % 2048);
printf("Hash of %s is %lu\n", "foo", hash((unsigned char*)"foo") % 2048);
printf("Hash of %s is %lu\n", "doo", hash((unsigned char*)"doo") % 2048);
return 0;
}
以上是关于c_cpp 快速哈希算法的主要内容,如果未能解决你的问题,请参考以下文章
c_cpp 新的哈希算法,chop chop C.
c_cpp C ++中的快速排序算法
《图解算法》--快速排序哈希表图广度优先搜索算法
哈希算法-快速查表的原理
一种快速简介的一致性哈希算法
用于路径缓存的快速、无冲突哈希算法?