কম্পিউটার

C++ প্রোগ্রামে একটি N-Ary গাছের গভীরতা


এই টিউটোরিয়ালে, আমরা শিখব কিভাবে n-ary গাছের গভীরতা বের করতে হয়।

একটি n-ary গাছ এমন একটি গাছ যেখানে গাছের প্রতিটি নোড n এর বেশি নেই চাইল্ড নোড।

আমাদের n-ary গাছের গভীরতা খুঁজে বের করতে হবে। আমরা গাছে প্রতিটি নোডের বাচ্চাদের সংরক্ষণ করতে ভেক্টর ব্যবহার করব।

আসুন সমস্যা সমাধানের পদক্ষেপগুলি দেখি৷

  • ডামি ডেটা দিয়ে ট্রি শুরু করুন।

  • n-ary গাছের গভীরতা খুঁজে বের করার জন্য একটি পুনরাবৃত্ত ফাংশন লিখুন।

    • গাছের সর্বোচ্চ গভীরতা সংরক্ষণ করতে একটি পরিবর্তনশীল শুরু করুন।

    • প্রতিটি নোডের শিশুদের উপর পুনরাবৃত্তি করুন।

      • সর্বাধিক গভীরতা বর্তমান সর্বাধিক গভীরতা এবং নোড শিশুদের গভীরতার সর্বোচ্চ।

      • যদি আমরা ধরে নিই সর্বোচ্চ গভীরতা পরিবর্তনশীল হল maxDepth এবং maxDepth =max(maxDepth, findDepthOfTree(*children) গাছের গভীরতা খুঁজে বের করার পুনরাবৃত্তিমূলক বিবৃতি।

    • গাছের চূড়ান্ত সর্বোচ্চ গভীরতা হল maxDepth + 1 .

  • গাছের সর্বোচ্চ গভীরতা প্রিন্ট করুন।

উদাহরণ

আসুন কোডটি দেখি।

#include <bits/stdc++.h>
using namespace std;
struct Node {
   int data;
   vector<Node *> child;
};
Node *newNode(int data) {
   Node *temp = new Node;
   temp->data = data;
   return temp;
}
int findDepthOfTree(struct Node *node) {
   if (node == NULL) {
      return 0;
   }
   int maxDepth = 0;
   for (vector<Node*>::iterator it = node->child.begin(); it != node->child.end(); it++) {
      maxDepth = max(maxDepth, findDepthOfTree(*it));
   }
   return maxDepth + 1;
}
int main() {
   Node *root = newNode(1);
   root->child.push_back(newNode(2));
   root->child.push_back(newNode(3));
   root->child.push_back(newNode(4));
   root->child[2]->child.push_back(newNode(1));
   root->child[2]->child.push_back(newNode(2));
   root->child[2]->child.push_back(newNode(3));
   root->child[2]->child.push_back(newNode(4));
   cout << findDepthOfTree(root) << endl;
   return 0;
}

আউটপুট

আপনি যদি উপরের কোডটি চালান, তাহলে আপনি নিম্নলিখিত ফলাফল পাবেন।

3

উপসংহার

টিউটোরিয়ালে আপনার কোন প্রশ্ন থাকলে মন্তব্য বিভাগে উল্লেখ করুন।


  1. AVL ট্রি বাস্তবায়নের জন্য C++ প্রোগ্রাম

  2. পাইথনে একটি এন-আরি গাছের ব্যাস খুঁজে বের করার প্রোগ্রাম

  3. পাইথনে একটি এন-আরি গাছের মূল খুঁজে বের করার প্রোগ্রাম

  4. পাইথনে একটি এন-আরি গাছের একটি অনুলিপি তৈরি করার প্রোগ্রাম