首页 > 解决方案 > 计算 IF-ELSE 的操作次数

问题描述

这是如何计算包括“if...else...”语句在内的操作数量的后续问题

我不明白海报的答案,如果有人能澄清,我将不胜感激。

我有操作次数的代码:

if (a < b)              - 1 operation
    print("Hello")      - 1 operation
    print("World")      - 1 operation
else
    print("Goodbye")    - 1 operation
    print("World")      - 1 operation
    print("Sad")        - 1 operation

案例 1:如果 a = 5 且 b = 6,那么操作的总数是 3?

案例2:如果a = 6,b = 5,那么操作的总数是4?

还是操作总数为 7?

假设条件满足“if”或“else”,我们只计算操作数是否正确?

标签: performancetime-complexityruntimeoperation

解决方案


对于案例 1 和案例 2,您都是正确的。

操作的总数将取决于收到的输入。

因此,在最坏的情况下(情况 2:a > b),操作的总数将是 4。

最好的情况(情况 1:a < b)是当 if 条件为真时,因为这需要 3 次操作(比情况 2 少 1 次操作)。

不会有任何时候该代码的操作总数高于 4,因为只满足一个或另一个条件。不可能同时满足这两个条件的情况。


推荐阅读