第二章 :查詢與排序-------2.13_三種典型遞迴形式演算法的效能分析
三種典型遞迴形式演算法的效能分析:
1、求n的階乘:
int f(int n){
if(n==1){
return 1;
}
return n*f(n-1);
}
①、子問題的規模下降
②、處理子問題消耗的時間
寫出下式:
T(n)=T(n-1)+O(1)
得出:求階乘的時間複雜度: N個O(1)=> O(N)。
2、列印i到j:
void print(int i,int j){
if(i>j) return;
cout<<i<<" ";
print(i+1,j);
}
T=O(j-i) => O(n)
3、求和:
O(n)
4、翻轉字串:
O(n)
5、斐波那契:
T(n)=T(n-1)+T(n-2)+O(1)=2T(n-1)+O(1) -> 若是3,則3^n
故時間複雜度: T(2^n) 。
6、最大公約數:
m>n, m%n<m/2;
n每兩次,折半。 => 2lg(n)
/* 削減1/3 => 2log3(n)
故時間複雜度: O(lg(n))
相關文章
- 第二章 :查詢與排序-------遞迴形式進行插入排序排序遞迴
- 第二章 :查詢與排序---------遞迴、查詢與排序補充排序遞迴
- 第二章 :查詢與排序-------二分查詢的遞迴解法排序遞迴
- 第二章 :查詢與排序-------2.15 分析10種排序演算法的穩定性排序演算法
- iOS 演算法之排序、查詢、遞迴iOS演算法排序遞迴
- 二分查詢的兩種實現形式遞迴和迭代遞迴
- 第二章 :查詢與排序-------遞迴經典問題——漢諾塔問題排序遞迴
- 第二章 :查詢與排序-------2.16 解題實戰_小白上樓梯(遞迴設計)排序遞迴
- 第二章 :查詢與排序-------希爾排序排序
- 第三章:查詢與排序(下)----------- 3.22 總結:10種排序演算法的對比分析排序演算法
- SqlServer遞迴查詢SQLServer遞迴
- PostgreSQL 遞迴查詢SQL遞迴
- sqlalchemy 遞迴查詢SQL遞迴
- 遞迴查詢子元素遞迴
- 第二章 :查詢與排序-------2.19題目詳解_找出最長連續遞增子序列排序
- 第三章 :查詢與排序-------3.2你需要掌握的快速排序演算法排序演算法
- 快速排序(遞迴及非遞迴演算法原始碼)排序遞迴演算法原始碼
- 二十一、氣泡排序演算法——JAVA實現(遞迴與非遞迴)排序演算法Java遞迴
- 演算法+資料結構=程式,今天就來說說遞迴+排序+查詢,再加上樹與圖演算法資料結構遞迴排序
- Python遞迴函式,二分查詢演算法Python遞迴函式演算法
- 快速排序【遞迴】【非遞迴】排序遞迴
- elasticsearch查詢之三種fetch id的方案分析Elasticsearch
- SQL server資料庫with as子句與遞迴查詢的實現SQLServer資料庫遞迴
- java-遞迴(檔案查詢)Java遞迴
- 第三章:查詢與排序(下)----------- 3.20桶排序排序
- 揹包問題的遞迴與非遞迴演算法遞迴演算法
- 結構與演算法(04):排序規則與查詢演算法演算法排序
- 演算法小專欄:遞迴與尾遞迴演算法遞迴
- oracle之樹狀結構的儲存與展示(遞迴查詢)Oracle遞迴
- 第三章:查詢與排序(下)----------- 3.19 計數排序排序
- 第三章:查詢與排序(下)----------- 3.21基數排序排序
- 第二章 :查詢與排序-------2.18題目講解_在有空字串中的有序字串陣列中查詢排序字串陣列
- 遞迴-*快速排序遞迴排序
- 第二章 :查詢與排序-------2.20實戰_快速設計一個高效的求n次冪的演算法排序演算法
- 遞迴-M--二分查詢遞迴
- 遞迴樹形查詢所有分類遞迴
- 三、遞迴樹分析法遞迴
- 第二章 :查詢與排序-------2.10常見函式的複雜度計算排序函式複雜度