Śledzę lokalizacje i ich połączenia z innymi lokalizacjami.
Utrzymuję lokalizacje w NSArray, podczas gdy każda lokalizacja jest reprezentowana jako słownik. Każda lokalizacja ma słownik ma atrybuty (locationName, Połączenia, szerokość i długość geograficzna), gdzie Połączenia jest Tablicą innych lokalizacji, do których ta lokalizacja jest podłączona DO (nie z). Używam lat/lon i algorytmu Haversine do określenia odległości między dwoma punktami.Algorytm dijkstry na iOS
NEXT, chciałbym użyć algorytmu najkrótszej ścieżki Dijkstra, aby znaleźć najkrótszą ścieżkę między sąsiednich źródłowego i docelowego (źródłowego i docelowego są wybierane przez użytkownika)
ten nie jest przeznaczony do użytku komercyjnego i nie potrzebuje do obsługi setek lub tysięcy lokalizacji.
Szukam jakiegoś obiektywnego kodu C, który wykona to wyszukiwanie.
Nie będziemy pisać kod dla ciebie, ale jeśli nam, co masz, możemy dać sugestie. – SomeKittens
Rozumiem. Przechodząc przez parametry source, destination i LocationArray, chcę zwrócić najkrótszą ścieżkę (w zakresie odległości) między nimi. Każde połączenie jest "jednokierunkowe", A ----> B oznacza, że można dostać się do B z A, ale nie jest domniemane, że można uzyskać od B do A, o ile nie jest to wyraźnie określone w Słowniku lokalizacji B. Myślę, że to może się bardziej zagmatwać, jeśli podzielę się moim zepsutym kodem. Ta część (algorytm dijkstry) wymaga przepisania. – user1278974
Śmiało i udostępniaj go (zły kod nie oznacza, że jesteś złym programistą, to po prostu oznacza, że się uczysz). Wikipedia ma świetny przykład pseudokodu. http://en.wikipedia.org/wiki/Dijkstra's_algorithm – SomeKittens