1.數(shù)據(jù)結(jié)構(gòu)的分類
- 邏輯結(jié)構(gòu):集合結(jié)構(gòu),線性結(jié)構(gòu)鳞贷,樹形結(jié)構(gòu)茂装,圖結(jié)構(gòu)
- 物理結(jié)構(gòu):順序存儲怠蹂,鏈式存儲,索引存儲少态,散列存儲(Hash存儲)
2.算法的特性
程序 = 數(shù)據(jù)結(jié)構(gòu)+算法
- 有窮性
一個算法必須總在執(zhí)行有窮步之后結(jié)束城侧,且每一步都可在有窮時間內(nèi)完成(算法必須是有窮的,程序可以是無窮的) - 確定性
算法中每條指令必須有確切的含義彼妻,對于相同的輸入只能得出相同的輸出 - 可行性
算法中描述的操作都可以通過已經(jīng)實現(xiàn)的基本運算執(zhí)行有限次來實現(xiàn) - 輸入
一個算法有零個或者多個輸入 - 輸出
一個算法有一個或多個輸出
3.好的算法
- 正確性
- 可讀性
- 健壯性
- 高效率和低存儲量需求
4.算法的復(fù)雜度
-
時間復(fù)雜度
時間復(fù)雜度 -
空間復(fù)雜度
空間復(fù)雜度