Class MinHeap

  • All Implemented Interfaces:
    PriorityQueue

    public class MinHeap
    extends java.lang.Object
    implements PriorityQueue
    Created by IntelliJ IDEA. User: pereira Date: Jun 18, 2005 Time: 9:11:24 PM

    Binary heap implementation of PriorityQueue. Based on algorithm in Corman, Leiserson, Rivest, and Stein (Section 6.5).

    • Constructor Summary

      Constructors 
      Constructor Description
      MinHeap()
      Create a binary heap with minimum initial capacity.
      MinHeap​(int capacity)
      Create a binary heap with initial capacity capacity.
    • Constructor Detail

      • MinHeap

        public MinHeap​(int capacity)
        Create a binary heap with initial capacity capacity. The heap's capacity grows as needed to accomodate insertions.
        Parameters:
        capacity - initial capacity
      • MinHeap

        public MinHeap()
        Create a binary heap with minimum initial capacity.
    • Method Detail

      • size

        public int size()
        Description copied from interface: PriorityQueue
        The current size of the queue.
        Specified by:
        size in interface PriorityQueue
        Returns:
        current size
      • changePriority

        public void changePriority​(QueueElement e,
                                   double priority)
        Description copied from interface: PriorityQueue
        Change the priority of queue element e to priority. The element's position in the queue is adjusted as needed.
        Specified by:
        changePriority in interface PriorityQueue
        Parameters:
        e - the element that has been changed
        priority - the new priority
      • insert

        public void insert​(QueueElement e)
        Description copied from interface: PriorityQueue
        Insert element e into the queue.
        Specified by:
        insert in interface PriorityQueue
        Parameters:
        e - the element to insert
      • contains

        public boolean contains​(QueueElement e)
        Description copied from interface: PriorityQueue
        Does the queue contain an element?
        Specified by:
        contains in interface PriorityQueue
        Parameters:
        e - the element
        Returns:
        whether the queue contains the element
      • toArray

        public QueueElement[] toArray()
        Description copied from interface: PriorityQueue
        Returns any array containing all of the elements in the queue. They are not guaranteed to be in any particular order.
        Specified by:
        toArray in interface PriorityQueue