1 / 15

CIS3023: Programming Fundamentals for CIS Majors II Summer 2010

CIS3023: Programming Fundamentals for CIS Majors II Summer 2010. Sorting. “The real focus here is bringing some sort of order.” --Janet Hubbell. Course Lecture Slides 24 May 2010. Ganesh Viswanathan. Sorting. Rearrange a[0], a[1], …, a[n-1] into ascending order.

astra
Download Presentation

CIS3023: Programming Fundamentals for CIS Majors II Summer 2010

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CIS3023: Programming Fundamentals for CIS Majors II Summer 2010 Sorting “The real focus here is bringing some sort of order.” --Janet Hubbell Course Lecture Slides24 May 2010 GaneshViswanathan

  2. Sorting • Rearrange a[0], a[1], …, a[n-1] into ascending order. • When done, a[0] <= a[1] <= … <= a[n-1] • a[0], a[1],…a[n] could be integers, doubles, characters, or objects

  3. Sorting Algorithms • Selection-based • Selection sort • Heap Sort • Insertion-based • Insertion Sort • Shell Sort • Exchange-Based • Bubble Sort • Quick Sort • Merge-based • Merge Sort All these arecomparison-basedsorting algorithms.

  4. Selection Sort Algorithm • List is sorted by selecting a list element and moving it to its proper position. • Algorithm finds position of smallest element and moves it to the top of unsorted portion of list. • Repeats process above until entire list is sorted.

  5. Selection Sort Algorithm (Cont’d) Figure 1: An array of 10 elements Figure 2: Smallest element of unsorted array

  6. Selection Sort Algorithm (Cont’d) Figure 3: Swap elements list[0] and list[7] Figure 4: Array after swapping list[0] and list[7]

  7. Selection Sort Algorithm (Cont’d) In-class exercise: Complete Selection Sort and get the array fully sorted! Show at each step: # array elements, # comparisons required, and# exchanges performed.

  8. Insertion Sort Algorithm • Based on technique of card players to arrange a hand • Player keeps cards picked up so far in sorted order • When the player picks up a new card • Makes room for the new card • Then inserts it in its proper place

  9. Example Steps in Insertion Sort: Inserting the FourthArray Element:

  10. Bubble Sort Algorithm • Compares adjacent array elements • Exchanges their values if they are out of order • Smaller values bubble up to the top of the array • Larger values sink to the bottom

  11. Bubble Sort Algorithm (Cont’d) Figure 1: Elements of array list during the first iteration Figure 2: Elements of array list during the second iteration

  12. Bubble Sort Algorithm (Cont’d) Figure 3: Elements of array list during the third iteration Figure 4: Elements of array list during the fourth iteration

  13. “ To iterate is human, to recurse divine. ” --L. Peter Deutsch

  14. Merge Sort

  15. Merging two sorted lists

More Related