如何计算包含 'if... else...' 语句的操作数?

How to count the number of operations including an 'if... else...' statement?

假设我正在使用操作计数计算以下伪代码的 运行 时间:

if(a > b) then    [1 operation]
    return a-b    [1 operation]
else
    return b-a    [1 operation]

我会计算包括两个 return 语句(3 个操作)在内的操作总数吗?或者,由于我们在计算 运行 时间时通常会考虑最坏的情况——我会不会将第一个 return 语句算作一个操作,因为它不会在最坏的情况下执行(2 个操作) )?

分析代码时,您必须考虑分支条件,例如循环和 if 语句。每个代码分支都以 return 语句结束。

所以在你的代码中,一旦你点击 if,你就会创建两个分支。两个分支都有相同数量的操作,不过是一个减法。

基本上,最坏的情况是代码到单个 return 语句的最长路径。