C 中的布谷鸟哈希

2024-02-27

有没有人有实施布谷鸟哈希 http://en.wikipedia.org/wiki/Cuckoo_hashing在C语言中?如果有一个开源的非 GPL 版本那就完美了!

既然 Adam 在评论中提到了它,有人知道为什么它没有被太多使用吗?这只是一个实施问题还是良好的理论特性在实践中没有实现?


正如其他答案所指出的那样,最简单的布谷鸟哈希表确实要求该表为半空。然而,这个概念已经被推广到d-ary cuckoo 哈希,其中每个键都有d可能的嵌套位置,而不是简单版本中的 2 个位置。

可接受的负载因数迅速增加d增加了。只为d=3,您已经可以使用大约 75% 的满表。缺点是你需要d独立的哈希函数。我是 Bob Jenkins 为此目的的哈希函数的粉丝(请参阅http://burtleburtle.net/bob/c/lookup3.c http://burtleburtle.net/bob/c/lookup3.c),您可能会发现它在布谷鸟哈希实现中很有用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C 中的布谷鸟哈希 的相关文章

随机推荐

  • 使用 Opencv 获取轮廓内的平均颜色

    所以我决定开始一起学习Open CV和Python 我的第一个项目是检测相对静止的背景上的移动物体 然后检测它们的平均颜色以对它们进行排序 至少有 10 个物体需要检测 我正在处理彩色视频 到目前为止 我设法删除背景 识别轮廓 可以选择获取
  • ASP.NET 身份二要素不起作用 - Cookie 问题?

    背景 我一直在使用Identity Sample微软团队提供的项目here http www asp net identity overview features api two factor authentication using sm
  • 如何将图像中的字符和单词分割成轮廓

    我有一些轮廓图像 我想对其进行分割 这基本上意味着我想将轮廓图像中的所有字符保存到单独的图像中 但我得到了几张噪声图像以及所需的输出 我想知道如何在不影响所需输出的情况下去除所有噪声图像 我试图改变价值观w and h 这样我就可以最大限度
  • 如何使用 Firebug 扩展调试 Greasemonkey 脚本?

    我没有找到使用 Firebug 扩展调试 Greasemonkey 脚本的方法 有谁知道如何做到这一点 Thanks 更新者 Mene S human 修复现在已被 Firefox 30 和 Firebug 2 破坏 Firefox 31m
  • 带 dom-repeat 的 Polymer 1.0 动态模板

    我有一个场景 我想创建动态template将与 Polymer 一起使用的元素dom repeat 我当前的原型如下 JSbin演示 http jsbin com hitotahoqe edit js output var domRepea
  • org.openqa.selenium.NoSuchElementException:尝试通过 CssSelector 定位 card-fields-iframe 时,返回的节点 (null) 不是 DOM 元素

    我正在尝试通过部分 id 来定位 iframe 对于这个方法 我使用了 driver switchTo frame driver findElement By cssSelector iframe id card fields number
  • Java计算MD5哈希值

    In http www anyexample com programming java java simple class to compute md5 hash xml http www anyexample com programmin
  • FireFox 中内容可编辑的光标位置/样式

    我在 FireFox 3 中使用 contentEditable 时遇到问题 我遇到的问题是 在单击 div 后 光标将出现在 div 上方或仅部分出现在 div 中 直到我开始输入 此时它的行为正确 关于如何阻止这种情况发生有什么想法吗
  • 为什么在 exec() 之前调用 quit() 不会退出应用程序?

    为什么这个程序可以正常运行并显示主窗口 我希望它会退出quit 在构造函数中调用 主要 cpp include
  • Qt 5.0程序在QtCreator中运行但不在外部运行

    这是上下文 我在Windows 7 x64下用Qt开发了一个程序 我已经升级到Qt 5 0 1 QtCreator 2 6 1 编译器VS2010 现在状态 我的程序在 QtCreator 中运行良好 但是当我在外面尝试时 我收到了几个错误
  • 在 Swift 中向 NSLayoutAnchor 约束添加乘数

    锚约束简化了添加约束的过程 但故事板中可用的乘数属性似乎并不适用于所有类型的约束 例如 作为根据这里的答案 https stackoverflow com questions 63042059 center uilabel created
  • 使用 awk 删除包含唯一第一个字段的行?

    希望仅打印具有重复第一个字段的行 例如从看起来像这样的数据 1 abcd 1 efgh 2 ijkl 3 mnop 4 qrst 4 uvwx 应该打印出 1 abcd 1 efgh 4 qrst 4 uvwx 仅供参考 我的数据中第一个字
  • hadoop/bin/hadoop 没有示例 jar

    我安装了 hadoop 2 2 0 并尝试运行示例 wordcount 程序 为此 我首先使用以下命令将数据导入到 hdfs bin hadoop fs copyFromLocal home prassanna Desktop input
  • FileBeat 收获问题

    我们使用 ELK 来控制我们的程序日志 在我们的 FileBeat 配置中 我们从中获取30种不同包含每秒更新的文件的路径 它仅在产品机器中每秒更新 在其他开发机器中 我们的日志要少得多 我们的日志文件不会被删除 直到它们变旧并且我们停止使
  • Indy 和 smtps:无法连接

    我正在尝试使用 Indy 和说明的技术从 smtps 安全 smtp 发送电子邮件在 Marco Cant 的这篇文章中 http www marcocantu com tips oct06 gmail html 这就是我正在使用的 obj
  • 在 SciKit 线性回归上出现“ValueError:形状未对齐”

    一般来说 SciKit 和 Python 的线性代数 机器学习相当新 所以我似乎无法解决以下问题 我有一个训练集和一个测试数据集 其中包含连续值和离散 分类值 CSV 文件被加载到 Pandas DataFrame 中并匹配形状 分别为 1
  • 初始化列表与向量

    在 C 11 中 可以使用初始化列表来初始化函数中的参数 其目的是什么 不能用 const 向量做同样的事情吗 下面两个程序有什么区别 使用初始化列表 include
  • Apache Beam 计数器/指标在 Flink WebUI 中不可用

    我正在使用 Flink 1 4 1 和 Beam 2 3 0 并且想知道是否可以在 Flink WebUI 或任何地方 中提供可用的指标 如 Dataflow WebUI 中那样 我用过类似的计数器 import org apache be
  • 数据库操作的任务与服务

    JavaFX 8 任务和服务之间有什么区别 在哪种情况下使用其中一个更好 数据库操作用什么比较好 任务和服务之间的主要区别 一次性执行与重复执行 A Task http docs oracle com javafx 2 api javafx
  • C 中的布谷鸟哈希

    有没有人有实施布谷鸟哈希 http en wikipedia org wiki Cuckoo hashing在C语言中 如果有一个开源的非 GPL 版本那就完美了 既然 Adam 在评论中提到了它 有人知道为什么它没有被太多使用吗 这只是一