微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

当打印出树中的所有节点时,递归或迭代是否更有效?

如何解决当打印出树中的所有节点时,递归或迭代是否更有效?

我有点困惑。 我看到很多人说递归效率较低,但是通过使用迭代方法,我是否不必在堆中分配堆栈,这会使程序变慢?

有想法吗?

解决方法

我看到很多人说递归效率较低

这完全取决于您在树大(深度更大)时如何处理基本情况。像我这样的人,并不认为递归效率较低这一事实,而是我总是发现递归将以某种方式(IN,PRE,POST,LEVEL)为您提供遍历树的更多功能(降低计算的风险)。

我不必在堆中分配堆栈

否。

因为要迭代地打印树,您可以使用数组或某些类似的概念来设计自己的堆栈状结构。

尽管某些语言将每个对象(考虑数组是一个对象)存储在堆内存中(例如-Java)。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。