堆疊和佇列不是非線性資料結構,堆疊和佇列是線性邏輯結構,堆疊是一種運算受限的線性表,是限定僅在表尾進行插入和刪除操作的線性表;佇列是一種特殊的線性表,它只允許在表的前端進行刪除操作,在表的後端進行插入操作。
堆疊(stack)又稱堆疊,它是一種運算受限的線性表。限定僅在表尾進行插入和刪除操作的線性表。這一端稱為棧頂,相對地,將另一端稱為棧底。向一個棧插入新元素又稱作進棧、入棧或壓棧,它是把新元素放到棧頂元素的上面,使之成為新的棧頂元素;從一個棧刪除元素又稱作出棧或退棧,它是把棧頂元素刪除掉,使其相鄰的元素成為新的棧頂元素。
堆疊作為一種資料結構,是一種只能在一端進行插入和刪除操作的特殊線性表。它按照先進後出的原則儲存數據,先進入的數據被壓入棧底,最後的數據在棧頂,需要讀取數據的時候從棧頂開始彈出數據(最後一個數據被第一個讀出來)。棧具有記憶作用,對棧的插入與刪除操作中,不需要改變棧底指標。
堆疊是允許在同一端進行插入和刪除操作的特殊線性表。允許插入和刪除操作的一端稱為棧頂(top),另一端為棧底(bottom);棧底固定,而棧頂浮動;棧中元素個數為零時稱為空棧。插入一般稱為進棧(PUSH),刪除則稱為退棧(POP)。棧也稱為先進後出表。
隊列是一種特殊的線性表,特殊之處在於它只允許在表的前端(front)進行刪除操作,而在表的後端(rear)進行插入操作,和堆疊一樣,佇列是一種操作受限的線性表。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。隊列中沒有元素時,稱為空隊列。
佇列的資料元素又稱為佇列元素。在佇列中插入一個佇列元素稱為入隊,從佇列中刪除一個佇列元素稱為出隊。因為佇列只允許在一端插入,在另一端刪除,所以只有最早進入佇列的元素才能先從佇列中刪除,故佇列又稱為先進先出(FIFO—first in first out)線性表。
以上是堆疊和佇列是非線性資料結構麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!