मेरे पास आइटम की एक सूची है (नीचे नीले नोड्स) जिन्हें मेरे आवेदन के उपयोगकर्ताओं द्वारा वर्गीकृत किया गया है। श्रेणियों को स्वयं समूहीकृत और वर्गीकृत किया जा सकता है।डीएजी में दिए गए नोड्स के सेट के माध्यम से मैं सभी पथ कैसे ढूंढूं?
परिणामी संरचना को Directed Acyclic Graph (DAG) के रूप में दर्शाया जा सकता है जहां आइटम ग्राफ़ की टोपोलॉजी के नीचे सिंक होते हैं और शीर्ष श्रेणियां स्रोत होती हैं। ध्यान दें कि कुछ श्रेणियों को अच्छी तरह से परिभाषित किया जा सकता है, लेकिन उपयोगकर्ता को परिभाषित किया जा रहा है और बहुत गन्दा हो सकता है।
उदाहरण:
example data http://theuprightape.net/dag.png
कि संरचना पर, मैं निम्न कार्य करना चाहते हैं:
- एक विशेष नोड से नीचे के सभी आइटम (डूब) (सभी आइटम यूरोप में) को खोजने
- सभी पथ (यदि कोई है) को खोजें जो एन नोड्स के सभी सेट (उदाहरण के लिए एसएमटीपी के माध्यम से भेजे गए सभी आइटम) से गुज़रते हैं
- एफ Ind सभी नोड्स कि नोड्स का एक सेट के सभी नीचे झूठ (चौराहे: goyish भूरे रंग के खाद्य पदार्थ)
पहले काफी सरल लगता है: नोड पर शुरू करते हैं, नीचे करने के लिए सभी संभव मार्ग का अनुसरण और वहाँ आइटम एकत्र। हालांकि, क्या एक तेज दृष्टिकोण है? नोड्स को याद रखना जो मैंने पहले ही पारित किया है, शायद अनावश्यक पुनरावृत्ति से बचने में मदद करता है, लेकिन क्या अधिक अनुकूलन हैं?
मैं कैसे एक दूसरे के बारे में जाते हैं? ऐसा लगता है कि पहला चरण सेट में प्रत्येक नोड की ऊंचाई निर्धारित करना होगा, यह निर्धारित करने के लिए कि किस (ओं) को शुरू करना है और फिर नीचे दिए गए सभी पथ ढूंढें जिनमें शेष सेट शामिल है। लेकिन क्या यह सबसे अच्छा (या यहां तक कि एक अच्छा) दृष्टिकोण है?
graph traversal algorithms listed at Wikipedia सभी को एक विशेष नोड या दो नोड्स के बीच सबसे छोटा या अन्यथा सबसे प्रभावी मार्ग खोजने के साथ चिंतित लगता है। मुझे लगता है कि दोनों मैं नहीं चाहता हूं, या क्या मैं यह देखने में असफल रहा कि यह मेरी समस्या पर कैसे लागू होता है? मुझे और कहां पढ़ना चाहिए?
मैं थोड़ा surpirised रहा है कि इस पोस्ट सिर्फ विचारों 1K करने के लिए मिला है और अभी भी वहाँ जवाब पर कोई मतदान है। क्या यह सिर्फ आलस्य है, क्या दर्शकों को वोटिंग अधिकारों की कमी है या क्या उत्तर में कुछ गड़बड़ है? –