什么是時間復雜度
時間復雜度:
算法的時間復雜度是一個函數,它定量的描述了該算法的運行時間.
最壞時間復雜度:
相同大小的不同輸入值可能造成算法的運行時間不同,因此我們通常使用算法的最壞復雜度,記做T(n),即任何大小 n所需的最大運行時間
舉例來說,有著T(n)=O(n)的算法被稱作線性時間算法,而 T(n) = O(M^n) 和 M^n= O(T(n)) 的算法被稱作指數時間算法
由于計算機使用二進制的記數系統,對數常常以2為底(即log2
n,有時寫作lg n)
常數時間:O(n)
對數時間:O(log(n)), 二分搜索
線性對數時間:O(nlog(n)), 最快的比較排序
二次時間: O(n^2), 冒泡排序、插入排序
常見排序算法的時間復雜度:
image.png