Я отслеживаю местоположения и их соединения с другими местоположениями.
Я сохраняю места в NSArray, в то время как каждое место представлено в виде словаря. Каждое место имеет словарь с атрибутами (locationName, Connections, широта, долгота), где Connections - это массив других мест, в которые это место подключено TO (не из). Я использую lat/lon и алгоритм Haversine для определения расстояния между двумя точками.алгоритм dijkstra на iOS
Далее, я хотел бы использовать короткий алгоритм пути Дейкстры, чтобы найти кратчайший путь между адресом источника и назначения (источника и назначения выбираются пользователем)
Это не для коммерческого использования и не требует для поддержки сотен или тысяч мест.
Я ищу некоторый объективный код C, который будет выполнять этот поиск.
Мы не будем писать код для вас, но если вы предоставите нам, что у вас есть, мы можем дать предложения. – SomeKittens
Я понимаю. Передача в параметрах source, destination и LocationArray Я хочу вернуть кратчайший путь (с точки зрения расстояния) между ними. Каждое соединение «одностороннее», A ----> B означает, что вы можете добраться до B от A, но не подразумевается, что вы можете получить от B до A, если явно не определено в словаре местоположения B. Я думаю, это может стать более запутанным, если я поделюсь своим текущим сломанным кодом. Эта часть (алгоритм dijkstra) нуждается в переписывании. – user1278974
Идите и делитесь им (плохой код не означает, что вы плохой программист, это просто означает, что вы учитесь). В Википедии есть отличный пример псевдокода. http://en.wikipedia.org/wiki/Dijkstra's_algorithm – SomeKittens