Consider the following algorithm segment. Assume that n is a positive integer.
for i: = 1 to 3n
s := 0
for j := 1 to i − 1
s := s + j · (i − j + 1)
next j
r := s2
next i
(a)
What is the actual number of elementary operations (additions, subtractions, multiplications, divisions, and comparisons) that are performed when the algorithm segment is executed? For simplicity, count only comparisons that occur within if-then statements, and ignore those implied by for-next loops. Express your answer in terms of n. (Hint: See Example 11.3.3 and exercises 11.3.11a and 11.3.14a in the "Read It" link.)
The number of operations is
.
(b)
Apply the theorem on polynomial orders to the expression in part (a) to find that an order for the algorithm segment is
n.