《2023年11月7日》【連續028天】
內容:a.**mooc11.1;
b.時間複雜度:簡稱「複雜度」,常用大寫字母o和小寫字母n表示,如o(n),o(n);n代表問題的規模;
計算複雜度的時候,只統計執行次數最多的(n足夠大時)那種固定操作的次數。
如果複雜度是多個n的函式之和,則只關心隨n的增長增長得最快的那個函式;
o(n^3+n^2) =>o(n^3) ;o(2^n+n^3)=>o(2^n); o(n!+3^n)=>o(n!);
複雜度:常數(o(1)),對數(o(log(n))),線性(o(n)),多項式(o(n^k)),指數(o(a^n)),階乘(o(n!))
複雜度有「平均複雜度」,「最壞複雜度」。兩者可能一致,也可能不一致。
插入,選擇,氣泡排序:o(n^2)
快速排序:o(n*log(n))
二分查詢:o(log(n))
明日計畫:學習二分查詢;
了解時間複雜度和空間複雜度
時間複雜度和空間複雜度是用來評價演算法效率高低的2個標準.時間複雜度 就是說執行演算法需要消耗的時間長短,越快越好。關注基本操作的執行次數 空間複雜度 就是說執行當前演算法需要消耗的儲存空間大小,也是越少越好。我們一般用 大o符號表示法 來表示時間複雜度 大o表示法 1.最高次項有係數,則忽略係數 ...
時間複雜度的了解
時間複雜度是描述演算法效率的一種量度,記作 f n 是正整數n的乙個函式,n可以理解為問題的規模,隨著問題規模的增大,演算法執行時間的增長率和f n 的增長率相同,稱作演算法的時間複雜度。另外我們還要了解頻度的概念,頻度指的是該語句重複執行的次數。我們用基本操作 x增1 來舉例。1.x與x 都表示x...
時間複雜度和空間複雜度
同一問題可用不同演算法解決,而乙個演算法的質量優劣將影響到演算法乃至程式的效率。演算法分析的目的在於選擇合適演算法和改進演算法。乙個演算法的評價主要從時間複雜度和空間複雜度來考慮。1 時間複雜度 1 時間頻度 乙個演算法執行所耗費的時間,從理論上是不能算出來的,必須上機執行測試才能知道。但我們不可能...