第三章 表 棧和佇列

2021-07-14 22:49:58 字數 454 閱讀 8392

陣列:在記憶體中儲存為連續固定大小空間。

特點:因為是連續空間,所以查詢速度快[o(1)]。當增刪元素位置不是在陣列尾時,會導致移動陣列元素,加大操作量,降低速度。

鍊錶:在記憶體中儲存不連續,用乙個節點記錄下乙個節點位置,形成連續節點。

特點:查詢不方便,需要從頭節點開始遍歷,儘管做了一些優化:例如,儲存頭結點、尾節點、節點個數,仍然沒有陣列方便。但是鍊錶刪除速度卻很快,雙鏈表只需將節點前後關聯刪除即可。

棧:(lifo)棧只允許刪除或增加在表尾部(棧頂)。其內部實現可以使用陣列或鍊錶。棧的時間複雜度為o(1)。

佇列:就像買東西排隊一樣,先到先得(fifo)。其特點是只允許在佇列尾新增,首部刪除。

第三章 表,棧,佇列

在實踐中如果知道變動將要發生的地方,那麼向鍊錶插入或從鍊錶中刪除一項的操作不需要移動很多的項,而只涉及常熟個節點鏈的改變 雙鏈表 1.arraylist與linkedlist的優缺點 arraylist 查詢快,增刪慢 linkedlist 增刪快,查詢慢 使用linkedlist的優點在於新項的插...

第三章 棧和佇列

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

第三章 棧和佇列

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