我目前正在学习数据结构和算法。我在二叉搜索树中有两种遍历方法。
(1) - 堆叠实施
(2) - 递归调用方法
哪一个表现明智更好?
答案 0 :(得分:1)
只要算法保持不变,性能也应该相同。在您的情况下:性能保持不变,因为在这两种情况下,都使用堆栈。
In,堆栈实现程序员显式维护堆栈以进行遍历。在递归调用方法中,程序内部调用堆栈用于遍历。
修改强>
那么运行时复杂度呢?
两种情况下的运行时间复杂度都相同。但执行时间可能因执行而异。由于没有提供代码/实现,"在一般意义上,递归可能需要更长的时间,因为
递归(天真地实现)涉及推动堆栈帧, 从堆栈中跳跃,返回和弹出。
有关详细信息,请查看以下链接: