কম্পিউটার টিউটোরিয়াল

জাভা প্রোগ্রাম: ইনঅর্ডার (Inorder) ট্রি ট্রাভার্সাল

এই আর্টিকেলে আমরা বুঝব কীভাবে ইনঅর্ডার (Inorder) ট্রি ট্রাভার্সাল করা হয়। ইনঅর্ডার ট্রাভার্সালে, প্রতিটি নোড সাবট্রি-এর মাঝপথে প্রসেস হয়। সহজ কথায়, বাম সাবট্রি ভিজিট করুন, তারপর নোড, তারপর ডান সাবট্রি।

ধরুন ইনপুট:

Run the program

চাহিদা আউটপুট:

The In-Order traversal of the tree_object is: 5->12->6->1->9->

অ্যালগরিদম

Step 1 - START 
Step 2 - ডেটা স্পেসিফিকেশন সহ একটি ক্লাস পূর্বে ডিফাইন করা আছে 
Step 3 - ক্লাসের নতুন ইনস্ট্যান্স তৈরি করুন 
Step 4 - ইনস্ট্যান্সটিকে প্রাসঙ্গিক মান দিয়ে ইনিশিয়ালাইজ করুন 
Step 5 - ইনঅর্ডার ট্রাভার্সাল করার মেথড আহ্বান করুন 
Step 6 - ফলাফল প্রদর্শন 
Step 7 - STOP

উদাহরণ ১

এখানে ইন-অর্ডার ট্রাভার্সালের জন্য রিকার্সিভ মেথড ব্যবহার করা হয়েছে।

class Node { 
    int item; 
    Node left_node, right_node; 
    public Node(int key) { 
        item = key; 
        left_node = right_node = null; 
    } 
} 

public class Tree { 
    Node root; 
    Tree() { 
        root = null; 
    } 
    void inOrder(Node node) { 
        if (node == null) 
            return; 
        inOrder(node.left_node); 
        System.out.print(node.item + "->"); 
        inOrder(node.right_node); 
    } 
    public static void main(String[] args) { 
        Tree tree_object = new Tree(); 
        System.out.println("A tree_object object is defined: "); 
        tree_object.root = new Node(1); 
        tree_object.root.left_node = new Node(12); 
        tree_object.root.right_node = new Node(9); 
        tree_object.root.left_node.left_node = new Node(5); 
        tree_object.root.left_node.right_node = new Node(6); 
        System.out.println("The In-Order traversal of the tree_object is: "); 
        tree_object.inOrder(tree_object.root); 
    } 
}

আউটপুট

A tree_object object is defined: 
The In-Order traversal of the tree_object is: 5->12->6->1->9->

উদাহরণ ২

এখানে ইন-অর্ডার ট্রাভার্সালের জন্য নন-রিকার্সিভ (স্ট্যাক-ভিত্তিক) মেথড ব্যবহার করা হয়েছে।

import java.util.Stack; 

class Node { 
    int data; 
    Node left_node, right_node; 
    public Node(int item) { 
        data = item; 
        left_node = right_node = null; 
    } 
} 

class tree { 
    Node root; 
    void inorder() { 
        if (root == null) 
            return; 
        Stack temp_stack = new Stack(); 
        Node current_node = root; 
        while (current_node != null || temp_stack.size() > 0) { 
            while (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; 
        } 
    } 
    public static void main(String args[]) { 
        tree tree = new tree(); 
        System.out.println("A tree_object object is defined: "); 
        tree.root = new Node(1); 
        tree.root.left_node = new Node(2); 
        tree.root.right_node = new Node(3); 
        tree.root.left_node.left_node = new Node(4); 
        tree.root.left_node.right_node = new Node(5); 
        System.out.println("The In-Order traversal of the tree_object is: "); 
        tree.inorder(); 
    } 
}

আউটপুট

A tree_object object is defined: 
The In-Order traversal of the tree_object is: 4 2 5 1 3
  1. জাভা প্রোগ্রাম: ট্রাপিজিয়াম (Trapezium) এর ক্ষেত্রফল বের করার পদ্ধতি

  2. জাভা প্রোগ্রাম: আয়তের পরিসীমা নির্ণয়

  3. N-ary ট্রির ডায়ামিটার বের করার পাইথন প্রোগ্রাম

  4. N-ary ট্রির রুট নোড খুঁজে বের করার প্রোগ্রাম