- 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
推薦閱讀
- JavaScript修煉之道
- Learning Real-time Processing with Spark Streaming
- Building a RESTful Web Service with Spring
- Python網絡爬蟲從入門到實踐(第2版)
- Eclipse Plug-in Development:Beginner's Guide(Second Edition)
- Getting Started with SQL Server 2012 Cube Development
- Visual C
- Scratch3.0趣味編程動手玩:比賽訓練營
- Mastering ArcGIS Enterprise Administration
- 深入剖析Java虛擬機:源碼剖析與實例詳解(基礎卷)
- 從零開始學Python網絡爬蟲
- JSP程序設計實例教程(第2版)
- Tableau Desktop可視化高級應用
- Instant Automapper
- RESTful Web API Design with Node.js