資料結構與演算法

對空的佇列依序放入 A、B、C,取出1個,放入 D 後取出1個,再放入 E 後取出1個。依序排列取出的元素,下列何者正確?

  1. AA, B, C
  2. BC, D, E
  3. CC, B, A
查看答案與解析

正確答案:A. A, B, C

佇列是依先放入的順序取出的先進先出(FIFO)結構。放入 A、B、C 後第一次取出的是 A。之後即使在尾端加入 D 或 E,位於前端的 B、C 也會先取出,因此取出順序為 A、B、C,最後留下 D 與 E。C、D、E 是當作每次取出最後放入者的堆疊(LIFO)時的順序。佇列用於印表機的列印等待、在工作之間傳遞資料的訊息佇列、廣度優先搜尋等。

  • A. 正確。比起後放入的 D、E,先放入的 B、C 會先取出。
  • B. 這是當作每次取出最後放入者的堆疊(LIFO)時的順序。
  • C. 這是放入順序的相反,不是佇列的順序。
練習這個領域 前往領域頁面

相關計算工具

資料結構與演算法的其他題目

  1. 以逆波蘭表示法(後序式)寫成的算式「3 4 + 2 * 5 −」,用「遇到數字就推入堆疊,遇到運算子就取出2個值計算並推入結果」的方法求值。結果為多少?其中運算子左側的值是先推入的那一個。
  2. 關於雜湊表中碰撞(collision)的說明,下列何者正確?
  3. 在大小為7(位置0~6)的雜湊表中,以雜湊函數 h(k) = k mod 7 依序存放鍵10、17、24、3。發生碰撞時,使用把位置逐一往後移(6的下一個是0)來尋找空位置的線性探測法。鍵3會存放在哪個位置?
  4. 比較處理雜湊表碰撞的鏈結法(以鏈結串列串接相同位置的元素)與開放定址法(在表中尋找其他空位置),下列說明何者正確?負載因子為存放的元素數除以表的大小所得的值。
  5. 與陣列中央的元素比較、每次將搜尋範圍縮小一半的二分搜尋,其使用的前提條件為下列何者?