1、佇列及其運算
在作業系統中,用線性表來組織管理使用者程式的排隊執行,
原則是:
初始時線性表為空;
①當使用者程式來時,將其排在隊尾等候;
②當執行完當前的使用者程式時,就從線性表的頭部取程
序執行。
佇列是指允許在一端(隊頭) 插入,在另一端(隊居) 刪
除的特殊線性表。
隊頭指標為front,是指向排頭的前乙個位置: 隊尾指標為rear,指向佇列中的隊尾元素。兩指標都隨著變化的。
遵循「先進先出」「後進後出」
往佇列的隊尾插入乙個元素叫入隊運算; 從佇列的排頭刪
除乙個元素叫退隊運算。
2、迴圈佇列及其運算
認列的順序儲存是採用迴圈佇列形式。
迴圈佇列就是指將佇列儲存空間的最後乙個位置繞到第一
個位置,形成邏輯上的環狀空間,供佇列迴圈使用。
基本運算: 入隊運算、退隊運算。
當s=o,佇列空; s=1,佇列滿。(因為front-rear 時就分不清
是隊滿還是隊空)
資料結構與演算法學習總結 佇列
佇列是一種操作受限的線性表資料結構,具有先進先出的特性,支援在一端 隊尾 插入元素,在另一端 隊頭 刪除元素 先進先出 用陣列實現的佇列叫順序佇列 用鍊錶實現的佇列叫鏈式佇列 入隊enqueue 時間複雜度o 1 空間複雜度o 1 出隊dequeue 時間複雜度o 1 空間複雜度o 1 迴圈佇列可以...
佇列學習總結
規則是這樣的 首先將第1個數刪除,緊接著將第2個數放到這串數的末尾,再將第3個數刪除並將第4個數再放到這串數的末尾,再將第5個數刪除 直到剩下最後乙個數,將最後乙個數也刪除。按照剛才刪除的順序,把這些刪除的數連在一起就是要求的數,給一串數是 6 3 1 75 8 9 2 4 輸出6 1 5 9 4 ...
優先佇列學習總結
普通的佇列,遵循先進先出的規則,進行元素的新增和查詢,但是對於很多情況下,我們想要在序列中找符合我們要求的元素 比如序列中最大的元素 這時候,無論是普通的線性表還是線性表中比較特殊的棧或者佇列,找到該指定元素的範圍都會卡在時間複雜度為o n 的級別,其實我們完全可以實現查詢時間複雜度降為o 1 就是...