pChapter 10 has several programming projects, including a project that uses heaps. pThis presentation shows you what a heap is, and demonstrates two of the important heap algorithms.
Heaps
Data Structures
and Other Objects
Using Java
This lecture introduces heaps, which are used in the Priority Queue project of Chapter 10. The lecture includes the algorithms for adding to a heap (including reheapification upward), removing the top of a heap (including reheapification downward), and implementing a heap in a partially-filled array.
Prior to this lecture, the students need a good understanding of complete binary trees. It would also help if they have seen binary search trees and the priority queue class.