Python 关于O(LogN)的时间复杂度
假设我们有以下代码Python 关于O(LogN)的时间复杂度,python,time-complexity,Python,Time Complexity,假设我们有以下代码 def problem(n): list = [] for i in range(n): list.append(i) length = len(list) return list 如果不计算len(list),程序的时间复杂度为O(n)。但是如果我们这样做,时间复杂度会是O(n*log(n))还是O(n^2) 否,len()函数在python中具有恒定的时间,并且它不依赖于元素的长度,上述代码的时间复杂度将保持为O(N),由for i in
def problem(n):
list = []
for i in range(n):
list.append(i)
length = len(list)
return list
如果不计算len(list)
,程序的时间复杂度为O(n)
。但是如果我们这样做,时间复杂度会是O(n*log(n))
还是O(n^2)
否,len()函数在python中具有恒定的时间,并且它不依赖于元素的长度,上述代码的时间复杂度将保持为O(N),由for i in range(N)
循环控制。对于许多CPython函数,如len()!(在表格中获取长度)len(list)
是O(1)。究竟为什么是O(n logn)或O(n^2)?即使len
不是O(1),“可能的最差实现”仍然最多是O(n)。。。