CS341
Algorithms Analysis and
Design
Section 7
Solving Recurrences
Three methods are used in “solving” recurrences
•The Substitution Method
•The Recursion Tree Method
•The Master Method
2
Substitution Method
Substitution method has two steps
• Guess the form of the solution
• Use induction to prove that the solution is correct
The substitution method can be used to establish an
upper bound on difficult recurrences.
Its use is based on the strength of the guess
• applied in cases when it’s easy to guess the form of
answer
3
Substitution Method (1)
4
Substitution Method (1)
5
Substitution Method (2)
6
Substitution Method (2)
7
Substitution Method (2)
8
Midterm Exam
9
Question One: Multiple Choice
• 1- Algorithm analysis is determining the amount of ______ resources necessary to
execute it.
a) one b) two c) three d) four
• 2- Algorithm ______ means how does the input/output relation match algorithm
requirement?
a) clarity b) optimality c) simplicity d) correctness
• 3- ______ essential approaches are used to analyze the algorithm.
a) Five b) Four c) Three d) Two
• 4- The ______ order of growth rate means that when N doubles, runtime increases
fourfold.
a) 2N b) N² c) N2 d) 2N
• 5- The insertion and removal in the ______ has an O(1) in the best, average, and
worst cases.
a) tree b) stack c) graph d) queue
10
Question Two: True or False.
• 1- Many problems are in a complexity class for which no
practical algorithms are known.
• 2- The semantics of an algorithm is its actual
representation (body).
• 3- The efficiency of algorithm determines its complexity.
• 4- Analyzing the average case of an algorithm is the most
difficult in practice.
• 5- An algorithm is a procedure that maps one or more
input(s) to one correct output.
11
Question Two: True or False.
• 6- The approach to analyzing algorithms must be
independent of four influences.
• 7- Being “O(n3)” is a running time, or a function which
gives the running time of algorithm.
• 8- f(n) ∈ O(g(n)) ≡ g(n) ∈ Ω(f(n))
• 9- Asymptotic growth rate is not always useful for analysis
on fixed-size inputs.
• 10- The bubble, insertion, merge and selection algorithms
are incremental comparison sort.
12
Question Three: Essay Question
1- Consider the following algorithm:
• n = read input from user
• pos = 0
• neg = 0
• i = 0
• while i < n
• number = read input from user
• if (number > 0)
• pos = pos + 1
• else if (number < 0)
• neg = neg + 1
• i = i + 1
• write pos to user
• write neg to user
13
Question Three: Essay Question
1- Consider the following algorithm:
• n = read input from user 1
• pos = 0 1
• neg = 0 1
• i = 0 1
• while i < n 1
• number = read input from user 1
• if (number > 0) 1
• pos = pos + 1
• else if (number < 0) OR
• neg = neg + 1 1
• i = i + 1 1
• write pos to user 1
• write neg to user 1
14
n
Question Three: Essay Question
• A. What is the computation time, T(n), in terms of the input size n?
• 5n+6
• B. What is the tight upper bound?
• O(n)
• C. Give an input sequence that satisfies the best case.
• All positives (number>0)
• D. Give an input sequence that satisfies the average case.
• Positives, Zero and Negatives
• E. Give an input sequence that satisfies the worst case.
• All negatives (number<0)
15
16
Thank You

CS341 Algorithms Analysis and Design-Sec7.pptx

  • 1.
  • 2.
    Solving Recurrences Three methodsare used in “solving” recurrences •The Substitution Method •The Recursion Tree Method •The Master Method 2
  • 3.
    Substitution Method Substitution methodhas two steps • Guess the form of the solution • Use induction to prove that the solution is correct The substitution method can be used to establish an upper bound on difficult recurrences. Its use is based on the strength of the guess • applied in cases when it’s easy to guess the form of answer 3
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
    Question One: MultipleChoice • 1- Algorithm analysis is determining the amount of ______ resources necessary to execute it. a) one b) two c) three d) four • 2- Algorithm ______ means how does the input/output relation match algorithm requirement? a) clarity b) optimality c) simplicity d) correctness • 3- ______ essential approaches are used to analyze the algorithm. a) Five b) Four c) Three d) Two • 4- The ______ order of growth rate means that when N doubles, runtime increases fourfold. a) 2N b) N² c) N2 d) 2N • 5- The insertion and removal in the ______ has an O(1) in the best, average, and worst cases. a) tree b) stack c) graph d) queue 10
  • 11.
    Question Two: Trueor False. • 1- Many problems are in a complexity class for which no practical algorithms are known. • 2- The semantics of an algorithm is its actual representation (body). • 3- The efficiency of algorithm determines its complexity. • 4- Analyzing the average case of an algorithm is the most difficult in practice. • 5- An algorithm is a procedure that maps one or more input(s) to one correct output. 11
  • 12.
    Question Two: Trueor False. • 6- The approach to analyzing algorithms must be independent of four influences. • 7- Being “O(n3)” is a running time, or a function which gives the running time of algorithm. • 8- f(n) ∈ O(g(n)) ≡ g(n) ∈ Ω(f(n)) • 9- Asymptotic growth rate is not always useful for analysis on fixed-size inputs. • 10- The bubble, insertion, merge and selection algorithms are incremental comparison sort. 12
  • 13.
    Question Three: EssayQuestion 1- Consider the following algorithm: • n = read input from user • pos = 0 • neg = 0 • i = 0 • while i < n • number = read input from user • if (number > 0) • pos = pos + 1 • else if (number < 0) • neg = neg + 1 • i = i + 1 • write pos to user • write neg to user 13
  • 14.
    Question Three: EssayQuestion 1- Consider the following algorithm: • n = read input from user 1 • pos = 0 1 • neg = 0 1 • i = 0 1 • while i < n 1 • number = read input from user 1 • if (number > 0) 1 • pos = pos + 1 • else if (number < 0) OR • neg = neg + 1 1 • i = i + 1 1 • write pos to user 1 • write neg to user 1 14 n
  • 15.
    Question Three: EssayQuestion • A. What is the computation time, T(n), in terms of the input size n? • 5n+6 • B. What is the tight upper bound? • O(n) • C. Give an input sequence that satisfies the best case. • All positives (number>0) • D. Give an input sequence that satisfies the average case. • Positives, Zero and Negatives • E. Give an input sequence that satisfies the worst case. • All negatives (number<0) 15
  • 16.

Editor's Notes