【问题标题】:Algorithmic complexity of Python has_key [duplicate]Python has_key的算法复杂度[重复]
【发布时间】:2018-09-22 04:50:04
【问题描述】:

想知道,Python 字典的 has key 方法的算法复杂度是多少?我知道字典的底层结构是哈希映射/表。

编辑:抱歉重复。谷歌搜索没有返回任何结果。有道理,它是 O(1)。我最初想知道您是否必须遍历键数组,但有意义的是,您可以使用散列函数查找后续存储桶并遍历存储桶以找到匹配的密钥对。谢谢。

【问题讨论】:

  • 这是恒定的时间。但是你不应该使用这种方法,它在 Python 2 中已被弃用,并在 Python 3 中被删除。而不是 my_dict.has_key(x) 只需使用 x in my_dict

标签: python algorithm


【解决方案1】:

由于 python 中的字典是作为哈希表(无序映射)实现的,因此我假设 has_key 的复杂度平均为 O(1),或者在最坏的情况下为 O(m),其中 m 是底层哈希表的大小。

【讨论】:

    猜你喜欢
    • 2017-12-26
    • 1970-01-01
    • 2021-04-22
    • 1970-01-01
    • 2011-11-10
    • 1970-01-01
    • 1970-01-01
    • 2013-11-01
    • 1970-01-01
    相关资源
    最近更新 更多