我在精神上陷入了以下问题:我需要一种有效的算法来沿着链创建可能的跃点。
“现实生活”情景如下:您有一条包含n个站点的路线。在这条路线上可以有不同的停靠模式,例如在n=4的路线上,在车站 1、3 和 4 有停靠点。
我认为这对于 Dijkstra 或 A* 等经典路由算法来说不算什么,但我非常肯定这很容易解决……但最有效的方法是什么?
创建这些集合的有效算法是什么?生成的行如下所示:
var sets = [
stationCount2: [
[0, 1]
],
stationCount3: [
[0, 2],
[0, 1, 2]
],
stationCount4: [
[0, 3],
[0, 1, 3],
[0, 2, 3],
[0, 1, 2, 3]
],
stationCount5: [
[0, 4],
[0, 1, 4],
[0, 2, 4],
[0, 3, 4],
[0, 1, 2, 4],
[0, 1, 3, 4],
[0, 2, 3, 4],
[0, 1, 2, 3, 4]
]
];
或者有一个“已知”的算法吗?