gpt4 book ai didi

c# - 是否有一种已知的算法可以找到每对之间距离相同的节点之间的最短距离?

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

换句话说,我想知道是否有一种已知的算法可以找到节点之间从一个节点到另一个节点的最少移动次数。例如,我可能有一棵树

A - B - C - D
\ / \
E - F - G

我想要从 A 开始的最短路径至 G .那将是 A->B->C->GA->E->F->F .

更具体地说,我有一个

var nodes = new List<Node> 

在哪里

class Node
{
// ... properties

List<Node> Neighbors;
}

并给出了一些 Node start, end;nodes我想找到从 start 开始的最短路径至 end .

我知道我可以使用 Djikstra 的距离算法 1在每个节点之间,但我认为对于这种情况有更好的方法吗?

最佳答案

BFS 遍历是解决这个问题最快的方法,因为它将在线性时间 O(m + n) 内解决问题。

BFS 是一种层序遍历,这意味着它逐层遍历节点:( 首先遍历距离为 1 条边的所有节点,并在遍历 2 条边的距离等等。)。

关于c# - 是否有一种已知的算法可以找到每对之间距离相同的节点之间的最短距离?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39694145/

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