gpt4 book ai didi

complexity-theory - 哈希表中的查找是 O(1) 吗?

转载 作者:行者123 更新时间:2023-12-02 06:58:01 26 4
gpt4 key购买 nike

如果哈希表包含 N 个不同的项目,并且没有重载,那么 N 个项目的哈希值必须大约有 lg(N) 位,否则太多的项目将获得相同的哈希值。

但是通常说哈希表查找平均需要 O(1) 时间。

不可能在 O(1) 时间内生成 lg(N) 位,因此哈希表复杂度的标准结果是错误的。

我的推理有什么问题?

最佳答案

您的推理有问题的是使用了相互矛盾的“时间”定义。

当有人说在哈希表中查找需要 O(1) 时间时,通常意味着它需要 O(1) 次比较,即找到一项所需的比较次数以常数为界。在这种“时间”的概念下,用于计算散列的实际时间(如您以秒为单位测量的时间)不会导致变化。

在比较中测量时间是一种近似值,虽然它可能不像以秒为单位的测量方式那样反射(reflect)现实,但仍提供有关哈希表行为的有用信息。

对于算法的大多数渐近复杂性描述来说,这种事情是正确的:人们经常使用具有非常抽象含义的“时间”,这不是“时间”的非正式含义,但通常是“时间”的一些变体操作的数量”(操作的种类通常未说明,预计是显而易见的,或者从上下文中清楚)。

关于complexity-theory - 哈希表中的查找是 O(1) 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27127862/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com