Golang程序 在Inorder Traversal (Recursive)中遍历一个给定的树
例子
假设我们有以下的树。
顺序树遍历输出 – 4 2 5 1 6 3 7
解决这个问题的方法
第1步 - 如果给定树的根节点为零,则返回;否则,按照下面的步骤进行。
第2步 - 遍历左边的子树。
第3步 - 打印根节点的数据。
第4步 – 遍历右边的子树。
例子
package main
import "fmt"
type Node struct {
data int
left *Node
right *Node
}
func (root *Node)InOrderTraversal(){
if root !=nil{
root.left.InOrderTraversal()
fmt.Printf("%d ", root.data)
root.right.InOrderTraversal()
}
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("In Order Traversal of the given tree is: ")
tree.InOrderTraversal()
}
输出
In Order Traversal of the given tree is: 4 2 5 1 6 3 7