![]() |
1
5
你的算法看起来不错,至少我想不出更好的了。注意,您不需要父指针;相反,您可以从根开始向下搜索树,并找到其键位于两个初始键之间的第一个节点。 然而,你的问题与塔扬解决的问题无关。首先,你考虑二叉树,他考虑n叉树,但这可能是一个细节。更重要的是,您考虑的是搜索树,而Tarjan考虑的是一般树(键上没有排序)。您的问题要简单得多,因为根据键的不同,您可以猜测树中的某个节点必须位于何处。 |
![]() |
2
1
但你的算法不好。 采取以下BST: 10 \ \ 15 / \ 14 16
因此,您可以编写一个算法,取左节点,然后转到其父节点并在其上按顺序运行,并检查右节点是否在按顺序的输出中 |
![]() |
3
1
|
![]() |
mourinho · Python中按顺序遍历树返回列表 6 年前 |
![]() |
Dongho Han · 用C语言中的二叉搜索树查找合计 6 年前 |
|
Richard Cooper · 使用递归的C++二叉搜索树 6 年前 |
![]() |
Pranshu · 无法删除二进制搜索树中的根节点 6 年前 |
![]() |
Vanshaj · 给定的数字序列是否有唯一的二进制搜索树? 7 年前 |
![]() |
M.Hamra · 如何编写递归函数来返回BST中的最小值? 7 年前 |
![]() |
Matt · 二进制搜索树遍历方法,以便字符串 7 年前 |
![]() |
I.Klein · 递归获取二叉搜索树的高度[闭合] 7 年前 |