SlideShare a Scribd company logo
Table Of Contents
Solving Recurrences
The Master Theorem
Recurrence Relations
Recurrences
• The expression:
is a recurrence.
– Recurrence: an equation that describes a function in
terms of its value on smaller functions






>+





=
=
1
2
2
1
)(
ncn
n
T
nc
nT
Recurrence Examples



>
=
−+
=
0
0
)1(
0
)(
n
n
nsc
ns



>−+
=
=
0)1(
00
)(
nnsn
n
ns






>+





=
=
1
2
2
1
)(
nc
n
T
nc
nT







>+





=
=
1
1
)(
ncn
b
n
aT
nc
nT
Solving Recurrences
• Substitution method
• Iteration method
• Master method
Solving Recurrences
• The substitution method (CLR 4.1)
– “Making a good guess” method
– Guess the form of the answer, then use
induction to find the constants and show that
solution works
– Examples:
• T(n) = 2T(n/2) + Θ(n) T(n) = Θ(n lg n)
• T(n) = 2T(n/2) + n ???
Solving Recurrences
• The substitution method (CLR 4.1)
– “Making a good guess” method
– Guess the form of the answer, then use
induction to find the constants and show that
solution works
– Examples:
• T(n) = 2T(n/2) + Θ(n)  T(n) = Θ(n lg n)
• T(n) = 2T(n/2) + n  T(n) = Θ(n lg n)
• T(n) = 2T(n/2 )+ 17) + n  ???
Substitution method
• Guess the form of the solution .
• Use mathematical induction to find the constants and
show that the solution works .
The substitution method can be used to establish either upper
or lower bounds on a recurrence.
An example (Substitution method )
• T(n) = 2T(floor(n/2) ) +n
We guess that the solution is T(n)=0(n lg n).
i.e. to show that T(n) ≤ cn lg n , for some constant c> 0 and n ≥ m.
Assume that this bound holds for [n/2]. So , we get
T(n) ≤ 2(c floor (n/2) lg(floor(n/2))) + n
≤ cn lg(n/2) + n
= cn lg n – cn lg 2 + n
= cn lg n – cn + n
≤ cn lg n
where , the last step holds as long as c≥ 1.
• Boundary conditions :
Suppose , T(1)=1 is the sole boundary condition of the
recurrence .
then , for n=1 , the bound T(n)≤ c n lg n yields
T(1)≤ c lg1=0 , which is at odds with T(1)=1.
Thus ,the base case of our inductive proof fails to hold.
To overcome this difficulty , we can take advantage of the
asymptotic notation which only requires us to prove
T(n)≤c n lg n for n≥ m.
The idea is to remove the difficult boundary condition T(1)= 1
from consideration.
Thus , we can replace T(1) by T(2) as the base cases in the
inductive proof , letting m=2.
Contd....
From the recurrence , with T(1) = 1, we get
T(2)=4
We require T(2)≤ c 2 lg 2
It is clear that , any choice of c≥2 suffices for
the base cases
Are we done?
• Have we proved the case for n =3.
• Have we proved that T(3) ≤ c 3 lg 3.
• No. Since floor(3/2) = 1 and for n =1, it does not hold. So
induction does not apply on n= 3.
• From the recurrence, with T(1) = 1, we get T(3) = 5.
The inductive proof that T(n) ≤ c n lg n for some constant c≥1
can now be completed by choosing c large enough that
T(3)≤c 3 lg 3 also holds.
It is clear that , any choice of c ≥ 2 is sufficient for this to hold.
Thus we can conclude that T(n) ≤ c n lg n for any c ≥ 2 and n ≥ 2.
Solving Recurrences
• Another option is “iteration method”
– Expand the recurrence
– Work some algebra to express as a
summation
– Evaluate the summation
• We will show some examples
• Solve the following recurrence:
T(n) = T(αn) + T(βn) + n,
where 0 < α ≤ β < 1
Assume suitable initial conditions.
Assignment 4
Recursive Complexity Patterns
• When you have simple recurrence
relations of the form
• T(n) = T(n-1) + f(n), then you have
complexity of O(n*f(n))
• T(n) = T(n/k) + f(n), then you have
complexity of O(logk n * f(n))
• Consider the Fibonacci sequence recursive calculation:
• F(1) = 1
F(2) = 1
F(n) = F(n-1)+F(n-2)
• Its recurrence relation time is
• T(1) = 1
T(2) = 1
T(n) = T(n-1) + T(n-2) + 1
• Solving is a little beyond this course, but T(n) = O(2n
) or
"exponential“
Consider the recurrence relation T(n) = T(n-1) + T(n/2) + n
Which of the following is a good tight upper bound on T(n)
(a) Θ n2
(b) Θ(n2logn)
(c) Θ(2logn2)
(d) Θ(nlogn2)
• Lets Solve it by substitution.
T(n) = T(n-1) + T(n/2) + n
= T(n-2) + T(n/4) + (n-1) + n
= T(n-3) + T(n/8) + (n-2) + (n-1) + n
= T(n-4) + T(n/16) + (n-3) + (n-2) + (n-1) + n
= ------------
= ------------
= -------------
= T(n-k) + T(n/(2^k)) + (n-(k-1)) + (n-(k-2)) + ------------------------------ + (n-2) + (n-1) + n
Now consider n = 2^k, then k = log n
= T((2^k) - k) + T((2^k)/(2^k)) + (n - k + 1) + (n - k + 2) + ---------------------- + (n - 1) + n
Now Put value of K
= (2^(log n) - log n) + 1 + (n - log n + 1) + (n - log n + 2) + ------------------------ + n
Here series {(n - log n + 1) + (n - log n + 2) + ---------------------- + (n - 1) + n} are in AP with (log n) element then
Hence Sn = ((log n)/2) *(n -log n + 1 + n) = O(n.log n)
Hence,
T(n) = 2^(log n)
From all the given answer, Option C is asymptotically close to T(n), Hence C will be the answer.
The Master Theorem
• Given: a divide and conquer algorithm
– An algorithm that divides the problem of size
n into a subproblems, each of size n/b
– Let the cost of each stage (i.e., the work to
divide the problem + combine solved
subproblems) be described by the function
f(n)
• Then, the Master Theorem gives us a
cookbook for the algorithm’s running time:
The Master Theorem
• if T(n) = aT(n/b) + f(n) then
( )
( )
( )
( )
( )
( )












