From charlesreid1


My Priority Queue API

Two concrete priority queue classes and one abstract priority queue class implemented in Java. These classes can be found at

Java Collections Priority Queue

You can also find an implementation of a Priority Queue in the Java Collections API.




Priority Queue Base Class

AbstractPriorityQueue class:

This base class is an abstract class that defines a key-value item utility class, defines a few concrete methods, and defines several abstract methods.

See Priority Queues/ADT for more code.

Sorted Priority Queue

SortedPQ class:

This class implements a sorted priority queue using an O(N) insertion sort for each add operation (start from the back, swap your way toward the front) and a built-in Java Collections API Linked List (a doubly-linked list).

Slow add, fast remove.

Unsorted Priority Queue

UnsortedPQ class:

This class implements an unsorted priority queue that does not keep track of the minimum element and must perform an O(N) sequential search for each removal operation.

Fast add, slow remove.