- Mastering Concurrency in Python
- Quan Nguyen
- 274字
- 2021-06-10 19:24:03
A connection between real-life and programmatic queues
Queues are an intuitive concept that can easily be related to our everyday life, such as when you stand in line to board a plane at the airport. In an actual line of people, you will see the following:
- People typically enter at one end of the line and exit from the other end
- If person A enters the line before person B, person A will also leave the line before person B (unless person B has more priority)
- Once everyone has boarded the plane, there will be no one left in the line. In other words, the line will be empty
In computer science, a queue works in a considerably similar way:
- Elements can be added to the end of the queue; this task is called enqueue.
- Elements can also be removed from the beginning of the queue; this task is called dequeue.
- In a First In First Out (FIFO) queue, the elements that are added first will be removed first (hence, the name FIFO). This is contrary to another common data structure in computer science, called stack, in which the last element that is added will be removed first. This is known as Last In First Out (LIFO).
- If all of the elements inside of a queue have been removed, the queue will be empty and there will be no way to remove further elements from the queue. Similarly, if a queue is at the maximum capacity of the number of elements it can hold, there is no way to add any other elements to the queue:
A visualization of the queue data structure
推薦閱讀