Priority Queues/Java: Difference between revisions
From charlesreid1
(→Code) |
|||
| Line 25: | Line 25: | ||
==Sorted Priority Queue== | ==Sorted Priority Queue== | ||
SortedPQ class: https://charlesreid1.com:3000/cs/java/src/master/priority-queues/SortedPQ.java | |||
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). | 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). | ||
| Line 33: | Line 33: | ||
==Unsorted Priority Queue== | ==Unsorted Priority Queue== | ||
UnsortedPQ class: https://charlesreid1.com:3000/cs/java/src/master/priority-queues/UnsortedPQ.java | |||
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. | 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. | ||
Revision as of 10:13, 23 June 2017
Links
My Priority Queue API
Two concrete priority queue classes and one abstract priority queue class implemented in Java. These classes can be found at git.charlesreid1.com: https://charlesreid1.com:3000/cs/java/src/master/priority-queues/PriorityQueueBase.java
Java Collections Priority Queue
You can also find an implementation of a Priority Queue in the Java Collections API.
Link: http://docs.oracle.com/javase/7/docs/api/java/util/PriorityQueue.html
Code
Priority Queue Base Class
AbstractPriorityQueue class: https://charlesreid1.com:3000/cs/java/src/master/priority-queues/AbstractPriorityQueue.java
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: https://charlesreid1.com:3000/cs/java/src/master/priority-queues/SortedPQ.java
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: https://charlesreid1.com:3000/cs/java/src/master/priority-queues/UnsortedPQ.java
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.
Flags
| Stacks and Queues Part of Computer Science Notes
Series on Data Structures
Stacks and Queues: Python StacksQueues/Python · StacksQueues/Python/ArrayStack · StacksQueues/Python/ArrayQueue · StacksQueues/Python/ArrayDeque StacksQueues/Python/LinkedStack
Stacks and Queues: Java StacksQueues/Java · StacksQueues/Java/ArrayStack · StacksQueues/Java/ArrayQueue · StacksQueues/Java/ArrayQueueFS · StacksQueues/Java/ArrayDeque StacksQueues/Java/LinkedStack · StacksQueues/Java/LinkedQueue · StacksQueues/Java/LinkedDeque
Applications Postfix_Expressions#Stacks · StacksQueues/Subsets · StacksQueues/Subsets/Java
|