2013-04-17 35 views
0

我在思想上陷入了以下問題:我需要一個有效的算法來創建鏈路上可能的跳數。鏈路跳數的高效算法

「真實生活」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] 
    ] 
]; 

或者是否存在「已知」算法?

+0

http://stackoverflow.com/questions/9960908/permutations-in-javascript,http://codereview.stackexchange.com/questions/7001/better-way-生成所有組合 – Andreas

+0

謝謝,第二個鏈接包含一些對我的問題有用的提示,我將能夠從那裏去。 – lxg

回答