Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Najkrótszą trasa przejazdu, Skrypt komiwojażera
Michauuu
post 13.06.2010, 12:48:06
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 13.06.2010

Ostrzeżenie: (0%)
-----


Cześć wszystkim,
Muszę napisać w php skrypt, który będzie wyznaczał najkrótszą trasę między miastem startowym a końcowym. W moim przypadku program nie musi zwracać uwagi na warunki jezdne, po prostu najkrótsza trasa przejazdu.
Z danych wejściowych mam 49 miast. Program powinien też się wykonywać w jakimś przyzwoitym czasie ([49 – 2]! kombinacji).

Myślałem o zdeklarowaniu tablicy dwuwymiarowej przechowywującej informację, z jakimi innymi miastami miasto ma bezpośrednie połączenie drogowe i jak długa jest trasa pomiędzy tymi miastami.
  1. $tablica[1][2] = 100; /* pomiędzy miastem 1 i 2 występuje połączenie drogowe mające 100 km */
  2. $tablica[1][3] = null; /* pomiędzy miastem 1 i 2 nie ma połączenia */

Tak miałby wyglądać zapis danych, ale co do samego programu nie mam pojęcia jak go wykonać. Nie widzi mi się sprawdzanie każdej kombinacji i zapamiętywanie sumy, z drugiej strony algorytm najbliższego sąsiada mógłby tylko wydłużyć trasę.

Moglibyście podsunąć mi jakieś rozwiązanie.
B. Dzięki smile.gif
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
set4812
post 13.06.2010, 12:54:13
Post #2





Grupa: Zarejestrowani
Postów: 150
Pomógł: 3
Dołączył: 13.04.2010

Ostrzeżenie: (0%)
-----


jezeli masz dane co do miast to w tablicy powinno wygloadac tak tab[i][j]- gdzie i to miasto 1 a j inne miasta porównywane w skrócie zmieniasz tylko wartosć j jezeli chcesz odnalezc najblizsze miasto
Go to the top of the page
+Quote Post
kartin
post 13.06.2010, 13:09:59
Post #3





Grupa: Zarejestrowani
Postów: 246
Pomógł: 79
Dołączył: 25.05.2010

Ostrzeżenie: (0%)
-----


Użyj któregoś z algorytmów poszukiwania najkrótszej ścieżki np. Algorytm Dijkstry


--------------------
Jeśli ten post pomógł to kliknij przycisk po lewej stronie.
Nie pomagam przez PW, GG, e-mail, faks, telegram, znaki dymne, ...
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 15:36