The outer loop executes N times. Every time the outer loop executes, the inner loop executes M times. As a result, the statements in the inner loop execute a total of N * M times. Thus, the total complexity for the two loops is O (N2)
Consider the following loop:
If the computation time ti for ( PI) various as a function of "i", then the total computation time for the loop is given not by a multiplication but by a sum i.e.
Takes
If the algorithms consist of nested "for" loops, then the total computation time is
For i ← 1 to n { For j ← 1 to n { P (ij) } }
Example:
Consider the following "for" loop, Calculate the total computation time for the following:
Solution:
The total Computation time is:
The Simple technique for analyzing the loop is to determine the function of variable involved whose value decreases each time around. Secondly, for terminating the loop, it is necessary that value must be a positive integer. By keeping track of how many times the value of function decreases, one can obtain the number of repetition of the loop. The other approach for analyzing "while" loop is to treat them as recursive algorithms.
Example:
The running time of algorithm array Max of computing the maximum element in an array of n integer is O (n).
Solution:
The number of primitive operation t (n) executed by this algorithm is at least.
The best case T(n) =5n occurs when A [0] is the maximum element. The worst case T(n) = 7n-2 occurs when element are sorted in increasing order.
We may, therefore, apply the big-Oh definition with c=7 and n0=1 and conclude the running time of this is O (n).