数据结构与算法C语言版---递归

递归的定义

一个函数直接调用自己或者间接调用自己

递归必须满足的三个条件

递归必须要有一个终止的条件  
该函数处理数据的规模必须在递减
这个转化必须是可解的(数学上的问题)

递归和循环

递归:
    在处理大规模问题的时候容易理解
    速度慢
    占用很大的控件

循环:
    在处理大规模的问题不易理解
    速度快比递归快
    占用空间比递归少

什么时候用递归什么时候用循环

递归和循环的解题方法是两种完全不同的思路,如何把一个比较难的循环问题转换成递归实现是比较难的

至于在什么时候用递归什么时候用循环
可以参考一下 汉诺塔递归实现 汉诺塔循环实现 树用递归遍历 树用循环遍历
总结: 能用循环写出来的就用循环,循环很难实现的就使用递归。    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值