如果两个字典在python中相等,比较的时间复杂度是多少?

时间:2019-04-11 08:19:29

标签: python

我当时正在编写一段需要字典比较的代码,我对它的时间复杂性感到好奇。 python如何实现字典比较?

if Dict_1 == Dict_2:
    do something

1 个答案:

答案 0 :(得分:1)

它以递归方式比较字典中的key:value对,因此,理论上比较时间应等于number_of_all_recursive_items * time_to_check_one_item(当然,我正在寻找最坏的情况-当dict相等,所有对都在检查)。但是实际上有很多陷阱。看这张照片:

enter image description here

它是平面字典的dict_length-time图。此外,您可以查看嵌套字典的比较:

enter image description here

因此,您不能保证您的比较会花费特定的时间。但是通常-是的,递归字典长度和比较时间之间存在线性关系。