定義:演算法是用於解決特定問題的一系列的執行步驟
使用不同的演算法,解決同乙個問題,效率可能相差非常大,那麼我們應該如何評判乙個演算法的好壞呢?
如果單從執行效率上進行評估,可能會想到這麼一種方案:比較不同演算法對同一組輸入的執行處理時間,這種方案也叫作:事後統計法
但是上述方案有比較明顯的缺點:
我們一般使用大o表示法來描述時間複雜度,它表示的是資料規模n對應的複雜度,一般有如下特性:
可以借助函式生成工具對比複雜度的大小
函式生成工具
資料結構與演算法學習筆記之 複雜度分析
大家都知道資料結構和英語,就如同程式設計師的兩條腿一樣 只有不斷的積累,學習,擁有了健壯的 雙腿 才能越走越遠 在資料結構和演算法的領域,不得不承認自己就是乙隻菜鳥 需要不斷的學習 在學習過程中,經常會有一些自己的看法,和別人獨特的見解 我都會一一做好筆記,以便進步 1.資料結構和演算法解決是 如何...
資料結構與演算法學習筆記之 複雜度分析
大家都知道資料結構和英語,就如同程式設計師的兩條腿一樣 只有不斷的積累,學習,擁有了健壯的 雙腿 才能越走越遠 在資料結構和演算法的領域,不得不承認自己就是乙隻菜鳥 需要不斷的學習 在學習過程中,經常會有一些自己的看法,和別人獨特的見解 我都會一一做好筆記,以便進步 1.資料結構和演算法解決是 如何...
資料結構和演算法學習筆記(2) 演算法時間複雜度
系統執行次數就為時間。演算法的時間量度 語句總的執行次數t n 是關於問題規模n的函式,進而分析t n 隨n的變化情況並確定t n 的數量級。記作t n o f n 表示隨問題規模n的增大,演算法執行時間的增長率和f n 的增長率相同 這裡主要有三個方法 用常數1期待執行時間的所有加法常數 保留最高...