要點(diǎn)
- 時(shí)間復(fù)雜度
- 空間復(fù)雜度
1.1 時(shí)間復(fù)雜度
- 代碼的執(zhí)行時(shí)間 T(n) 與每行代碼的執(zhí)行次數(shù) n 成正比。
- 大O表示法只關(guān)注n的最高階;也就是說:分析一個(gè)算法、一段代碼的時(shí)間復(fù)雜度的時(shí)候,也只關(guān)注循環(huán)執(zhí)行次數(shù)最多的那一段代碼就可以了
計(jì)算規(guī)則
- 只關(guān)注循環(huán)執(zhí)行次數(shù)最多的一段代碼
- 加法法則:總復(fù)雜度等于量級最大的那段代碼的復(fù)雜度
如果 T1(n)=O(f(n)),T2(n)=O(g(n));那么 T(n)=T1(n)+T2(n)=max(O(f(n)), O(g(n))) =O(max(f(n), g(n)))
- 加法法則:總復(fù)雜度等于量級最大的那段代碼的復(fù)雜度
- 乘法法則:嵌套代碼的復(fù)雜度等于嵌套內(nèi)外代碼復(fù)雜度的乘積
``
如果 T1(n)=O(f(n)),T2(n)=O(g(n));那么 T(n)=T1(n)T2(n)=O(f(n))O(g(n))=O(f(n)*g(n))
- 乘法法則:嵌套代碼的復(fù)雜度等于嵌套內(nèi)外代碼復(fù)雜度的乘積
最好情況時(shí)間復(fù)雜度:在最理想的情況下,執(zhí)行這段代碼的時(shí)間復(fù)雜度
最壞情況時(shí)間復(fù)雜度:在最糟糕的情況下,執(zhí)行這段代碼的時(shí)間復(fù)雜度
平均情況時(shí)間復(fù)雜度:
加權(quán)平均時(shí)間復(fù)雜度
均攤時(shí)間復(fù)雜度
``
1.2 空間復(fù)雜度
空間復(fù)雜度(Space Complexity)是對一個(gè)算法在運(yùn)行過程中臨時(shí)占用存儲空間大小的量度。