在複習基本的資料結構之前,大致看了一下演算法。其實就是看了一下演算法的時間複雜度與空間複雜度的一些基本計算方式。雖然可能對初學者起的作用比較小,但是了解一下還是好的。可以為後面自己在做專案時候一些演算法優化的話很有幫助。
首先是**時間複雜度**:
在進行演算法分析時 語旬總的執行次撞 ( n )是關子問題規模n的函式,進而分析 ( n )隨 的變化情況並確定t(n)的數量。
演算法的時間複雜度.也就是演算法的時間量度,記 做: t ( n ) = o(f n)) 它表示隨問題規模的增大,演算法執行時間的增長率和t(n)的增長率相同,稱作i演算法的漸近時間複雜度,簡稱為時間複雜度。
![在這裡插入描述](
然後就到了**空間複雜度**
顧名思義,空間就指的是**乙個演算法在執行過程中臨時占用儲存空間大小的量度**。簡單來說就是你定義了多少變數啊,占用了多少記憶體啊。簡單理解一下就好,後面這些東西慢慢的進行深入之後自己就會慢慢的體會到。
到現在,可能會有一些人糾結。這兩個複雜度的話設計演算法的話應該優先考慮哪個呢?
一般的話這兩個都是相輔相成的,並沒有誰比誰重要。實際上的話,如果沒有什麼特別具體要求的話,一般都是優先考慮時間複雜度,其次考慮空間複雜度的。
資料結構之演算法複雜度
解決特定問題求解步驟的描述。在計算機中表現為指令的有限序列,每條指令可表示乙個或多個操作。此外,乙個演算法還具有下列5個特性 有窮性,確定性,可行性,輸入,輸出。演算法設計的要求 正確性,可讀性,健壯性,效率與低儲存量需求。what?時間複雜度和空間複雜度 why?可以用度量演算法的好與壞 how?...
資料結構 演算法複雜度
二 演算法的效能評價 三 真題解析 資料結構的第一章 緒論 包含的最後乙個重要內容是關於演算法的複雜度。這個考點一般會單獨出現在選擇題的前兩道,需要你熟練掌握演算法的基本概念 演算法時間複雜度和空間複雜度的分析判斷等。其次,還會出現在大題的程式設計部分,將演算法複雜度作為乙個限制條件,要求你給出滿足...
資料結構之演算法時間複雜度
演算法的時間複雜度定義為 在進行演算法分析時,語句總的執行次數t n 是關於問題規模n的函式,進而分析t n 隨n的變化情況並確定t n 的數量級。演算法的時間複雜度,也就是演算法的時間量度,記作 t n 0 f n 它表示隨問題規模n的增大,演算法執行時間的埔長率和 f n 的埔長率相同,稱作演算...