資料結構與演算法 知識總結二

2021-10-06 06:31:35 字數 1203 閱讀 4399

一、 堆疊的特點:後進先出。

堆疊是一種特殊的線性表。

簡稱為棧,是限定只能在表的一端進行插入和刪除操作的線性表。允許插入和刪除的一端為」棧頂」,另一端為」棧底」。將元素插入棧頂的稱為」入棧」(進棧或壓棧),刪除棧頂元素的為」出棧」。

棧的兩種儲存結構:

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.排序演算法 氣泡排序 每次找出最大值,然後放到所在範圍的最後一位 是一種簡單的易於理解的排序演算法,但是效率很低,由於...