02算法與算法分析

前言

  • 本部分最主要的內容是時間和空間複雜度。
  • 時間複雜度以前還多少知道,空間複雜度用得比較少,以致於刷題時,人家說空間複雜度是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周的計劃內容。

參考

相關文章
相關標籤/搜索