Understanding Merge Sort Algorithm in Computer Science

Slide Note
Embed
Share

Explore the concept of the merge sort algorithm as a practical example of tree recursion. Learn how merging works, the steps involved in the merge algorithm, and how recursive merge sort can efficiently sort unsorted lists. Dive into the recursive implementation of merge sort and grasp its recursive nature step by step. Follow along with visual aids for a better understanding of the process.


Uploaded on Sep 11, 2024 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

E N D

Presentation Transcript


  1. Merge Sort

  2. Merge sort As a practical example of tree recursion, we're going to look at the merge sort algorithm You'll look at mergesort in detail and analyze its performance in relation to other sorting algorithms in CS 235. Here we are just going to look how it works and you'll implement it in Homework 5

  3. Merging A merge is a common data processing operation performed on two sequences of data with the following characteristics: Both sequences are ordered by the same comparison operator (that is, both sequences are sorted). The result of the merge operation is a third sequence containing all the data from the first two sequences.

  4. Merge Algorithm 1. Access the first item from both sequences. 2. While not finished with either sequence a. Compare the current items from the two sequences, copy the smaller current item to the output sequence, and access the next item from the input sequence whose item was copied. 3. Copy any remaining items from the first sequence to the output sequence. 4. Copy any remaining items from the second sequence to the output sequence.

  5. Recursive Merge Sort We can modify merging to sort a single, unsorted list 1. Split the list into two halves 2. Sort the left half 3. Sort the right half 4. Merge the two

  6. Recursive Merge Sort This algorithm can be written recursively 1. If the list has only a single element, return 2. Store the first half of the list in left 3. Store the second half of the table in right 4. Recursively apply the merge sort algorithm to left 5. Recursively apply the merge sort algorithm to right 6. Call the merge function with left and right as the input sequences 7. Return the merged list.

  7. Merge Sort 50 60 45 30 90 20 80 15 50 60 45 30 90 20 80 15 50 60 45 30 90 20 80 15

  8. Merge Sort 50 60 45 30 90 20 80 15 50 60 45 30 50 60 45 30 90 20 80 15 50 60 45 30

  9. Merge Sort 50 60 45 30 90 20 80 15 50 60 45 30 90 20 80 15 50 60 50 60 45 30 50 60

  10. Merge Sort 50 60 45 30 90 20 80 15 50 60 45 30 90 20 80 15 50 60 50 60 45 30 60

  11. Merge Sort 50 60 45 30 90 20 80 15 50 60 45 30 90 20 80 15 45 30 45 30 50 60 45 30

  12. Merge Sort 50 60 45 30 90 20 80 15 50 60 45 30 90 20 80 15 45 30 45 30 30 50 60 45 45

  13. Merge Sort 50 60 45 30 90 20 80 15 50 60 45 30 30 45 50 60 90 20 80 15 50 60 45 30 45 30 30 45

  14. Merge Sort 50 60 45 30 90 20 80 15 50 60 45 30 30 45 50 60 90 20 80 15 90 20 80 15

  15. Merge Sort 50 60 45 30 90 20 80 15 50 60 45 30 30 45 50 60 90 20 80 15 90 20 80 15 90 20

  16. Merge Sort 50 60 45 30 90 20 80 15 50 60 45 30 30 45 50 60 90 20 80 15 90 20 20 90 80 15 90 20

  17. Merge Sort 50 60 45 30 90 20 80 15 50 60 45 30 30 45 50 60 90 20 80 15 20 90 80 15 80 15

  18. Merge Sort 50 60 45 30 90 20 80 15 50 60 45 30 30 45 50 60 90 20 80 15 20 90 80 15 15 80 80 15

  19. Merge Sort 50 60 45 30 90 20 80 15 50 60 45 30 30 45 50 60 90 20 80 15 15 20 80 90 20 90 15 80

  20. Merge Sort 50 60 45 30 90 20 80 15 15 20 30 45 50 60 80 90 50 60 45 30 30 45 50 60 90 20 85 15 15 20 80 90

  21. Activity Work with a partner. Show each step of merge sort on the following list: 8 5 4 6 2 3 4 1 8 5 4 6 | 2 3 4 1 8 5 | 4 6 | 2 3 | 4 1 8 | 5 | 4 | 6 | 2 | 3 | 4 | 1 5 8 | 4 6 | 2 3 | 1 4 4 5 6 8 | 1 2 3 4 1 2 3 4 4 5 6 8

More Related Content