কম্পিউটার

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


যখন একটি গাছের সমস্ত নোডের যোগফল খুঁজে বের করার প্রয়োজন হয়, তখন একটি ক্লাস তৈরি করা হয়, এবং এতে রুট নোড সেট করার পদ্ধতি রয়েছে, গাছে উপাদান যুক্ত করা, একটি নির্দিষ্ট উপাদান অনুসন্ধান করা এবং গাছের উপাদানগুলি যোগ করা যোগফল এবং তাই খুঁজে. এই পদ্ধতিগুলি অ্যাক্সেস এবং ব্যবহার করার জন্য ক্লাসের একটি উদাহরণ তৈরি করা যেতে পারে।

নীচে একই -

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

উদাহরণ

class Tree_struct:def __init__(self, data=None):self.key =data self.children =[] def set_root(self, data):self.key =data def add_node(self, node):self. Children.append(node) def search_node(self, key):if self.key ==কী:self.children-এ সন্তানের জন্য স্বয়ং রিটার্ন করুন:temp =child.search_node(key) যদি temp না হয় None:রিটার্ন temp রিটার্ন None def sum_node(self):my_summation =self.key for child in self.children:my_summation =my_summation + child.sum_node() return my_summationmy_instance =Noneprint('মেনু (ধরে নিন কোন ডুপ্লিকেট কী)')প্রিন্ট('রুটে <ডেটা> যোগ করুন) ')মুদ্রণ('অ্যাড <ডেটা> নিচে <ডেটা>')মুদ্রণ('সমষ্টি')মুদ্রণ('ত্যাগ') যখন সত্য:my_input =input('আপনি কি অপারেশন করবেন?').split() অপারেশন =my_input [0].strip().lower() যদি অপারেশন =='add':data =int(my_input[1]) new_node =Tree_struct(data) suboperation =my_input[2].strip().lower() যদি suboperati on =='at':my_instance =new_node elif suboperation =='below':position =my_input[3].strip().lower() key =int(position) ref_node =None যদি my_instance না হয় None:ref_node =my_instance .search_node(key) if ref_node None হয়:print('No such key') continue ref_node.add_node(new_node) elif অপারেশন =='sum':যদি my_instance না হয়:print('The tree is empty') else:my_summation =my_instance.sum_node() print('সমস্ত নোডের যোগফল হল:{}'.format(my_summation)) elif অপারেশন =='প্রস্থান':বিরতি

আউটপুট

মেনু (ধরে নিবেন না কোন ডুপ্লিকেট কী) rootadd এ  যোগ করুন  নিচে sumquitআপনি কি অপারেশন করবেন? রুট এ 5 যোগ করুন আপনি কি অপারেশন করবেন? 5 নীচে 7 যোগ করুন আপনি কি অপারেশন করবেন? 7 এর নিচে 0 যোগ করুন আপনি কি অপারেশন করবেন? সমস্ত নোডের যোগফল হল:12 আপনি কি অপারেশন করবেন? প্রস্থান করুন 

ব্যাখ্যা

  • প্রয়োজনীয় গুণাবলী সহ 'Tree_struct' ক্লাস তৈরি করা হয়েছে।

  • এটিতে একটি 'init' ফাংশন রয়েছে যা একটি খালি তালিকা তৈরি করতে ব্যবহৃত হয়।

  • একটি 'set_root' পদ্ধতি সংজ্ঞায়িত করা হয়েছে যা বাইনারি গাছের মূল মান সেট করতে সাহায্য করে।

  • এটির একটি 'add_node' পদ্ধতি রয়েছে যা গাছে উপাদান যোগ করতে সাহায্য করে।

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

  • 'sum_node' নামের একটি পদ্ধতি সংজ্ঞায়িত করা হয়েছে, যা গাছের উপাদান যোগ করতে এবং যোগফল খুঁজে পেতে সাহায্য করে।

  • একটি দৃষ্টান্ত তৈরি করা হয়েছে এবং 'কোনটি নয়'-কে বরাদ্দ করা হয়েছে।

  • ব্যবহারকারীর ইনপুটটি সেই অপারেশনের জন্য নেওয়া হয় যা সঞ্চালিত করা দরকার৷

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

  • প্রাসঙ্গিক আউটপুট কনসোলে প্রদর্শিত হয়।


  1. পাইথনে বাইনারি ট্রির যেকোন পথের বৃহত্তম যোগফল খুঁজে বের করার প্রোগ্রাম

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

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

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