Analysis of non recursive algorithms Tutorial Class for



![Exercise 1: What does this algorithm do? ALGORITHM Mystery(A[0. . n − 1]) // Exercise 1: What does this algorithm do? ALGORITHM Mystery(A[0. . n − 1]) //](https://slidetodoc.com/presentation_image_h/262fa4674501a272ee71cc1a5037b3f3/image-4.jpg)
![Exercise 1: What does this algorithm do? ALGORITHM Unique. Elements(A[0. . n − 1]) Exercise 1: What does this algorithm do? ALGORITHM Unique. Elements(A[0. . n − 1])](https://slidetodoc.com/presentation_image_h/262fa4674501a272ee71cc1a5037b3f3/image-5.jpg)



![Exercise 3: Study the given algorithm ALGORITHM Secret(A[0. . n − 1]) //Input: An Exercise 3: Study the given algorithm ALGORITHM Secret(A[0. . n − 1]) //Input: An](https://slidetodoc.com/presentation_image_h/262fa4674501a272ee71cc1a5037b3f3/image-9.jpg)


![Exercise 3: Study the given algorithm ALGORITHM Secret(A[0. . n − 1]) //Input: An Exercise 3: Study the given algorithm ALGORITHM Secret(A[0. . n − 1]) //Input: An](https://slidetodoc.com/presentation_image_h/262fa4674501a272ee71cc1a5037b3f3/image-12.jpg)

- Slides: 13

Analysis of non – recursive algorithms Tutorial Class for IV Sem BE ( CSE) 2016 -2017

Time efficiency of nonrecursive algorithms General Plan for Analysis 1. Decide on parameter n indicating input size 2. Identify algorithm’s basic operation 3. Check whether the performance of algorithm depends on size of input and nature of input. Then, determine worst, average, and best cases for input of size n 4. Set up a sum for the number of times the basic operation is executed 5. Simplify the sum using standard formulas and rules

Useful summation formulas and rules l i u 1 = 1+1+…+1 = u - l + 1 In particular, l i u 1 = n - 1 + 1 = n (n) 1 i n i = 1+2+…+n = n(n+1)/2 n 2/2 (n 2) 1 i n i 2 = 12+22+…+n 2 = n(n+1)(2 n+1)/6 n 3/3 (n 3) 0 i n ai = 1 + a +…+ an = (an+1 - 1)/(a - 1) for any a 1 In particular, 0 i n 2 i = 20 + 21 +…+ 2 n = 2 n+1 - 1 (2 n ) (ai ± bi ) = ai ± bi m+1 i uai cai = c ai l i uai = l i mai +
![Exercise 1 What does this algorithm do ALGORITHM MysteryA0 n 1 Exercise 1: What does this algorithm do? ALGORITHM Mystery(A[0. . n − 1]) //](https://slidetodoc.com/presentation_image_h/262fa4674501a272ee71cc1a5037b3f3/image-4.jpg)
Exercise 1: What does this algorithm do? ALGORITHM Mystery(A[0. . n − 1]) // //Input: An array A[0. . n − 1] //Output: // for i ← 0 to n − 2 do for j ←i + 1 to n − 1 do if A[i]= A[j ] return false return true
![Exercise 1 What does this algorithm do ALGORITHM Unique ElementsA0 n 1 Exercise 1: What does this algorithm do? ALGORITHM Unique. Elements(A[0. . n − 1])](https://slidetodoc.com/presentation_image_h/262fa4674501a272ee71cc1a5037b3f3/image-5.jpg)
Exercise 1: What does this algorithm do? ALGORITHM Unique. Elements(A[0. . n − 1]) //Determines whether all the elements in a given array are distinct //Input: An array A[0. . n − 1] //Output: Returns “true” if all the elements in A are distinct // and “false” otherwise for i ← 0 to n − 2 do for j ←i + 1 to n − 1 do if A[i]= A[j ] return false return true

Exercise 1: Analysis of Unique. Elements Algorithm 1. Decide on parameter n indicating input size n : the number of elements in the list 2. Identify algorithm’s basic operation Comparison ( if A[i] = A[j] ) is the basic operation 3. Check whether the performance of algorithm depends on size of input and nature of input. Best: First and second elements are same Worst: i) No elements are equal ii) Only last two elements are equal Average: ? ? ? 4. Set up a sum for the number of times the basic operation is executed 5. Simplify the sum using standard formulas and rules

Exercise 2: Study the given algorithm ALGORITHM Mystery(n) //Input: A nonnegative integer n S ← 0 for i ← 1 to n do S ←S + i ∗ i return S Answer the following questions a. What does this algorithm compute? b. What is its basic operation? c. How many times is the basic operation executed? d. What is the efficiency class of this algorithm? e. Suggest an improvement, or a better algorithm altogether, and indicate its efficiency class. If you cannot do it, try to prove that, in fact, it cannot be done.

Exercise 2: Study the given algorithm ALGORITHM Mystery(n) //Input: A nonnegative integer n S ← 0 for i ← 1 to n do S ←S + i ∗ i return S Answer the following questions • a. What does this algorithm compute? Computes the series 12 + 22 +. . + n 2 b. What is its basic operation? Multiplication ( i * i) c. How many times is the basic operation executed? n times d. What is the efficiency class of this algorithm? O ( n) e. Suggest an improvement, or a better algorithm altogether, and indicate its efficiency class. If you cannot do it, try to prove that, in fact, it cannot be done. S = n ( n + 1) (2 n + 1) / 6, multiplication is done only three times
![Exercise 3 Study the given algorithm ALGORITHM SecretA0 n 1 Input An Exercise 3: Study the given algorithm ALGORITHM Secret(A[0. . n − 1]) //Input: An](https://slidetodoc.com/presentation_image_h/262fa4674501a272ee71cc1a5037b3f3/image-9.jpg)
Exercise 3: Study the given algorithm ALGORITHM Secret(A[0. . n − 1]) //Input: An array A[0. . n − 1] of n real numbers minval←A[0]; maxval←A[0] for i ← 1 to n − 1 do if A[i]< minval←A[i] if A[i]> maxval←A[i] return maxval − minval Answer the following questions a. What does this algorithm compute? b. What is its basic operation? c. How many times is the basic operation executed? d. What is the efficiency class of this algorithm? e. Suggest an improvement, or a better algorithm altogether, and indicate its efficiency class. If you cannot do it, try to prove that, in fact, it cannot be done.

Exercise 4: Study the given algorithm ALGORITHM Enigma(A[0. . n − 1, 0. . n − 1]) //Input: A matrix A[0. . n − 1, 0. . n − 1] of real numbers for i ← 0 to n − 2 do for j ←i + 1 to n − 1 do if A[i, j ] = A[j, i] return false return true Answer the following questions a. What does this algorithm compute? b. What is its basic operation? c. How many times is the basic operation executed? d. What is the efficiency class of this algorithm? e. Suggest an improvement, or a better algorithm altogether, and indicate its efficiency class. If you cannot do it, try to prove that, in fact, it cannot be done.

Thank you Solutions to Exercises 3 & 4 in the next slides
![Exercise 3 Study the given algorithm ALGORITHM SecretA0 n 1 Input An Exercise 3: Study the given algorithm ALGORITHM Secret(A[0. . n − 1]) //Input: An](https://slidetodoc.com/presentation_image_h/262fa4674501a272ee71cc1a5037b3f3/image-12.jpg)
Exercise 3: Study the given algorithm ALGORITHM Secret(A[0. . n − 1]) //Input: An array A[0. . n − 1] of n real numbers minval←A[0]; maxval←A[0] for i ← 1 to n − 1 do if A[i]< minval←A[i] if A[i]> maxval←A[i] return maxval − minval Answer the following questions a. What does this algorithm compute? Largest and the smallest elements in the list. b. What is its basic operation? Comparison c. How many times is the basic operation executed? 2 n times d. What is the efficiency class of this algorithm? O ( n) e. Suggest an improvement, or a better algorithm altogether, and indicate its efficiency class. If you cannot do it, try to prove that, in fact, it cannot be done. Use else if. However, the efficiency class remains same.

Exercise 4: Study the given algorithm ALGORITHM Enigma(A[0. . n − 1, 0. . n − 1]) //Input: A matrix A[0. . n − 1, 0. . n − 1] of real numbers for i ← 0 to n − 2 do for j ←i + 1 to n − 1 do if A[i, j ] = A[j, i] return false return true Answer the following questions a. What does this algorithm compute? b. What is its basic operation? c. How many times is the basic operation executed? d. What is the efficiency class of this algorithm? e. Suggest an improvement, or a better algorithm altogether, and indicate its efficiency class. If you cannot do it, try to prove that, in fact, it cannot be done.
Mathematical analysis of non-recursive algorithms
Summarize the general plan for non-recursive algorithms.
Common recursive algorithms
Recursion java
Recursive sorting algorithms
Dsp programming tutorial
Data structures and algorithms tutorial
Genetic algorithms tutorial
Toc toc toc quelqu'un frappe à ma porte
Parametric and non parametric algorithms
Non recursive predictive parsing
Non recursive definition
Design and analysis of algorithms syllabus
An introduction to the analysis of algorithms