Queue
last update: 2025-06-09
Queue 是一種先進先出(FIFO, First In First Out)的資料結構,常用於模擬排隊或任務排程的場景。每個元素依照加入的順序被處理,最先加入的元素最先被移除。
一、Queue 的組成與限制
屬性
說明
head
指向佇列最前端的節點(即將被移除的元素)
tail
指向佇列最後端的節點(最後加入的元素)
size
當前佇列中的元素數量
max_size
佇列可容納的最大元素數量(可選)
二、基本節點結構(Python 範例)
class Node:
def __init__(self, value):
self.value = value
self.next = None三、Queue 操作
1. 加入元素(enqueue)
2. 移除元素(dequeue)
3. 查看最前端元素(peek)
四、輔助方法與屬性
五、Queue 特性
先進先出(FIFO):最早加入的元素最早被移除
空間彈性:可設置最大容量限制
max_size適用場景:排隊處理、任務排程、印表機任務佇列等
六、Queue vs Stack 比較
特性
Queue
Stack
操作順序
FIFO(先進先出)
LIFO(後進先出)
插入端
尾端
頂端
移除端
前端
頂端
適用場景
排隊、廣度優先搜尋
遞迴、深度優先搜尋
Queue 是基礎但實用的資料結構,常用於需要「順序處理」的場景。在實作時,可以用陣列、串列、或雙端佇列等結構實現,若需擴展可進一步學習 circular queue、priority queue 等變形。
Last updated