重念一次早該補起來的「資料結構與演算法」。這篇筆記下 Stack 堆疊。
課程相關資訊
[連結]:https://hiskio.com/courses/572/lectures/29847
本篇範圍:Chapter 8
請注意:本系列文章為個人對應課程的消化吸收後,所整理出來的內容。換言之,並不一定會包含全部的課程內容,也有可能會添加其他資源來說明。
內容
1. Stack 和 Queue 都是一種觀念。換言之,你可以使用任何的資料結構,如 array, linked list…等,來表現出這些觀念的特性即可。
2. Stack 是 LIFO ( Last in First Out, 後進先出 )。
3. 若你要將一筆資料推入 Stack,那就是從籃子的最上方丟入;若你要取出,也只能從最上方依序取出。除此之外,就沒有其他的存取方法了。
4. Stack 不存在 index,或是各種從某個 index 插入或是刪除的方法
5. JavaScript 中的 CallStack;瀏覽器或是文書編輯器常出現的 Undo/Redo 操作,都是用這種結構