1. 程式人生 > >常見演算法時間複雜度表

常見演算法時間複雜度表

常見的數量級大小:O(1)<O(logn)<O(n)<O(nlogn)<O(n2)<O(n3)<O(2n)<O(n!)

數量級 能承受的大致規模 常見演算法
O(1) 任意 直接輸出結果
O(logn) 任意 二分查詢、快速冪
O(n) 以百萬計(五六百萬) 貪心演算法、掃描和遍歷
O(nlogn) 以十萬計(三四十萬) 帶有分治思想的演算法,如二分法
O(n2) 以千計數(兩千) 列舉、動態規劃
O(n3) 不到兩百 動態規劃
O(2n) 24 搜尋
O(n!) 10 產生全排列
O(nn) 8 暴力法破解密碼

O(1)叫常數時間;O(n)、O(n2)、O(n3)、O(n4)……叫做多項式時間;O(2n)、O(3n)……叫做指數時間。