Algorithm 城市遍历算法

Algorithm 城市遍历算法,algorithm,city,Algorithm,City,这里我用简单的图表来解释这个问题。该问题由M个城市之间的道路数和N个城市总数组成。算法应该以最小的资源使用率,以所有可能的方式从A城市到C城市。(CPU和RAM)算法应该返回所有可能的替代方式或每个请求一个替代方式。不推荐使用递归方法,因为我们讨论的是数百万种替代方法。我有一个迭代方法解决方案,但我正在寻找更优化的方法 迭代解 可通过乘以城市间道路总数来计算备选道路总数 for n 0...T find_alternative(n, array_of_total_number_of_ro

这里我用简单的图表来解释这个问题。该问题由M个城市之间的道路数和N个城市总数组成。算法应该以最小的资源使用率,以所有可能的方式从A城市到C城市。(CPU和RAM)算法应该返回所有可能的替代方式或每个请求一个替代方式。不推荐使用递归方法,因为我们讨论的是数百万种替代方法。我有一个迭代方法解决方案,但我正在寻找更优化的方法

迭代解

可通过乘以城市间道路总数来计算备选道路总数

for n 0...T
    find_alternative(n, array_of_total_number_of_roads)
根据总道路数计算替代道路的索引数组。当计算一个二进制数时,我们总是使用相同的模数(2),但在我的例子中,我是使用路指数的总模数作为非静态模数来计算相应的指数

示例

find_alternative(0, [3,1,2]) -> 0,0,0
find_alternative(1, [3,1,2]) -> 0,0,1
find_alternative(2, [3,1,2]) -> 1,0,0
find_alternative(3, [3,1,2]) -> 1,0,1
find_alternative(4, [3,1,2]) -> 2,0,0
find_alternative(5, [3,1,2]) -> 2,0,1

所有的路径都是经过计算的,它是这样工作的,但我只是好奇也许存在更好的方法:)

Dijkstras算法听起来很合适。我不需要最短路径算法,因为所有路径的长度都是一样的:)