資料結構之棧和佇列 基本概念和術語彙總

2021-09-16 19:41:30 字數 2113 閱讀 9664

1、隊尾

允許插入的一端稱為隊尾,隊尾元素的位置由rear指出;

2、隊頭

允許刪除的一端稱為隊頭,隊頭元素的位置由front指出。

3、迴圈佇列

把佇列設想成頭尾相連的迴圈表,使得陣列前部由於刪除操作而導致的無用空間盡可能得到重複利用。這樣的佇列稱之為迴圈佇列。

4、佇列的鏈式儲存結構

佇列的鏈式儲存結構是用乙個線性鍊錶表示乙個佇列,指標front 與rear分別指向隊頭元素與隊尾元素所在的鏈結點。

5、字尾表示式

運算子緊跟在兩個運算元之後的表示式叫字尾表示式。

6、假溢位

系統作為佇列用的儲存區還沒有滿

,但佇列卻發生了溢位

,我們把這種現象稱為

"假溢位"。

7、堆疊

堆疊是一種只允許在表的一端進行操作和刪除操作的線性表。特點:

1)先進後出( filo)的線性表。

2)或後進先出( lifo)的線性表。

3)或僅在表尾進行插入和刪除操作的線性表。

8、棧頂

允許操作的一端稱為棧頂,棧頂元素的位置由乙個稱為棧頂指標的變數給出。

9、鏈式堆疊

鏈式堆疊就是用乙個線性鍊錶來實現乙個堆疊結構,同時設定乙個指標變數指出當前棧頂元素所在鏈結點的位置。

10、佇列

佇列簡稱隊,是一種只允許在表的一端進行插入操作,而在表的另一端進行刪除操作的線性表。特點:

1)先進先出

2)僅在隊尾進行插入和隊頭進行刪除操作的線性表。

11、棧底

棧結構中,相對於棧頂,另乙個固定端叫做棧底。

12、空棧

當表中沒有元素時稱為空棧。

13、進棧(push)演算法

①若top≥

n時,則給出溢位資訊,作出錯處理(進棧前首先檢查棧是否已滿,滿則溢位;不滿則作②);

②置top=top+1

(棧指標加1,指向進棧位址);

③s(top)=x

,結束(

x為新進棧的元素);

14、退棧(pop)演算法

①若top≤0

,則給出下溢資訊,作出錯處理

(退棧前先檢查是否已為空棧,

空則下溢;不空則作②);

②x=s(sop)

,(退棧後的元素賦給x);

③top=top-1

,結束(棧指標減1,指向棧頂)。

15、遞迴

自己呼叫自己,如(定義、呼叫),又分直接和間接。它是在函式或子過程的內部,直接或者間接地呼叫自己的演算法。其實質是:把問題轉化為規模縮小了的同類問題的子問題,然後遞迴呼叫函式(或過程)來表示問題的解。

'); (window.slotbydup = window.slotbydup || ).push(); })();

'); (window.slotbydup = window.slotbydup || ).push(); })();

資料結構之棧與佇列(一)基本概念

線性表是 所有元素排成一行 的資料結構。線性表有順序儲存和鏈式儲存兩種實現方式。而棧與佇列是兩種特殊的常用的線性表。1 棧棧是後進後出 lilo 的線性表 只能從棧頂插入或取出。棧有6種基本操作 1 清空clear 2 判空isempty 3 求棧的長度length 4 取棧頂元素peek 5 壓棧...

資料結構 棧的基本概念和性質

棧 stack 又名堆疊,它是一種運算受限的線性表。限定僅在表尾進行插入和刪除操作的線性表。這一端被稱為棧頂,相對地,把另一端稱為棧底。向乙個棧插入新元素又稱作進棧 入棧或壓棧,它是把新元素放到棧頂元素的上面,使之成為新的棧頂元素 從乙個棧刪除元素又稱作出棧或退棧,它是把棧頂元素刪除掉,使其相鄰的元...

資料結構之棧的基本概念

棧是允許在一端進行插入或者刪除操作的線性表。它是一種線性表,但是限定這種線性表只能在某一端進行插入和刪除操作。棧頂 top 線性表允許進行插入刪除的那一端。棧底 botton 固定的,不允許進行插入和刪除的另一端。空棧 不含任何元素的空表。假設某個棧s 如圖,a1為棧底元素,a5為棧頂元素。由於棧只...