initially, set value of FRONT and REAR to -1.REAR track the last element of the queue.FRONT track the first element of the queue.Peek: Get the value of the front of the queue without removing it.Dequeue: Remove an element from the front of the queue.Enqueue: Add an element to the end of the queue.We can implement the queue in any programming language like C, C++, Java, Python or C#, but the specification is pretty much the same.Ī queue is an object (an abstract data structure - ADT) that allows the following operations: In programming terms, putting items in the queue is called enqueue, and removing items from the queue is called dequeue. In the above image, since 1 was kept in the queue before 2, it is the first to be removed from the queue as well. Queue follows the First In First Out (FIFO) rule - the item that goes in first is the item that comes out first. It is similar to the ticket queue outside a cinema hall, where the first person entering the queue is the first person who gets the ticket. Decrease Key and Delete Node Operations on a Fibonacci HeapĪ queue is a useful data structure in programming.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. Thus the time complexity of these methods is constant time O(1). Or perform aritmetical operations (e.g. Queue(), dequeue(), peek() and length() methods of the Queue class use only: The index of the head item is tracked by this.headIndex, and the tail item is tracked by this.tailIndex. Regarding the implementation: inside the Queue class the plain object ems keeps the items of the queue by a numerical index. queue() dequeues a head item from the queue, while queue.peek() just peeks the item at the head.įinally, queue.length shows how many items are still in the queue. 8 becomes the tail of the queue.Ĭonst queue = new Queue() is how you create an instance of a queue.Ĭalling queue.enqueue(7) method enqueues the item 7 into the queue. The enqueue operation in the picture above inserts the item 8 at the tail. The enqueued item becomes the tail of the queue. 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. Use the coupon code DMITRI and get your 20% discount! Take "Modern JavaScript From The Beginning 2.0" course by Brad Traversy to become proficient in JavaScript in just a few weeks. but fortunately with a good teacher you can shortcut. The path to becoming good at JavaScript isn't easy. Before I go on, let me recommend something to you.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |