POV

POV

कठिन

निर्देश

किसी चुने हुए नोड को नया पैरेंट बनाकर ट्री को फिर से व्यवस्थित कीजिए।

ट्री एक खास तरह का ग्राफ है, जिसमें सारे नोड आपस में जुड़े होते हैं, लेकिन कोई चक्र नहीं होता। इसका मतलब है कि नोड के किसी भी जोड़े के लिए, एक नोड से दूसरे नोड तक पहुँचने का ठीक एक ही पथ होता है।

इस अभ्यास में ट्री को नए सिरे से व्यवस्थित करके चीज़ों को एक अलग दृष्टिकोण से देखना है। उदाहरण के लिए, वंशवृक्ष आम तौर पर पूर्वज के दृष्टिकोण से दिखाए जाते हैं:

    +------0------+
    |      |      |
  +-1-+  +-2-+  +-3-+
  |   |  |   |  |   |
  4   5  6   7  8   9

लेकिन ट्री में कोई अपने आप से तय दिशा नहीं होती। उसी जानकारी को ट्री के किसी भी दूसरे नोड के दृष्टिकोण से दिखाया जा सकता है। इसके लिए उस नोड को ऊपर खींचकर रूट बना दिया जाता है और उसके सारे संबंध भी उसके साथ खींच लिए जाते हैं। तो 6 के दृष्टिकोण से वही ट्री ऐसा दिखेगा:

        6
        |
  +-----2-----+
  |           |
  7     +-----0-----+
        |           |
      +-1-+       +-3-+
      |   |       |   |
      4   5       8   9

इससे हम दो नोड के बीच के पथ को और आसानी से बता सकते हैं। उदाहरण के लिए, 6-9 का पथ (जो पहले ट्री में ऊपर रूट तक जाता है और फिर नीचे किसी दूसरे लीफ नोड तक उतरता है) 6-2-0-3-9 के पथ पर चलता हुआ दिखता है।

इस अभ्यास में एक इनपुट ट्री लेना है और उसे किसी एक नोड के दृष्टिकोण से नए सिरे से व्यवस्थित करना है।

GitHub के ज़रिए संपादित करें यह लिंक एक नई विंडो या टैब में खुलता है
Clojure Exercism

POV शुरू करने के लिए तैयार हैं?

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