我精神上坚持以下问题:我需要一种有效的算法来创建链中的可能跳跃。
“真实生活”screnario如下:您有一条带 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]
]
];
或者是否存在“已知”算法?