第二章 :查詢與排序-------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種排序演算法的對比分析排序演算法
- PostgreSQL 遞迴查詢SQL遞迴
- PostgreSQL=>遞迴查詢SQL遞迴
- SqlServer遞迴查詢SQLServer遞迴
- ORACLE 遞迴查詢Oracle遞迴
- Oracle SQL的遞迴查詢OracleSQL遞迴
- 【演算法拾遺】二分查詢遞迴非遞迴實現演算法遞迴
- SQL Server遞迴查詢SQLServer遞迴
- Oracle遞迴查詢sqlOracle遞迴SQL
- 一個遞迴查詢遞迴
- 遞迴查詢子元素遞迴
- 快速排序(遞迴及非遞迴演算法原始碼)排序遞迴演算法原始碼
- 氣泡排序、快速排序(遞迴&非遞迴)、堆排序演算法比較淺析排序遞迴演算法
- 二十一、氣泡排序演算法——JAVA實現(遞迴與非遞迴)排序演算法Java遞迴
- MS SQL Server的遞迴查詢SQLServer遞迴
- 演算法學習-遞迴排序演算法遞迴排序
- 第三章 :查詢與排序-------3.2你需要掌握的快速排序演算法排序演算法
- 演算法+資料結構=程式,今天就來說說遞迴+排序+查詢,再加上樹與圖演算法資料結構遞迴排序
- sql無限遞迴查詢SQL遞迴
- grep遞迴查詢子目錄遞迴
- sql遞迴查詢子級SQL遞迴
- 關於樹型結構資料遞迴查詢,轉非遞迴查詢的實現遞迴
- 快速排序【遞迴】【非遞迴】排序遞迴
- 我對Postgresql遞迴查詢的理解SQL遞迴
- MS SQL Server的遞迴查詢(2)SQLServer遞迴
- 第二章 :查詢與排序-------2.19題目詳解_找出最長連續遞增子序列排序
- oracle中的遞迴sql查詢 connect by prior實現遞迴Oracle遞迴SQL
- Python遞迴函式,二分查詢演算法Python遞迴函式演算法
- java-遞迴(檔案查詢)Java遞迴