Sorting - topstep.weebly.com filesection we study two insertion sorts: the straight insertion sort...

57
Data Structures: A Pseudocode Approach with C, Second Edition 1 Chapter 12 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 Sorting

Transcript of Sorting - topstep.weebly.com filesection we study two insertion sorts: the straight insertion sort...

Data Structures: A Pseudocode Approach with C, Second Edition 1

Chapter 12

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

Sorting

Data Structures: A Pseudocode Approach with C, Second Edition 2

Data Structures: A Pseudocode Approach with C, Second Edition 3

Data Structures: A Pseudocode Approach with C, Second Edition 4

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 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

Data Structures: A Pseudocode Approach with C, Second Edition 21

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 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

Data Structures: A Pseudocode Approach with C, Second Edition 27

(continued)

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

Data Structures: A Pseudocode Approach with C, Second Edition 35

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 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

Data Structures: A Pseudocode Approach with C, Second Edition 47

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 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