performance - 链式哈希表中成功搜索的平均成本

标签 performance algorithm hashmap chaining asymptotic-complexity

我已经到处寻找这个,但我不明白为什么它是 O(1+a/2) 其中 a 是负载因子。有人可以一步一步解释一下吗?

最佳答案

令哈希表中的元素数量为n
这意味着哈希表中有n/a个单元格(/行),每个单元格包含一个元素列表。这就是负载因子的定义。

因此,与每个此类单元关联的元素的预期数量为 n/(n/a) = a
未排序列表中的线性搜索需要遍历一半的元素,直到平均找到正确的元素(我们假设这是一次成功的搜索),因此需要遍历 a/2 元素。

1 因子来自访问哈希表本身中的正确列表。

关于performance - 链式哈希表中成功搜索的平均成本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29458675/

相关文章:

python - 关于加快旅行商问题的动态规划解决方案的建议?

c++ - 需要 : C++ class for maintaining a 1-dimensional list of extents

java - 如何使用 Java 和 JDBC 向数据库发送 HashMap 或从数据库接收 HashMap?

java - 在 HashMap 中将值从一个键移动到另一个键

java - 使用 HtmlUnit 模仿用户,错误

performance - BIG O 在缺乏足够信息的情况下

java - java中空间和时间复杂度较低的panagram

java - HashMap在并发访问中挂起

c# - Windows 内核排队出站网络连接

javascript - 如何分析 QtScript 代码?