目录
一.递归函数的条件
二.递归函数举例
三.递归函数实现的过程
四.递归函数的效率
一.递归函数
(1)递归函数的条件
在调用一个函数过程中又出现直接或者间接的调用该函数本身,成为函数的递归调用。
条件:
(a)函数直接或间接的调用函数本身
(b)要有退出条件
(c)问题规模不断地缩小
二.递归函数举例
(1)1+2+3+.......+n求和
int GetSum(int n) {
if (n == 1)
return 1;
return GetSum(n - 1) + n;
}
(2)斐波那契数列
int F(int n) { // 1 1 2 3 5 8 13
if (n == 1 || n == 2)
return 1;
return F(n - 1) + F(n - 2);
}
(3)二分折半查找
int BinarySearch0(int* arr, int begin_index, int end_index, int value) {
assert(begin_index <= end_index);
int midIndex = ((end_index - begin_index) >> 1) + begin_index;
if (begin_index &