Python 中 cmp() 的复杂性是什么?



python中cmp((的一般复杂性是多少?

我有两个口号。两者都具有相同的长度,都具有相同的键。键和值是字符串。 将此字典与 cmp(( 进行比较的复杂性是什么?如果字典不同,那么复杂性是否与它们相等不同?

dict1 = {
'a': 'f',
'b': 'g',
'c': 'h',
'd': 'i'
}
dict2 = {
'a': 'f',
'b': 'g',
'c': 'h',
'd': 'i'
}
cmp(dict1, dict2)

python中cmp((的一般复杂性是多少?

没有之一。cmp()只是委托给__cmp__数据模型方法(以及用 C 实现的"本机"类型的tp_compare槽(,其实现是完全任意的。因此,您需要想知道的是,对于特定类型,__cmp__的复杂性是多少。

为了知道cmp对于字典的复杂性,你必须深入研究Python 2代码(因为cmp已经从python 3中删除了(。

请注意,这只是故事的一部分,因为集合的cmp将是递归的(它会cmp其内容,因此特定字典实例的复杂性将取决于其细节(。

最新更新