第三章 棧和佇列知識結構

2021-06-27 06:16:36 字數 723 閱讀 4311

1、知識結構圖

2、重點整理

(1)棧是限定竟在表尾插入的和刪除操作的線性表。棧中元素除了具有線性關係外,還具有後進先出的特性。

(2)棧的順序儲存結構稱為順序棧,順序棧本質上是順序表的簡化。通常把資料組中下標為0的一段作為棧低,同時附設指標top指示棧頂元素在陣列中的位置。

(3)實現順序棧基本操作的演算法的時間複雜度均為o(1)。

(5)鏈棧的插入和刪除操作只需處理棧頂即開始結點的情況,其時間複雜度均為o(1)。

(6)佇列是只允許在一端進行插入操作,另一端進行刪除操作的線性表。佇列中的元素除具有線性關係外,還具有先進先出特性。

(7)順序佇列會出現假溢位問題,解決的辦法是用首尾相接的順序儲存結構,稱為迴圈佇列。在迴圈佇列中,凡是涉及隊頭或隊尾指標的修改都需要將其求模。

(8)在迴圈佇列中,對空的判定條件是:對頭指標=隊尾指標;在浪費乙個儲存單元的情況下,隊滿的判定條件是:(隊尾指標+1)%陣列長度=對頭指標。

(9)佇列的連線儲存結構稱為鏈佇列。鏈佇列通常附設頭結點,並設定隊頭指標指向頭結點,隊尾指標指向終端節點。

(10)鏈佇列基本操作的實現本質上也是單鏈表操作的簡化,插入只考慮在鏈佇列的尾部進行,刪除只考慮在鏈佇列的頭部進行,其時間複雜度均為o(1)。

第三章 棧和佇列

棧和佇列 一 棧 1 棧的定義 棧是限定僅在表尾進行插入和刪除操作的線性表,允許插入和刪除的一端稱為棧頂,另一端稱為棧底,不含任何資料元素的棧稱為空棧。2 在任何時候出棧的元素都只能是棧頂元素,即最後最後入棧者最先出棧。所以棧中元素除了具有線性關係外,還具有後進先出的特性。3 棧的抽象資料型別定義 ...

第三章 棧和佇列

棧和佇列是兩種常用的資料結構,同時又是操作受限的線性表,也是兩種重要的抽象資料型別。1 1棧是限定僅在表尾進行插入和刪除操作的線性表。棧中元素具有線性關係和後進先出的特性。2雖然對插入和刪除操作的位置限制減少了棧的靈活性,但同時也使得棧的操作更有效更容易實現。3棧的儲存結構分兩種,一種是順序儲存結構...

第三章 棧和佇列

第三章棧和佇列 一 棧1.棧 限定僅在表尾進行插入和刪除操作的線性表 允許插入和刪除的一端稱為棧頂 另一端稱為棧底 2.空棧 不含任何資料元素的棧。3.在任何時候出棧的元素都只能是棧頂元素,即最後入棧者最先出棧,具有後進先出的特性。4.棧的抽象資料型別定義 1 push 輸入 元素值 x 輸出 如果...