এই প্রবন্ধে, আমরা বুঝব কিভাবে ইনঅর্ডার ট্রি ট্রাভার্সাল করতে হয়। ইনঅর্ডার ট্রাভার্সালে, প্রতিটি নোড সাবট্রির মধ্যে প্রক্রিয়া করা হয়। সহজ কথায়, বাম সাবট্রি, নোড এবং তারপর ডান সাবট্রিতে যান।
নীচে একই -
এর একটি প্রদর্শন রয়েছে৷ধরুন আমাদের ইনপুট হল −
প্রোগ্রাম চালান
কাঙ্খিত আউটপুট হবে −
ট্রি_অবজেক্টের ইন-অর্ডার ট্রাভার্সাল হল:5->12->6->1->9->
অ্যালগরিদম
ধাপ 1 - START ধাপ 2 - ডেটা স্পেসিফিকেশন সহ একটি ক্লাস পূর্বে সংজ্ঞায়িত করা হয়েছে৷ ধাপ 3 - ক্লাসের একটি নতুন দৃষ্টান্ত তৈরি করুন৷ ধাপ 4 - প্রাসঙ্গিক মানগুলির সাথে দৃষ্টান্তটি শুরু করুন৷ ধাপ 5 - ইনঅর্ডার ট্রাভার্সাল সম্পাদন করতে পদ্ধতিটি চালু করুন ধাপ 6 - ফলাফল প্রদর্শন করুন ধাপ 7 - থামুন
উদাহরণ 1
এখানে, আমরা ইন-অর্ডার ট্রাভার্সালের জন্য রিকার্সিভ পদ্ধতি ব্যবহার করেছি।
<প্রি>ক্লাস নোড { int আইটেম; নোড left_node, right_node; পাবলিক নোড (int কী) { আইটেম =কী; left_node =right_node =null; }}পাবলিক ক্লাস ট্রি { নোড রুট; গাছ() { root =null; } void inOrder(Node node) { if (node ==null) return; inOrder(node.left_node); System.out.print(node.item + "->"); inOrder(node.right_node); } পাবলিক স্ট্যাটিক ভ্যাইড মেইন(স্ট্রিং[] আর্গস) { ট্রি ট্রি_অবজেক্ট =নতুন ট্রি(); System.out.println("একটি ট্রি_অবজেক্ট অবজেক্ট সংজ্ঞায়িত করা হয়েছে:"); tree_object.root =নতুন নোড(1); tree_object.root.left_node =নতুন নোড(12); tree_object.root.right_node =নতুন নোড(9); tree_object.root.left_node.left_node =নতুন নোড(5); tree_object.root.left_node.right_node =নতুন নোড(6); System.out.println("ট্রি_অবজেক্টের ইন-অর্ডার ট্রাভার্সাল হল:"); tree_object.inOrder(tree_object.root); }}আউটপুট
একটি ট্রি_অবজেক্ট অবজেক্ট সংজ্ঞায়িত করা হয়েছে:ট্রি_অবজেক্টের ইন-অর্ডার ট্রাভার্সাল হল:5->12->6->1->9->
উদাহরণ 2
এখানে, আমরা ইন-অর্ডার ট্রাভার্সালের জন্য নন-রিকারসিভ পদ্ধতি ব্যবহার করছি।
java.util.Stack;class Node { int data; নোড left_node, right_node; পাবলিক নোড(int item) { ডেটা =আইটেম; left_node =right_node =null; }}শ্রেণি গাছ { নোড রুট; void inorder() { if (root ==null) রিটার্ন; স্ট্যাক<নোড> টেম্প_স্ট্যাক =নতুন স্ট্যাক<নোড>(); নোড বর্তমান_নোড =root; যখন (current_node !=null || temp_stack.size()> 0) { যখন (current_node !=null) { temp_stack.push(current_node); current_node =current_node.left_node; } current_node =temp_stack.pop(); System.out.print(current_node.data + ""); current_node =current_node.right_node; } } পাবলিক স্ট্যাটিক ভ্যাইড মেইন(স্ট্রিং আর্গস[]) { ট্রি ট্রি =নতুন গাছ(); System.out.println("একটি ট্রি_অবজেক্ট অবজেক্ট সংজ্ঞায়িত করা হয়েছে:"); tree.root =নতুন নোড(1); tree.root.left_node =নতুন নোড(2); tree.root.right_node =নতুন নোড(3); tree.root.left_node.left_node =নতুন নোড(4); tree.root.left_node.right_node =নতুন নোড(5); System.out.println("ট্রি_অবজেক্টের ইন-অর্ডার ট্রাভার্সাল হল:"); tree.inorder(); }}
আউটপুট
একটি ট্রি_অবজেক্ট অবজেক্ট সংজ্ঞায়িত করা হয়েছে:ট্রি_বজেক্টের ইন-অর্ডার ট্রাভার্সাল হল:4 2 5 1 3