(一)棧和隊列的基本性質數組
- 棧是先進後出的
- 隊列是先進先出的
- 棧和隊列在實現結構上能夠有數組和鏈表兩種形式
- 數組結構實現較容易
- 用鏈表結構較複雜,由於牽扯不少指針操做
(二)隊列和棧的基本操做spa
- pop操做(棧尾彈出一個元素)
- push操做(棧/隊列尾加入一個元素)
- shift操做(隊頭彈出一個元素)
- 棧和隊列的基本操做,都是時間複雜度都爲O(1)的操做
(三)深度優先遍歷(DFS)和寬度優先遍歷(BFS)指針
- 深度優先遍歷能夠用棧實現
- 寬度優先遍歷能夠用隊列實現
(四)雙端隊列和優先級隊列隊列
- 雙端隊列首尾均可以壓入和彈出元素
- 優先級隊列可根據元素的優先級值,決定元素的彈出元素
- 優先級隊列的結構爲堆結構,並非線性結構