資料結構與演算法

對空的堆疊依序進行 push 1、push 2、pop、push 3、push 4、pop、pop 的操作。依序排列以 pop 取出的值,下列何者正確?

  1. A1, 2, 3
  2. B2, 3, 4
  3. C2, 4, 3
查看答案與解析

正確答案:C. 2, 4, 3

堆疊是最後放入的最先取出的後進先出(LIFO)結構。push 1、push 2 之後的 pop 會取出最上方的2,留下1。接著推入3、4,由上而下為4、3、1,因此兩次 pop 會依序取出4、3。所以取出的順序為2、4、3,最後堆疊中留下1。1、2、3 是當作先放入的先取出的佇列(先進先出,FIFO)時的順序。

  • A. 這是當作依放入順序取出的佇列(FIFO)時的順序。
  • B. 4與3的順序相反。後推入的4會先取出。
  • C. 正確。後放入的先取出,因此順序為2、4、3。
練習這個領域 前往領域頁面

相關計算工具

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

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