前言
- 本部分最主要的內容是時間和空間複雜度。
- 時間複雜度以前還多少知道,空間複雜度用得比較少,以致於刷題時,人家說空間複雜度是O(1)時本身都沒點數。
內容
- 算法的定義,對特定問題求解步驟的一種描述。
-
算法的特性html
-
算法的目標算法
- 正確性
- 可以使用性
- 可讀性
- 健壯性
- 高效率和低存儲量需求
-
算法時間複雜度數據結構
-
分析時間複雜度的步驟函數
- 根據形參n肯定問題規模
- 算法中循環中最深層的詩句爲基本語句,基本語句是否是與形參n有關係。
- 用O進行標記,只保留最高階項。
-
不一樣時間複雜度的排序和比較.net
- O(1) 常數階 < O(logn) 對數階 < O(n) 線性階 < O(nlogn) < O(n^2) 平方階 < O(n^3) < { O(2^n) < O(n!) < O(n^n) }
-
空間複雜度code
- 函數體內新開闢的空間。
- 若是臨時變量與形參n肯定問題規模無關,那麼就是O(1)。
習題
李的習題
- 比較有表明性的是遞歸求規模,這個部分不太會呢l,或者沒有更多深刻ionel
- 33,有如下遞歸算法:
void mergesort(int i,int j)
{
int m;
if(i!=j)
{
m=(i+j)/2;
mergesort(i,m);
mergesort(m+1,j);
merge(i,,j,m);
}
}
,分析mergesort(0,n-1)的時間複雜度htm
履歷
初版
- 20181227左右看的內容,20181201整理的,也是48周的計劃內容。
參考