Q:

C# program to implement Post-order traversal in Binary Tree

0

C# program to implement Post-order traversal in Binary Tree

All Answers

need an explanation for this answer? contact us directly to get an explanation for this answer

Program:

The source code to implement Post-order traversal in Binary Tree is given below. The given program is compiled and executed successfully on Microsoft Visual Studio.

//C# program to implement Post-order traversal in Binary Tree

using System;
using System.Collections.Generic;
using System.Text;

class Node
{
    public int  item        ;
    public Node left_ptr    ;
    public Node right_ptr   ;
    
}
class BinaryTree
{
    public Node root;
    public Node GetRoot()
    {
        return root;
    }
    public void Postorder_Traveser(Node rootNode)
    {
        if (rootNode != null)
        {
            Postorder_Traveser(rootNode.left_ptr);
            Postorder_Traveser(rootNode.right_ptr);
            Console.Write("{0} ", rootNode.item);
        }
    }
    public void InsertItem(int item)
    {
        Node curNode;
        Node parentNode;
        Node node = new Node();
        
        node.item = item;

        if (root != null)
        {
            curNode = root;

            while (true)
            {
                parentNode = curNode;
                if (item < curNode.item)
                {
                    curNode = curNode.left_ptr;
                    if (curNode == null)
                    {
                        parentNode.left_ptr = node;
                        break;
                    }
                }
                else
                {
                    curNode = curNode.right_ptr;
                    if (curNode == null)
                    {
                        parentNode.right_ptr = node;
                        break;
                    }
                }
            }
        }
        else
        {
            root = node;
        }
    }
    
}
class Demo
{
    static void Main(string[] args)
    {
        BinaryTree tree = new BinaryTree();
       
        tree.InsertItem(10);
        tree.InsertItem(15);
        tree.InsertItem(35);
        tree.InsertItem(26);
        tree.InsertItem(47);
        tree.InsertItem(34);
        tree.InsertItem(90);
        
        Console.WriteLine("Post-order Traversal : ");
        tree.Postorder_Traveser(tree.GetRoot());
        Console.WriteLine(" ");
    }
}

Output:

Post-order Traversal :
34 26 90 47 35 15 10
Press any key to continue . . .

Explanation:

In the above program, we created three classes NodeBinaryTree, and Demo. The code class contains the item and left and a right pointer to the node.

The BinaryTree class is used to implement binary tree, it contains GetRoot()InsertItem(), and Postorder_Traverse() methods.

The GetRoot() method returns the root node, and InsertItem() method is used to insert the item into the tree. The Postorder_Traverse() method is used to traverse the tree into post-order.

Now look to the Demo class, the Demo class contains the Main() method, here we created an object of BinaryTree class and then insert the items into the tree and then traverse them into post-order traversal.

 

need an explanation for this answer? contact us directly to get an explanation for this answer

total answers (1)

C# Data Structure Solved Programs/Examples

This question belongs to these collections

Similar questions


need a help?


find thousands of online teachers now
C# program to implement Pre-order traversal in Bin... >>
<< C# program to get all stack frames using StackTrac...