Presentation is loading. Please wait.

Presentation is loading. Please wait.

A Heap Implementation Chapter 26 Copyright ©2012 by Pearson Education, Inc. All rights reserved.

Similar presentations


Presentation on theme: "A Heap Implementation Chapter 26 Copyright ©2012 by Pearson Education, Inc. All rights reserved."— Presentation transcript:

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


Download ppt "A Heap Implementation Chapter 26 Copyright ©2012 by Pearson Education, Inc. All rights reserved."

Similar presentations


Ads by Google