SlideShare a Scribd company logo
1 of 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

More Related Content

What's hot (20)

Data Structure and Algorithm - Divide and Conquer
Data Structure and Algorithm - Divide and ConquerData Structure and Algorithm - Divide and Conquer
Data Structure and Algorithm - Divide and Conquer
 
Tsp branch and-bound
Tsp branch and-boundTsp branch and-bound
Tsp branch and-bound
 
Disjoint sets
Disjoint setsDisjoint sets
Disjoint sets
 
Greedy algorithms
Greedy algorithmsGreedy algorithms
Greedy algorithms
 
Recurrence relation solutions
Recurrence relation solutionsRecurrence relation solutions
Recurrence relation solutions
 
Unit 2 in daa
Unit 2 in daaUnit 2 in daa
Unit 2 in daa
 
Randomized algorithms ver 1.0
Randomized algorithms ver 1.0Randomized algorithms ver 1.0
Randomized algorithms ver 1.0
 
Optimal binary search tree dynamic programming
Optimal binary search tree   dynamic programmingOptimal binary search tree   dynamic programming
Optimal binary search tree dynamic programming
 
Greedy algorithms
Greedy algorithmsGreedy algorithms
Greedy algorithms
 
Red black tree
Red black treeRed black tree
Red black tree
 
5.2 divide and conquer
5.2 divide and conquer5.2 divide and conquer
5.2 divide and conquer
 
Np completeness
Np completenessNp completeness
Np completeness
 
Divide and conquer
Divide and conquerDivide and conquer
Divide and conquer
 
5.1 greedy
5.1 greedy5.1 greedy
5.1 greedy
 
P, NP, NP-Complete, and NP-Hard
P, NP, NP-Complete, and NP-HardP, NP, NP-Complete, and NP-Hard
P, NP, NP-Complete, and NP-Hard
 
Dinive conquer algorithm
Dinive conquer algorithmDinive conquer algorithm
Dinive conquer algorithm
 
ADA - Minimum Spanning Tree Prim Kruskal and Dijkstra
ADA - Minimum Spanning Tree Prim Kruskal and Dijkstra ADA - Minimum Spanning Tree Prim Kruskal and Dijkstra
ADA - Minimum Spanning Tree Prim Kruskal and Dijkstra
 
Heap sort
Heap sortHeap sort
Heap sort
 
Time complexity
Time complexityTime complexity
Time complexity
 
Backtracking
Backtracking  Backtracking
Backtracking
 

Similar to 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
 
Divide and conquer
Divide and conquerDivide and conquer
Divide and conquerVikas Sharma
 

Similar to 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
 
03 dc
03 dc03 dc
03 dc
 
Divide and conquer
Divide and conquerDivide and conquer
Divide and conquer
 

More from Mohammed Hussein

More from 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
 

Recently uploaded

Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management SystemChristalin Nelson
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfJemuel Francisco
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSJoshuaGantuangco2
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYKayeClaireEstoconing
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptxSherlyMaeNeri
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxAshokKarra1
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Jisc
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Celine George
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)cama23
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17Celine George
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxMaryGraceBautista27
 

Recently uploaded (20)

Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management System
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptx
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptxFINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptx
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptx
 

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