Matlab函数:graphallshortestpaths

(删除)在图中找到所有最短路径

graphallshortestpaths已被删除。用distances代替。

语法


[dist] = graphallshortestpaths(G)
[dist] = graphallshortestpaths(G, ...'Directed', DirectedValue, ...)
[dist] = graphallshortestpaths(G, ...'Weights', WeightsValue, ...)

参数


G表示图的n × n邻接矩阵。矩阵G中的非零项表示边的权重。
DirectedValue属性,指示图形是有向的还是无向的。为无向图输入false。这导致矩阵的上三角形被忽略。默认为true。
WeightsValue为矩阵G中的边指定自定义权值的列向量。对于矩阵G中的每个非零值(边),它必须有一个条目。当按列遍历矩阵G时,向量中自定义权值的顺序必须与矩阵G中非零值的顺序匹配。此属性允许您使用零值权重。默认情况下,graphallshortestpaths从矩阵G中的非零项获取权重信息。

描述


[dist] = graphallshortestpaths(G)

使用约翰逊算法,找出矩阵G表示的图中每对节点之间的最短路径。输入G是一个表示图的n × n邻接矩阵。矩阵G中的非零项表示边的权重。

输出dist是一个n × n矩阵,其中dist(S,T)是源节点S到目标节点T的最短路径的距离。该矩阵对角线上的元素总是0,表示源节点和目标节点是相同的。如果0不在对角线上,则表示源节点到目标节点的距离为0。Inf表示源节点和目标节点之间没有路径。

Johnson算法的时间复杂度为O(N*log(N)+N*E),其中N为节点数,E为边数。

[...] = graphallshortestpaths (G, 'PropertyName', PropertyValue, ...) 

使用使用属性名称/属性值对的可选属性调用graphallshortestpaths。您可以以任何顺序指定一个或多个属性。每个PropertyName必须用单引号括起来,不区分大小写。这些属性名/属性值对如下:

[dist] = graphallshortestpaths(G, ...'Directed', DirectedValue, ...)

表示图形是有向的还是无向的。对于无向图,将DirectedValue设置为false。这导致矩阵的上三角形被忽略。默认为true。

[dist] = graphallshortestpaths(G, ...'Weights', WeightsValue, ...)

允许您为边指定自定义权重。WeightsValue是一个列向量,对于矩阵G中的每个非零值(边)都有一个条目。当按列遍历矩阵G时,向量中自定义权重的顺序必须与矩阵G中非零值的顺序匹配。此属性允许您使用零值权重。默认情况下,graphallshortestpaths从矩阵G中的非零项获取权重信息。

参考文献


[1] Johnson, D.B. (1977). Efficient algorithms for shortest paths in sparse networks. Journal of the ACM 24(1), 1-13.

[2] Siek, J.G., Lee, L-Q, and Lumsdaine, A. (2002). The Boost Graph Library User Guide and Reference Manual, (Upper Saddle River, NJ:Pearson Education).

版本历史


在R2006b中引入

R2022b:删除

graphallshortestpaths已被删除。用distances代替。

R2022a:警告

graphallshortestpaths发出警告,它将在未来的版本中被删除。

R2021b:待移除

graphallshortestpaths运行时没有警告,但它将在未来的版本中被删除。

R2021b:支持完整矩阵

除了稀疏矩阵之外,该函数现在还支持完整矩阵。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值