Tree 在二叉树中从给定节点查找最近的叶节点

Tree 在二叉树中从给定节点查找最近的叶节点,tree,binary-tree,Tree,Binary Tree,给定具有根节点和特定节点的二叉树(不一定是二叉搜索树),如何找到离给定节点最近的叶节点 对于这个问题,是否有任何特定的算法或对现有算法的修改 这是一个非常典型的图遍历问题。您可以使用来遍历图形并找到到达目的地的最短路径 在这种情况下,我们使用Dijkstra而不是A,因为我们不知道我们的目的地是什么。如果你玩过星际争霸,这(几乎可以肯定)是他们用来让一个工人找到最近的矿藏或最近需要修理的车辆的 这是一个非常典型的图遍历问题。您可以使用来遍历图形并找到到达目的地的最短路径 在这种情况下,我们使用D

给定具有根节点和特定节点的二叉树(不一定是二叉搜索树),如何找到离给定节点最近的叶节点


对于这个问题,是否有任何特定的算法或对现有算法的修改

这是一个非常典型的图遍历问题。您可以使用来遍历图形并找到到达目的地的最短路径


在这种情况下,我们使用Dijkstra而不是A,因为我们不知道我们的目的地是什么。如果你玩过星际争霸,这(几乎可以肯定)是他们用来让一个工人找到最近的矿藏或最近需要修理的车辆的

这是一个非常典型的图遍历问题。您可以使用来遍历图形并找到到达目的地的最短路径


在这种情况下,我们使用Dijkstra而不是A,因为我们不知道我们的目的地是什么。如果你玩过星际争霸,这(几乎可以肯定)是他们用来让一个工人找到最近的矿藏或最近需要修理的车辆的

如果一个节点保持到其父节点的反向链接的假设为真,那么执行BFS就足够了。想法是首先到达感兴趣的节点,然后对其子链接和父链接执行BFS(然后每个父链接将对其子链接执行BFS,排除您已经访问的子链接和父链接)。您保持从感兴趣节点到叶的最小距离(MinDistance),并且不在距离>=MinDistance

的非叶节点上执行进一步的BFS遍历。如果节点保持到其父节点的反向链接的假设为真,则执行BFS就足够了。想法是首先到达感兴趣的节点,然后对其子链接和父链接执行BFS(然后每个父链接将对其子链接执行BFS,排除您已经访问的子链接和父链接)。您保持从感兴趣节点到叶的最小距离(MinDistance),并且不在距离>=MinDistance的非叶节点上进行进一步的BFS遍历检查此项。 其思想是按预先顺序遍历给定的树,并在数组中跟踪祖先。当我们到达给定的关键点时,我们计算以给定关键点为根的子树中最近的叶子的距离。我们还一个接一个地遍历所有祖先,并在与祖先同根的子树中找到最近的叶子的距离。我们比较所有距离并返回最小值。

检查此项。 其思想是按预先顺序遍历给定的树,并在数组中跟踪祖先。当我们到达给定的关键点时,我们计算以给定关键点为根的子树中最近的叶子的距离。我们还一个接一个地遍历所有祖先,并在与祖先同根的子树中找到最近的叶子的距离。我们比较所有距离并返回最小值。

可能重复的可能重复的