मेरे पास एक अप्रत्यक्ष पेड़ है, जिसका सिरा मैं लेबल करना चाहता हूं। पत्ती नोड्स को एक लेबल किया जाना चाहिए। फिर, मान लें कि पत्तियां हटा दी गईं। जिस पेड़ में रहता है, उसमें पत्तियों को दो लेबल करना चाहिए। यह प्रक्रिया स्पष्ट तरीके से जारी रहती है जब तक कि सभी कोने में एक लेबल न हो। ऐसा करने का कारण यह है कि मैं एक कतार में कोने को संग्रहीत करना चाहता हूं, और उनके माध्यम से "पहले छोड़ देता हूं"। क्या यह समय करने का एक आसान तरीका है ?
मैं हर कदम पर BFS कर समस्या का समाधान कर सकता हूं। लेकिन सबसे खराब स्थिति में, हर कदम पर मैं हर शिखर से गुजरता हूं, बिल्कुल दो पत्तियों को हटाता हूं और उन्हें संलग्न करता हूं। मेरा मानना है कि यह द्विघात समय लगता है।
एक अन्य विचार यह था कि पहले सभी पत्तों को खोजा जाए, और फिर हर पत्ती से बीएफएस किया जाए। यह मुझे वांछित समाधान नहीं देता है। उदाहरण के लिए, नीचे दिए गए आंकड़े के अनुसार "मुकुट ग्राफ" का एक प्रकार पर विचार करें। वांछित समाधान दिखाया गया है, लेकिन प्रत्येक पत्ती से एक बीएफएस लॉन्च करने के परिणामस्वरूप केवल दो लेबल का उपयोग किया जाएगा।
आदर्श रूप से, रैखिक समय एल्गोरिथ्म को समझाने और कार्यान्वित करना आसान होगा।