1. 程式人生 > >數據結構之算法

數據結構之算法

ges 運行 復雜度 mage 步驟 得到 求解 size 增長率

算法

  算法——對特定問題求解步驟的描述

  特性: 輸入——有0個或多個輸入

      輸出——有1個或多個輸出

      有窮性

      確定性

      可行性

如何評價一個算法的好壞?

      正確的

      可讀性高

      時間效率高

      存儲空間小

算法時間復雜度

在進行算法分析時,語句總的執行次數T(n)是關於問題規模n的函數,進而分析T(n)隨n的變化情況並確定T(n)的數量級。算法的時間復雜度,也就是算法的時間量度,記作:T(n) = O(f(n))。

它表示隨問題規模n的增大,算法執行時間的增長率和f(n)的增長率相同,稱作算法的漸近時間復雜度,簡稱為時間復雜度

。其中f(n)是問題規模n的某個函數。

推導大O階方法

  1.

  用常數取代運行時間中的所有加法常數。

  2.

  在修改後的運行次數函數中,只保留最高階項。

  3.

  如果最高階項存在且不是,則去除與這個項相乘的常數。得到的結果就是大O階。

常見的時間復雜度如表:

      技術分享

技術分享

數據結構之算法