কম্পিউটার

একটি গাছের সমস্ত নোডের যোগফল খুঁজে পেতে পাইথন প্রোগ্রাম


যখন একটি ট্রিতে সমস্ত নোডের যোগফল পাওয়ার প্রয়োজন হয়, তখন একটি 'ট্রি_স্ট্রাকচার' ক্লাস তৈরি করা হয়, একটি রুট মান সেট করার পদ্ধতি এবং অন্যান্য মান যোগ করার জন্য সংজ্ঞায়িত করা হয়। এটিতে একটি গাছের কাঠামোর সমস্ত উপাদানের যোগফল নির্ধারণ করার একটি পদ্ধতি রয়েছে। বিভিন্ন অপশন দেওয়া হয় যা ব্যবহারকারী নির্বাচন করতে পারেন। ব্যবহারকারীর পছন্দের উপর ভিত্তি করে, অপারেশনটি গাছের উপাদানগুলিতে সঞ্চালিত হয়।

নীচে একই -

এর একটি প্রদর্শন রয়েছে৷

উদাহরণ

class Tree_structure:
   def __init__(self, data=None):
      self.key = data
      self.children = []

   def set_root(self, data):
      self.key = data

   def add_values(self, node):
      self.children.append(node)

   def search_val(self, key):
      if self.key == key:
         return self
      for child in self.children:
         temp = child.search(key)
         if temp is not None:
            return temp
      return None

   def summation_nodes(self):
      sum_val = self.key
      for child in self.children:
         sum_val = sum_val + child.summation_nodes()
      return sum_val

tree = None

print('Menu (no duplicate keys allowed)')
print('add <data> at root')
print('add <data> below <data>')
print('summation')
print('quit')

while True:
   my_input = input('What would you like to do? ').split()

   operation = my_input[0].strip().lower()
   if operation == 'add':
      data = int(my_input[1])
      newNode = Tree_structure(data)
      sub_op = my_input[2].strip().lower()
      if sub_op == 'at':
         tree = newNode
      elif sub_op == 'below':
         my_pos = my_input[3].strip().lower()
         key = int(my_pos)
         ref_node = None
         if tree is not None:
            ref_node = tree.search_val(key)
         if ref_node is None:
            print('No such key exists')
            continue
         ref_node.add_values(newNode)

   elif operation == 'summation':
      if tree is None:
         print('The tree is empty')
      else:
         summation_val = tree.summation_nodes()
         print('Sum of all the nodes is : {}'.format(summation_val))

   elif operation == 'quit':
      break

আউটপুট

Menu (no duplicate keys allowed)
add <data> at root
add <data> below <data>
summation
quit
What would you like to do? add 56 at root
What would you like to do? add 45 below 56
What would you like to do? add 23 below 56
What would you like to do? summation
Sum of all the nodes is : 124
What would you like to do?

ব্যাখ্যা

  • 'বৃক্ষ_কাঠামো' শ্রেণী তৈরি করা হয়েছে।

  • এটি 'কী' কে সত্যে সেট করে এবং গাছের বাচ্চাদের জন্য একটি খালি তালিকা সেট করে।

  • এটির একটি 'set_root' ফাংশন রয়েছে যা গাছের রুট মান সেট করতে সাহায্য করে।

  • 'add_vals' নামের একটি পদ্ধতি সংজ্ঞায়িত করা হয়েছে, যা গাছে একটি উপাদান যোগ করতে সাহায্য করে।

  • 'সার্চ_ভাল' নামে আরেকটি পদ্ধতি সংজ্ঞায়িত করা হয়েছে, যা ট্রিতে একটি উপাদান অনুসন্ধান করতে সাহায্য করে।

  • 'summation_nodes' নামে আরেকটি পদ্ধতি সংজ্ঞায়িত করা হয়েছে, যা গাছের সমস্ত উপাদান/নোডের যোগফল পেতে সাহায্য করে।

  • এটি একটি পুনরাবৃত্ত ফাংশন৷

  • চারটি বিকল্প দেওয়া হয়েছে, যেমন 'রুটে যোগ করুন', 'নিচে যোগ করুন', 'সমষ্টি' এবং 'ত্যাগ করুন'৷

  • ব্যবহারকারী দ্বারা প্রদত্ত বিকল্পের উপর নির্ভর করে, সংশ্লিষ্ট অপারেশন সঞ্চালিত হয়।

  • এই আউটপুট কনসোলে প্রদর্শিত হয়৷


  1. পাইথনে একটি গাছের অ-সংলগ্ন নোডের সর্বাধিক যোগফল খুঁজে বের করার প্রোগ্রাম

  2. পাইথনে একটি বাইনারি ট্রিতে তির্যক পথের প্রতিটি উপাদানের যোগফল খুঁজে বের করার জন্য প্রোগ্রাম

  3. পাইথন প্রোগ্রামে অ্যারের সমষ্টি খুঁজুন

  4. অ্যারের যোগফল খুঁজে পেতে পাইথন প্রোগ্রাম