一、 堆疊的特點:後進先出。
堆疊是一種特殊的線性表。
簡稱為棧,是限定只能在表的一端進行插入和刪除操作的線性表。允許插入和刪除的一端為」棧頂」,另一端為」棧底」。將元素插入棧頂的稱為」入棧」(進棧或壓棧),刪除棧頂元素的為」出棧」。
棧的兩種儲存結構:
1、順序棧——採用順序結構儲存
2、鏈棧——採用鏈式結構儲存
堆疊的基本運算如下:
1、stackinit()初始化堆疊。
2、stackempty(s)
判定棧s是否為空。
3、stacklength(s)
求堆疊s的長度。
4、gettop(s)
獲取棧頂元素的值。
5、push(s,e)將元素e進棧。
6、pop(s),出棧(刪除棧頂元素)。
棧滿和棧空的條件是什麼?
棧滿:top=maxsize-1
棧空:top=-1
二、佇列queue的特點:先進先出。
棧和佇列是特殊的線性表。
佇列簡稱為隊,是限定只能在表的一端作插入運算,在另一端作刪除運算的線性表
允許插入的一端稱為隊尾,此操作為入佇列;允許刪除的另一端稱作隊首或隊頭,此操作為出佇列。
佇列的儲存結構:
兩種儲存結構:
1、順序佇列——採用順序結構儲存
2、鏈式佇列——採用鏈式結構儲存
隊滿和隊空的條件是什麼?
隊滿:rear==maxsize-1
隊空:front==rear
順序佇列:
1、初始化佇列initqueue()
2、判定佇列q是否為空queueempty(q)
3、求佇列q的長度queuelength(q)
4、addqueue(q,e)將元素e入隊
5、deletequeue(q)刪除隊首元素
為了能夠充分的使用陣列中的儲存空間,把陣列的前端和後端連線起來,形成乙個環形的表,即把儲存佇列元素的表從邏輯上看成乙個環,成為迴圈佇列。
隊空的幾種情況:
初始化時:front=rear=0
迴圈隊列為空的條件是:front==rear
隊滿的幾種情況:
迴圈隊列為滿的條件是:front==(rear+1)%maxsize
資料結構與演算法知識總結(二)
下面對常見的資料結構和常用演算法知識進行總結。我們知道資料結構研究物件可以分為邏輯資料結構和儲存 物理 資料結構兩種。但對資料結構進行分類,資料結構可分為很多種,如按照資料的邏輯結構對其進行簡單的分類,可以分為線性結構和非線性結構,而且還可以對這兩種結構進行細分,那就是平時所說的常見的人八大資料結構...
資料結構與演算法(重要知識總結)
1 資料結構 邏輯結構 資料物件中資料元素之間的相互關係。物理結構 資料的邏輯結構在計算機中的儲存形式。四大邏輯結構 整合結構 線性結構 樹形結構 圖形結構。2 演算法效率 演算法採用的策略 方案 編譯產生的 質量 問題的輸入模組 機器執行命令的速度 1 鍊錶 單鏈表,只有乙個存放指標的模組,存放位...
演算法與資料結構知識點總結
演算法與資料結構 1.資料結構 資料 資料元素 資料物件 資料結構 資料型別 抽象資料型別 dat 2.演算法 有窮性 確定性 可行性 輸入 0個或多個 輸出 1個或者多個輸出 3.排序演算法 氣泡排序 每次找出最大值,然後放到所在範圍的最後一位 是一種簡單的易於理解的排序演算法,但是效率很低,由於...