2023計算機考研初試在即,在最后階段建議各位同學將知識點再系統復習一遍,以免有所遺漏!2022計算機考研數據結構第三單元知識點包含棧(后進先出)、隊列(先進先出)。高頓考研為大家整理了2022計算機考研數據結構第三單元知識點的詳細內容,供大家參考復習!
棧(后進先出)
棧是限定插入和刪除運算只能在線性表同一端進行的動態數據結構。
允許插入和刪除元素的一端稱為棧頂,另一端稱為棧底。
相關運算:
IsEmpty():若棧空,則返回true;否則返回false。
IsFull():若棧滿,則返回true;否則返回false。
Top(x):返回棧頂元素。若操作成功,則返回true;否則返回false。
Push(x):在棧頂插入元素x。
Pop():從棧中刪除棧頂元素。
Clear():清除堆棧中全部元素。
(1)順序棧
一維數組s存儲棧中元素,maxTop+1為最大允許容量,top指示棧頂,top==-1表示空棧,top==maxTop表示棧滿。
(2)鏈接棧
隊列(先進先出)
隊列是限定只能在線性表的一端插入元素,而在另一端刪除元素的動態數據結構。
允許插入元素的一端稱隊尾,允許刪除元素的另一端稱隊頭。
(1)順序隊列
注意:使用兩個指針front和rear,front指向隊頭元素的前一單元,rear指向隊尾元素。
隊頭指針進一:front=(front+1)%maxSize;
隊尾指針進一:rear=(rear+1)%maxSize;
空隊列:當front==rear時
滿隊列:當(rear+1)%maxSize==front時
相關運算:
Front(x):在x中返回隊頭元素。操作成功返回true;否則返回false。
EnQueue(x):在隊尾插入元素x。操作成功返回true;否則返回false。
Dequeue():從隊列中刪除隊頭元素。操作成功返回true;否則返回false。
(2)鏈接隊列