Bir Algoritma Sorusu
-
Öncelikle merhabalar,
var test=[ {f:5,t:1}, {f:5,t:2}, {f:1,t:4}, {f:2,t:4}, {f:4,t:3} ];Şimdi şöyle bir dizim var diyelim. f ve t harfleri from ve to. Verilere bakıldığında 5 ten başlayıp 3 te biten iki zincir var.
5>1>4>3
5>2>4>3
Bu zincir kullanıcı tarafından otomatik oluşturuluyor. Daha da uzun olabilir. Diziden bu zinciri çekmek için nasıl bir yöntem izlenebilir?
-
javascripte istedigin icin hizlica notepad de yazmaya calistim biraz amalece olmus olabilir ama boyle :
<script> var test=[ {f:5,t:1}, {f:5,t:2}, {f:1,t:4}, {f:2,t:4}, {f:4,t:3} ]; fon(5,'') function fon(cIndex,indexHistory) { NotEnd = 0 var i = 0; for(i = 0; i < test.length;i++) { if(test[i].f == cIndex) { //console.log(test[i].t); fon(test[i].t,indexHistory + test[i].f +'>') NotEnd = 1 } } if(NotEnd == 0) console.log(indexHistory + cIndex) return; } </script>
undefined-01 tarafından 09/Şub/16 00:28 tarihinde düzenlenmiştir -
@rakkoc'un yaptığını dene eğer çalışmazsa
dijkstra algorithm diye bi arat istersen yada path algorithm.
yoğun olmasam bakardım, eğlenceli bişeye benziyor.
edit:
dijkstra bu yolların en kısa mesafeden nasıl gidileceğinden bahseder genel olarak, en kısayı bulmak için muhtemelen tüm olasılıkları deneyecektir. buda istediğimiz şey zaten.
iQsuz tarafından 09/Şub/16 01:03 tarihinde düzenlenmiştir -
Recep abinin çözümü işimi gördü. İhtiyaçlarıma göre düzenleyebilirim bunu. Ufkumu açtıgı için teşekkürler :)
