Download presentation
Presentation is loading. Please wait.
Published byGavin Henderson Modified over 9 years ago
1
A Heap Implementation Chapter 26 Copyright ©2012 by Pearson Education, Inc. All rights reserved
2
Contents Reprise: The ADT Heap Using an Array to Represent a Heap Adding an Entry Removing the Root Creating a Heap Heap Sort Copyright ©2012 by Pearson Education, Inc. All rights reserved
3
Objectives Use an array to represent a heap Add an entry to an array-based heap Remove the root of an array-based heap Create a heap from given entries Sort an array by using a heap sort Copyright ©2012 by Pearson Education, Inc. All rights reserved
4
Reprise: The ADT Heap A heap: Complete binary tree Nodes contain Comparable objects A maxheap: Object in each node greater than or equal to the objects in node’s descendants Copyright ©2012 by Pearson Education, Inc. All rights reserved
5
Reprise: The ADT Heap Interface considered in Chapter 23 Copyright ©2012 by Pearson Education, Inc. All rights reserved
6
Array to Represent a Heap Begin by using array to represent complete binary tree. Complete tree is full to its next-to-last level Leaves on last level are filled from left to right Locate either children or parent of any node by performing simple computation on node’s number Copyright ©2012 by Pearson Education, Inc. All rights reserved
7
Figure 26-1 (a) A complete binary tree with its nodes numbered in level order; (b) its representation as an array Copyright ©2012 by Pearson Education, Inc. All rights reserved
8
Array to Represent a Heap View code of class MaxHeap, Listing 26-1 Listing 26-1 Data fields: Array of Comparable heap entries Index of last entry in the array A constant for default initial capacity of heap Copyright ©2012 by Pearson Education, Inc. All rights reserved Note: Code listing files must be in same folder as PowerPoint files for links to work Note: Code listing files must be in same folder as PowerPoint files for links to work
9
Figure 26-2 The steps in adding 85 to the maxheap in Figure 26-1a Copyright ©2012 by Pearson Education, Inc. All rights reserved
10
Figure 26-2 The steps in adding 85 to the maxheap in Figure 26-1a Copyright ©2012 by Pearson Education, Inc. All rights reserved
11
Figure 26-2 The steps in adding 85 to the maxheap in Figure 26-1a Copyright ©2012 by Pearson Education, Inc. All rights reserved
12
Figure 26-3 A revision of the steps shown in Figure 26-2, to avoid swaps Copyright ©2012 by Pearson Education, Inc. All rights reserved
13
Figure 26-3 A revision of the steps shown in Figure 26-2, to avoid swaps Copyright ©2012 by Pearson Education, Inc. All rights reserved
14
Figure 26-4 An array representation of the steps in Figure 26-3 Copyright ©2012 by Pearson Education, Inc. All rights reserved
15
Figure 26-4 An array representation of the steps in Figure 26-3 Copyright ©2012 by Pearson Education, Inc. All rights reserved
16
Figure 26-5 The steps to remove the entry in the root of the maxheap in Figure 26-3d Copyright ©2012 by Pearson Education, Inc. All rights reserved
17
Figure 26-5 The steps to remove the entry in the root of the maxheap in Figure 26-3d Copyright ©2012 by Pearson Education, Inc. All rights reserved
18
Figure 26-6 The steps that transform a semiheap into a heap without swaps Copyright ©2012 by Pearson Education, Inc. All rights reserved
19
Figure 26-6 The steps that transform a semiheap into a heap without swaps Copyright ©2012 by Pearson Education, Inc. All rights reserved
20
Figure 26-7 The steps in adding 20, 40, 30, 10, 90, and 70 to an initially empty heap Copyright ©2012 by Pearson Education, Inc. All rights reserved
21
Figure 26-7 The steps in adding 20, 40, 30, 10, 90, and 70 to an initially empty heap Copyright ©2012 by Pearson Education, Inc. All rights reserved
22
Figure 26-7 The steps in adding 20, 40, 30, 10, 90, and 70 to an initially empty heap Copyright ©2012 by Pearson Education, Inc. All rights reserved
23
Figure 26-8 the steps in creating a heap of the entries 20, 40, 30, 10, 90, and 70 by using reheap Copyright ©2012 by Pearson Education, Inc. All rights reserved
24
Figure 26-8 the steps in creating a heap of the entries 20, 40, 30, 10, 90, and 70 by using reheap Copyright ©2012 by Pearson Education, Inc. All rights reserved
25
Figure 26-8 the steps in creating a heap of the entries 20, 40, 30, 10, 90, and 70 by using reheap Complexity Copyright ©2012 by Pearson Education, Inc. All rights reserved
26
Figure 26-9 A trace of heap sort Copyright ©2012 by Pearson Education, Inc. All rights reserved
27
Figure 26-9 A trace of heap sort Copyright ©2012 by Pearson Education, Inc. All rights reserved
28
Figure 26-9 A trace of heap sort Copyright ©2012 by Pearson Education, Inc. All rights reserved
29
Efficiency Copyright ©2012 by Pearson Education, Inc. All rights reserved
30
End Chapter 26 Copyright ©2012 by Pearson Education, Inc. All rights reserved
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.