SlideShare une entreprise Scribd logo
1  sur  27
Divide-and-Conquer
Republic of Yemen
THAMAR UNIVERSITY
Faculty of Computer Science&
Information System
1 Eng: Mohammed Hussein
Divide-and-Conquer
2 Eng: Mohammed Hussein
Divide-and-Conquer
 The whole problem we want to solve may too big to understand or solve at
once.
 We break it up into smaller pieces, solve the pieces separately, and
combine the separate pieces together.
 Divide-and conquer is a general algorithm design paradigm:
1. Divide: divide the input data S in two or more disjoint subsets S1,
S2, …
2. Recur: solve the subproblems recursively
3. 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 Eng: Mohammed Hussein
Recurrence Equation Analysis
 The conquer step of merge-sort consists of merging two sorted sequences, each with
n/2 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.






2if)2/(2
2if
)(
nbnnT
nb
nT
4 Eng: Mohammed Hussein
Solving recurrences
 Recurrences are like solving integrals, differential equations, etc.
 Should learn a few tricks.
 Three ways of solving recurrences
1. Guess-and-Test Method(If we know the answer)
2. RecursionTree Method (Very useful !)
3. MasterTheorem (Save our effort)
5 Eng: Mohammed Hussein
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 that:T(n) < c n log n.
 Wrong: we cannot make this last line be less than cn log n
ncn
nbncnncn
nbnncn
nbnnnc
nbnnTnT
log
loglog
log)2log(log
log))2/log()2/((2
log)2/(2)(











2iflog)2/(2
2if
)(
nnbnnT
nb
nT
6 Eng: Mohammed Hussein
Log(x/y)= log x – log y
Log 2 =1
‫بالتعويض‬
Guess-and-Test Method, Part 2
 Recall the recurrence equation:
 Guess #2 that: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.
ncn
nbncnncnncn
nbnnncn
nbnncn
nbnnnc
nbnnTnT
2
2
22
2
2
log
loglog2log
log))2(log2loglog2(log
log)2log(log
log))2/(log)2/((2
log)2/(2)(












2iflog)2/(2
2if
)(
nnbnnT
nb
nT
7 Eng: Mohammed Hussein
(x-y) 2= x2 -2xy +y2
Log 2 =1
nj <= nd if j <= d
Big-Oh of highest degree
Recurrences
 In Mathematic a recurrence is a function that is defined in
terms of one or more base cases, and itself, with smaller
arguments
 Examples:
8 Eng: Mohammed Hussein
Master Method (tree)
 The master theorem concerns the recurrence
 a≥1 , b> 1
 n is the size of the problem.
 a is the number of subproblems in the recursion. (‫)الفزوع‬
 n/b is the size of each subproblem. (Here it is assumed that
all subproblems are essentially the same size.)
 f (n) is the cost of the work done outside the recursive calls
)()/()( nfbnaTnT 
9 Eng: Mohammed Hussein
merge-sort ‫خوارسمية‬
‫االستدعاء‬ ‫عمليات‬ ‫عند‬‫الذاتي‬‫الدمج‬ ‫عملية‬ ‫تنفيذ‬ ‫مستويات‬ ‫مختلف‬ ‫في‬
The Tree Definition
 The root of this tree is node A.
 Definitions:
 Parent (A)
 Children (E, F)
 Siblings (C, D)
 Root (A)
 Leaf / Leaves
 K, L, F, G, M, I, J…
 The degree of a node is the number of sub-trees of the node.
 The level of a node:
 Initially letting the root be at level one
 the level of the node’s parent plus one. Level H=level(Parent (H)+1));
 The height or depth of a tree is the maximum level of any node in the tree.
 height =Max(level(tree))
10 Eng: Mohammed Hussein
Divide and conquer (tree)
 We analyze this in some generality:
 suppose we have a pieces, each of size n/b and merging takes time f(n).
 (In this example a=b=2 and f(n)=O(log n) but it will not always be true that
a=b sometimes the pieces will overlap.)
 For simplicity, let's assume n is a power of b, and that the recursion stops
when n is 1.
 Notice that the size of a node depends only on its level: size(i) = n/(bi).
 What is time taken by a node at level i? : time(i) = f(n/ bi)
 How many levels can we have before we get down to n=1?
 For bottom level, n/bi =1, so n=bi and i=(log n)/(log b).
 How many items at level i?: ai.
11 Eng: Mohammed Hussein
)()/()( nfbnaTnT 
time(i) = f(n/ bi)
The Recursion Tree
 Draw the recursion tree for the recurrence relation and look for a pattern:
 At each successive level of recursion the sub problems get halved in size (n/2).
 At the (log n) th level the sub problems get down to size 1, and so the recursion ends.
Level/
depth
T’s size
0 1 n
1 2 n/2
k 2k n/2k
… … …






2if)2/(2
2if
)(
nbnnT
nb
nT
time
bn
bn
bn
…
Total time = bn + bn log n
(last level plus all previous levels)
2k =n  k= log n for each level.
log n
Notice that the size of a node depends only on its level
12 Eng: Mohammed Hussein
time=b x size = bn
Steps using recursion tree.
 Height = k=log n
 Levels = log n + 1
 Cost/level = cn
 Bottom node number n = 2log n for
height log n dividing problem by 2
each time.
 Recall that a balanced binary tree of
height k has k + 1 levels.
 Recall: a
log an = n
 so 2
log 2n = 2
log n =n
 Bottom cost = T(1) * n = cn
 Note that T(1) is problem size n=1,
there are n subproblems at bottom.
13 Eng: Mohammed Hussein 2k =n  k= log n for each level.
Merge Sort - Finding O
 Recall that a balanced binary tree of height k has k + 1 levels.
 A problem of size n=16 divided as described by the following recurrence equation
would then be represented by the tree.
 Use the implied coefficient c for arithmetic purposes:
14 Eng: Mohammed Hussein
16=2
4
Master Method
 Many divide-and-conquer recurrence equations have the form:
 The MasterTheorem:






dnnfbnaT
dnc
nT
if)()/(
if
)(
.1somefor)()/(provided
)),((is)(then),(is)(if3.
)log(is)(then),log(is)(if2.
)(is)(then),(is)(if1.
log
1loglog
loglog










nfbnaf
nfnTnnf
nnnTnnnf
nnTnOnf
a
kaka
aa
b
bb
bb
15 Eng: Mohammed Hussein
very small f(n)
moderate f(n)
very large f(n)
Analysis of Merge Sort
Analysis of Merge Sort
 Divide:Trivial.
 Conquer:Recursively sort 2subarrays.
 Combine:Linear-time merge.
 Using Master theorem
16 Eng: Mohammed Hussein
Analysis of Binary Search
 Recurrence for the worst case
Master Method, Example 1
 The form:
 The MasterTheorem:
 Example:






dnnfbnaT
dnc
nT
if)()/(
if
)(
.1somefor)()/(provided
)),((is)(then),(is)(if3.
)log(is)(then),log(is)(if2.
)(is)(then),(is)(if1.
log
1loglog
loglog










nfbnaf
nfnTnnf
nnnTnnnf
nnTnOnf
a
kaka
aa
b
bb
bb
)()2/(4)( nOnTnT 
Solution: logba =log24=2, so case 1 says T(n) is Θ(n2).
18 Eng: Mohammed Hussein
Master Method, Example 2
 The form:
 The MasterTheorem:
 Example:






dnnfbnaT
dnc
nT
if)()/(
if
)(
.1somefor)()/(provided
)),((is)(then),(is)(if3.
)log(is)(then),log(is)(if2.
)(is)(then),(is)(if1.
log
1loglog
loglog










nfbnaf
nfnTnnf
nnnTnnnf
nnTnOnf
a
kaka
aa
b
bb
bb
)log()2/(2)( nnnTnT 
Solution: logba=log22=1, so case 2 says T(n) is Θ(n log2 n).
19 Eng: Mohammed Hussein
Master Method, Example 3
 The form:
 The MasterTheorem:
 Example:






dnnfbnaT
dnc
nT
if)()/(
if
)(
.1somefor)()/(provided
)),((is)(then),(is)(if3.
)log(is)(then),log(is)(if2.
)(is)(then),(is)(if1.
log
1loglog
loglog










nfbnaf
nfnTnnf
nnnTnnnf
nnTnOnf
a
kaka
aa
b
bb
bb
)log()3/()( nnnTnT 
Solution: logba=0, so case 3 says T(n) is Θ(n log n).
20 Eng: Mohammed Hussein
Master Method, Example 4
 The form:
 The MasterTheorem:
 Example:






dnnfbnaT
dnc
nT
if)()/(
if
)(
.1somefor)()/(provided
)),((is)(then),(is)(if3.
)log(is)(then),log(is)(if2.
)(is)(then),(is)(if1.
log
1loglog
loglog










nfbnaf
nfnTnnf
nnnTnnnf
nnTnOnf
a
kaka
aa
b
bb
bb
)()2/(8)( 2
nnTnT 
Solution: logba=3, so case 1 says T(n) is Θ(n3).
21 Eng: Mohammed Hussein
Master Method, Example 5
 The form:
 The MasterTheorem:
 Example:






dnnfbnaT
dnc
nT
if)()/(
if
)(
.1somefor)()/(provided
)),((is)(then),(is)(if3.
)log(is)(then),log(is)(if2.
)(is)(then),(is)(if1.
log
1loglog
loglog










nfbnaf
nfnTnnf
nnnTnnnf
nnTnOnf
a
kaka
aa
b
bb
bb
)()3/(9)( 3
nnTnT 
Solution: logba=2, so case 3 says T(n) is Θ(n3).
22 Eng: Mohammed Hussein
Master Method, Example 6
 The form:
 The MasterTheorem:
 Example:






dnnfbnaT
dnc
nT
if)()/(
if
)(
.1somefor)()/(provided
)),((is)(then),(is)(if3.
)log(is)(then),log(is)(if2.
)(is)(then),(is)(if1.
log
1loglog
loglog










nfbnaf
nfnTnnf
nnnTnnnf
nnTnOnf
a
kaka
aa
b
bb
bb
)1()2/()(  nTnT
Solution: logba=0, so case 2 says T(n) is Θ(log n).
(binary search)
23 Eng: Mohammed Hussein
Master Method, Example 7
 The form:
 The MasterTheorem:
 Example:






dnnfbnaT
dnc
nT
if)()/(
if
)(
.1somefor)()/(provided
)),((is)(then),(is)(if3.
)log(is)(then),log(is)(if2.
)(is)(then),(is)(if1.
log
1loglog
loglog










nfbnaf
nfnTnnf
nnnTnnnf
nnTnOnf
a
kaka
aa
b
bb
bb
)(log)2/(2)( nnTnT 
Solution: logba=1, so case 1 says T(n) is Θ(n).
(heap construction)
24 Eng: Mohammed Hussein
Eng: Mohammed Hussein25
Eng: Mohammed Hussein26
Eng: Mohammed Hussein
27

Contenu connexe

Tendances (20)

Merge sort
Merge sortMerge sort
Merge sort
 
Tsp branch and-bound
Tsp branch and-boundTsp branch and-bound
Tsp branch and-bound
 
Divide and conquer
Divide and conquerDivide and conquer
Divide and conquer
 
5.1 greedy
5.1 greedy5.1 greedy
5.1 greedy
 
N queens using backtracking
N queens using backtrackingN queens using backtracking
N queens using backtracking
 
Greedy Algorithm
Greedy AlgorithmGreedy Algorithm
Greedy Algorithm
 
Backtracking
BacktrackingBacktracking
Backtracking
 
Greedy Algorithms
Greedy AlgorithmsGreedy Algorithms
Greedy Algorithms
 
daa-unit-3-greedy method
daa-unit-3-greedy methoddaa-unit-3-greedy method
daa-unit-3-greedy method
 
N queen puzzle
N queen puzzleN queen puzzle
N queen puzzle
 
N queen problem
N queen problemN queen problem
N queen problem
 
Divide and Conquer
Divide and ConquerDivide and Conquer
Divide and Conquer
 
Travelling Salesman Problem using Partical Swarm Optimization
Travelling Salesman Problem using Partical Swarm OptimizationTravelling Salesman Problem using Partical Swarm Optimization
Travelling Salesman Problem using Partical Swarm Optimization
 
implementation of travelling salesman problem with complexity ppt
implementation of travelling salesman problem with complexity pptimplementation of travelling salesman problem with complexity ppt
implementation of travelling salesman problem with complexity ppt
 
AI 7 | Constraint Satisfaction Problem
AI 7 | Constraint Satisfaction ProblemAI 7 | Constraint Satisfaction Problem
AI 7 | Constraint Satisfaction Problem
 
Graph coloring using backtracking
Graph coloring using backtrackingGraph coloring using backtracking
Graph coloring using backtracking
 
Divide And Conquer.pptx
Divide And Conquer.pptxDivide And Conquer.pptx
Divide And Conquer.pptx
 
Recursion tree method
Recursion tree methodRecursion tree method
Recursion tree method
 
CLOSEST PAIR (Final)
CLOSEST PAIR (Final)CLOSEST PAIR (Final)
CLOSEST PAIR (Final)
 
Merge sort
Merge sortMerge sort
Merge sort
 

Similaire à Divide and Conquer

Copy of y16 02-2119divide-and-conquer
Copy of y16 02-2119divide-and-conquerCopy of y16 02-2119divide-and-conquer
Copy of y16 02-2119divide-and-conquerJoepang2015
 
Algorithm Design and Complexity - Course 3
Algorithm Design and Complexity - Course 3Algorithm Design and Complexity - Course 3
Algorithm Design and Complexity - Course 3Traian Rebedea
 
Sure interview algorithm-1103
Sure interview algorithm-1103Sure interview algorithm-1103
Sure interview algorithm-1103Sure Interview
 
Divide and conquer strategy
Divide and conquer strategyDivide and conquer strategy
Divide and conquer strategyNisha Soms
 
dynamic programming Rod cutting class
dynamic programming Rod cutting classdynamic programming Rod cutting class
dynamic programming Rod cutting classgiridaroori
 
T2311 - Ch 4_Part1.pptx
T2311 - Ch 4_Part1.pptxT2311 - Ch 4_Part1.pptx
T2311 - Ch 4_Part1.pptxGadaFarhan
 
SURF 2012 Final Report(1)
SURF 2012 Final Report(1)SURF 2012 Final Report(1)
SURF 2012 Final Report(1)Eric Zhang
 
dynamic programming complete by Mumtaz Ali (03154103173)
dynamic programming complete by Mumtaz Ali (03154103173)dynamic programming complete by Mumtaz Ali (03154103173)
dynamic programming complete by Mumtaz Ali (03154103173)Mumtaz Ali
 
Lecture 5 6_7 - divide and conquer and method of solving recurrences
Lecture 5 6_7 - divide and conquer and method of solving recurrencesLecture 5 6_7 - divide and conquer and method of solving recurrences
Lecture 5 6_7 - divide and conquer and method of solving recurrencesjayavignesh86
 
Algorithm review
Algorithm reviewAlgorithm review
Algorithm reviewchidabdu
 
5.2 divide and conquer
5.2 divide and conquer5.2 divide and conquer
5.2 divide and conquerKrish_ver2
 

Similaire à Divide and Conquer (20)

Daa chapter 2
Daa chapter 2Daa chapter 2
Daa chapter 2
 
L2
L2L2
L2
 
Copy of y16 02-2119divide-and-conquer
Copy of y16 02-2119divide-and-conquerCopy of y16 02-2119divide-and-conquer
Copy of y16 02-2119divide-and-conquer
 
Algorithm Design and Complexity - Course 3
Algorithm Design and Complexity - Course 3Algorithm Design and Complexity - Course 3
Algorithm Design and Complexity - Course 3
 
2.pptx
2.pptx2.pptx
2.pptx
 
Sure interview algorithm-1103
Sure interview algorithm-1103Sure interview algorithm-1103
Sure interview algorithm-1103
 
Divide and conquer strategy
Divide and conquer strategyDivide and conquer strategy
Divide and conquer strategy
 
Algorithm Assignment Help
Algorithm Assignment HelpAlgorithm Assignment Help
Algorithm Assignment Help
 
Algorithms Exam Help
Algorithms Exam HelpAlgorithms Exam Help
Algorithms Exam Help
 
02 Notes Divide and Conquer
02 Notes Divide and Conquer02 Notes Divide and Conquer
02 Notes Divide and Conquer
 
dynamic programming Rod cutting class
dynamic programming Rod cutting classdynamic programming Rod cutting class
dynamic programming Rod cutting class
 
L2
L2L2
L2
 
T2311 - Ch 4_Part1.pptx
T2311 - Ch 4_Part1.pptxT2311 - Ch 4_Part1.pptx
T2311 - Ch 4_Part1.pptx
 
SURF 2012 Final Report(1)
SURF 2012 Final Report(1)SURF 2012 Final Report(1)
SURF 2012 Final Report(1)
 
dynamic programming complete by Mumtaz Ali (03154103173)
dynamic programming complete by Mumtaz Ali (03154103173)dynamic programming complete by Mumtaz Ali (03154103173)
dynamic programming complete by Mumtaz Ali (03154103173)
 
Merge Sort
Merge SortMerge Sort
Merge Sort
 
Lecture 5 6_7 - divide and conquer and method of solving recurrences
Lecture 5 6_7 - divide and conquer and method of solving recurrencesLecture 5 6_7 - divide and conquer and method of solving recurrences
Lecture 5 6_7 - divide and conquer and method of solving recurrences
 
Algorithm review
Algorithm reviewAlgorithm review
Algorithm review
 
5.2 divide and conquer
5.2 divide and conquer5.2 divide and conquer
5.2 divide and conquer
 
03 dc
03 dc03 dc
03 dc
 

Plus de Mohammed Hussein

Plus de Mohammed Hussein (13)

Comnet Network Simulation
Comnet Network SimulationComnet Network Simulation
Comnet Network Simulation
 
Multimedia lecture6
Multimedia lecture6Multimedia lecture6
Multimedia lecture6
 
Quick Sort , Merge Sort , Heap Sort
Quick Sort , Merge Sort ,  Heap SortQuick Sort , Merge Sort ,  Heap Sort
Quick Sort , Merge Sort , Heap Sort
 
Sorting Algorithms
Sorting AlgorithmsSorting Algorithms
Sorting Algorithms
 
Multimedia Network
Multimedia NetworkMultimedia Network
Multimedia Network
 
Iteration, induction, and recursion
Iteration, induction, and recursionIteration, induction, and recursion
Iteration, induction, and recursion
 
Control system
Control systemControl system
Control system
 
Internet programming lecture 1
Internet programming lecture 1Internet programming lecture 1
Internet programming lecture 1
 
JAVA SCRIPT
JAVA SCRIPTJAVA SCRIPT
JAVA SCRIPT
 
PHP
 PHP PHP
PHP
 
Wireless lecture1
Wireless lecture1Wireless lecture1
Wireless lecture1
 
Algorithms Analysis
Algorithms Analysis Algorithms Analysis
Algorithms Analysis
 
Multimedia lecture ActionScript3
Multimedia lecture ActionScript3Multimedia lecture ActionScript3
Multimedia lecture ActionScript3
 

Dernier

SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 
Micromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of PowdersMicromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of PowdersChitralekhaTherkar
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docxPoojaSen20
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting DataJhengPantaleon
 
PSYCHIATRIC History collection FORMAT.pptx
PSYCHIATRIC   History collection FORMAT.pptxPSYCHIATRIC   History collection FORMAT.pptx
PSYCHIATRIC History collection FORMAT.pptxPoojaSen20
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 

Dernier (20)

SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 
Micromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of PowdersMicromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of Powders
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docx
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
 
PSYCHIATRIC History collection FORMAT.pptx
PSYCHIATRIC   History collection FORMAT.pptxPSYCHIATRIC   History collection FORMAT.pptx
PSYCHIATRIC History collection FORMAT.pptx
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 

Divide and Conquer

  • 1. Divide-and-Conquer Republic of Yemen THAMAR UNIVERSITY Faculty of Computer Science& Information System 1 Eng: Mohammed Hussein
  • 3. Divide-and-Conquer  The whole problem we want to solve may too big to understand or solve at once.  We break it up into smaller pieces, solve the pieces separately, and combine the separate pieces together.  Divide-and conquer is a general algorithm design paradigm: 1. Divide: divide the input data S in two or more disjoint subsets S1, S2, … 2. Recur: solve the subproblems recursively 3. 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 Eng: Mohammed Hussein
  • 4. Recurrence Equation Analysis  The conquer step of merge-sort consists of merging two sorted sequences, each with n/2 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.       2if)2/(2 2if )( nbnnT nb nT 4 Eng: Mohammed Hussein
  • 5. Solving recurrences  Recurrences are like solving integrals, differential equations, etc.  Should learn a few tricks.  Three ways of solving recurrences 1. Guess-and-Test Method(If we know the answer) 2. RecursionTree Method (Very useful !) 3. MasterTheorem (Save our effort) 5 Eng: Mohammed Hussein
  • 6. 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 that:T(n) < c n log n.  Wrong: we cannot make this last line be less than cn log n ncn nbncnncn nbnncn nbnnnc nbnnTnT log loglog log)2log(log log))2/log()2/((2 log)2/(2)(            2iflog)2/(2 2if )( nnbnnT nb nT 6 Eng: Mohammed Hussein Log(x/y)= log x – log y Log 2 =1 ‫بالتعويض‬
  • 7. Guess-and-Test Method, Part 2  Recall the recurrence equation:  Guess #2 that: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. ncn nbncnncnncn nbnnncn nbnncn nbnnnc nbnnTnT 2 2 22 2 2 log loglog2log log))2(log2loglog2(log log)2log(log log))2/(log)2/((2 log)2/(2)(             2iflog)2/(2 2if )( nnbnnT nb nT 7 Eng: Mohammed Hussein (x-y) 2= x2 -2xy +y2 Log 2 =1 nj <= nd if j <= d Big-Oh of highest degree
  • 8. Recurrences  In Mathematic a recurrence is a function that is defined in terms of one or more base cases, and itself, with smaller arguments  Examples: 8 Eng: Mohammed Hussein
  • 9. Master Method (tree)  The master theorem concerns the recurrence  a≥1 , b> 1  n is the size of the problem.  a is the number of subproblems in the recursion. (‫)الفزوع‬  n/b is the size of each subproblem. (Here it is assumed that all subproblems are essentially the same size.)  f (n) is the cost of the work done outside the recursive calls )()/()( nfbnaTnT  9 Eng: Mohammed Hussein merge-sort ‫خوارسمية‬ ‫االستدعاء‬ ‫عمليات‬ ‫عند‬‫الذاتي‬‫الدمج‬ ‫عملية‬ ‫تنفيذ‬ ‫مستويات‬ ‫مختلف‬ ‫في‬
  • 10. The Tree Definition  The root of this tree is node A.  Definitions:  Parent (A)  Children (E, F)  Siblings (C, D)  Root (A)  Leaf / Leaves  K, L, F, G, M, I, J…  The degree of a node is the number of sub-trees of the node.  The level of a node:  Initially letting the root be at level one  the level of the node’s parent plus one. Level H=level(Parent (H)+1));  The height or depth of a tree is the maximum level of any node in the tree.  height =Max(level(tree)) 10 Eng: Mohammed Hussein
  • 11. Divide and conquer (tree)  We analyze this in some generality:  suppose we have a pieces, each of size n/b and merging takes time f(n).  (In this example a=b=2 and f(n)=O(log n) but it will not always be true that a=b sometimes the pieces will overlap.)  For simplicity, let's assume n is a power of b, and that the recursion stops when n is 1.  Notice that the size of a node depends only on its level: size(i) = n/(bi).  What is time taken by a node at level i? : time(i) = f(n/ bi)  How many levels can we have before we get down to n=1?  For bottom level, n/bi =1, so n=bi and i=(log n)/(log b).  How many items at level i?: ai. 11 Eng: Mohammed Hussein )()/()( nfbnaTnT  time(i) = f(n/ bi)
  • 12. The Recursion Tree  Draw the recursion tree for the recurrence relation and look for a pattern:  At each successive level of recursion the sub problems get halved in size (n/2).  At the (log n) th level the sub problems get down to size 1, and so the recursion ends. Level/ depth T’s size 0 1 n 1 2 n/2 k 2k n/2k … … …       2if)2/(2 2if )( nbnnT nb nT time bn bn bn … Total time = bn + bn log n (last level plus all previous levels) 2k =n  k= log n for each level. log n Notice that the size of a node depends only on its level 12 Eng: Mohammed Hussein time=b x size = bn
  • 13. Steps using recursion tree.  Height = k=log n  Levels = log n + 1  Cost/level = cn  Bottom node number n = 2log n for height log n dividing problem by 2 each time.  Recall that a balanced binary tree of height k has k + 1 levels.  Recall: a log an = n  so 2 log 2n = 2 log n =n  Bottom cost = T(1) * n = cn  Note that T(1) is problem size n=1, there are n subproblems at bottom. 13 Eng: Mohammed Hussein 2k =n  k= log n for each level.
  • 14. Merge Sort - Finding O  Recall that a balanced binary tree of height k has k + 1 levels.  A problem of size n=16 divided as described by the following recurrence equation would then be represented by the tree.  Use the implied coefficient c for arithmetic purposes: 14 Eng: Mohammed Hussein 16=2 4
  • 15. Master Method  Many divide-and-conquer recurrence equations have the form:  The MasterTheorem:       dnnfbnaT dnc nT if)()/( if )( .1somefor)()/(provided )),((is)(then),(is)(if3. )log(is)(then),log(is)(if2. )(is)(then),(is)(if1. log 1loglog loglog           nfbnaf nfnTnnf nnnTnnnf nnTnOnf a kaka aa b bb bb 15 Eng: Mohammed Hussein very small f(n) moderate f(n) very large f(n)
  • 16. Analysis of Merge Sort Analysis of Merge Sort  Divide:Trivial.  Conquer:Recursively sort 2subarrays.  Combine:Linear-time merge.  Using Master theorem 16 Eng: Mohammed Hussein
  • 17. Analysis of Binary Search  Recurrence for the worst case
  • 18. Master Method, Example 1  The form:  The MasterTheorem:  Example:       dnnfbnaT dnc nT if)()/( if )( .1somefor)()/(provided )),((is)(then),(is)(if3. )log(is)(then),log(is)(if2. )(is)(then),(is)(if1. log 1loglog loglog           nfbnaf nfnTnnf nnnTnnnf nnTnOnf a kaka aa b bb bb )()2/(4)( nOnTnT  Solution: logba =log24=2, so case 1 says T(n) is Θ(n2). 18 Eng: Mohammed Hussein
  • 19. Master Method, Example 2  The form:  The MasterTheorem:  Example:       dnnfbnaT dnc nT if)()/( if )( .1somefor)()/(provided )),((is)(then),(is)(if3. )log(is)(then),log(is)(if2. )(is)(then),(is)(if1. log 1loglog loglog           nfbnaf nfnTnnf nnnTnnnf nnTnOnf a kaka aa b bb bb )log()2/(2)( nnnTnT  Solution: logba=log22=1, so case 2 says T(n) is Θ(n log2 n). 19 Eng: Mohammed Hussein
  • 20. Master Method, Example 3  The form:  The MasterTheorem:  Example:       dnnfbnaT dnc nT if)()/( if )( .1somefor)()/(provided )),((is)(then),(is)(if3. )log(is)(then),log(is)(if2. )(is)(then),(is)(if1. log 1loglog loglog           nfbnaf nfnTnnf nnnTnnnf nnTnOnf a kaka aa b bb bb )log()3/()( nnnTnT  Solution: logba=0, so case 3 says T(n) is Θ(n log n). 20 Eng: Mohammed Hussein
  • 21. Master Method, Example 4  The form:  The MasterTheorem:  Example:       dnnfbnaT dnc nT if)()/( if )( .1somefor)()/(provided )),((is)(then),(is)(if3. )log(is)(then),log(is)(if2. )(is)(then),(is)(if1. log 1loglog loglog           nfbnaf nfnTnnf nnnTnnnf nnTnOnf a kaka aa b bb bb )()2/(8)( 2 nnTnT  Solution: logba=3, so case 1 says T(n) is Θ(n3). 21 Eng: Mohammed Hussein
  • 22. Master Method, Example 5  The form:  The MasterTheorem:  Example:       dnnfbnaT dnc nT if)()/( if )( .1somefor)()/(provided )),((is)(then),(is)(if3. )log(is)(then),log(is)(if2. )(is)(then),(is)(if1. log 1loglog loglog           nfbnaf nfnTnnf nnnTnnnf nnTnOnf a kaka aa b bb bb )()3/(9)( 3 nnTnT  Solution: logba=2, so case 3 says T(n) is Θ(n3). 22 Eng: Mohammed Hussein
  • 23. Master Method, Example 6  The form:  The MasterTheorem:  Example:       dnnfbnaT dnc nT if)()/( if )( .1somefor)()/(provided )),((is)(then),(is)(if3. )log(is)(then),log(is)(if2. )(is)(then),(is)(if1. log 1loglog loglog           nfbnaf nfnTnnf nnnTnnnf nnTnOnf a kaka aa b bb bb )1()2/()(  nTnT Solution: logba=0, so case 2 says T(n) is Θ(log n). (binary search) 23 Eng: Mohammed Hussein
  • 24. Master Method, Example 7  The form:  The MasterTheorem:  Example:       dnnfbnaT dnc nT if)()/( if )( .1somefor)()/(provided )),((is)(then),(is)(if3. )log(is)(then),log(is)(if2. )(is)(then),(is)(if1. log 1loglog loglog           nfbnaf nfnTnnf nnnTnnnf nnTnOnf a kaka aa b bb bb )(log)2/(2)( nnTnT  Solution: logba=1, so case 1 says T(n) is Θ(n). (heap construction) 24 Eng: Mohammed Hussein