c++ - 整体哈希

标签 c++ hash

在我的一门计算机科学类(class)中,我们需要编写一个程序,该程序使用哈希来存储键和伴随值的列表。问题不是真正的散列方法,我只是想知道实现数据结构的最佳方法/使用什么数据结构。

通过我们的书和在 Google 上的一些基本搜索,我注意到并没有真正的“最佳方法”来存储值。我遇到的好像都是链表的冲突解决方法等等。

那么是否存在用于散列的“最佳”通用数据结构?这是我第一次实际将散列与算法分析进行实践,所以我真的没什么可做的。

旁注:我熟悉链表和某种程度上的树(从未在实践中使用过)。

最佳答案

如果这是计算机科学课的作业,那么我建议你采用最简单的哈希方案。

在一个简单的场景中,您可能的哈希值是来自有限集合的整数,比方说从 0 到 n-1。为此,您需要一个长度为 n 的数组。

你存储在数组中的是下一步......在一个简单的场景中你不应该处理碰撞算法。如果发生冲突,您只需将所有元素存储在链表中的相同数组索引处。您知道在数组中存储什么。

关于c++ - 整体哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28470978/

相关文章:

c++ - 我使用的是哪个 gcc?

c++ - 如何决定何时实现 C++ 模板?

java - 将md5转换为Java中的两个long变量

algorithm - 日志时间的 HRW 会合散列?

c++ - 链如何保证boost.asio中未决事件的正确执行

c++ - 单元测试 ActiveX 控件 (C++)

javascript - 在页面更改时保留 url 哈希

algorithm - 可能的 sha1hash 结果范围是多少?

java - PHP 和 Java 中的 SHA256

c++ - Visual Studio 2013 Express - 资源编辑不可用