一.資料結構
:是一門研究非陣列計算的程式設計問題中的操作物件
二.資料結構分類
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.演算法的描述...