Estoy rastreando ubicaciones y sus conexiones a otras ubicaciones.
Guardo ubicaciones en un NSArray mientras cada ubicación se representa como un diccionario. Cada ubicación que tiene Dictionary tiene los atributos (locationName, Connections, latitude, longitude) donde Connections es una matriz de otras ubicaciones a las que esta ubicación está conectada TO (no desde). Uso lat/lon y un algoritmo de Haversine para determinar la distancia entre dos puntos.Algoritmo de dijkstra en iOS
siguiente, me gustaría usar el algoritmo del camino más corto de Dijkstra para encontrar el camino más corto entre una ubicación de origen y destino (origen y destino son seleccionados por el usuario)
Esto no es para uso comercial y no necesita para admitir cientos o miles de ubicaciones.
Estoy buscando algún código C objetivo que realice esta búsqueda.
No vamos a escribir el código para usted, pero si usted nos proporciona con lo que tienes, que puede dar sugerencias. – SomeKittens
Entiendo. Al pasar los parámetros fuente, destino y LocationArray, quiero devolver la ruta más corta (en términos de distancia) entre ellos. Cada conexión es 'unidireccional', A ----> B significa que puede llegar a B desde A, pero no está implícito que puede obtener de B a A a menos que esté explícitamente definido en el Diccionario de ubicación B. Creo que esto puede ser más confuso si comparto mi código roto actual. Esta parte (el algoritmo de dijkstra) necesita una reescritura. – user1278974
Adelante y compártelo (un código incorrecto no significa que eres un mal programador, solo significa que estás aprendiendo). Wikipedia tiene un gran ejemplo de pseudocódigo. http://en.wikipedia.org/wiki/Dijkstra's_algorithm – SomeKittens