Dijkstra算法迭代相关函数的问题

2视图(30天)
所以,我使用一个函数,类似迪杰斯特拉最短路径计算的有关某一矩阵。我得到的输出变量之一是一个数组与以前的顶点的最短路径。
例如,从第一个节点开始:以前= [0 1 1 3 6 3]。成为第一个指数前一节点到达节点1,0的节点本身。第二个指数,前面的节点到达节点两个,节点1。
结果我在寻找所需要的路径到达每个节点。这样的:节点2 - >[1 - 2],节点3 - > 3[1],节点4[1 3 4],节点5[1 3 6 5]和节点6 [1 3 - 6]。
得到这个结果,我看,现在唯一的办法是让每个先前的索引路径,然后看到指数的值。我需要使用功能”找到()”但是因为一些索引相同的数字我不能这样做。
其他的解决方案吗?

接受的答案

史蒂文的主
史蒂文的主 2016年12月12日
考虑使用 shortestpathtree方法 有向图 对象。指定“方法”是“积极的”创建树使用迪杰斯特拉算法,要求所有边的权值是负的。”
2的评论
克里斯汀Tobler
克里斯汀Tobler 2016年12月13日
该方法 shortestpathtree 选择对你描述计算向量,或一个细胞数组包含路径你试图检索。你可以看看的MATLAB代码如何被翻译,使用 编辑shortestpathtree 。看到子功能 constructTree

登录置评。

更多的答案(0)

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!