1.遞迴
直接或間接地呼叫自身的演算法稱為遞迴演算法。用函式自身給出定義的函式稱為遞迴函式。
1)階乘函式
#include
using namespace std;
int main()
int factorial(int n)
2)fibonacci數列
#include
using namespace std;
int main()
/****factorial function*****/
/*int factorial(int n)
*//**********fibonacci function*************/
int fibonacci(int n)
3).ackerman函式
當乙個函式及它的變數由函式本身定義時,成這個函式是雙遞迴函式。
long ackerman(int n, int m)
遞迴與分治策略
1 全排列問題 設r n 是要進行排列的n個元素。集合x中元素的全排列記為perm x 求r n 的全排列perm r n 用遞迴演算法求解 1 找出遞迴子結構性質 即原問題的解包含了子問題的解,且子問題的描述與原問題相同。這就可以用子問題的解來構造原問題的解。設r i r n 這是乙個子問題。設 ...
分治策略與遞迴
先看 資料結構與演算法分析 中對分治策略的解釋 把問題分成兩個大致相等的子問題,然後再遞迴地對他們進行求解,這是 分 治 階段將兩個子問題的解合併到一起並可能再做些少量的附加工作,最後得到整個問題的解。由定義可以看出,分治需要進行兩步操作 分 將問題恰當的劃分為需要迭代處理的兩個子問題,治 將兩個子...
遞迴與分治策略
輸出最長公共子串 lcs 二維陣列veca記錄的是兩個字串xi和yj的lcs長度 int lcs length const string str1,const string str2,vector veca,vector vecb for j 0 j str2.length j for i 1 i ...