【问题标题】:hashtable - time complexity for searching a non-existent keyhashtable - 搜索不存在的键的时间复杂度
【发布时间】:2016-01-13 18:26:08
【问题描述】:

让我们有一个包含 n 个键的哈希表,每个键都有一个只有一个值的桶。 假设我们要查找哈希表中不存在的键,那么这个操作的最坏情况时间复杂度是多少?

在我看来,这将是 O(n)。散列函数必须检查它的所有键才能确定给定的键在散列中不存在。

你怎么看?我对吗?

【问题讨论】:

    标签: hashtable time-complexity


    【解决方案1】:

    这取决于实现。我希望时间复杂度为 O(1),因为从本质上讲,哈希表不会遍历元素来查找元素,而是根据哈希方法直接在内存中建立索引。唯一超过 O(1) 的时间是当它需要重新调整内存大小或遇到冲突时。当然,除此之外还有很多小细节以及影响事物的散列算法之间的差异。这是一个很好的线程,可以查看更多信息:

    Hash table runtime complexity (insert, search and delete)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-28
      • 1970-01-01
      相关资源
      最近更新 更多