<
>











<
Ω=
Θ=
=
Θ
Θ
Θ
=
+
−
1
0
largefor)()/(
AND)(
)(
)(
)(
log)(
log
log
log
log
log
c
nncfbnaf
nnf
nnf
nOnf
nf
nn
n
nT
a
a
a
a
a
b
b
b
b
b
ε
ε
ε
Cont.
Using The Master Method
• T(n) = 9T(n/3) + n
– a=9, b=3, f(n) = n
– nlogb a
= nlog3 9
= Θ(n2
)
– Since f(n) = O(nlog3 9 - ε
), where ε=1, case 1
applies:
– Thus the solution is T(n) = Θ(n2
)
( ) ( )ε−
=Θ= aa bb
nOnfnnT loglog
)(when)(
More Examples of Master’s
Theorem
• T(n) = 3T(n/5) + n o/p nlog35
• T(n) = 2T(n/2) + n o/p : nlogn
• T(n) = 2T(n/2) + 1
• T(n) = T(n/2) + n
• T(n) = T(n/2) + 1
When Master’s Theorem cannot
be applied
• T(n) = 2T(n/2) + n logn
• T(n) = 2T(n/2) + n/ logn
Reference
• https://en.wikipedia.org/wiki/Master_theorem
• http://stackoverflow.com/questions/8185079/how-to-calculate-
binary-search-complexity
• http://www.csd.uwo.ca/~moreno/CS433-
CS9624/Resources/master.pdf
• https://en.wikipedia.org/wiki/Time_complexity
• http://stackoverflow.com/questions/20512642/big-o-confusion-
log2n-vs-log3n

More Related Content

PDF
Master theorem
PPTX
Propositional logic
PPTX
LECTURE 2: PROPOSITIONAL EQUIVALENCES
PPTX
Solving recurrences
PPT
Presentation on binary search, quick sort, merge sort and problems
PPTX
strassen matrix multiplication algorithm
PPT
Master method theorem
PPTX
Activity selection problem
Master theorem
Propositional logic
LECTURE 2: PROPOSITIONAL EQUIVALENCES
Solving recurrences
Presentation on binary search, quick sort, merge sort and problems
strassen matrix multiplication algorithm
Master method theorem
Activity selection problem

What's hot (20)

PPT
Master method theorem
PPTX
Stressen's matrix multiplication
PPT
The comparative study of apriori and FP-growth algorithm
PPT
Asymptotic notation
DOC
Unit 2 in daa
PPTX
NP Complete Problems
PPTX
Data Structure and Algorithm - Divide and Conquer
PPT
Asymptotic notations
PPTX
Non- Deterministic Algorithms
PPTX
Deep learning lecture - part 1 (basics, CNN)
PDF
Intro to Discrete Mathematics
PPT
Time complexity
PPT
Complexity of Algorithm
PPT
Greedy Algorithms WITH Activity Selection Problem.ppt
PPT
Asymptotic analysis
PPTX
Divide and Conquer
PPT
Introduction to NP Completeness
PPTX
Symbolic-Reasoning-Under-Uncertainty.pptx
PDF
Designing A Minimum Distance to Class Mean Classifier
PPT
mathematical induction
Master method theorem
Stressen's matrix multiplication
The comparative study of apriori and FP-growth algorithm
Asymptotic notation
Unit 2 in daa
NP Complete Problems
Data Structure and Algorithm - Divide and Conquer
Asymptotic notations
Non- Deterministic Algorithms
Deep learning lecture - part 1 (basics, CNN)
Intro to Discrete Mathematics
Time complexity
Complexity of Algorithm
Greedy Algorithms WITH Activity Selection Problem.ppt
Asymptotic analysis
Divide and Conquer
Introduction to NP Completeness
Symbolic-Reasoning-Under-Uncertainty.pptx
Designing A Minimum Distance to Class Mean Classifier
mathematical induction
Ad

Viewers also liked (19)

PPT
Establishing the recurrence relation
PPT
lecture 4
PPTX
Floyd Warshall algorithm easy way to compute - Malinga
PPTX
Recurrence relationclass 5
PPTX
recurrence relations
PDF
Master method
PPT
The Floyd–Warshall algorithm
PDF
Applied And Persuasive Applications For Museums
PDF
Getting It Right: “Bad Paper” Legislation That Works
PPTX
Estrés. Cómo se produce un ataque de estrés y estrategias para manejarlo.
PDF
Sintesis informativa 29 de marzo 2017
PDF
Bloco Esquerda
PPTX
Tues. March 7th Pine River Announcements
PDF
Bn1029 demo sap sd
PDF
Speed costs
PDF
The Impact of Volatility on Wealth
PPT
Federalists vs. Republicans
PDF
Fläckvis lappning och vägreglernas förbud mot split friction, granlund wsp
PPTX
Social Research on Violence
Establishing the recurrence relation
lecture 4
Floyd Warshall algorithm easy way to compute - Malinga
Recurrence relationclass 5
recurrence relations
Master method
The Floyd–Warshall algorithm
Applied And Persuasive Applications For Museums
Getting It Right: “Bad Paper” Legislation That Works
Estrés. Cómo se produce un ataque de estrés y estrategias para manejarlo.
Sintesis informativa 29 de marzo 2017
Bloco Esquerda
Tues. March 7th Pine River Announcements
Bn1029 demo sap sd
Speed costs
The Impact of Volatility on Wealth
Federalists vs. Republicans
Fläckvis lappning och vägreglernas förbud mot split friction, granlund wsp
Social Research on Violence
Ad

Similar to Time complexity (20)

PPT
recurrence relation is explained in this
PDF
3.pdf
PDF
Recurrence relation solutions
PPTX
solving_recurrence_relations_using_methods.pptx
PPTX
Time Complexity of Recursive Functions.pptx
PPT
Solving Recurrence slides with images.ppt
PPTX
RECURRENCE EQUATIONS & ANALYZING THEM
PDF
Recurrences
PPTX
solving_Recurrence_relations_using_methods1.pptx
PPT
recurrence relations in analysis of algorithm
PPT
04_Recurrences_1.ppt
PPT
lecture3.ppt
PPT
Recurrences
PPTX
PCC_CS_404_OUCHITYAPRODHAN_17000124029[1].pptx
PPTX
UNIT I- Session 8.pptxgdsgdgssdggdsdsgdd
PPTX
Improvised Master's Theorem
PDF
Solving recurrences
PDF
Solving recurrences
recurrence relation is explained in this
3.pdf
Recurrence relation solutions
solving_recurrence_relations_using_methods.pptx
Time Complexity of Recursive Functions.pptx
Solving Recurrence slides with images.ppt
RECURRENCE EQUATIONS & ANALYZING THEM
Recurrences
solving_Recurrence_relations_using_methods1.pptx
recurrence relations in analysis of algorithm
04_Recurrences_1.ppt
lecture3.ppt
Recurrences
PCC_CS_404_OUCHITYAPRODHAN_17000124029[1].pptx
UNIT I- Session 8.pptxgdsgdgssdggdsdsgdd
Improvised Master's Theorem
Solving recurrences
Solving recurrences

Recently uploaded (20)

PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
PPTX
PPH.pptx obstetrics and gynecology in nursing
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PDF
Anesthesia in Laparoscopic Surgery in India
PDF
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PPTX
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
PPTX
Renaissance Architecture: A Journey from Faith to Humanism
PDF
Complications of Minimal Access Surgery at WLH
PPTX
Cell Structure & Organelles in detailed.
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
VCE English Exam - Section C Student Revision Booklet
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PDF
Sports Quiz easy sports quiz sports quiz
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PDF
01-Introduction-to-Information-Management.pdf
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PDF
TR - Agricultural Crops Production NC III.pdf
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
PPH.pptx obstetrics and gynecology in nursing
Supply Chain Operations Speaking Notes -ICLT Program
Anesthesia in Laparoscopic Surgery in India
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
O5-L3 Freight Transport Ops (International) V1.pdf
Abdominal Access Techniques with Prof. Dr. R K Mishra
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
Renaissance Architecture: A Journey from Faith to Humanism
Complications of Minimal Access Surgery at WLH
Cell Structure & Organelles in detailed.
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
Final Presentation General Medicine 03-08-2024.pptx
VCE English Exam - Section C Student Revision Booklet
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
Sports Quiz easy sports quiz sports quiz
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
01-Introduction-to-Information-Management.pdf
Module 4: Burden of Disease Tutorial Slides S2 2025
TR - Agricultural Crops Production NC III.pdf

Time complexity

  • 1. Table Of Contents Solving Recurrences The Master Theorem
  • 3. Recurrences • The expression: is a recurrence. – Recurrence: an equation that describes a function in terms of its value on smaller functions       >+      = = 1 2 2 1 )( ncn n T nc nT
  • 5. Solving Recurrences • Substitution method • Iteration method • Master method
  • 6. Solving Recurrences • The substitution method (CLR 4.1) – “Making a good guess” method – Guess the form of the answer, then use induction to find the constants and show that solution works – Examples: • T(n) = 2T(n/2) + Θ(n) T(n) = Θ(n lg n) • T(n) = 2T(n/2) + n ???
  • 7. Solving Recurrences • The substitution method (CLR 4.1) – “Making a good guess” method – Guess the form of the answer, then use induction to find the constants and show that solution works – Examples: • T(n) = 2T(n/2) + Θ(n)  T(n) = Θ(n lg n) • T(n) = 2T(n/2) + n  T(n) = Θ(n lg n) • T(n) = 2T(n/2 )+ 17) + n  ???
  • 8. Substitution method • Guess the form of the solution . • Use mathematical induction to find the constants and show that the solution works . The substitution method can be used to establish either upper or lower bounds on a recurrence.
  • 9. An example (Substitution method ) • T(n) = 2T(floor(n/2) ) +n We guess that the solution is T(n)=0(n lg n). i.e. to show that T(n) ≤ cn lg n , for some constant c> 0 and n ≥ m. Assume that this bound holds for [n/2]. So , we get T(n) ≤ 2(c floor (n/2) lg(floor(n/2))) + n ≤ cn lg(n/2) + n = cn lg n – cn lg 2 + n = cn lg n – cn + n ≤ cn lg n where , the last step holds as long as c≥ 1.
  • 10. • Boundary conditions : Suppose , T(1)=1 is the sole boundary condition of the recurrence . then , for n=1 , the bound T(n)≤ c n lg n yields T(1)≤ c lg1=0 , which is at odds with T(1)=1. Thus ,the base case of our inductive proof fails to hold. To overcome this difficulty , we can take advantage of the asymptotic notation which only requires us to prove T(n)≤c n lg n for n≥ m. The idea is to remove the difficult boundary condition T(1)= 1 from consideration. Thus , we can replace T(1) by T(2) as the base cases in the inductive proof , letting m=2.
  • 11. Contd.... From the recurrence , with T(1) = 1, we get T(2)=4 We require T(2)≤ c 2 lg 2 It is clear that , any choice of c≥2 suffices for the base cases
  • 12. Are we done? • Have we proved the case for n =3. • Have we proved that T(3) ≤ c 3 lg 3. • No. Since floor(3/2) = 1 and for n =1, it does not hold. So induction does not apply on n= 3. • From the recurrence, with T(1) = 1, we get T(3) = 5. The inductive proof that T(n) ≤ c n lg n for some constant c≥1 can now be completed by choosing c large enough that T(3)≤c 3 lg 3 also holds. It is clear that , any choice of c ≥ 2 is sufficient for this to hold. Thus we can conclude that T(n) ≤ c n lg n for any c ≥ 2 and n ≥ 2.
  • 13. Solving Recurrences • Another option is “iteration method” – Expand the recurrence – Work some algebra to express as a summation – Evaluate the summation • We will show some examples
  • 14. • Solve the following recurrence: T(n) = T(αn) + T(βn) + n, where 0 < α ≤ β < 1 Assume suitable initial conditions. Assignment 4
  • 15. Recursive Complexity Patterns • When you have simple recurrence relations of the form • T(n) = T(n-1) + f(n), then you have complexity of O(n*f(n)) • T(n) = T(n/k) + f(n), then you have complexity of O(logk n * f(n))
  • 16. • Consider the Fibonacci sequence recursive calculation: • F(1) = 1 F(2) = 1 F(n) = F(n-1)+F(n-2) • Its recurrence relation time is • T(1) = 1 T(2) = 1 T(n) = T(n-1) + T(n-2) + 1 • Solving is a little beyond this course, but T(n) = O(2n ) or "exponential“
  • 17. Consider the recurrence relation T(n) = T(n-1) + T(n/2) + n Which of the following is a good tight upper bound on T(n) (a) Θ n2 (b) Θ(n2logn) (c) Θ(2logn2) (d) Θ(nlogn2)
  • 18. • Lets Solve it by substitution. T(n) = T(n-1) + T(n/2) + n = T(n-2) + T(n/4) + (n-1) + n = T(n-3) + T(n/8) + (n-2) + (n-1) + n = T(n-4) + T(n/16) + (n-3) + (n-2) + (n-1) + n = ------------ = ------------ = ------------- = T(n-k) + T(n/(2^k)) + (n-(k-1)) + (n-(k-2)) + ------------------------------ + (n-2) + (n-1) + n Now consider n = 2^k, then k = log n = T((2^k) - k) + T((2^k)/(2^k)) + (n - k + 1) + (n - k + 2) + ---------------------- + (n - 1) + n Now Put value of K = (2^(log n) - log n) + 1 + (n - log n + 1) + (n - log n + 2) + ------------------------ + n Here series {(n - log n + 1) + (n - log n + 2) + ---------------------- + (n - 1) + n} are in AP with (log n) element then Hence Sn = ((log n)/2) *(n -log n + 1 + n) = O(n.log n) Hence, T(n) = 2^(log n) From all the given answer, Option C is asymptotically close to T(n), Hence C will be the answer.
  • 19. The Master Theorem • Given: a divide and conquer algorithm – An algorithm that divides the problem of size n into a subproblems, each of size n/b – Let the cost of each stage (i.e., the work to divide the problem + combine solved subproblems) be described by the function f(n) • Then, the Master Theorem gives us a cookbook for the algorithm’s running time:
  • 20. The Master Theorem • if T(n) = aT(n/b) + f(n) then ( ) ( ) ( ) ( ) ( ) ( )             < >            < Ω= Θ= = Θ Θ Θ = + − 1 0 largefor)()/( AND)( )( )( )( log)( log log log log log c nncfbnaf nnf nnf nOnf nf nn n nT a a a a a b b b b b ε ε ε
  • 21. Cont.
  • 22. Using The Master Method • T(n) = 9T(n/3) + n – a=9, b=3, f(n) = n – nlogb a = nlog3 9 = Θ(n2 ) – Since f(n) = O(nlog3 9 - ε ), where ε=1, case 1 applies: – Thus the solution is T(n) = Θ(n2 ) ( ) ( )ε− =Θ= aa bb nOnfnnT loglog )(when)(
  • 23. More Examples of Master’s Theorem • T(n) = 3T(n/5) + n o/p nlog35 • T(n) = 2T(n/2) + n o/p : nlogn • T(n) = 2T(n/2) + 1 • T(n) = T(n/2) + n • T(n) = T(n/2) + 1
  • 24. When Master’s Theorem cannot be applied • T(n) = 2T(n/2) + n logn • T(n) = 2T(n/2) + n/ logn
  • 25. Reference • https://en.wikipedia.org/wiki/Master_theorem • http://stackoverflow.com/questions/8185079/how-to-calculate- binary-search-complexity • http://www.csd.uwo.ca/~moreno/CS433- CS9624/Resources/master.pdf • https://en.wikipedia.org/wiki/Time_complexity • http://stackoverflow.com/questions/20512642/big-o-confusion- log2n-vs-log3n