কম্পিউটার

একটি বাইনারি গাছের সি# এ প্রদত্ত পাথ যোগফল আছে কিনা তা কীভাবে পরীক্ষা করবেন?


HasPathsum 2 প্যারামিটার নেয় একটি হল ট্রি নোড এবং অন্যটি হল যোগফলের মান, প্রাথমিকভাবে আমরা নোডটি নাল কিনা তা পরীক্ষা করি, যদি নোডটি নাল হয় তবে আমরা মিথ্যা ফেরত দিই। যদি নোডটি নাল না হয় তবে আমরা HasPathSum রিকার্সিভ মেথড বলি, প্রতিটি রিকার্সিভ ধাপে আমরা নোড ভ্যালু থেকে যোগফলের মান বিয়োগ করতে থাকি। যদি যোগফলের মান 0 তে পৌঁছায় তাহলে আমরা উপসংহারে উপনীত হব যে প্রদত্ত গাছটিতে যোগফলের সমান এবং সত্য ফেরত দেওয়ার পথ রয়েছে৷

উদাহরণ

public class TreesPgm{
   public class Node{
      public int Value;
      public Node LeftChild;
      public Node RightChild;
      public Node(int value){
         this.Value = value;
      }
      public override String ToString(){
         return "Node=" + Value;
      }
   }
   public bool HasPathSum(Node node, int sum){
      if (root == null){
         return false;
      }
      return helperHasPathSum(node, sum);
   }
   private bool helperHasPathSum(Node root, int sum){
      if (root == null){
         return false;
      }
      sum -= root.Value;
      if (root.LeftChild == null && root.RightChild == null && sum == 0){
         return true;
      }
      return helperHasPathSum(root.LeftChild, sum) || helperHasPathSum(root.RightChild, sum);
   }
}

ইনপুট

         5
      2    6
   1    3
7

আউটপুট

True

  1. C++ এ প্রদত্ত নিখুঁত বাইনারি গাছের সমস্ত নোডের সমষ্টি খুঁজুন

  2. একটি প্রদত্ত বাইনারি ট্রি C++ এ SumTree কিনা তা পরীক্ষা করুন

  3. পাইথনের একটি প্রদত্ত বাইনারি ট্রিতে একটি BST-এর বৃহত্তম সমষ্টির মান খুঁজে বের করার প্রোগ্রাম

  4. পাইথনে বাইনারি ট্রি সর্বাধিক পাথ যোগফল