堆疊
(Stack)
¶
Da-Wei Chiang
¶
大綱
¶
何謂堆疊
圖例堆疊
堆疊的結構
新增元素
刪除元素
實作練習
堆疊的時間複雜度
何謂堆疊
¶
堆疊是一種線性結構, 英文稱為
Stack
堆疊讀取資料, 相當於將資料從堆疊中刪除
將資料放入堆疊中稱為
push
將資料從堆疊中取出稱為
pop
整個
Stack
的存取資料過程具有「後進先出(
last in first out
)」的特性
圖例堆疊
¶
堆疊的結構
新增堆疊元素
讀取(刪除)堆疊元素
堆疊的結構
¶
堆疊的結構就像一個箱子, 等待資料進入
新增堆疊元素(
push
)
¶
讀取堆疊元素(
pop
)
¶
first in last out
練習
¶
使用
array
或
list
撰寫一個名為
Stack
的類別, 模擬
Stack
的結構
該類別具備新增元素(
push
)、讀取元素(
pop
)、查看
Stack
元素個數、查看整個
Stack
元素
建構
Stack
的物件, 測試使用四種方法
堆疊的時間複雜度
¶
push
:
O(1)
pop
:
O(1)
search
:
O(n)