2012-06-06 22 views
7

पर डिजस्ट्रा का एल्गोरिदम मैं अन्य स्थानों पर स्थानों और उनके कनेक्शन को ट्रैक कर रहा हूं।
मैं एक एनएसएआरएआरई में स्थानों को रखता हूं जबकि प्रत्येक स्थान को एक शब्दकोश के रूप में दर्शाया जाता है। प्रत्येक स्थान में शब्दकोश में गुण (स्थाननाम, कनेक्शन, अक्षांश, देशांतर) है जहां कनेक्शन अन्य स्थानों का एक ऐरे है, यह स्थान कनेक्ट (से नहीं) है। मैं दो बिंदुओं के बीच की दूरी निर्धारित करने के लिए लेट/लॉन और हावरसिन एल्गोरिदम का उपयोग करता हूं।आईओएस

अगला, मैं डिज्कस्ट्रा का सबसे छोटा रास्ता एल्गोरिथ्म का उपयोग करने के एक स्रोत और गंतव्य स्थान के बीच सबसे कम पथ को खोजने के लिए चाहते हैं (स्रोत और गंतव्य उपयोगकर्ता द्वारा चुना जाता है)

यह वाणिज्यिक इस्तेमाल के लिए नहीं है और जरूरत नहीं है सैकड़ों या हजारों स्थानों का समर्थन करने के लिए।

मैं कुछ उद्देश्य सी कोड ढूंढ रहा हूं जो इस खोज को निष्पादित करेगा।

+4

हम आप के लिए अपने कोड नहीं लिख होगा, लेकिन अगर आप हमें आप क्या मिल गया है के साथ प्रदान करते हैं, हम सुझाव दे सकते हैं। – SomeKittens

+0

मैं समझता हूं। पैरामीटर स्रोत, गंतव्य और स्थान आरे में पास करना मैं उनके बीच सबसे छोटा रास्ता (दूरी के संदर्भ में) वापस करना चाहता हूं। प्रत्येक कनेक्शन 'एक तरफा' है, ए ----> बी का मतलब है कि आप ए से बी प्राप्त कर सकते हैं, लेकिन यह निहित नहीं है कि आप बी से ए तक प्राप्त कर सकते हैं जब तक कि बी स्थान शब्दकोश में स्पष्ट रूप से परिभाषित न हो। अगर मैं अपना वर्तमान टूटा हुआ कोड साझा करता हूं तो मुझे और अधिक भ्रमित हो सकता है। इस भाग (डिजस्ट्रा के एल्गोरिदम) को एक पुनर्लेख की आवश्यकता है। – user1278974

+1

आगे बढ़ें और इसे साझा करें (खराब कोड का मतलब यह नहीं है कि आप एक खराब प्रोग्रामर हैं, इसका मतलब है कि आप सीख रहे हैं)। विकिपीडिया में एक अच्छा छद्म कोड है। http://en.wikipedia.org/wiki/Dijkstra's_algorithm – SomeKittens

उत्तर

4

एक त्वरित गूगल snyderp/PESGraph जो कहते हैं

PESGraph Foundation.kit के लिए एक सरल ग्राफ कार्यान्वयन कि नोड्स और रास्तों में से संरचनाओं Greating, और फिर कम से कम खोजने के लिए अनुमति देता है पर कुछ उद्देश्य-सी कोड पाया उनके बीच पथ। इसमें इकाई परीक्षण शामिल हैं जो कोड का उपयोग करने के कुछ उदाहरण प्रदान करते हैं।

इसके अलावा इस सवाल को पहले SO theres-an-easy-way-to-apply-a-shortest-path-alghoritm-in-objective-c पर पूछा गया था और समाधान ने Google के माध्यम से उसी गिट भंडार की ओर इशारा किया था।

+0

सलाह पीटर के लिए धन्यवाद। – user1278974

+0

PESGraph repo के साथ कोई नमूना कोड शामिल नहीं है। क्या आप वास्तव में अंत में इसका उपयोग करने का प्रबंधन करते हैं? – inigo333

0

बेकार प्लग: mj-dijkstra एक ग्राफ प्रतिनिधित्व एक NSDictionary या एक वस्तु है जो एक शब्दकोश की तरह व्यवहार करता है।

1

मुझे अपना खुद का नमूना कोड लिखना पड़ा, क्योंकि मुझे कोई अच्छा और काम करने वाला उदाहरण नहीं मिला। आप इसे यहाँ देख सकते हैं:

https://github.com/aolszak/AOShortestPath