मैंने कुछ शोध किया है, और मुझे इस एल्गोरिथ्म का एक छोटा सा हिस्सा याद आ रहा है। मैं समझता हूं कि एक ब्रेड-फर्स्ट सर्च कैसे काम करता है, लेकिन मुझे समझ में नहीं आता है कि यह मुझे एक विशिष्ट पथ पर कैसे पहुंचाएगा, जैसा कि मुझे यह बताने के लिए है कि प्रत्येक व्यक्ति नोड कहां जा सकता है। मुझे लगता है कि मेरी भ्रम की व्याख्या करने का सबसे आसान तरीका एक उदाहरण प्रदान करना है:
उदाहरण के लिए, मान लीजिए कि मेरा ग्राफ इस प्रकार है:
और मेरा लक्ष्य ए से ई तक पहुंचना है (सभी किनारों को अनवील किया गया है)।
मैं ए पर शुरू करता हूं, क्योंकि यह मेरा मूल है। मैं A की कतार लगाता हूं, उसके बाद तुरंत A को हटाकर उसकी खोज करता है। यह B और D की पैदावार करता है, क्योंकि A, B और D से जुड़ा है। I इस प्रकार B और D दोनों की कतार लगाता है।
मैं बी को खोजता हूं और इसे खोजता हूं, और पाता हूं कि यह ए (पहले से ही पता लगाया गया), और सी की ओर जाता है, इसलिए मैं सी की कतार लगाता हूं। फिर मैं डी को चकमा देता हूं, और पाता हूं कि यह ई, मेरा लक्ष्य है। मैं तब सी को धोखा देता हूं, और पाता हूं कि यह भी ई, मेरे लक्ष्य की ओर जाता है।
मैं तार्किक रूप से जानता हूं कि सबसे तेज़ पथ A-> D-> E है, लेकिन मुझे यकीन नहीं है कि वास्तव में चौड़ाई-प्रथम खोज कैसे मदद करती है - मुझे ऐसे रिकॉर्डिंग पथ कैसे चाहिए, जब मैं समाप्त करूं, मैं परिणामों का विश्लेषण कर सकता हूं और देख सकता हूं सबसे छोटा रास्ता A-> D-> E है?
इसके अलावा, ध्यान दें कि मैं वास्तव में एक पेड़ का उपयोग नहीं कर रहा हूं, इसलिए "माता-पिता" नोड्स नहीं हैं, केवल बच्चे हैं।