开发者社区 问答 正文

二叉树的非递归遍历有什么优点

二叉树的非递归遍历有什么优点

展开
收起
知与谁同 2018-07-15 11:54:33 1536 分享 版权
1 条回答
写回答
取消 提交回答
  • 阿里云开发者社区运营负责人。原云栖社区负责人。

    递归和非递归只是解决问题的方法的不同,本质还是一样的。

    2. 递归算法相对于非递归算法来说效率通常都会更低

    2.1 递归算法会有更多的资源需要压栈和出栈操作(不仅仅是参数,还有函数地址等)

    2.2 由于编译器对附加的一些栈保护机制会导致递归执行的更加低效

    3. 使用循环代替递归算法,通常可以获得更好的执行效率和空间效率,在二叉树层次较深的情况下,采用非递归方式遍历能够有效的提升遍历的性能。

    2019-07-17 22:55:18
    赞同 1 展开评论
问答地址: