इतने सारे कार्यान्वयन उपलब्ध होने के साथ, सबसे तेज़ निष्पादन (कम से कम सीपीयू गहन, सबसे छोटी बाइनरी), क्रॉस-प्लेटफार्म (लिनक्स, मैक, विंडोज़, आईफोन) ए * एक छोटे ग्रिड का उपयोग कर सी ++ के लिए कार्यान्वयन क्या है?सबसे तेज़ क्रॉस-प्लेटफार्म ए * कार्यान्वयन?
क्रियान्वयन
गूगल रिटर्न:
- http://www.heyes-jones.com/astar.html (उस साइट पर सबसे लिंक मर चुके हैं।)
- http://www.grinninglizard.com/MicroPather (ने कहा 'Heyes-जोन्स की तुलना में धीमी होने के लिए।)
- http://www.ceng.metu.edu.tr/~cuneyt/codes.html (जेनेरिक सी ++ कोड।)
- http://swampthingtom.blogspot.com/2007/07/pathfinding-sample-using.html
- http://opensteer.sourceforge.net/ (खेल के लिए, ए * नहीं दिलचस्प।)
- Stack Overflow on Dijkstra's Algorithm
किसी भी दूसरों?
व्हील
सवाल है, के रूप में पूछा, (एक खेल में प्लग) का पुन: उपयोग से संबंधित है, नहीं पुनर्खोज (जब तक प्रदर्शन एक मुद्दा होना दिखाया गया है कम से कम नहीं)। यह पता चला है कि एक डिजस्ट्रा कार्यान्वयन (या सामान्य पथदर्शी एल्गोरिदम) बेहतर अनुकूल है, या सबसे तेज़ कार्यान्वयन पर्याप्त तेज़ नहीं हैं। मैं वैकल्पिक एल्गोरिदम के सुझावों की सराहना करता हूं, हालांकि सवाल यह नहीं है, "क्या मुझे अपना ए * रोल करना चाहिए?"
- Joel on Software - Not Invented Here Syndrome
- Coding Horror: Don't Reinvent the Wheel
- Overcoming the "Not Invented Here Syndrome"
को अनुकूलित करने के लिए हेरिस्टिक बहुत महत्वपूर्ण है यदि आप हेडर-केवल पुस्तकालयों का उपयोग करते हैं तो आपको बूस्ट बनाने की आवश्यकता नहीं है। बूस्ट.ग्राफ हेडर-केवल है यदि आप डॉट फ़ाइल सामग्री का उपयोग नहीं करते हैं। मैंने आईफोन पर कई बूस्ट हेडर-केवल पुस्तकालयों का उपयोग किया है और वे ठीक-से-द-बॉक्स काम करते हैं। –