Golang 程序定义二叉树

go programmingserver side programmingprogramming更新于 2025/5/10 12:37:17

示例 − 在给定的树中,根节点为 1,其左子树的根为 2,其右子树的根为 3,... 依此类推。

前序树遍历输出:1、2、4、5、3、6、7。

解决此问题的方法

步骤 1 − 首先,我们将定义节点结构。

步骤 2 −在 ma​​in 方法中,我们将创建上述树。

步骤 3 − 最后,我们将执行前序树遍历。

示例

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(){
   root := Node{1, nil, nil}
   root.left = &Node{2, nil, nil}
   root.right = &Node{3, nil, nil}
   root.left.left = &Node{4, nil, nil}
   root.left.right = &Node{5, nil, nil}
   root.right.left = &Node{6, nil, nil}
   root.right.right = &Node{7, nil, nil}
   fmt.Printf("给定树的前序遍历是:")
   root.PreOrderTraversal()
}

输出

给定树的前序遍历是 − 1 2 4 5 3 6 7

相关文章