merge sort algorithm
DESCRIPTION
A pretty decent algorithm. Merge Sort Algorithm. What does it do?. Takes an unsorted list Splits it into a bunch of tiny, one element lists Compares each first value of lists and puts them into new list in appropriate order - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Merge Sort Algorithm](https://reader036.vdocument.in/reader036/viewer/2022081503/568150f3550346895dbf0fe0/html5/thumbnails/1.jpg)
Merge Sort Algorithm
A pretty decent algorithm
![Page 2: Merge Sort Algorithm](https://reader036.vdocument.in/reader036/viewer/2022081503/568150f3550346895dbf0fe0/html5/thumbnails/2.jpg)
What does it do?
Takes an unsorted list Splits it into a bunch of tiny, one element lists Compares each first value of lists and puts
them into new list in appropriate order This process continues until all values are
sorted into the SAME list
![Page 3: Merge Sort Algorithm](https://reader036.vdocument.in/reader036/viewer/2022081503/568150f3550346895dbf0fe0/html5/thumbnails/3.jpg)
Example 1: Number list
![Page 4: Merge Sort Algorithm](https://reader036.vdocument.in/reader036/viewer/2022081503/568150f3550346895dbf0fe0/html5/thumbnails/4.jpg)
Example 1: Number list
![Page 5: Merge Sort Algorithm](https://reader036.vdocument.in/reader036/viewer/2022081503/568150f3550346895dbf0fe0/html5/thumbnails/5.jpg)
Example 1: Number list
![Page 6: Merge Sort Algorithm](https://reader036.vdocument.in/reader036/viewer/2022081503/568150f3550346895dbf0fe0/html5/thumbnails/6.jpg)
Example 1: Number list
![Page 7: Merge Sort Algorithm](https://reader036.vdocument.in/reader036/viewer/2022081503/568150f3550346895dbf0fe0/html5/thumbnails/7.jpg)
Example 1: Number list
![Page 8: Merge Sort Algorithm](https://reader036.vdocument.in/reader036/viewer/2022081503/568150f3550346895dbf0fe0/html5/thumbnails/8.jpg)
Example 1: Number list
![Page 9: Merge Sort Algorithm](https://reader036.vdocument.in/reader036/viewer/2022081503/568150f3550346895dbf0fe0/html5/thumbnails/9.jpg)
Example 1: Number list
![Page 10: Merge Sort Algorithm](https://reader036.vdocument.in/reader036/viewer/2022081503/568150f3550346895dbf0fe0/html5/thumbnails/10.jpg)
Example 1: Number list
![Page 11: Merge Sort Algorithm](https://reader036.vdocument.in/reader036/viewer/2022081503/568150f3550346895dbf0fe0/html5/thumbnails/11.jpg)
Example 1: Number list
![Page 12: Merge Sort Algorithm](https://reader036.vdocument.in/reader036/viewer/2022081503/568150f3550346895dbf0fe0/html5/thumbnails/12.jpg)
Example 1: Number list
![Page 13: Merge Sort Algorithm](https://reader036.vdocument.in/reader036/viewer/2022081503/568150f3550346895dbf0fe0/html5/thumbnails/13.jpg)
Example 1: Number list
![Page 14: Merge Sort Algorithm](https://reader036.vdocument.in/reader036/viewer/2022081503/568150f3550346895dbf0fe0/html5/thumbnails/14.jpg)
Example 1: Number list
![Page 15: Merge Sort Algorithm](https://reader036.vdocument.in/reader036/viewer/2022081503/568150f3550346895dbf0fe0/html5/thumbnails/15.jpg)
Example 1: Number list
![Page 16: Merge Sort Algorithm](https://reader036.vdocument.in/reader036/viewer/2022081503/568150f3550346895dbf0fe0/html5/thumbnails/16.jpg)
Example 1: Number list
![Page 17: Merge Sort Algorithm](https://reader036.vdocument.in/reader036/viewer/2022081503/568150f3550346895dbf0fe0/html5/thumbnails/17.jpg)
Example 1: Number list
![Page 18: Merge Sort Algorithm](https://reader036.vdocument.in/reader036/viewer/2022081503/568150f3550346895dbf0fe0/html5/thumbnails/18.jpg)
Example 1: Number list
![Page 19: Merge Sort Algorithm](https://reader036.vdocument.in/reader036/viewer/2022081503/568150f3550346895dbf0fe0/html5/thumbnails/19.jpg)
Example 1: Number list
![Page 20: Merge Sort Algorithm](https://reader036.vdocument.in/reader036/viewer/2022081503/568150f3550346895dbf0fe0/html5/thumbnails/20.jpg)
Example 1: Number list
![Page 21: Merge Sort Algorithm](https://reader036.vdocument.in/reader036/viewer/2022081503/568150f3550346895dbf0fe0/html5/thumbnails/21.jpg)
Example 1: Number list
![Page 22: Merge Sort Algorithm](https://reader036.vdocument.in/reader036/viewer/2022081503/568150f3550346895dbf0fe0/html5/thumbnails/22.jpg)
Example 1: Number list
![Page 23: Merge Sort Algorithm](https://reader036.vdocument.in/reader036/viewer/2022081503/568150f3550346895dbf0fe0/html5/thumbnails/23.jpg)
Example 1: Number list
![Page 24: Merge Sort Algorithm](https://reader036.vdocument.in/reader036/viewer/2022081503/568150f3550346895dbf0fe0/html5/thumbnails/24.jpg)
Example 1: Number list
![Page 25: Merge Sort Algorithm](https://reader036.vdocument.in/reader036/viewer/2022081503/568150f3550346895dbf0fe0/html5/thumbnails/25.jpg)
Example 2: Cards
Shishberg
http://www.youtube.com/watch?v=dVaHHwtf8KM NOT made by me
![Page 26: Merge Sort Algorithm](https://reader036.vdocument.in/reader036/viewer/2022081503/568150f3550346895dbf0fe0/html5/thumbnails/26.jpg)
Running Time
Best Case - O(nlogn) Average Case – O(nlogn) Worst Case – O(nlogn)
For all n elements, there are logn comparisons being done.
![Page 27: Merge Sort Algorithm](https://reader036.vdocument.in/reader036/viewer/2022081503/568150f3550346895dbf0fe0/html5/thumbnails/27.jpg)
Running Time
No special cases to make algorithm more or less efficient (in terms of input data)
More efficient when input data structure is linked list (compared to other sorting algorithms)
Less efficient when input structure is more easily accessed (like arrays). At least when compared to other algorithms.
![Page 28: Merge Sort Algorithm](https://reader036.vdocument.in/reader036/viewer/2022081503/568150f3550346895dbf0fe0/html5/thumbnails/28.jpg)
Running Time
With 10 elements, there are 10 comparisons With 100 elements, there are 200 comparisons With 1000 elements, there are 3000
comparisons
![Page 29: Merge Sort Algorithm](https://reader036.vdocument.in/reader036/viewer/2022081503/568150f3550346895dbf0fe0/html5/thumbnails/29.jpg)
Pros and Cons
Pros Fairly efficient in terms of overall memory
used (O(nlogn))
Cons Needs to dynamically allocate memory (which is
slow)
![Page 30: Merge Sort Algorithm](https://reader036.vdocument.in/reader036/viewer/2022081503/568150f3550346895dbf0fe0/html5/thumbnails/30.jpg)
Pros and Cons
So what does this mean?
While the calculations might take a little while, they probably won't crash your computer.
![Page 31: Merge Sort Algorithm](https://reader036.vdocument.in/reader036/viewer/2022081503/568150f3550346895dbf0fe0/html5/thumbnails/31.jpg)
Does Merge Sort need any extra memory/data structures?
Yes
![Page 32: Merge Sort Algorithm](https://reader036.vdocument.in/reader036/viewer/2022081503/568150f3550346895dbf0fe0/html5/thumbnails/32.jpg)
Does Merge Sort need any extra memory/data structures?
Must allocate new memory for subsequent arrays/linked lists
So yes, it does need these things
![Page 33: Merge Sort Algorithm](https://reader036.vdocument.in/reader036/viewer/2022081503/568150f3550346895dbf0fe0/html5/thumbnails/33.jpg)
Thank You