打印列表的时间复杂度

Uda*_*ran 2 python algorithm big-o list time-complexity

这里有两个不同的代码,执行打印列表的相同功能。

  • 代码1
list1=[5,4,86,2,4,5,3,4]
for i in list1:
    print(i,end=" ")
Run Code Online (Sandbox Code Playgroud)
  • 代码2
list1=[5,4,86,2,4,5,3,4]
print(list1)
Run Code Online (Sandbox Code Playgroud)

我可以说打印列表的时间复杂度是 O(n) 吗?在计算任何程序的时间复杂度时,我们不考虑打印语句的时间复杂度,因为它的顺序为 1,但它的顺序code-1为 n。

我在Python方面是一个内向的人。因此,如果可能的话,还请分享后端实现,print(list)或者是否有任何关于它的文章或博客。

mha*_*wke 6

输出不同,但这并不重要。

任一方法都是O(n)

在第一种情况下,列表中的每个元素都会被访问一次,因此O(n)

在第二种情况下,print()函数本身对列表进行迭代,访问每个元素一次,也是O(n)

如果您确实愿意,可以阅读Python 源代码存储库中的代码。