gpt4 book ai didi

python - 运行时间 : Does Print Count as a Step?

转载 作者:太空宇宙 更新时间:2023-11-04 07:02:10 26 4
gpt4 key购买 nike

假设我有一个函数,我想分析确切步数的运行时间:

def function(L):
print ("Hello")
i = 0 # 1 step
while i < len(L): # 3 steps
print (L[i] + 1)
i += 2 # 2 steps
print ("Goodbye")

我想知道打印语句是否算作一个步骤?

最佳答案

在这种情况下,“步骤”不是一个定义明确的术语——如 pswaminathan points out ,通常我们关心的不是一个精确的数值,而是更广泛意义上的数学行为:随着问题规模变大(在这种情况下,如果你增加输入 L 的规模)执行时间是否保持不变?线性增长?二次?呈指数增长?

明确计算步骤可以成为该分析的一部分——它可以是一种直观处理算法的好方法。但是我们没有一致的方法来确定什么算作“步骤”,什么不算。您可能正在查看代码行——但在 Python 中,例如,列表理解可以在一行中表达一个长而复杂的循环。或者您可能正在计算 CPU 指令,但使用的是一种充满抽象的高级语言,这非常困难。所以你选择了一个启发式——在像你的例子这样简单的代码中,“一行代码的每次执行都是一个步骤”是一个不错的规则。在那种情况下,您肯定会计算打印语句。如果您想更深入一点,可以将字节码视为 tobias_k suggests。 ,了解 Python 语法背后的指令是什么样的。

但是没有一个统一的规则。你提到它是为了家庭作业;在这种情况下,只有您的导师知道他们希望您使用什么定义。也就是说,对您的问题的简单回答很可能是“是的,打印语句很重要。”

关于python - 运行时间 : Does Print Count as a Step?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17643272/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com