ट्रैक
/
Go
Go
/
अभ्यास
/
ट्री निर्माण
ट्री निर्माण

ट्री निर्माण

मध्यम

निर्देश

ट्री बनाने वाले एल्गोरिदम को रीफैक्टर कीजिए।

कुछ वेब-फोरम का लेआउट ट्री जैसा होता है, इसलिए पोस्ट ट्री के रूप में दिखाए जाते हैं। लेकिन पोस्ट आम तौर पर डेटाबेस में रिकॉर्ड के ऐसे समूह के रूप में संग्रहीत होते हैं जिसमें कोई क्रम नहीं होता। इसलिए जब उपयोगकर्ता को पोस्ट दिखाए जाते हैं, तो ट्री की संरचना फिर से बनानी पड़ती है।

आपको कोड के एक ऐसे हिस्से को रीफैक्टर करना है जो काम तो करता है, लेकिन धीमा और बदसूरत है। यह कोड ऐसे रिकॉर्ड के लिए ट्री बनाने का तर्क लागू करता है जो बहुत अमूर्त होते हैं। इन रिकॉर्ड में सिर्फ एक ID संख्या और एक पैरेंट ID संख्या होती है। ID संख्या हमेशा 0 (सम्मिलित) और रिकॉर्ड ऐरे की लंबाई (असम्मिलित) के बीच होती है। हर रिकॉर्ड का पैरेंट ID उसके अपने ID से छोटा होता है, सिवाय रूट रिकॉर्ड के, जिसका पैरेंट ID उसके अपने ID के बराबर होता है।

ट्री का एक उदाहरण:

root (ID: 0, parent ID: 0)
|-- child1 (ID: 1, parent ID: 0)
|    |-- grandchild1 (ID: 2, parent ID: 1)
|    +-- grandchild2 (ID: 4, parent ID: 1)
+-- child2 (ID: 3, parent ID: 0)
|    +-- grandchild3 (ID: 6, parent ID: 3)
+-- child3 (ID: 5, parent ID: 0)
GitHub के ज़रिए संपादित करें यह लिंक एक नई विंडो या टैब में खुलता है
Go Exercism

ट्री निर्माण शुरू करने के लिए तैयार हैं?

Exercism पर साइन अप कीजिए और Go को 34 कॉन्सेप्ट165 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।