递归学习小结

众所周知,递归思想在许多算法里尤为重要,尤其是遍历和搜索里,所以总结下:
递归算法的实质是:
把求解问题转化为规模缩小了的同类问题的子问题,然后递归调用函数(或子过程)来表示问题的解,通过多次递归调用,最终可求出最小问题的解,然后通过这个最小问题的解返回上层调用,再求出次小问题的解,再返回上层调用,不断重复,最终得到整个问题的解,完成递归操作。
注意点:
1、使用递归时,必须有一个明确的递归结束条件,称为递归出口
2、递归效率较低,容易堆栈溢出我们通过几个例题来详细了解下递归的思想。
在此列出一例题
求阶乘(子函数递归)
#include
int print(int x)
{
if(x<=1)
return 1;
else
return x*print(x-1);
}
int main()
{
int i,n;
printf(“请输入要求阶乘的一个整除:”);
scanf("%d",&n);
printf(“结果为:%d\n”,print(n));
return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值