More Related Content
PPTX
Divide and Conquer - Part 1 PPTX
PPT
PPTX
Design and Analysis of Algorithms UNIT 1 .pptx PPTX
Divide and Conquer in DAA concept. For B Tech CSE PPT
PDF
PDF
Similar to DivideAndConquer.pptDivideAndConquer.ppt
PPTX
Divided and conqurddddddddddddddfffffe.pptx PPTX
solving_Recurrence_relations_using_methods1.pptx PDF
PDF
PDF
CS330-Lectures Statistics And Probability PPT
PDF
PDF
PPT
recurrence relation is explained in this PPTX
Divide and Conquer_Binary_Search_Merge_Sort.pptx PDF
Copy of y16 02-2119divide-and-conquer PPTX
3. D&C and Recurrence Relation.ppYtxVVVV PDF
PPT
3-Chapter Three - Divide and Conquer.ppt PPTX
unit 3.pptx divide and conquer design and analysis PDF
Lecture 5 6_7 - divide and conquer and method of solving recurrences PPTX
18CS42_MODULE2_ADA _VTU SYLLABUS 18 SCHEME.pptx DOC
pradeepbishtLecture13 div conq PPT
PDF
Chapter 9 divide and conquer handouts with notes More from SyedAliShahid3
PPTX
AVLTrees.pptx data structures presentation PPT
lecture3.pptlecture3 data structures pptt PPT
25-graphs4-topological-sort.ppt data structures PPT
16-avl-trees.ppt data structures prestentation PPT
144205230-Cross-Site-Scripting-XSS-ppt.ppt PPT
SecurityPolicy.ppt SecurityPolicy.ppt PPT
22-graphs1-dfs-bfs.ppt data structures ppt PPT
Unit24_TopologicalSort.ppt data structures PPT
linkedLists.ppt presentation on the topic PPTX
webapplicationattacks-101005070110-phpapp02.pptx PPTX
BST.pptx data structures presentation ppt PPTX
Levels_of_Requirements_SRE.pptx presentation PPT
dipfinal1--150927115011-lva1-app6891.ppt PPT
QualityModelsAndAtttribQualityModels.ppt Recently uploaded
PDF
Basics of Systematic Literature Search - Nasra Gathoni PDF
Types of Vegetable Gardens, College of Agriculture Balaghat.pdf DOCX
TOXICITY AND ITS MANAGEMENT 6th sem unit 5, PHARMACOLOGY-III B. PHARMACY PDF
Orchard Floor Managment.pdf Orchard Floor Management PPTX
CLASS -9 POLITICAL SCIENCE PPT CHAPTER -5 DEMOCRATIC RIGHTS.pptx PDF
Nutrients & Role in Horticulture.pdf, Dr. Sharad Bisen Horticulture PPTX
Hypothesis. its definition and typrs pptx PPTX
Unit I — General Physiology: Basic Concepts PDF
Principles and Practices of GST 2.0 Study material PPTX
Searching in PubMed andCochrane_Practical Presentation.pptx PPTX
Cost of Capital - Cost of Equity, Cost of debenture, Cost of Preference share... PDF
DHA OPTOMETRY MCQ Question /HAAD/MOH.pdf PDF
The Tale of Melon City poem ppt by Sahasra PDF
Ketogenic diet in Epilepsy in children.. PPTX
ICH Harmonization A Global Pathway to Unified Drug Regulation.pptx PDF
Unit-III pdf (Basic listening Skill, Effective Writing Communication & Writin... DOCX
Mobile applications Devlopment ReTest year 2025-2026 PDF
Blue / Green: Troop Leading Procedure (TLP) Overview.pdf PDF
Models of Teaching - TNTEU - B.Ed I Semester - Teaching and Learning - BD1TL ... PPTX
Unit I — Introduction to Anatomical Terms and Organization of the Human Body DivideAndConquer.pptDivideAndConquer.ppt
- 1.
- 2.
Divide-and-Conquer 2
© 2004Goodrich, Tamassia
Divide-and-Conquer
Divide-and conquer is a
general algorithm design
paradigm:
Divide: divide the input data S in
two or more disjoint subsets S1,
S2, …
Recur: solve the subproblems
recursively
Conquer: combine the solutions
for S1, S2, …, into a solution for S
The base case for the
recursion are subproblems of
constant size
Analysis can be done using
recurrence equations
- 3.
Divide-and-Conquer 3
© 2004Goodrich, Tamassia
Merge-Sort Review
Merge-sort on an
input sequence S with
n elements consists of
three steps:
Divide: partition S into
two sequences S1 and S2
of about n2 elements
each
Recur: recursively sort
S1 and S2
Conquer: merge S1 and
S2 into a unique sorted
sequence
Algorithm mergeSort(S, C)
Input sequence S with n
elements, comparator C
Output sequence S sorted
according to C
if S.size() > 1
(S1, S2) partition(S, n/2)
mergeSort(S1, C)
mergeSort(S2, C)
S merge(S1, S2)
- 4.
Divide-and-Conquer 4
© 2004Goodrich, Tamassia
Recurrence Equation
Analysis
The conquer step of merge-sort consists of merging two
sorted sequences, each with n2 elements and implemented by
means of a doubly linked list, takes at most bn steps, for some
constant b.
Likewise, the basis case (n < 2) will take at b most steps.
Therefore, if we let T(n) denote the running time of merge-sort:
We can therefore analyze the running time of merge-sort by
finding a closed form solution to the above equation.
That is, a solution that has T(n) only on the left-hand side.
2
if
)
2
/
(
2
2
if
)
(
n
bn
n
T
n
b
n
T
- 5.
Divide-and-Conquer 5
© 2004Goodrich, Tamassia
Iterative Substitution
In the iterative substitution, or “plug-and-chug,” technique, we iteratively
apply the recurrence equation to itself and see if we can find a pattern:
Note that base, T(n)=b, case occurs when 2i
=n. That is, i = log n.
So,
Thus, T(n) is O(n log n).
ibn
n
T
bn
n
T
bn
n
T
bn
n
T
bn
n
b
n
T
bn
n
T
n
T
i
i
)
2
/
(
2
...
4
)
2
/
(
2
3
)
2
/
(
2
2
)
2
/
(
2
))
2
/
(
))
2
/
(
2
(
2
)
2
/
(
2
)
(
4
4
3
3
2
2
2
n
bn
bn
n
T log
)
(
- 6.
Divide-and-Conquer 6
© 2004Goodrich, Tamassia
The Recursion Tree
Draw the recursion tree for the recurrence relation and look
for a pattern:
depth T’s size
0 1 n
1 2 n2
i 2i
n2i
… … …
2
if
)
2
/
(
2
2
if
)
(
n
bn
n
T
n
b
n
T
time
bn
bn
bn
…
Total time = bn + bn log n
(last level plus all previous levels)
- 7.
Divide-and-Conquer 7
© 2004Goodrich, Tamassia
Guess-and-Test Method
In the guess-and-test method, we guess a closed form solution
and then try to prove it is true by induction:
Guess: T(n) < cn log n.
Wrong: we cannot make this last line be less than cn log n
n
bn
cn
n
cn
n
bn
n
cn
n
bn
n
n
c
n
bn
n
T
n
T
log
log
log
)
2
log
(log
log
))
2
/
log(
)
2
/
(
(
2
log
)
2
/
(
2
)
(
2
if
log
)
2
/
(
2
2
if
)
(
n
n
bn
n
T
n
b
n
T
- 8.
Divide-and-Conquer 8
© 2004Goodrich, Tamassia
Guess-and-Test Method,
Part 2
Recall the recurrence equation:
Guess #2: T(n) < cn log2
n.
if c > b.
So, T(n) is O(n log2
n).
In general, to use this method, you need to have a good guess
and you need to be good at induction proofs.
n
cn
n
bn
cn
n
cn
n
cn
n
bn
n
cn
n
bn
n
n
c
n
bn
n
T
n
T
2
2
2
2
log
log
log
2
log
log
)
2
log
(log
log
))
2
/
(
log
)
2
/
(
(
2
log
)
2
/
(
2
)
(
2
if
log
)
2
/
(
2
2
if
)
(
n
n
bn
n
T
n
b
n
T
- 9.
Divide-and-Conquer 9
© 2004Goodrich, Tamassia
Master Method
(Appendix)
Many divide-and-conquer recurrence equations
have the form:
The Master Theorem:
d
n
n
f
b
n
aT
d
n
c
n
T
if
)
(
)
/
(
if
)
(
.
1
some
for
)
(
)
/
(
provided
)),
(
(
is
)
(
then
),
(
is
)
(
if
3.
)
log
(
is
)
(
then
),
log
(
is
)
(
if
2.
)
(
is
)
(
then
),
(
is
)
(
if
1.
log
1
log
log
log
log
n
f
b
n
af
n
f
n
T
n
n
f
n
n
n
T
n
n
n
f
n
n
T
n
O
n
f
a
k
a
k
a
a
a
b
b
b
b
b
- 10.
Divide-and-Conquer 10
© 2004Goodrich, Tamassia
Master Method, Example
1
The form:
The Master Theorem:
Example:
d
n
n
f
b
n
aT
d
n
c
n
T
if
)
(
)
/
(
if
)
(
.
1
some
for
)
(
)
/
(
provided
)),
(
(
is
)
(
then
),
(
is
)
(
if
3.
)
log
(
is
)
(
then
),
log
(
is
)
(
if
2.
)
(
is
)
(
then
),
(
is
)
(
if
1.
log
1
log
log
log
log
n
f
b
n
af
n
f
n
T
n
n
f
n
n
n
T
n
n
n
f
n
n
T
n
O
n
f
a
k
a
k
a
a
a
b
b
b
b
b
n
n
T
n
T
)
2
/
(
4
)
(
Solution: logba=2, so case 1 says T(n) is O(n2
).
- 11.
Divide-and-Conquer 11
© 2004Goodrich, Tamassia
Master Method, Example
2
The form:
The Master Theorem:
Example:
d
n
n
f
b
n
aT
d
n
c
n
T
if
)
(
)
/
(
if
)
(
.
1
some
for
)
(
)
/
(
provided
)),
(
(
is
)
(
then
),
(
is
)
(
if
3.
)
log
(
is
)
(
then
),
log
(
is
)
(
if
2.
)
(
is
)
(
then
),
(
is
)
(
if
1.
log
1
log
log
log
log
n
f
b
n
af
n
f
n
T
n
n
f
n
n
n
T
n
n
n
f
n
n
T
n
O
n
f
a
k
a
k
a
a
a
b
b
b
b
b
n
n
n
T
n
T log
)
2
/
(
2
)
(
Solution: logba=1, so case 2 says T(n) is O(n log2
n).
- 12.
Divide-and-Conquer 12
© 2004Goodrich, Tamassia
Master Method, Example
3
The form:
The Master Theorem:
Example:
d
n
n
f
b
n
aT
d
n
c
n
T
if
)
(
)
/
(
if
)
(
.
1
some
for
)
(
)
/
(
provided
)),
(
(
is
)
(
then
),
(
is
)
(
if
3.
)
log
(
is
)
(
then
),
log
(
is
)
(
if
2.
)
(
is
)
(
then
),
(
is
)
(
if
1.
log
1
log
log
log
log
n
f
b
n
af
n
f
n
T
n
n
f
n
n
n
T
n
n
n
f
n
n
T
n
O
n
f
a
k
a
k
a
a
a
b
b
b
b
b
n
n
n
T
n
T log
)
3
/
(
)
(
Solution: logba=0, so case 3 says T(n) is O(n log n).
- 13.
Divide-and-Conquer 13
© 2004Goodrich, Tamassia
Master Method, Example
4
The form:
The Master Theorem:
Example:
d
n
n
f
b
n
aT
d
n
c
n
T
if
)
(
)
/
(
if
)
(
.
1
some
for
)
(
)
/
(
provided
)),
(
(
is
)
(
then
),
(
is
)
(
if
3.
)
log
(
is
)
(
then
),
log
(
is
)
(
if
2.
)
(
is
)
(
then
),
(
is
)
(
if
1.
log
1
log
log
log
log
n
f
b
n
af
n
f
n
T
n
n
f
n
n
n
T
n
n
n
f
n
n
T
n
O
n
f
a
k
a
k
a
a
a
b
b
b
b
b
2
)
2
/
(
8
)
( n
n
T
n
T
Solution: logba=3, so case 1 says T(n) is O(n3
).
- 14.
Divide-and-Conquer 14
© 2004Goodrich, Tamassia
Master Method, Example
5
The form:
The Master Theorem:
Example:
d
n
n
f
b
n
aT
d
n
c
n
T
if
)
(
)
/
(
if
)
(
.
1
some
for
)
(
)
/
(
provided
)),
(
(
is
)
(
then
),
(
is
)
(
if
3.
)
log
(
is
)
(
then
),
log
(
is
)
(
if
2.
)
(
is
)
(
then
),
(
is
)
(
if
1.
log
1
log
log
log
log
n
f
b
n
af
n
f
n
T
n
n
f
n
n
n
T
n
n
n
f
n
n
T
n
O
n
f
a
k
a
k
a
a
a
b
b
b
b
b
3
)
3
/
(
9
)
( n
n
T
n
T
Solution: logba=2, so case 3 says T(n) is O(n3
).
- 15.
Divide-and-Conquer 15
© 2004Goodrich, Tamassia
Master Method, Example
6
The form:
The Master Theorem:
Example:
d
n
n
f
b
n
aT
d
n
c
n
T
if
)
(
)
/
(
if
)
(
.
1
some
for
)
(
)
/
(
provided
)),
(
(
is
)
(
then
),
(
is
)
(
if
3.
)
log
(
is
)
(
then
),
log
(
is
)
(
if
2.
)
(
is
)
(
then
),
(
is
)
(
if
1.
log
1
log
log
log
log
n
f
b
n
af
n
f
n
T
n
n
f
n
n
n
T
n
n
n
f
n
n
T
n
O
n
f
a
k
a
k
a
a
a
b
b
b
b
b
1
)
2
/
(
)
(
n
T
n
T
Solution: logba=0, so case 2 says T(n) is O(log n).
(binary search)
- 16.
Divide-and-Conquer 16
© 2004Goodrich, Tamassia
Master Method, Example
7
The form:
The Master Theorem:
Example:
d
n
n
f
b
n
aT
d
n
c
n
T
if
)
(
)
/
(
if
)
(
.
1
some
for
)
(
)
/
(
provided
)),
(
(
is
)
(
then
),
(
is
)
(
if
3.
)
log
(
is
)
(
then
),
log
(
is
)
(
if
2.
)
(
is
)
(
then
),
(
is
)
(
if
1.
log
1
log
log
log
log
n
f
b
n
af
n
f
n
T
n
n
f
n
n
n
T
n
n
n
f
n
n
T
n
O
n
f
a
k
a
k
a
a
a
b
b
b
b
b
n
n
T
n
T log
)
2
/
(
2
)
(
Solution: logba=1, so case 1 says T(n) is O(n).
(heap construction)
- 17.
Divide-and-Conquer 17
© 2004Goodrich, Tamassia
Iterative “Proof” of the
Master Theorem
1
)
(log
0
log
1
)
(log
0
log
2
2
3
3
2
2
2
)
/
(
)
1
(
)
/
(
)
1
(
.
.
.
)
(
)
/
(
)
/
(
)
/
(
)
(
)
/
(
)
/
(
))
/
(
))
/
(
(
)
(
)
/
(
)
(
n
i
i
i
a
n
i
i
i
n
b
b
b
b
b
n
f
a
T
n
b
n
f
a
T
a
n
f
b
n
af
b
n
f
a
b
n
T
a
n
f
b
n
af
b
n
T
a
bn
b
n
f
b
n
aT
a
n
f
b
n
aT
n
T
- 18.
Divide-and-Conquer 18
© 2004Goodrich, Tamassia
Integer Multiplication
Algorithm: Multiply two n-bit integers I and J.
Divide step: Split I and J into high-order and low-order bits
We can then define I*J by multiplying the parts and adding:
So, T(n) = 4T(n/2) + n, which implies T(n) is O(n2
).
But that is no better than the algorithm we learned in
grade school.
l
n
h
l
n
h
J
J
J
I
I
I
2
/
2
/
2
2
l
l
n
h
l
n
l
h
n
h
h
l
n
h
l
n
h
J
I
J
I
J
I
J
I
J
J
I
I
J
I
2
/
2
/
2
/
2
/
2
2
2
)
2
(
*
)
2
(
*
- 19.
Divide-and-Conquer 19
© 2004Goodrich, Tamassia
An Improved Integer
Multiplication Algorithm
Algorithm: Multiply two n-bit integers I and J.
Divide step: Split I and J into high-order and low-order bits
Observe that there is a different way to multiply parts:
So, T(n) = 3T(n/2) + n, which implies T(n) is O(nlog
2
3
), by the
Master Theorem.
Thus, T(n) is O(n1.585
).
l
n
h
l
n
h
J
J
J
I
I
I
2
/
2
/
2
2
l
l
n
h
l
l
h
n
h
h
l
l
n
l
l
h
h
h
l
h
h
l
l
l
h
n
h
h
l
l
n
l
l
h
h
h
l
l
h
n
h
h
J
I
J
I
J
I
J
I
J
I
J
I
J
I
J
I
J
I
J
I
J
I
J
I
J
I
J
I
J
I
J
J
I
I
J
I
J
I
2
/
2
/
2
/
2
)
(
2
2
]
)
[(
2
2
]
)
)(
[(
2
*