Queues

  • FIFO
  • Insert(rear/tail), Delete(front/head)

Linear Queue

  • Enqueue(插入) / Dequeue(刪除)都只需要 時間.
  • 末端已滿,但前面還有空間,須移動整個queue,須花費 時間。
    Empty(): front = rear
    Full():  rear - front = N
    

Circular Queue

  • 可以減少搬動整個佇列的時間,無須搬動。
  • Enqueue(插入) / Dequeue(刪除)都只需要 時間.
  • Size = N的queue只能裝N-1筆資料,否則會無法分辨Full/Empty。 source
    Empty(): front = rear
    Full():  (rear + 1) % N = front
    

Deque

應用

  • Job Scheduling (OS)
  • BFS (Breadth-First Search)
  • Buffer

results matching ""

    No results matching ""