मेरे पास एक अप्रत्यक्ष ग्राफ है। उस ग्राफ में एक किनारा विशेष है। मैं उन सभी अन्य किनारों को ढूंढना चाहता हूं जो पहले किनारे वाले एक चक्र के हिस्से हैं।ग्राफ़ एल्गोरिदम भी चक्रों का पता लगाने के लिए
मुझे सभी चक्रों की गणना करने की आवश्यकता नहीं है, जो मूल रूप से एनपी मुझे लगता है। मुझे बस प्रत्येक किनारे के लिए, यह उपरोक्त स्थितियों को पूरा करता है, यह जानने की जरूरत है।
एक ब्रूट फोर्स सर्च कोर्स का काम करता है लेकिन बहुत धीमा है, और मैं कुछ भी बेहतर तरीके से आने के लिए संघर्ष कर रहा हूं। किसी भी मदद की सराहना की।
आपकी इच्छित गुणवत्ता का उत्तर प्रदान करने के लिए यहां अपर्याप्त जानकारी है। आप कितने समय से जानते हैं कि किन किनारा विशेष है? क्या आपको डेटा को प्रीप्रोसेस करने की अनुमति है? आप डेटा को पहले से कितना स्पर्श करते हैं (जैसे इसे लोड करें), और क्या आप संशोधित कर सकते हैं कि आप डेटा को प्रीप्रोसेस कैसे करते हैं? – ninjagecko
इसके अलावा, आपको संभवतः सभी चक्रों को देखने की आवश्यकता हो सकती है ** यदि ** आप प्रीप्रोकैसिंग का दुरुपयोग नहीं कर सकते हैं, हालांकि मैं उस दावे के सबूत को किसी अन्य तरीके से नहीं सोच सकता। – ninjagecko
@ninjagecko ग्राफ एक रासायनिक संरचना का प्रतिनिधित्व करता है, यानी शिखर परमाणु होते हैं और किनारों परमाणुओं के बीच रासायनिक बंधन होते हैं। उपयोगकर्ता द्वारा रासायनिक संरचना को लगातार संपादित किया जा रहा है और यह एल्गोरिदम वास्तविक समय में चलने की उम्मीद है क्योंकि उपयोगकर्ता संपादन करता है। हम ग्राफ के लिए एक सरल आसन्न सूची संरचना का उपयोग करते हैं, हालांकि हम कुछ अन्य संरचनाओं को भी बनाए रखते हैं (उदाहरण के लिए हम जानते हैं कि किनारे एक चक्र का हिस्सा है या नहीं)। यदि मैं आपको सही समझता हूं, तो प्रीप्रोकैसिंग एक विकल्प नहीं है, क्योंकि ग्राफ (और विशेष किनारे) हमेशा बदल रहे हैं। – john