相关疑难解决方法(0)

字符串的良好哈希函数

我正在尝试为字符串设想一个好的哈希函数.而且我认为总结字符串中前五个字符的unicode值可能是一个好主意(假设它有五个,否则在它结束时停止).这是一个好主意,还是一个坏主意?

我在Java中这样做,但我不认为这会产生很大的不同.

java hash hashtable hashcode

148
推荐指数
8
解决办法
33万
查看次数

具有32位整数的低冲突率的快速字符串哈希算法

我有许多不相关的命名事物,我想快速搜索."aardvark"在任何地方始终都是"aardvark",因此对字符串进行散列并重用整数可以很好地加速比较.整个名称集是未知的(并随着时间的推移而变化).什么是快速字符串哈希算法,它将生成小(32或16)位值并具有低冲突率?

我想看一个特定于C/C++的优化实现.

c++ string algorithm hash

65
推荐指数
6
解决办法
8万
查看次数

如何在Go中生成字符串的哈希值?

例如:

hash("HelloWorld") = 1234567
Run Code Online (Sandbox Code Playgroud)

有没有内置功能可以做到这一点?

谢谢.

hash go

31
推荐指数
2
解决办法
4万
查看次数

你会如何设计一个完美哈希的函数?

感兴趣的领域是字符串匹配.假设我有这样的结构.

typedef struct
{
    char *name,
    int (*function)();

} StringArray

StringArray s[] = 
{
    {"George", func1},
    {"Paul",   func2},
    {"Ringo",  func3},
    {"John",   func4},
    {"",       NULL}   /* End of list */ 
}
Run Code Online (Sandbox Code Playgroud)

数组中有固定数量的字符串.它们是硬编码的,如示例中所示.如果表发生变化,则需要重新评估散列函数的质量.

我想将哈希函数应用于字符串,如果字符串与数组中的字符串匹配,则调用该函数.这需要一个完美的哈希函数.不允许冲突.要求散列的目的是在查找上获得O(1)性能.

您在设计功能时有什么想法?

c c++ string hash function

10
推荐指数
2
解决办法
1332
查看次数

标签 统计

hash ×4

c++ ×2

string ×2

algorithm ×1

c ×1

function ×1

go ×1

hashcode ×1

hashtable ×1

java ×1