मैं एक पेड़ लेने के लिए सबसे कुशल एल्गोरिथ्म की तलाश कर रहा हूं (या तो किनारों की एक सूची के रूप में संग्रहीत; या माता-पिता की सूची से बच्चे की सूची की नकल के रूप में); और उत्पादन, हर नोड के लिए, सभी नोड्स की एक सूची यह (पत्ता स्तर और गैर पत्ती स्तर) के वंशज थे।
पैमाने के कारण कार्यान्वयन को लूप के बजाय छोरों के माध्यम से होना चाहिए; और आदर्श रूप से O (N) होना चाहिए।
यह एसओ प्रश्न एक पेड़ में वन नोड के जवाब खोजने के लिए एक मानक यथोचित स्पष्ट समाधान को शामिल करता है। लेकिन जाहिर है, हर पेड़ नोड पर कि एल्गोरिथ्म दोहरा अत्यधिक अक्षम है (मेरे सिर के ऊपर से, ओ (NlogN) हे (एन ^ 2 के लिए))।
पेड़ जड़ में जाना जाता है। (उदाहरण के लिए नहीं एन आम, किसी भी तरह से, आकार या रूप है, न वर्दी गहराई में संतुलित नहीं) पेड़ बिल्कुल मनमाने आकार की है - कुछ नोड्स 1-2 बच्चे हैं, कुछ 30K बच्चे हैं।
एक व्यावहारिक स्तर पर (हालांकि यह एल्गोरिथ्म को प्रभावित नहीं करना चाहिए) पेड़ में ~ 100K-200K नोड्स हैं।