Lecture 12 - Problems

Goals:

  1. Is a sorted array a heap?

  2. Here’s a barebones Heap class that just stores integers:

    Implement the peek operation. Hint: it’s not a lot of code!

For the following problems, you may use without proof the fact that the height of a heap is O(\log n).

  1. Analyze the runtime of add.

  2. Analyze the runtime of peek.

  3. Analyze the runtime of poll.

  4. Consider the changePriority operation of the A3 PriorityQueue interface, which has the following spec and header:

    In A3, a value (of type V) and its associated priority (of type P) are stored together in a wrapper class called Entry, which simply has a value field and a priority field. The backing storage is then an array of type Entry, so each node in the tree carries around both its value and its priority.

    Devise an algorithm to implement changePriority as efficiently as possible and give its runtime. Hint: it may not be all that efficient.