चौड़ाई पहले खोज (BFS
)
BFS
(चौड़ाई-पहली खोज,
चौड़ाई-पहली खोज) - एक ग्राफ़ ट्रैवर्सल विधि, जिसका उपयोग अक्सर सरल और उन्नत एल्गोरिदम दोनों में किया जाता है। ब्रेड्थ-फर्स्ट सर्च ग्राफ़ के अलग-अलग स्तरों के माध्यम से काम करता है, स्रोत नोड से शुरू होता है और धीरे-धीरे इससे दूर हो जाता है। यह एनीमेशन में स्पष्ट रूप से दिखाया गया है।
सबसे सरल BFS
लिखने के लिए, आपको एक डेटा संरचना के साथ काम करने में सक्षम होने की आवश्यकता है जो आपको शुरुआत से लेने और इसे अंत तक रखने की अनुमति देता है, और स्टोर करने में भी सक्षम है आसन्न सूची के रूप में ग्राफ (यानी कतार के साथ)।
एल्गोरिदम का औपचारिक विवरण
1) शुरुआती खाली कतार में उस शीर्ष की संख्या डालें जहां से खोज शुरू होती है।
2) कतार की शुरुआत से शीर्ष U
निकालें और इसे एक अलग सरणी में उपयोग के रूप में चिह्नित करें।
3) कतार के अंत में, वे सभी कोने जोड़ें जिन तक हम शीर्ष U,
के किनारे का उपयोग करके पहुंच सकते हैं और जिन्हें अभी तक लेबल नहीं किया गया है।
4) यदि कतार खाली है, तो जुड़े हुए ग्राफ़ के सभी नोड्स स्कैन किए गए हैं, अन्यथा चरण 2 पर वापस लौटें।
जटिलता
चूंकि एल्गोरिथम सबसे खराब स्थिति में ग्राफ़ के सभी नोड्स पर जाता है, जब ग्राफ़ को आसन्न सूचियों के रूप में संग्रहीत किया जाता है, एल्गोरिदम की समय जटिलता O(|V| + |E|)
है , जहां V
ग्राफ़ शीर्षों का सेट है, और E
किनारों का सेट है। किनारों की संख्या + शीर्षों की संख्या।