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

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

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

优缺点比较

递归

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

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

循环

优点:速度快,结构简单

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

使用范围比较

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

最新文章

  1. 【JUC】JDK1.8源码分析之ArrayBlockingQueue(三)
  2. composer快速入门
  3. java的多线程总结
  4. Android ANR分析(三)
  5. Win7 64位 VS2013环境编译boost1_58_0
  6. VS 2008 创建MFC程序对话框的步骤
  7. Qt 5.4 OpenCV 2.4.11 Win 32 Configuration
  8. 用VS2010编C#程序扫盲
  9. 模块shimgvw.dll已加载,但找不到入口点DllRegisterServer
  10. Python [Leetcode 345]Reverse Vowels of a String
  11. 【原】Storm分布式RPC
  12. web2.0最全的国外API应用集合
  13. Unit Test Via Visual Studio
  14. 格式化格林威治时间(Wed Aug 01 00:00:00 CST 2012)
  15. textarea高度自适应,随着内容增加高度增加
  16. kali权限提升之配置不当提权与WCE
  17. 2星|《重新定义物流》:形式像PPT,内容像公关稿
  18. springboot 02-PropertiesFile 自定义配置属性,多环境配置
  19. Jemter 压测基础(一)——基本概念、JMeter安装使用、分布式测试、导出测试结果、编写测试报告
  20. 【算法和数据结构】_15_小算法_打印EOF的值

热门文章

  1. SharePoint 2013 Excel Services ECMAScript 示例之明日限行
  2. 内存管理 - MEMORY POOL
  3. AIDL
  4. java中Thread的 interrupt异常处理
  5. iOS开发-UIScrollView原理
  6. Django Models的数据类型
  7. Delphi下使用OpenOffice+JodConverter+SWFtools进行文件转换
  8. PS CS5如何在一张图片里插入另一张图片?
  9. Android手机修改Hosts的方法
  10. myeclipse 8.5-10.0 安装 svn 方法(转)
  11. 利用PN532读取二代证UID
  12. 入坑IT都快十年了
  13. bit 和 byte
  14. IaaS,PaaS和SaaS
  15. 简单的新手加法运算(基于Struts2)
  16. 【BZOJ2229】【ZJOI2011】最小割
  17. js中表达式 >>> 0 浅析 (以及用php简单翻译)
  18. github多人协同使用。
  19. web项目中的路径问题
  20. Android开发小问题解决汇总