程式=資料結構+演算法
資料結構:資料的組織形式
演算法:解決實際問題的方法
總結:演算法是為了解決實際問題而設計的,資料結構是演算法需要處理的問題載體。
演算法的五大特性:
輸入:演算法具有0個或多個輸入
輸出:演算法至少有1個或者多個輸出
有窮性:演算法不會無限迴圈,並且每一步可以在可接受的時間內完成
可行性:演算法每一步都是可行的
確定性:演算法每一步都有確定的含義,不會出現多種含義
演算法的時間複雜度:
演算法分析過程中,語句總的執行次數t(n)是關於問題規模n的函式。
t(n)=o(f(n)),t代表**總執行的時間,n代表資料的規模大小,f(n)是每行**執行的次數總和,o表示**執行時間t(n)和f(n)表示式成正比。
常見的時間複雜度
o(1) 常數階
o(logn) 對數階
o(n) 線性階
o(nlogn) nlogn階
o(n^2) 平方階
o(2^n) 指數階
時間複雜度分析:
1、只關注迴圈執行次數最多的一段**,忽略掉公式中的常量、低階、係數,只需要記錄乙個最大階的量級就可以了。
2、加法法則:總複雜度等於量級最大的那段**的複雜度。
資料結構學習01
有關演算法的時間複雜度與空間複雜度 1.演算法的時間複雜度 指事先預估演算法的時間開銷t n 和問題規模n的關係.2.演算法的空間複雜度 3.對於空間複雜度,有幾種情況 一是 中只有一般的順序語句,那麼占用的記憶體空間則是常數個,與問題規模n無關,空間複雜度就是o 1 二是 中有一些特別的儲存結構,...
資料結構 學習筆記01
第一章 概 論 1.資料 資訊的載體,能被計算機識別 儲存和加工處理。2.資料元素 資料的基本單位,可由若干個資料項組成,資料項是具有獨立含義的最小標識單位。3.資料結構 資料之間的相互關係,即資料的組織形式。它包括 1 資料的邏輯結構,從邏輯關係上描述資料,與資料儲存無關,獨立於計算機 2 資料的...
資料結構學習
什麼是資料結構 對計算機記憶體中的資料的一種安排。資料結構有那些?優缺點?1.陣列 插入快 知道下標 查詢慢,刪除慢,大小固定 2.有序陣列 比無序的查詢塊,刪除和插入慢,大小固定 3.棧 吃多了吐 個人理解 4.佇列 吃多了拉 個人理解 5.鍊錶 插入快,刪除快,查詢慢 6.二叉樹 查詢 插入 刪...