2012-06-06 116 views
7

我正在跟踪位置及其与其他位置的连接。
我将位置保存在一个NSArray中,而每个位置都表示为一个字典。每个位置都有字典具有属性(locationName,Connections,纬度,经度),其中Connections是该位置连接到(不是)的其他位置的数组。我使用纬度/经度和Haversine算法来确定两点之间的距离。iOS上的dijkstra算法

接下来,我想用Dijkstra的最短路径算法来寻找源和目标位置之间的最短路径(源和目的地由用户选择)

这是不得用于商业用途,也不需要以支持数百或数千个位置。

我正在寻找一些将执行此搜索的目标C代码。

+4

我们不会编写代码给你,但如果你向我们提供你有什么,大家给点建议。 – SomeKittens

+0

我明白了。传入参数source,destination和LocationArray我想要返回它们之间的最短路径(就距离而言)。每个连接都是“单向”的,A ----> B意味着你可以从A到B,但并不隐含你可以从B到A得到,除非在B位置字典中明确定义。如果我分享我目前破损的代码,这可能会变得更加混乱。这部分(dijkstra的算法)需要重写。 – user1278974

+1

继续并分享它(错误的代码并不意味着你是一个糟糕的程序员,它只是意味着你正在学习)。维基百科有一个很好的伪代码示例。 http://en.wikipedia.org/wiki/Dijkstra's_algorithm – SomeKittens

回答

4

快速谷歌发现了一些Objective-C代码在snyderp/PESGraph它说

PESGraph为Foundation.kit一个简单的图形实现, 允许greating节点和路径的结构,然后再寻找 最短他们之间的路径。它包括单元测试,它也提供了一些如何使用代码的例子。

另外这个问题以前被问及SO theres-an-easy-way-to-apply-a-shortest-path-alghoritm-in-objective-c和解决方案指向我通过谷歌找到相同的git存储库。

+0

谢谢你的建议彼得。 – user1278974

+0

PESGraph回购没有包含示例代码。你是否设法最终实际使用它? – inigo333

0

无耻插件:mj-dijkstra 图形表示是NSDictionary或行为像字典的对象。