iT邦幫忙

2023 iThome 鐵人賽

DAY 26
0

Queue

Queue 資料結構的主要特性是「First-In-First-Out」(FIFO)。這個特性就像我們排隊等待服務:最早來的人將是最早得到服務的人。

將其具體化,想像我們在銀行等待領取號碼牌。當我們抵達銀行時,會領取一個號碼牌,然後等待被叫到窗口進行業務。這裡,最早到達銀行的客戶將會是最早被叫到窗口的。

這種「先進先出」的行為揭示了隊列的核心特點。因此,任何具有此特性的資料結構都可以稱作Queue。

一般的 Queue,會有以下幾個功能:

  • ENQUEUE(data):把資料放進 Queue
  • DEQUEUE():把「最前面」的資料移除
  • FRONT():查看「最前面」的資料
  • IsEmpty():檢查 Queue 是否為空

Queue 的應用

Queue的主要功能是「維持順序」,因此常被用來處理需要按照先後順序進行的問題。以下是Queue的一些典型應用:

  • 印表機的列印任務排程。
  • 客服中心的電話等待系統,最早打來的顧客將是最早接通的。
  • 資料傳輸,例如在網路通訊中,數據包往往會在隊列中等待傳輸。
  • 演算法中的Breadth-First Search(BFS,廣度優先搜尋)。
  • 操作系統的任務調度,多任務系統中,等待執行的任務可能會被放在隊列中。

了解Queue和其應用,有助於我們設計有效的系統,並確保資料以正確的順序被處理


上一篇
Day 25 群星歸位...永恆的海底...資結升起...萬物歸二
下一篇
Day 27 群星歸位...永恆的海底...資結升起...萬物歸四
系列文
CS補完計畫—演算法與資料結構的第三次衝擊30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言