কম্পিউটার

পাইথন প্রোগ্রাম পোস্ট অর্ডার ব্যবহার করে ডেপথ ফার্স্ট সার্চ ট্রাভার্সাল বাস্তবায়ন করতে


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

নীচে একই −

এর প্রদর্শন করা হল

উদাহরণ

ক্লাস ট্রি_স্ট্রাকট:def __init__(self, key=None):self.key =key self.children =[] def add_elem(self, node):self.children.append(node) def search_elem(self, key) :if self.key ==কী:self.children-এ সন্তানের জন্য স্ব ফেরত দিন:temp =child.search_elem(key) যদি temp না হয় কোনটি নয়:রিটার্ন টেম্প রিটার্ন None def postorder_traversal(self):for child in self.children:শিশু .postorder_traversal() print(self.key, end=' ')my_instance =Noneprint('মেনু (এটি কোন ডুপ্লিকেট কী অনুমান করে না)')মুদ্রণ('রুটে <ডেটা> যোগ করুন')প্রিন্ট('অ্যাড <ডেটা> নীচে ')print('dfs')print('quit') while True:my_input =input('আপনি কি অপারেশন করবেন?').split() অপারেশন =my_input[0].strip().lower() if অপারেশন =='add':data =int(my_input[1]) new_node =Tree_Struct(data) suboperation =my_input[2].strip().lower() if suboperation =='at':my_instance =new_node else:অবস্থান =আমার_ input[3].strip().lower() key =int(position) ref_node =None যদি my_instance না হয় None:ref_node =my_instance.search_elem(key) যদি ref_node কোনটি না হয়:print('এমন কোন কী বিদ্যমান নেই') চালিয়ে যান ref_node.add_elem(new_node) elif অপারেশন =='dfs':print('পোস্ট-অর্ডার ট্রাভার্সাল হল :', end=') my_instance.postorder_traversal() print() elif অপারেশন =='ছাড়ুন':বিরতি 

আউটপুট

মেনু (এটি কোন ডুপ্লিকেট কী অনুমান করে না)  যোগ করুন rootadd এ  নীচে dfsquit আপনি কি অপারেশন করবেন? রুট এ 5 যোগ করুন আপনি কি অপারেশন করবেন? 5 নীচে 9 সন্নিবেশ করান আপনি কি অপারেশন করবেন? 9 এর নিচে 2 সন্নিবেশ করান আপনি কি অপারেশন করবেন? dfs পোস্ট-অর্ডার ট্রাভার্সাল হল:5আপনি কি অপারেশন করবেন? প্রস্থান করুন 

ব্যাখ্যা

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

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

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

  • 'postorder_traversal' নামে আরেকটি পদ্ধতি যা পোস্টঅর্ডার ট্রাভার্সাল সম্পাদন করে।

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

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

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

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

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


  1. পাইথন প্রোগ্রাম দ্বিপদী বৃক্ষ বাস্তবায়নের জন্য

  2. একটি দ্বিগুণ লিঙ্কযুক্ত তালিকায় একটি উপাদান অনুসন্ধান করতে পাইথন প্রোগ্রাম

  3. বৃত্তাকার লিঙ্কযুক্ত তালিকায় একটি উপাদান অনুসন্ধান করতে পাইথন প্রোগ্রাম

  4. Unitest ব্যবহার করে পাইথন প্রোগ্রামে ইউনিট টেস্টিং