Matlab函数:distances

所有节点对组的最短路径距离

语法


d = distances(G)

d = distances(G,s)

d = distances(G,s,t)

d = distances(___,'Method',algorithm)

说明


d = distances(G) 返回矩阵 d,其中 d(i,j) 是节点 i 和节点 j 之间的最短路径的长度。如果图进行了加权(即 G.Edges 包含变量 Weight),则这些权重用作沿图中各边的距离。否则,所有边距离都视为 1

d = distances(G,s) 将源节点限制为由 s 定义的节点,这样 d(i,j) 就是从节点 s(i) 到节点 j 的距离。

d = distances(G,s,t) 还将目标节点限制为由 t 定义的节点,这样 d(i,j) 就是从节点 s(i) 到节点 t(j) 的距离。

d = distances(___,'Method',algorithm) 可以使用上述语法中的任何输入参数指定在计算最短路径时使用的算法。例如,如果 G 是加权图,则 distances(G,'Method','unweighted') 将忽略 G 中的边权重,而将所有边权重视为 1

提示


  • shortestpathshortestpathtree 和 distances 函数不支持具有负边权重的无向图,或更通俗地说,不支持包含负循环的任何图,原因如下:

    • 负循环是从节点出发回到自身的路径,路径上的边权重之和为负值。如果两个节点之间的路径上具有负循环,则这两个节点之间不存在最短路径,因为始终可以通过遍历负循环找到更短路径。

    • 无向图中的单个负边权重会创建一个负循环。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值