1. 程式人生 > >資料結構-第一章,順序表,連結串列,棧結構,佇列結構的關係(個人見解)

資料結構-第一章,順序表,連結串列,棧結構,佇列結構的關係(個人見解)

首先 順序表  和 連結串列是 兩個儲存結構。分別有自己的儲存特點。

其次 順序表 和 連結串列分別存放在不同的地方,“這個地方”就是 “棧” 或者 “佇列” 了

其實就是按照   FIFO先進先出 和  FILO先進後出 來處理資料所區別。

{{{而對於 FIFO 呢 在寫程式碼時  一般  就可以用堆區來存放資料。。而對於 FILO 呢 則就放在棧區裡咯}}}這個理解是錯誤的 mmp。。。。。百度下

一下來自搜尋::

線性表 Insert(L,i,x) (1≤i≤n+1) Delete(L,i) (1≤i≤n) 如線性表允許在表內任一位置進行插入和刪除 棧 Insert(L,n+1,x) Delete(L,n) 而棧只允許在表尾一端進行插入和刪除 佇列 Insert(L,n+1,x) Delete(L,1) 佇列只允許在表尾一端進行插入,在

表頭一端進行刪除

(最主要的區別)

棧與佇列的相同點:

1.都是線性結構。

2.插入操作都是限定在表尾進行。

3.都可以通過順序結構和鏈式結構實現。、

4.插入與刪除的時間複雜度都是O(1),在空間複雜度上兩者也一樣。

5.多鏈棧和多鏈佇列的管理模式可以相同。

棧與佇列的不同點:

1.刪除資料元素的位置不同,棧的刪除操作在表尾進行,佇列的刪除操作在表頭進行。

2.應用場景不同;常見棧的應用場景包括括號問題的求解,表示式的轉換和求值,函式呼叫和遞迴實現,深度優先搜尋遍歷等;常見的佇列的應用場景包括計算機系統中各種資源的管理,訊息緩衝器的管理和廣度優先搜尋遍歷等。

3.順序棧能夠實現多棧空間共享,而順序佇列不能。

明天在實現吧,肚子餓了。。。今天就理解偷吃!!透徹!