我想使用MATLAB模拟算法。该算法旨在找到不同路径之间的最佳路径,以便用于路由。算法从特定节点(源)开始,然后移动到与源节点相邻的节点,依此类推,直到到达目的地。我有一个n乘n矩阵(n是节点数),它包含0和1,用于确定节点是否是另一个节点的邻居(如果两个节点是邻居,它将具有值1)。那么我如何创建从源到目的地的不同路径?
答案 0 :(得分:0)
这与数学的图论有关。你很熟悉吗?
我会说使用BFS的算法将是更简单的方法。在它的应用程序之间,您会发现“找到两个节点u和v之间的最短路径(路径长度由边缘数量测量)”。你可以在这里找到一些关于它的理论http://en.wikipedia.org/wiki/Breadth-first_search而且在伪代码中完成算法。
如果它对你的目的不太好,你可以转到最好的一个:Dijkstra的算法(http://en.wikipedia.org/wiki/Dijkstras_algorithm)。但我认为你不需要那些复杂的东西。
另外我想提醒一下,当你不得不做循环的东西时,Matlab不是最好的选择,因为它在某种程度上耗费时间。
我希望这会有所帮助。