有關演算法的時間複雜度與空間複雜度
1.演算法的時間複雜度
指事先預估演算法的時間開銷t(n)和問題規模n的關係.
2.演算法的空間複雜度
3.對於空間複雜度,有幾種情況:
一是**中只有一般的順序語句,那麼占用的記憶體空間則是常數個,與問題規模n無關,空間複雜度就是o(1).
二是**中有一些特別的儲存結構,如陣列int[n],那麼空間複雜度就為4n+k,空間複雜度就是o(n)了.或者定義二位陣列時空間複雜度可能就是o(nn)了.
三是遞迴也是會影響到空間複雜度的:
舉乙個簡單地**
這裡的空間複雜度就為kn(每層都宣告一次a,b,c,n等,共需進行n次),所以複雜度為o(n).
當遞迴中含有陣列等型別時
由於陣列長度和問題規模相等,那麼每次呼叫時開闢的空間也不同,空間複雜度為1+2+3+…+n=n(n+1)/2=o(nn).
資料結構學習 01
程式 資料結構 演算法 資料結構 資料的組織形式 演算法 解決實際問題的方法 總結 演算法是為了解決實際問題而設計的,資料結構是演算法需要處理的問題載體。演算法的五大特性 輸入 演算法具有0個或多個輸入 輸出 演算法至少有1個或者多個輸出 有窮性 演算法不會無限迴圈,並且每一步可以在可接受的時間內完...
資料結構 學習筆記01
第一章 概 論 1.資料 資訊的載體,能被計算機識別 儲存和加工處理。2.資料元素 資料的基本單位,可由若干個資料項組成,資料項是具有獨立含義的最小標識單位。3.資料結構 資料之間的相互關係,即資料的組織形式。它包括 1 資料的邏輯結構,從邏輯關係上描述資料,與資料儲存無關,獨立於計算機 2 資料的...
資料結構學習
什麼是資料結構 對計算機記憶體中的資料的一種安排。資料結構有那些?優缺點?1.陣列 插入快 知道下標 查詢慢,刪除慢,大小固定 2.有序陣列 比無序的查詢塊,刪除和插入慢,大小固定 3.棧 吃多了吐 個人理解 4.佇列 吃多了拉 個人理解 5.鍊錶 插入快,刪除快,查詢慢 6.二叉樹 查詢 插入 刪...