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

image.png