moea_joint_essay
112年
[資訊] 資訊管理、程式設計
第 三 題
📖 題組:
在計算機科學中,「stack」是 1 種常見的資料結構,請回答下列問題:(3 題,共 15 分)
在計算機科學中,「stack」是 1 種常見的資料結構,請回答下列問題:(3 題,共 15 分)
📝 此題為申論題,共 3 小題
小題 (三)
請基於「stack」概念就以下問題設計 1個程式(若程式非基於「stack」概念進行實作,將不予計分):
將 4 個浮點數(20.22、12.21、70.25 和 58.29)插入 1 個 stack 中,然後逐一從該 stack 中移除它們,且必須能檢測該 stack 是否已為空。(6 分)
將 4 個浮點數(20.22、12.21、70.25 和 58.29)插入 1 個 stack 中,然後逐一從該 stack 中移除它們,且必須能檢測該 stack 是否已為空。(6 分)
思路引導 VIP
使用 Python、C 或 Java 等常見語言實作,設計一個陣列或串列來模擬 stack。實作 push、pop、is_empty 功能,並依題目給的數值依序推入,再迴圈取出直到空。
小題 (一)
請說明何謂「stack」?(3 分)
思路引導 VIP
定義 Stack 是一種後進先出 (LIFO, Last-In-First-Out) 的線性資料結構,並提到基本操作 Push 和 Pop。
小題 (二)
請以 2 個實際應用案例具體說明如何使用「stack」?(6 分)
思路引導 VIP
提出兩個常見且經典的 stack 應用場景:函式呼叫(Function Call Stack) 和 復原機制(Undo Mechanism) 或 括號匹配、瀏覽器上一頁。