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 পথটি অনুসরণ করছে বলে দেখা যায়।

এই অনুশীলনীতে একটি ইনপুট ট্রি নিয়ে তার একটি নোডের দৃষ্টিকোণ থেকে সেটিকে নতুন করে সাজানো হয়।

Rust-নির্দিষ্ট অনুশীলনীর নোট

আপনি আপনার ট্রির অভ্যন্তরীণ উপস্থাপনা বেছে নিতে স্বাধীন। তবে আপনি যদি চাইল্ডগুলো একটি ক্রমবদ্ধ কন্টেইনারে রাখেন, তাহলে সতর্ক থাকুন। চাইল্ডের ক্রম নির্বিশেষে দুটি ট্রির তুলনা সমান হতে হবে।

GitHub-এর মাধ্যমে সম্পাদনা করুন লিংকটি একটি নতুন উইন্ডো বা ট্যাবে খোলে
Rust Exercism

POV শুরু করতে প্রস্তুত?

Exercism-এ সাইন আপ করুন, Rust ট্র্যাকের 99টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।