

In a normal Queue, first-in-first-out is followed which means that whichever elements enters the queue first, will be the first to leave. It is an Abstract Data Type that functions a little differently than a normal Queue. if the two elements are a and b, they should follow one of the conditions:Īs a result, the items in the priority queue are arranged in ascending or descending order. Elements are called comparable if they are either lesser than, equal to or greater than one another, i.e. The above queue implementation is very simple to demonstrate the underlying algorithm to keep the queue operations at O(1) complexity.īut you can easily make further improvements.It is important to note that a priority queue only supports elements that are comparable. Thus the time complexity of these methods is constant time O(1).

The enqueue operation inserts an item at the tail of the queue. Additionally, you might find it useful to have the peek and length operations. The queue supports 2 main operations: enqueue and dequeue.

The traveler who has just entered the queue is at the tail.įrom a higher-point of view, the queue is the data structure that lets you process items, one at a time, in the same order they come in. Recalling the airport example, the traveler at the check-in desk is the head of the queue. The earliest enqueued item in the queue is at the head, while the latest enqueued item is at the tail of the queue. The first enqueued item (input) is the first to dequeue (output).Ī queue has 2 pointers: head and tail. The queue is a type of First Input-First Output (FIFO) data structure. This is the real-world example of a queue - and the queue data structure works the same way. Another traveler that has just passed the check-in process at the desk is dequeued from the queue. If there are a lot of travelers willing to check-in, naturally a queue of people is formed at the check-in desk.Ī traveler who's just entered the airport and wants to check-in is going to enqueue into the queue. If you enjoy traveling (like I do), most likely you passed the check-in process at the airport.
Time complexity of enqueue and dequeue code#
Use the coupon code "DMITRI" and get 20% discount! If you want to significantly improve your JavaScript knowledge, take the wonderful course "Modern JavaScript From The Beginning 2.0" by Brad Traversy. Before I go on, let me recommend something to you.
