কম্পিউটার

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


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

নীচে একই -

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

উদাহরণ

class Tree_structure:def __init__(self, data=None):self.key =data self.children =[] def set_root(self, data):self.key =data def add_vals(self, node):self. Children.append(node) def search_val(self, key):if self.key ==কী:self.children-এ সন্তানের জন্য স্বয়ং রিটার্ন করুন:temp =child.search_val(key) যদি temp না হয় None:রিটার্ন temp রিটার্ন None def count_non_leaf_node(self):nonleaf_count =0 if self.children!=[]:nonleaf_count =1 সন্তানের জন্য self.children:nonleaf_count =nonleaf_count + child.count_non_leaf_node() ফেরত nonleaf_counttree =Noneupprints (কোনও প্রিন্ট হিসাবে) ')মুদ্রণ('রুটে <ডেটা> যোগ করুন')মুদ্রণ('অ্যাড <ডেটা> নীচে <ডেটা>')প্রিন্ট('গণনা')মুদ্রণ('ছাড়ুন') যখন সত্য:my_input =ইনপুট('আপনি কী অপারেশন করবেন সঞ্চালন করতে চান? ').split() অপারেশন =my_input[0].strip().lower() যদি অপারেশন =='add':data =int(my_input[1]) newNod e =Tree_structure(data) suboperation =my_input[2].strip().lower() if suboperation =='at':tree =newNode elif suboperation =='below':position =my_input[3].strip(). low() key =int(position) ref_node =None যদি ট্রি না হয় None:ref_node =tree.search_val(key) যদি ref_node না হয়:print('No such key.') continue ref_node.add_vals(newNode) elif অপারেশন =='গণনা':যদি গাছ কোনটি না হয়:প্রিন্ট ('গাছ খালি') অন্য:কাউন্ট =ট্রি.কাউন্ট_নন_লিফ_নোড() প্রিন্ট ('নন-লিফ নোডের সংখ্যা হল :{}'.ফর্ম্যাট(গণনা)) elif অপারেশন =='প্রস্থান':বিরতি

আউটপুট

মেনু (এটি কোন ডুপ্লিকেট কী অনুমান করে না)  যোগ করুন rootadd  এর নিচে countquitআপনি কোন অপারেশন করতে চান? রুটে 34 যোগ করুন আপনি কোন অপারেশন করতে চান? 34 নিচে 78 যোগ করুন আপনি কোন অপারেশন করতে চান? 78 এর নিচে 56 যোগ করুন আপনি কোন অপারেশন করতে চান? 56 এর নিচে 90 যোগ করুন আপনি কোন অপারেশন করতে চান? নন-লিফ নোডের সংখ্যা হল:3আপনি কোন অপারেশন করতে চান? প্রস্থান করুন 

ব্যাখ্যা

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

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

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

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

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

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

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

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

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

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


  1. পাইথন ব্যবহার করে ভাল লিফ নোড জোড়ার সংখ্যা খুঁজে বের করার প্রোগ্রাম

  2. পাইথনে প্রদত্ত প্রান্তগুলি অন্তর্ভুক্ত করে এমন অনন্য পাথের সংখ্যা গণনা করার প্রোগ্রাম

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

  4. পাইথন প্রোগ্রাম একটি প্রদত্ত স্ট্রিং এর সেট ব্যবহার করে স্বর সংখ্যা গণনা করার জন্য