【问题标题】:open addressing hash table with no collision无冲突的开放寻址哈希表
【发布时间】:2017-08-19 04:41:15
【问题描述】:

我正在尝试使用开放寻址找到哈希表的高效 C++ 实现。我试过使用https://github.com/sparsehash/sparsehash 没有成功。

此外,如果: - 容器会知道我的哈希方法保证不会发生冲突。 - 容器有一个固定时间的方法来访问第一个空闲密钥。

我真的在寻找哈希表吗?如果是,你知道这样的实现吗?如果没有,什么最适合我的需求?

非常感谢, 发声

【问题讨论】:

  • 什么是“不成功”,你在问什么?很难猜出你在找什么
  • 没有成功 = 库不工作(显然缺少文件)。

标签: c++ dictionary hash addressing


【解决方案1】:

您正在寻找“完美哈希”这一短语。创建这样一个函数的代码生成器是 gperf:https://www.gnu.org/software/gperf/ 一旦你有了它,你应该实现你自己的哈希表——也许你可以从这里开始:https://gist.github.com/jorendorff/b6afda0f5ae670b8ebb3

【讨论】:

  • 我说我的hash方法保证没有冲突,我没有说我需要一个新的hash方法u_u但是如果表知道我猜它可以优化
猜你喜欢
  • 2011-02-03
  • 1970-01-01
  • 1970-01-01
  • 2013-02-26
  • 2017-05-11
  • 2016-01-29
  • 1970-01-01
  • 2019-03-31
  • 1970-01-01
相关资源
最近更新 更多