阿摩線上測驗 登入

申論題資訊

試卷:112年 - 112 經濟部所屬事業機構_新進職員甄試_統計資訊:資料庫及資料探勘、程式設計#116958
科目:國營事業◆1.資料庫及資料探勘 2.程式設計
年份:112年
排序:0

題組內容

五、在計算機科學中,「stack」是 1 種常見的資料結構,請回答下列問題:(3 題,共 15 分)

申論題內容

(一)請說明何謂「stack」?(3 分)

詳解 (共 1 筆)

詳解 提供者:hchungw
 

(一) 何謂「stack」?

在計算機科學中,「stack」(堆疊)是一種常見的資料結構,它是一種後進先出(Last In, First Out, LIFO)的資料儲存方式。這意味著,最後插入(push)堆疊的資料會最先被取出(pop)。

堆疊的基本操作:

  1. Push:將一個元素添加到堆疊的頂端。
  2. Pop:從堆疊的頂端移除並返回一個元素。
  3. Peek/Top:返回堆疊頂端的元素但不移除它。
  4. isEmpty:檢查堆疊是否為空。
  5. isFull:檢查堆疊是否已滿(若堆疊有固定大小)。

堆疊的應用:

  1. 函數調用:在程序執行中,使用堆疊來儲存函數調用和局部變量,支持函數的遞迴調用。
  2. 表達式求值:在計算中綴、中序和後綴表達式時使用堆疊。
  3. 括號匹配:檢查括號匹配的正確性。
  4. 撤銷操作:如文本編輯器中的撤銷操作,可以用堆疊儲存歷史操作記錄。

堆疊的實現方式:

堆疊可以使用多種方式來實現,常見的有:

  1. 陣列(Array):用固定大小的陣列來實現堆疊,簡單但空間大小固定。
  2. 連結串列(Linked List):用連結串列來實現堆疊,動態調整大小,靈活但實現相對複雜。

總結來說,堆疊是一種簡單而強大的資料結構,能夠以後進先出的方式管理資料,廣泛應用於計算機科學和程序設計的各個領域。