java - C中字符串的哈希函数

标签 java c

我想在 C 中实现一种哈希技术,其中字符串的所有排列都具有相同的哈希键。
例如abccab 都应该有相同的键。

我想过添加 ascii 值,然后检查 frequency of characters[重要,否则 abcaad 将具有我们不想要的相同键。
但是,它似乎效率不高。

是否有更好的哈希函数可以很好地解决冲突并且不会导致稀疏哈希表?

Java [for strings] 内部使用了哪种哈希技术,它不仅可以最大限度地减少冲突,而且操作 [insertion ,deletion, search] 也足够快?

最佳答案

为什么不在散列之前对字符串的字符进行排序?

关于java - C中字符串的哈希函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11178321/

相关文章:

java - 尝试使用鼠标监听器在数组中显示图像

c - 如何处理 header 名称冲突?

c - 进入无限循环的简单 C 代码。为什么?

java - 为什么java有很多重复的方法?

java - 将 Java 架构堆栈映射到 Microsoft

java - 如何解决 Spark 库与 Cloudera CDH 5.8.0 虚拟盒冲突

c - 如何打印结构体的成员?

c - 具有多个参数的 Gtk 信号

C 程序无法正常工作(集合、数组、循环)

java - 如何降低 JFrame 背景颜色的不透明度