我现在正在学习数据结构和算法。
我的讲义有一个使用递归方法实现的二叉搜索树的实现。这是一种优雅的方式,但我的问题是在现实生活中的代码中,我是否应该递归地实现二叉搜索树,如果树的高度/深度数很大,它是否会生成大量调用堆栈。
我知道递归是理解许多数据结构概念的关键概念,但你会选择在现实生活中使用递归吗?
最佳答案
树本质上是递归的。树的每个节点代表一个子树,每个音符的每个子节点代表该子树的一个子树,因此递归是最好的选择,尤其是在其他人可能需要编辑和维护您的代码的实践中。
现在,IF 深度成为您的调用堆栈的问题,而不是我担心您的数据结构存在更深层次的问题(要么非常庞大,要么非常不平衡)
关于recursion - 迭代还是递归来实现二叉搜索树?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11436154/