【问题标题】:The time complexity of Python's LoopPython循环的时间复杂度
【发布时间】:2019-04-10 18:06:45
【问题描述】:

一个案例

n = int(input())

for i in range(0,n):
    ...

B 案例

n = int(input())

for i in range(0,n):
    for j in range(0, n):
        ...

C 案例

n = int(input())

for i in range(0,n):
    ...
for j in range(0,n):
    ....

我突然对 Loop 的时间复杂度很好奇。

我认为A是O(n),B是O(n^2),C是O(n)。是这样吗?

是否在 for 语句中使用 if 语句并在同一行使用 for 语句以防万一 C 对内存致命?

【问题讨论】:

  • 对时间复杂度是肯定的(假设是恒定时间循环体)。最后一个问题没有意义。
  • “致命记忆”怎么办?

标签: python loops time-complexity


【解决方案1】:

您对每种情况的时间复杂度的分析是绝对正确的(假设 for 循环中只有恒定的时间操作)。

虽然我不明白你的第二个问题,但你指的是案例 C,我可以说在案例 C 中没有什么是“致命的记忆”。希望这回答了你的问题!

【讨论】:

    猜你喜欢
    • 2013-12-08
    • 2022-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-08
    • 2017-04-11
    • 2016-12-17
    相关资源
    最近更新 更多