![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 129 Pomógł: 13 Dołączył: 29.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Piszę program, który wyznacza najkrótszą drogę do wszystkich miast za pomocą algorytmu najbliższego sąsiada. Mój problem polega na tym, że nie wiem w jaki sposób kazać algorytmowi ignorować już odwiedzone miasta. Program, który już napisałem działa poprawnie do momentu aż napotka miasto które odwiedził a następnie się zapętla z poprzednim miastem. Wiem że muszę odwiedzone miasta trzymać w tablicach i z nich pobierać dane ale nie umiem sobie poradzić kiedy dane są pobierane z tablic w pętli while. Próbowałem też usuwać indeksy ze wszystkich tablic gdzie występuje nazwa odwiedzonego miasta (podczas każdego przejścia pętli) ale nie wiem jak wyznaczyć i usunąć indeks z tablicy typu $tablica[0] = array{....};( indeksy przy tablicach są mi potrzebne do wyznaczania kolejnego miasta z którego mają być pobierane dane).
Poniżej kod: CODE
Odnośnie odpowiedzi to chciałbym się dowiedzieć czy jest możliwe usuwanie indeksów z wybranych tablic w takiej postaci jak są tutaj przedstawione, czy muszę całkowicie przerobić kod? Ewentualnie jakim warunkiem bądź funkcją mogę sprawdzić czy istnieje dany indeks w danej tablicy i wyświetlić numer indeksu. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Grafy to dość skomplikowany temat.
Tu masz fajny artykuł z tym co i jak. https://www.sitepoint.com/data-structures-4/ Ten post edytował Pyton_000 4.12.2016, 16:24:26 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 328 Pomógł: 3 Dołączył: 10.07.2016 Skąd: UK-raine Ostrzeżenie: (0%) ![]() ![]() |
Zrobiłbym to tak:
Ale ja jestem amator/newbie, czy usunięcie klucza wystarczy? Ten post edytował PHPRexio 4.12.2016, 18:28:13 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 129 Pomógł: 13 Dołączył: 29.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
chodzi o to żeby algorytm nie uznawał odwiedzonego miasta z najmniejszą odległością za miasto które musi odwiedzić. Jutro będę kombinował. Dzięki za pomoc i życzę udanego wieczoru (IMG:style_emoticons/default/wink.gif)
Witam. Przepraszam że tak późno odpisuję ale wyleciało mi z głowy że miałem dać znać co mi wyszło z tym algorytmem. Odnośnie mojego problemu to musiałem stworzyć dodatkową tablicę w której przetrzymywałem odwiedzone miasta i do której algorytm odwoływał się za każdym razem gdy wybierał kolejne miasto do odwiedzenia. Poniżej kod gotowego algorytmu.
Program działa poprawnie pod warunkiem że za miasto startowe nie wybierzemy pierwszego miasta z listy. Jeżeli miastem startowym w tym przypadku będzie Wrocław to algorytm weźmie kilka razy pod uwagę pierwszą tablicę. Wrzucam algorytm bo może komuś się przyda. Wydaje mi się że wystarczy usuwać tablice które zostały już odwiedzone ale nie jestem do końca pewien. phpamator dzięki za twoją pomoc, która rozwiązała mój problem ze sprawdzaniem czy dane miasto zostało odwiedzone. Temat do zamknięcia. Dziękuję (IMG:style_emoticons/default/smile.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 12:15 |