while循环和递归

这个问题是在数据结构的二叉树添加结点的时候碰见  添加新结点的时候可以用while循环自身解决(这里这个方式更好) 也可以用递归解决

 

递归就像小明去楼顶取东西 ,从一楼开始爬,看,不是的,继续爬,每层楼梯看上去都一样,单1到2,2到3的楼梯是两个楼梯,到了楼顶,取到东西,不能直接从楼上跳下来,还得从楼顶一层一层退回来

while循环就像驴子拉磨,无论跑多少次,都是在原地,变化的只是磨盘里磨的东西,而不是驴每圈所在的不同位置

 

优缺点比较

递归

优点:代码更简洁清晰,可读性更好。

缺点:由于递归需要系统堆栈,所以空间消耗要比非递归代码要大很多。而且,如果递归深度太大,可能系统撑不住。

循环

优点:速度快,结构简单

缺点:并不能解决所有的问题

使用范围比较

循环能干的事,递归都能干;递归能干的事,循环不一定能干。如果使用循环并不困难的话,最好使用循环。

转载于:https://www.cnblogs.com/jiangchengbiao/p/10386760.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值