डीएफएस और बीएफएस का कारण बनने वाले ग्राफ़ ठीक उसी क्रम में नोड्स को संसाधित करने के लिए


11

कुछ ग्राफ़ के लिए, DFS और BFS खोज एल्गोरिदम प्रक्रिया को ठीक उसी क्रम में नोड करते हैं, बशर्ते कि वे दोनों एक ही नोड पर शुरू हों। दो उदाहरण रेखांकन हैं जो पथ और रेखांकन हैं जो स्टार-आकार वाले हैं ( बच्चों की मनमानी संख्या के साथ गहराई पेड़ )। क्या इस संपत्ति को संतुष्ट करने वाले रेखांकन को वर्गीकृत करने का कोई तरीका है?1


6
ध्यान दें कि दोनों मामलों में यह केवल तभी काम करता है जब आप कुछ विशिष्ट नोड पर शुरू करते हैं। यदि आप एक लंबे रास्ते में एक केंद्रीय नोड चुनते हैं, उदाहरण के लिए, आपको डीएफएस और बीएफएस से अलग-अलग ऑर्डर मिलेंगे।
templatetypedef

1
क्या एक स्टार या एक मार्ग की तुलना में कोई अन्य दिलचस्प संभावनाएं हैं? पहली नज़र में ऐसा लगता है कि यदि आपके पास एक सिबलिंग और एक बच्चे दोनों के साथ एक शीर्ष है, तो आपको तुरंत अलग-अलग ट्रैवर्सल्स मिलते हैं, इसलिए या तो किसी भी शीर्ष पर बच्चे नहीं हैं (जड़ के अलावा) और आपको एक स्टार मिलता है, या किसी भी शीर्ष पर एक सिब्लिंग नहीं है और आपको एक रास्ता मिलता है। मुझे लगता है कि एक क्लिच भी काम करता है, लेकिन इसमें स्टार और पथ दोनों सन्निहित हैं।
ल्यूक मैथिसन

2
@ ल्यूकमैथिसन मैं एक ऐसे स्टार के बारे में सोच रहा हूं जो सबसे सही बच्चे के साथ दूसरे स्टार का मूल है। मुझे लगता है कि यह भी काम करेगा। हम एक सामान्य कथन भी कर सकते हैं: यदि नोड v∈V पर खोज शुरू होने पर संपत्ति को संतुष्ट करता है, तो ऐसा तारा करता है जिसका सबसे दाहिना बच्चा = v है । और भी बेहतर, अगर जी 1 और जी 2 संतुष्ट संपत्ति और नोड वी 1 में संसाधित पिछले एक है जी 1 और वी 2 जहां में खोज शुरू होता है जी 2 , तो पुल किनारे को जोड़ने ( vG=(V,E)=vG1G2v1G1v2G2 एक ग्राफ बनाता है जो संपत्ति को संतुष्ट करता है। V 1 को v 2 से बदलनाभी मेरे विचार से काम करता है। (v1,v2)v1v2
सादतमे १०

2
अच्छा बिंदु, इसलिए कुछ प्रकार की सही-पुनरावर्ती रचना है जहां आप दूसरे के मूल के साथ पहले ग्राफ के सही पत्ते की पहचान कर सकते हैं।
ल्यूक मैथिसन

vvG=(V,E)xVy,z,wV(y,x),(z,y),(x,w)E(x,z)EG

जवाबों:


6

मान लें कि हमारे बीएफएस और डीएफएस में विशिष्ट नोड से शुरू होने का नियम है और प्रत्येक दो-तरफा में वे पहले सबसे कम डिग्री वाले नोड पर जाते हैं:

डीएफएस-BFS

बाएं सबसे काले नोड से शुरू करें, फिर (बीएफएस और डीएफएस) बाईं सबसे लाल नोड पर जाएँ, फिर वे अगले काले नोड पर जाएँगे, और इसी तरह, इसे और अधिक सामान्य बनाने के लिए, आप त्रिकोण के बीच में कुछ रास्ते जोड़ सकते हैं, या स्टार जोड़ सकते हैं त्रिकोण समाप्त करने के बाद ...


यह आपकी धारणा के तहत सही है। आपने वास्तव में एक अच्छा मुद्दा उठाया; हमें यह निर्दिष्ट करना चाहिए कि किसी विकल्प के साथ सामना करने पर एजेंडे (स्टैक या कतार) में नोड्स को किस क्रम में जोड़ा जाता है।
सादतमे

यह ध्यान में रखते हुए कि एलआईएफओ और एफआईएफओ क्रमशः शेड्यूलिंग डीएफएस और बीएफएस के लिए, कोई भी तर्क दे सकता है कि शेड्यूलिंग इस तरह (जिसमें शेड्यूलिंग या तो स्टैक नहीं हो सकती है या कतार-जैसी) न तो गहराई है और न ही चौड़ाई-पहली खोज - हालांकि आप कुछ मामलों में एक या दूसरे से मिलते-जुलते इसकी प्रवृत्ति का वर्णन कर सकते हैं।
निएल डे बेउड्रप

1
मुझे लगता है कि इसे एक स्टैक या कतार के रूप में लागू किया जा सकता है। यह नहीं बदलता है कि चीजों को कैसे लिया जाता है (LIFO या FIFO), यह उस क्रम को बदलता है जिसमें बच्चों को जोड़ा जाता है (इस मामले में, सबसे कम डिग्री पहले)।
6

@ नीलदेब्यूप्रैप वास्तव में यह केवल यह दिखाने के लिए एक संरचना है कि कहीं न कहीं दोनों तरीके समान हैं।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.