recursion - 迭代还是递归来实现二叉搜索树?

标签 recursion iteration binary-tree

我现在正在学习数据结构和算法。

我的讲义有一个使用递归方法实现的二叉搜索树的实现。这是一种优雅的方式,但我的问题是在现实生活中的代码中,我是否应该递归地实现二叉搜索树,如果树的高度/深度数很大,它是否会生成大量调用堆栈。

我知道递归是理解许多数据结构概念的关键概念,但你会选择在现实生活中使用递归吗?

最佳答案

树本质上是递归的。树的每个节点代表一个子树,每个音符的每个子节点代表该子树的一个子树,因此递归是最好的选择,尤其是在其他人可能需要编辑和维护您的代码的实践中。

现在,IF 深度成为您的调用堆栈的问题,而不是我担心您的数据结构存在更深层次的问题(要么非常庞大,要么非常不平衡)

关于recursion - 迭代还是递归来实现二叉搜索树?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11436154/

相关文章:

c++ - 如何在 C++ 中为元编程模板编写最后的递归

c - 递归删除树的所有节点

c++ - 尝试遍历 C++ 中的对象指针队列

python - 你如何在 Python 中递归调用构造函数 (__init__)?

java - 如何列出在 Floyd-Warshall 算法中传递的顶点

jquery - 使用 JQuery 迭代 Json 集合迭代数据字符串的字符

C++推前迭代

java - 如何使用显式链接(使用三重链接数据结构)实现优先级队列?

java - 二叉搜索树 : Recursive toString

haskell - 平衡二叉树的索引函数