0

Say I was calculating the running time of the following pseudocode using operation counting:

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

Would I count the total number of operation including both of the return statements (3 operations)? Or, since we normally look at the worst case scenario when calculating the running time - would I not count the first return statement as an operation since it would not be executed in the worst case scenario(2 operations)?

KOB
  • 4,084
  • 9
  • 44
  • 88

1 Answers1

1

When profiling code, you have to take branching conditions into account such as loops and if-statements. Each branch of code ends in a return statement.

So in your code, you make two branches once you hit the if. Both branches have the same number of operations, though, a single subtraction.

Basically, the worst case is the longest path of code to a single return statement.

OneCricketeer
  • 179,855
  • 19
  • 132
  • 245