資料結構筆記

2021-09-13 12:44:23 字數 1412 閱讀 2124

時間複雜度

講演算法中基本操作的執行次數座位演算法時間複雜度的度量

一般講最壞的時間情況作為演算法時間複雜度的度量

常用時間複雜度比較

o (1

)≤o(

log2

(n))

≤o(n

)≤o(

nlog

2(n)

)o(1)\leq o(log_(n))\leq o(n) \leq o(nlog_(n))

o(1)≤o

(log

2​(n

))≤o

(n)≤

o(nl

og2​

(n))

≤ o(

n2)≤

o(n3

)≤o(

nk)≤

o(2n

)\leq o(n^2) \leq o(n^3) \leq o(n^k) \leq o(2^n)

≤o(n2)

≤o(n

3)≤o

(nk)

≤o(2

n)資料資料是對客觀事物的符號表示

資料元素

資料元素是資料的基本單位

資料項資料項是資料結構中討論的最小單位

資料結構

資料的邏輯結構是對資料之間關係的描述

演算法有基本運算及規定的運算順序所構成的完整的解題步驟

演算法特新

有窮性、確定性、輸入(0個或多個輸入)、輸出(1個或多個輸出)、可行性。

演算法的設計目標

正確性、健壯性、可讀性

定義線性表是具有相同特性元素的乙個有限序列。所含元素個數叫做線性表的長度。

1.鍊錶節點的定義

typedef

struct node

node;

2.製作新節點
//p為指標變數,指向新節點。p=(

*)malloc

(sizeof()

);//括號填寫 所定義的結構型名稱

//每執行一次會 得到新的節點,並返回位址給p

3.單鏈表

在每個節點中除了有資料域之外,還有乙個指標域,用來指向它的後繼節點。

​ 帶頭結點的單鏈表中,頭指標head指向頭結點,頭結點的值域不包含任何資訊。

​ 不帶頭結點的單鏈表中的頭指標head直接指向開始節點。

4.雙鏈表

​ 為了解決終端節點反向走到開始節點,構造了雙鏈表。

​ 雙鏈錶即在 單鏈表節點上增添了乙個指標域,指向當前節點的前驅。

​ 同樣雙鏈表也分為帶頭結點和不帶頭結點的雙鏈表。帶頭結點的雙鏈表,當head->next為null時煉表為空。不帶頭結點的雙鏈表,當head為 null時煉表為空。

5.迴圈單鏈表

6.迴圈雙鏈表

7.靜態鍊錶

資料結構筆記

程式效率與組織方式有關 圖書館擺書 二分查詢 程式效率與操作有關 迴圈和遞迴 遞迴雖簡單不過耗費大量空間 程式效率與演算法有關 多項式求和 秦九韶要比普通演算法快乙個數量級 測試兩種演算法的 include include include define max 101 define maxl 1e7...

資料結構筆記

一 鄰接矩陣 鄰接矩陣儲存使用2個陣列儲存圖的資訊 1個以為陣列儲存頂點,乙個二維陣列儲存邊的資訊 1 二維陣列中的對角線為0,以為不存在頂點到自身的邊 2 要知道某個點的出度,就是頂點vi在第i行的元素之和,入度就是該頂點所在列的元素之和 3 頂點vi的所有鄰接點就是吧矩陣中第i行元素掃瞄一遍 4...

資料結構筆記

二叉樹的遍歷操作 二叉樹的遍歷是指從根結點出發,按照某種次序 訪問二叉樹中的所有結點,使得每個結點被訪問一 次且僅被訪問一次。抽象操作,可以是對結點進行的各種 處理,這裡簡化為輸出結點的資料。前序遍歷 中序遍歷 後序遍歷 層序遍歷 查詢的基本概念 靜態查詢適用於 查詢集合一經生成,便只對其進行 查詢...