1. 程式人生 > >算法時間空間復雜度

算法時間空間復雜度

次數 其中 推導 就是 定義 們的 規模 數量級 函數

-定義:
  在進行算法分析時,語句總的執行次數T(n)是關於問題規模n的函數,進而分析T(n)隨n的變化情況並確定T(n)的數量級,算法的時間復雜度,也就是算法的時間量度,記作:T(n)=O(f(n))。它表示隨問題規模n的增大,算法執行時間的增長率和f(n)的增長率相同,稱作算法的漸進時間復雜度,簡稱時間復雜度。其中f(n)是問題規模n的某個函數。

  -這樣用O()來體現算法復雜度的記法,我們稱之為大O記法。

  -一般情況下,隨著輸入規模n的增大,T(n)增長最慢的算法為最優算法。

  -顯然,由此算法時間復雜度的定義可知,我們的三個求和算法的時間復雜度分別是O(1), O(n),O(n^2).

-推導大O階方法

  -用常數1取代運行時間中的所有加法常數。在修改後的運行次數函數中,只保留最高階項。如果最高階項存在且不是一,則去除與這個項相乘的常數。得到最後的結果就是大O階。

算法時間空間復雜度