Class BinaryHeapQueue

    • Field Detail

      • log

        protected static final transient org.slf4j.Logger log
    • Constructor Detail

      • BinaryHeapQueue

        public BinaryHeapQueue()
      • BinaryHeapQueue

        public BinaryHeapQueue​(Comparator<Activation> comparator)
        Constructs a new BinaryHeap that will use the given comparator to order its elements.
        Parameters:
        comparator - the comparator used to order the elements, null means use natural order
      • BinaryHeapQueue

        public BinaryHeapQueue​(Comparator<Activation> comparator,
                               int capacity)
        Constructs a new BinaryHeap.
        Parameters:
        comparator - the comparator used to order the elements, null means use natural order
        capacity - the initial capacity for the heap
        Throws:
        IllegalArgumentException - if capacity is <= 0
    • Method Detail

      • clear

        public void clear()
        Clears all elements from queue.
        Specified by:
        clear in interface Queue
      • isEmpty

        public boolean isEmpty()
        Tests if queue is empty.
        Specified by:
        isEmpty in interface Queue
        Returns:
        true if queue is empty; false otherwise.
      • isFull

        public boolean isFull()
        Tests if queue is full.
        Returns:
        true if queue is full; false otherwise.
      • size

        public int size()
        Returns the number of elements in this heap.
        Specified by:
        size in interface Queue
        Returns:
        the number of elements in this heap
      • enqueue

        public void enqueue​(Activation element)
        Inserts an Queueable into queue.
        Specified by:
        enqueue in interface Queue
        Parameters:
        element - the Queueable to be inserted
      • dequeue

        public Activation dequeue()
        Returns the Queueable on top of heap and remove it.
        Specified by:
        dequeue in interface Queue
        Returns:
        the Queueable at top of heap
        Throws:
        NoSuchElementException - if isEmpty() == true
      • percolateDownMaxHeap

        protected void percolateDownMaxHeap​(int index)
        Percolates element down heap from the position given by the index.

        Assumes it is a maximum heap.

        Parameters:
        index - the index of the element
      • percolateUpMaxHeap

        protected void percolateUpMaxHeap​(int index)
        Percolates element up heap from from the position given by the index.

        Assume it is a maximum heap.

        Parameters:
        index - the index of the element to be percolated up
      • percolateUpMaxHeap

        protected void percolateUpMaxHeap​(Activation element)
        Percolates a new element up heap from the bottom.

        Assume it is a maximum heap.

        Parameters:
        element - the element