Golang程序 在Preorder Traversal(递归)中遍历一个给定的二叉树

Golang程序 在Preorder Traversal(递归)中遍历一个给定的二叉树

例子

假设我们有以下的二进制树。

用Golang程序在Preorder Traversal中遍历一个给定的二叉树。

Preorder Tree Traversal 输出。1, 2, 4, 5, 3, 6, 7.

解决这个问题的方法

第1步 - 如果给定树的根节点是nil,那么返回;否则,按照下面的步骤进行。

第2步 - 打印根节点数据。

第3步–遍历左边的子树。

第4步 – 遍历右边的子树。

例子

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()
}

输出

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程