Divide & conqre
-
Upload
ammara-siddiqui -
Category
Education
-
view
50 -
download
1
Transcript of Divide & conqre
![Page 1: Divide & conqre](https://reader033.fdocuments.net/reader033/viewer/2022052900/556294f4d8b42abb398b4b99/html5/thumbnails/1.jpg)
![Page 2: Divide & conqre](https://reader033.fdocuments.net/reader033/viewer/2022052900/556294f4d8b42abb398b4b99/html5/thumbnails/2.jpg)
Divide &
conquer
![Page 3: Divide & conqre](https://reader033.fdocuments.net/reader033/viewer/2022052900/556294f4d8b42abb398b4b99/html5/thumbnails/3.jpg)
DIVIDE AND CONQUER RULEDEFINITION:
The divide-and-conquer rule consists in breaking a problem into simpler sub-problems of the same type, next to solve these sub-problems, finally to merge the obtained results into a solution to the problem.
![Page 4: Divide & conqre](https://reader033.fdocuments.net/reader033/viewer/2022052900/556294f4d8b42abb398b4b99/html5/thumbnails/4.jpg)
Why we use it?
Divide and conquer technique is used for sorting the elements of array in some specific order.
![Page 5: Divide & conqre](https://reader033.fdocuments.net/reader033/viewer/2022052900/556294f4d8b42abb398b4b99/html5/thumbnails/5.jpg)
ALGORITHM:Dividing the main problem into smaller ones.These smaller sub-problems are divided further.Recombine them to achieve the main objective.
![Page 6: Divide & conqre](https://reader033.fdocuments.net/reader033/viewer/2022052900/556294f4d8b42abb398b4b99/html5/thumbnails/6.jpg)
ANALYSIS:Let’ see few analysis to confirm the usefulness of the divide and conquer technique.To sort the one major problem time is nlog(n)2To sort the halves approximate time is (n/2) 2+(n/2) 2To merge the two halves approximate time is n
So, for n=100, divide and conquer takes approximately:= (100/2) 2 + (100/2) 2 + 100= 2500 + 2500 + 100= 5100
Suppose that n is 100. Considering if we apply insertion sort algorithm on it then thetime taken will be approximately (100) 2 n = 10000. Now, if we apply divide and conquer technique on it. Then for first half approximate time will be (100/2) 2. Similarly for second half it will be (100/2) 2. The merging approximate time will be 100. So the whole operation of sorting using this divide and conquer technique in insertion sort will take around (100/2) 2 + (100/2)2+100 = 5100. Clearly the time spent (5100) after applying divide and conquer mechanism is significantly lesser thanthe previous time (10000).
![Page 7: Divide & conqre](https://reader033.fdocuments.net/reader033/viewer/2022052900/556294f4d8b42abb398b4b99/html5/thumbnails/7.jpg)
WORKING:
subproblem 2 of size n/2
subproblem 1 of size n/2
a solution to subproblem 1
a solution tothe original problem
a solution to subproblem 2
a problem of size n
![Page 8: Divide & conqre](https://reader033.fdocuments.net/reader033/viewer/2022052900/556294f4d8b42abb398b4b99/html5/thumbnails/8.jpg)
EXAMPLES:
Merge sortQuick sort
![Page 9: Divide & conqre](https://reader033.fdocuments.net/reader033/viewer/2022052900/556294f4d8b42abb398b4b99/html5/thumbnails/9.jpg)
EXAMPLE OF MERGE SORT
![Page 10: Divide & conqre](https://reader033.fdocuments.net/reader033/viewer/2022052900/556294f4d8b42abb398b4b99/html5/thumbnails/10.jpg)
5 10 3 8
Suppose we have an array of four elements
![Page 11: Divide & conqre](https://reader033.fdocuments.net/reader033/viewer/2022052900/556294f4d8b42abb398b4b99/html5/thumbnails/11.jpg)
5 10 3 8
5 10 3 8
![Page 12: Divide & conqre](https://reader033.fdocuments.net/reader033/viewer/2022052900/556294f4d8b42abb398b4b99/html5/thumbnails/12.jpg)
5 10 3 8
5 10 3 8
![Page 13: Divide & conqre](https://reader033.fdocuments.net/reader033/viewer/2022052900/556294f4d8b42abb398b4b99/html5/thumbnails/13.jpg)
5 10 3 8
5 10
3
8
![Page 14: Divide & conqre](https://reader033.fdocuments.net/reader033/viewer/2022052900/556294f4d8b42abb398b4b99/html5/thumbnails/14.jpg)
5 10 3 8
5 10
3
8
![Page 15: Divide & conqre](https://reader033.fdocuments.net/reader033/viewer/2022052900/556294f4d8b42abb398b4b99/html5/thumbnails/15.jpg)
5 10 3 8
5
10
3
8
![Page 16: Divide & conqre](https://reader033.fdocuments.net/reader033/viewer/2022052900/556294f4d8b42abb398b4b99/html5/thumbnails/16.jpg)
5 10 3 8
5
10
3
8
![Page 17: Divide & conqre](https://reader033.fdocuments.net/reader033/viewer/2022052900/556294f4d8b42abb398b4b99/html5/thumbnails/17.jpg)
5 10 3 8
5
10
3 8
![Page 18: Divide & conqre](https://reader033.fdocuments.net/reader033/viewer/2022052900/556294f4d8b42abb398b4b99/html5/thumbnails/18.jpg)
5 10 3 8
5 103 8
Un sorted
sorted
![Page 19: Divide & conqre](https://reader033.fdocuments.net/reader033/viewer/2022052900/556294f4d8b42abb398b4b99/html5/thumbnails/19.jpg)
EXAMPLE OF QUICK SORT
![Page 20: Divide & conqre](https://reader033.fdocuments.net/reader033/viewer/2022052900/556294f4d8b42abb398b4b99/html5/thumbnails/20.jpg)
5 10 3 8
Suppose we have an array of five elements
1
![Page 21: Divide & conqre](https://reader033.fdocuments.net/reader033/viewer/2022052900/556294f4d8b42abb398b4b99/html5/thumbnails/21.jpg)
5 10 3 8 1
pivot
![Page 22: Divide & conqre](https://reader033.fdocuments.net/reader033/viewer/2022052900/556294f4d8b42abb398b4b99/html5/thumbnails/22.jpg)
5 10 3 8 1
![Page 23: Divide & conqre](https://reader033.fdocuments.net/reader033/viewer/2022052900/556294f4d8b42abb398b4b99/html5/thumbnails/23.jpg)
5 10 3 8 1
![Page 24: Divide & conqre](https://reader033.fdocuments.net/reader033/viewer/2022052900/556294f4d8b42abb398b4b99/html5/thumbnails/24.jpg)
5
10 3 8
1
![Page 25: Divide & conqre](https://reader033.fdocuments.net/reader033/viewer/2022052900/556294f4d8b42abb398b4b99/html5/thumbnails/25.jpg)
510 3 81
![Page 26: Divide & conqre](https://reader033.fdocuments.net/reader033/viewer/2022052900/556294f4d8b42abb398b4b99/html5/thumbnails/26.jpg)
510 3 81
![Page 27: Divide & conqre](https://reader033.fdocuments.net/reader033/viewer/2022052900/556294f4d8b42abb398b4b99/html5/thumbnails/27.jpg)
5
10
3 81
![Page 28: Divide & conqre](https://reader033.fdocuments.net/reader033/viewer/2022052900/556294f4d8b42abb398b4b99/html5/thumbnails/28.jpg)
5
10
3 81
![Page 29: Divide & conqre](https://reader033.fdocuments.net/reader033/viewer/2022052900/556294f4d8b42abb398b4b99/html5/thumbnails/29.jpg)
5103 81
![Page 30: Divide & conqre](https://reader033.fdocuments.net/reader033/viewer/2022052900/556294f4d8b42abb398b4b99/html5/thumbnails/30.jpg)
5 103 81
pivot
![Page 31: Divide & conqre](https://reader033.fdocuments.net/reader033/viewer/2022052900/556294f4d8b42abb398b4b99/html5/thumbnails/31.jpg)
5 103 81
![Page 32: Divide & conqre](https://reader033.fdocuments.net/reader033/viewer/2022052900/556294f4d8b42abb398b4b99/html5/thumbnails/32.jpg)
5 103 81
![Page 33: Divide & conqre](https://reader033.fdocuments.net/reader033/viewer/2022052900/556294f4d8b42abb398b4b99/html5/thumbnails/33.jpg)
5
10
3 81
![Page 34: Divide & conqre](https://reader033.fdocuments.net/reader033/viewer/2022052900/556294f4d8b42abb398b4b99/html5/thumbnails/34.jpg)
5
10
3 81
![Page 35: Divide & conqre](https://reader033.fdocuments.net/reader033/viewer/2022052900/556294f4d8b42abb398b4b99/html5/thumbnails/35.jpg)
5 103 81
![Page 36: Divide & conqre](https://reader033.fdocuments.net/reader033/viewer/2022052900/556294f4d8b42abb398b4b99/html5/thumbnails/36.jpg)
5 103 81
sorted