首頁 >後端開發 >php教程 >資料結構:堆疊和佇列之間的差異

資料結構:堆疊和佇列之間的差異

藏色散人
藏色散人原創
2019-03-02 14:49:564612瀏覽

資料結構:堆疊和佇列之間的差異

堆疊:

#堆疊是線性資料結構,其中元素只能從列表的頂部插入和刪除。堆疊遵循後進先出原則,即,最後插入的元素是第一個出來的元素。將一個元素插入堆疊稱為push操作,將一個元素從堆疊中刪除稱為pop操作。在堆疊中,我們總是使用一個名為top的指標來追蹤清單中出現的最後一個元素。

堆疊的圖示如下:

資料結構:堆疊和佇列之間的差異

#佇列:

佇列是一種線性資料結構,在在這種結構中,元素只能從稱為"後"的列表的一側插入,而元素只能從稱為"前"的列表的另一側刪除。佇列資料結構遵循FIFO (First In First Out)原則,即首先插入到清單中的元素是從清單中刪除的第一個元素。在佇列中插入一個元素稱為入隊操作,刪除一個元素稱為出隊操作。

在隊列中,我們總是維護兩個指針,一個指針指向插入在第一個指針上的元素,並且仍然在列表中以前指針表示,另一個指針指向插入在最後一個指針上的元素,以後指針表示。

佇列的圖示如下:

資料結構:堆疊和佇列之間的差異

堆疊與佇列之間的差異

堆疊 佇列
堆疊是基於LIFO原則,即最後插入的元素是清單中的第一個元素。 佇列是基於FIFO原則,即插入第一個元素,是從列表中出來的第一個元素。
堆疊中的插入和刪除僅發生在名為top的清單的一端。 佇列中的插入和刪除是從清單的相反端進行的。插入發生在清單的後面,刪除從清單的前面進行。
插入操作稱為推送(push)操作。 插入操作稱為入隊操作。
刪除操作稱為彈出(pop)操作。 刪除操作稱為出列操作。
在堆疊中,我們只維護一個存取清單的指針,稱為top,它總是指向清單中的最後一個元素。 在佇列中,我們維護兩個指標來存取清單。前指標始終指向插入清單中的第一個元素並且仍然存在,後指標始終指向最後插入的元素。


以上是資料結構:堆疊和佇列之間的差異的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn