Chapter 12 Sorting Objectives Upon completion you will
Chapter 12 Sorting Objectives Upon completion you will be able to: • Understand the basic concepts of internal sorts • Discuss the relative efficiency of different sorts • Recognize and discuss selection, insertion and exchange sorts Data Structures: A Pseudocode Approach with C, Second Edition 1
Data Structures: A Pseudocode Approach with C, Second Edition 2
Data Structures: A Pseudocode Approach with C, Second Edition 3
12 -2 Selection Sorts In each pass of the selection sort, the smallest element is selected from the unsorted sublist and exchanged with the element at the beginning of the unsorted list. We discuss two classic selection sorts, straight selection and heap sort. • Straight Selection Sort • Heap Sort • Selection Sort Efficiency • Selection Sort Implementation Data Structures: A Pseudocode Approach with C, Second Edition 4
Data Structures: A Pseudocode Approach with C, Second Edition 5
Data Structures: A Pseudocode Approach with C, Second Edition 6
Data Structures: A Pseudocode Approach with C, Second Edition 7
Data Structures: A Pseudocode Approach with C, Second Edition 8
Data Structures: A Pseudocode Approach with C, Second Edition 9
Data Structures: A Pseudocode Approach with C, Second Edition 10
Data Structures: A Pseudocode Approach with C, Second Edition 11
Data Structures: A Pseudocode Approach with C, Second Edition 12
Data Structures: A Pseudocode Approach with C, Second Edition 13
Data Structures: A Pseudocode Approach with C, Second Edition 14
Data Structures: A Pseudocode Approach with C, Second Edition 15
Data Structures: A Pseudocode Approach with C, Second Edition 16
Data Structures: A Pseudocode Approach with C, Second Edition 17
Data Structures: A Pseudocode Approach with C, Second Edition 18
Data Structures: A Pseudocode Approach with C, Second Edition 19
Data Structures: A Pseudocode Approach with C, Second Edition 20
12 -3 Insertion Sorts In each pass of an insertion sort, one or more pieces of data are inserted into their correct location in an ordered list. In this section we study two insertion sorts: the straight insertion sort and the shell sort. • Straight Insertion Sort • Shell Sort • Insertion Sort Efficiency • Insertion Sort Implementation Data Structures: A Pseudocode Approach with C, Second Edition 21
Data Structures: A Pseudocode Approach with C, Second Edition 22
Data Structures: A Pseudocode Approach with C, Second Edition 23
Data Structures: A Pseudocode Approach with C, Second Edition 24
Data Structures: A Pseudocode Approach with C, Second Edition 25
Data Structures: A Pseudocode Approach with C, Second Edition 26
(continued) Data Structures: A Pseudocode Approach with C, Second Edition 27
Data Structures: A Pseudocode Approach with C, Second Edition 28
Data Structures: A Pseudocode Approach with C, Second Edition 29
Data Structures: A Pseudocode Approach with C, Second Edition 30
Data Structures: A Pseudocode Approach with C, Second Edition 31
Data Structures: A Pseudocode Approach with C, Second Edition 32
Data Structures: A Pseudocode Approach with C, Second Edition 33
Data Structures: A Pseudocode Approach with C, Second Edition 34
12 -4 Exchange Sorts This section discusses the four basic queue operations. Using diagrammatic figures, it shows how each of them work. It concludes with a comprehensive example that demonstrates each operation. • Bubble Sort • Quick Sort • Exchange Sort Efficiency • Sort Summary • Exchange Sort Implementation Data Structures: A Pseudocode Approach with C, Second Edition 35
Data Structures: A Pseudocode Approach with C, Second Edition 36
Data Structures: A Pseudocode Approach with C, Second Edition 37
Data Structures: A Pseudocode Approach with C, Second Edition 38
Data Structures: A Pseudocode Approach with C, Second Edition 39
Data Structures: A Pseudocode Approach with C, Second Edition 40
Data Structures: A Pseudocode Approach with C, Second Edition 41
Data Structures: A Pseudocode Approach with C, Second Edition 42
Data Structures: A Pseudocode Approach with C, Second Edition 43
Data Structures: A Pseudocode Approach with C, Second Edition 44
Data Structures: A Pseudocode Approach with C, Second Edition 45
Data Structures: A Pseudocode Approach with C, Second Edition 46
12 -5 External Sorts In external sorting portions of the data may be stored in secondary memory during the sorting process. Included in this section is a discussion of file merging and three external sort approaches-natural, balanced, and polyphase. • Merging Ordered Files • Merging Unordered Files • The Sorting Process • Sort Phase Revisited Data Structures: A Pseudocode Approach with C, Second Edition 47
Data Structures: A Pseudocode Approach with C, Second Edition 48
Data Structures: A Pseudocode Approach with C, Second Edition 49
Data Structures: A Pseudocode Approach with C, Second Edition 50
Data Structures: A Pseudocode Approach with C, Second Edition 51
Data Structures: A Pseudocode Approach with C, Second Edition 52
Data Structures: A Pseudocode Approach with C, Second Edition 53
Data Structures: A Pseudocode Approach with C, Second Edition 54
Data Structures: A Pseudocode Approach with C, Second Edition 55
Data Structures: A Pseudocode Approach with C, Second Edition 56
Data Structures: A Pseudocode Approach with C, Second Edition 57
- Slides: 57