Golang Program to traverse a given binary tree in Preorder Traversal (Recursive)


Example

Suppose we have the following binary tree.

Preorder Tree Traversal Output: 1, 2, 4, 5, 3, 6, 7.

Approach to solve this problem

Step 1 − If the root node of the given tree is nil, then return; else, follow the steps given below.

Step 2 − Print the root node data.

Step 3 − Traverse the Left sub-tree.

Step 4 − Traverse the Right sub-tree.

Example

 Live Demo

package main
import "fmt"
type Node struct {
   data int
   left *Node
   right *Node
}
func (root *Node)PreOrderTraversal(){
   if root !=nil{
      fmt.Printf("%d ", root.data)
      root.left.PreOrderTraversal()
      root.right.PreOrderTraversal()
   }
   return
}
func main(){
   tree := Node{1, &Node{2, &Node{4, nil, nil}, &Node{5, nil, nil}}, &Node{3, &Node{6, nil, nil},          &Node{7, nil, nil}}}
   fmt.Printf("Pre Order Traversal of the given tree is: ")
   tree.PreOrderTraversal()
}

Output

Pre Order Traversal of the given tree is: 1 2 4 5 3 6 7

Updated on: 18-Mar-2021

551 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements