Sorting Algorithms
Data Structures & Problem SolvingUsing JAVASecond Edition
Mark Allen Weiss
Chapter 8
© 2002 Addison Wesley
Figure 8.3Basic action of insertion sort (the shaded part is sorted)
Data Structures & Problem Solving using JAVA/2E Mark Allen Weiss © 2002 Addison Wesley
Figure 8.4A closer look at the action of insertion sort (the dark shading indicates the sorted area; the light shading is where the new element was placed).
Data Structures & Problem Solving using JAVA/2E Mark Allen Weiss © 2002 Addison Wesley
Figure 8.5Shellsort after each pass if the increment sequence is {1, 3, 5}
Data Structures & Problem Solving using JAVA/2E Mark Allen Weiss © 2002 Addison Wesley
Figure 8.6Running time (milliseconds) of the insertion sort and Shellsort for various increment sequences
Data Structures & Problem Solving using JAVA/2E Mark Allen Weiss © 2002 Addison Wesley
Figure 8.10 (A)The steps of quicksort (continued)
Data Structures & Problem Solving using JAVA/2E Mark Allen Weiss © 2002 Addison Wesley
Figure 8.10 (B)The steps of quicksort
Data Structures & Problem Solving using JAVA/2E Mark Allen Weiss © 2002 Addison Wesley
Figure 8.11Partitioning algorithm: Pivot element 6 is placed at the end.
Data Structures & Problem Solving using JAVA/2E Mark Allen Weiss © 2002 Addison Wesley
Figure 8.12Partitioning algorithm: i stops at large element 8; j stops at small element 2.
Data Structures & Problem Solving using JAVA/2E Mark Allen Weiss © 2002 Addison Wesley
Figure 8.13Partitioning algorithm: The out-of-order elements 8 and 2 are swapped.
Data Structures & Problem Solving using JAVA/2E Mark Allen Weiss © 2002 Addison Wesley
Figure 8.14Partitioning algorithm: i stops at large element 9; j stops at small element 5.
Data Structures & Problem Solving using JAVA/2E Mark Allen Weiss © 2002 Addison Wesley
Figure 8.15Partitioning algorithm: The out-of-order elements 9 and 5 are swapped.
Data Structures & Problem Solving using JAVA/2E Mark Allen Weiss © 2002 Addison Wesley
Figure 8.16Partitioning algorithm: i stops at large element 9; j stops at small element 3.
Data Structures & Problem Solving using JAVA/2E Mark Allen Weiss © 2002 Addison Wesley
Figure 8.17Partitioning algorithm: Swap pivot and element in position i.
Data Structures & Problem Solving using JAVA/2E Mark Allen Weiss © 2002 Addison Wesley
Figure 8.18Original array
Data Structures & Problem Solving using JAVA/2E Mark Allen Weiss © 2002 Addison Wesley
Figure 8.19Result of sorting three elements (first, middle, and last)
Data Structures & Problem Solving using JAVA/2E Mark Allen Weiss © 2002 Addison Wesley
Figure 8.20Result of swapping the pivot with the next-to-last element
Data Structures & Problem Solving using JAVA/2E Mark Allen Weiss © 2002 Addison Wesley