1. 程式人生 > >時間復雜度和大O表示法

時間復雜度和大O表示法

如果 com TE 函數 src 選擇 targe aik 需要

大O表示法:稱一個函數g(n)是O(f(n)),當且僅當存在常數c>0和n0>=1,對一切n>n0均有|g(n)|<=c|f(n)|成立,也稱函數g(n)以f(n)為界或者稱g(n)受限於f(n)。記作g(n)=O(f(n))。 定義:如果一個問題的規模是n,解這一問題的某一算法所需要的時間為T(n),它是n的某一函數。T(n)稱為這一算法的“時間復雜度”。當輸入量n逐漸加大時,時間復雜度的極限情形稱為算法的“漸近時間復雜度”。

一些常見的大O運行時間
?O(logn),也叫對數時間,這樣的算法包括二分查找。
?O(n),也叫線性時間,這樣的算法包括簡單查找。
?O(n*logn),這樣的算法包括第4章將介紹的快速排序——一種速度較快的排序算法。
?O(n2),這樣的算法包括第2章將介紹的選擇排序——一種速度較慢的排序算法。
?O(n!),這樣的算法包括接下來將介紹的旅行商問題的解決方案——一種非常慢的算法。

技術分享圖片

時間復雜度和大O表示法