資料結構初識和演算法分析方法

2021-10-10 09:24:16 字數 835 閱讀 4762

一.資料結構

:是一門研究非陣列計算的程式設計問題中的操作物件

二.資料結構分類

1.邏輯結構(抽象出來的)

集合結構、線性結構、樹形結構、圖形結構

2.物理結構

順序結構、鏈式結構

三.演算法分析

1.時間複雜度:核心操作次數和輸入規模關聯起來

(1)正常情況

分析案例

eg1:1-100求和問題

//1:迴圈累加 

int sum=0;//1次

int n=100;//1次

for(int i=1;i由上①時間複雜度未(o(n+3));----o(n)

//2.等差數列求和---數學方式

int sum=0;//1次

int n=100;//1次

sun+=(n+1)*n/2;//1次

printf("%d",sum);

由上②時間複雜度o(3)-----o(1)

(2)函式呼叫

eg2:10!階乘

①遞迴函式實現,呼叫10次

//1.遞迴函式

float fn1( float n)

return n*fn1(n-1);

}void main()

由上①:時間複雜度o(n)

②,函式內迴圈遍歷實現

//2函式內迴圈遍歷實現

float fn2(float n)

return temp;

}

空間複雜讀:o(4*n+28)----o(n)

資料結構和演算法 初識篇

資料結構和演算法一般是緊密結合的,解決問題通常需要選擇正確的資料結構和演算法。例如 演算法中經常需要對資料進行增加和刪除用鍊錶資料結構效率高,陣列資料結構因為增加和刪除需要移動數字每個元素所有效率低。資料結構是什麼 資料結構是資料與資料之間的關係 資料結構 分為邏輯結構和物理結構 邏輯結構 資料之間...

資料結構和演算法分析

1.1本書討論的內容 1.2數學知識的複習 1.3遞迴簡論 了解程式在適當輸入和巨大 輸入時的差別,明白優化代 碼採取適當資料結構的重要 指數 對數 級數 模運 算 歸納法反證法證明 指在函式的定義中使用 函式自身的方法,還較常 用於描述以自相似方法 重複事物的過程。也可 以理解為自我複製的過程。在...

資料結構 演算法和演算法分析

一 演算法的基本概念 1.什麼是演算法 演算法 演算法是對特定問題的求解步驟,是指令的有限序列。演算法的特徵 1 演算法有0或多個輸入 2 演算法至少有乙個輸出 3 演算法的每一條指令都可以執行 4 演算法的每一條指令都有確切的定義,沒有二義。5 演算法必須總能在執行有限步以後終止。2.演算法的描述...