gpt4 book ai didi

algorithm - 有效地找到二叉搜索树中两个节点的最低公共(public)祖先

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:11:40 29 4
gpt4 key购买 nike

只是想知道以下算法在二叉搜索树中查找两个节点的最低公共(public)祖先的效率如何。

Node getLowestCommonAncestor (Node root, Node a, Node b) {

Find the in-order traversal of Node root.
Find temp1 = the in-order successor of Node a.
Find temp2 = the in-order successor of Node b.

return min (temp1, temp2);
}

最佳答案

在二叉搜索树中搜索最低公共(public)祖先比这更简单:观察 LCA 是对项目 A 和项目 B 的搜索第一次发生分歧的节点。

从根开始,同时查找A和B。只要两次搜索都将您带向同一方向,就继续搜索。一旦您到达节点,搜索 A 和 B 会将您带到不同的子树,您就知道当前节点是 LCA。

关于algorithm - 有效地找到二叉搜索树中两个节点的最低公共(public)祖先,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12552235/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com