Şu anda tüm düğümleri ziyaret etme ve düğümü başlatmak için tüm olası kombinasyonları çıkaran küçük bir sorun üzerinde çalışıyorum.Belirli düğümler verilen tüm olası yollar, başlangıç düğümüne dön
I ["a", "b", "c"]
bütün muhtemel yolları olan bir dizi üç düğümden
pairs = [ [ 'a', 'b' ],
[ 'a', 'c' ],
[ 'b', 'a' ],
[ 'b', 'c' ],
[ 'c', 'a' ],
[ 'c', 'b' ] ];
yolları oluşturmak için My fonksiyonu (__
çizgi kitaplığı için) olan
routesRecursive = function(pairs, currentNode, origin, result) {
__.each(pairs, function(pair) {
if (currentNode === __.first(pair)) {
var currentRoute = pair;
var nextNode = __.last(currentRoute);
if (nextNode === origin) {
result.push(pair);
} else {
result.push(currentRoute);
routesRecursive(__.without(pairs, currentRoute), nextNode, origin, result);
}
}
});
return result;
}
routesRecursive(pairs, "a", "a", [])
İstenen çıkış olacaktır:
[
[["a", "b"], ["b", "a"]],
[["a", "b"], ["b", "c"], ["c", "a"]],
[["a", "b"], ["b", "c"], ["c", "b"], ["b", "a"]],
[["a", "c"], ["c", "a"]],
[["a", "c"], ["c", "b"], ["b", "a"]],
[["a", "c"], ["c", "b"], ["b", "c"], ["c", "a"]]
]
Fonksiyonum istenilen sonucu üretebiliyor gibi görünmüyor, herhangi bir öneri var mı?
Teşekkürler!
bir düğüm diğer düğümlere sıfır ya da daha fazla bağlantı vardır. "A", "b" ve "c" türlerinde hangi bağlantılar var? – Ben
@BenAston geri kalanı için bağlantıları var, bu yüzden 'pairs' değişken – lusketeer