0

次の問題で頭がいっぱいです。チェーンに沿って可能なホップを作成するための効率的なアルゴリズムが必要です。

"実際の" シナリオは次のとおりです。 n 個の駅があるルートがあります。このルートにはさまざまなパターンの停留所が存在する可能性があります。たとえば、n=4のルートでは、駅 1、3、および 4 に停車地があります。

これは、ダイクストラや 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]
    ]
];

または、そのための「既知の」アルゴリズムはありますか?

4

1 に答える 1

0

パッケージ math_combinatoric があります: http://pear.php.net/package/Math_Combinatorics

于 2013-04-17T12:52:40.623 に答える