一、二叉树的定义

二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”和“右子树”。二叉树常被用于实现二叉查找树和二叉堆。

二、Go语言实现二叉树遍历

Go语言实现二叉树遍历的方法有三种:先序遍历、中序遍历、后序遍历。

1、先序遍历

先序遍历是指先访问根节点,然后遍历左子树,最后遍历右子树。Go语言实现先序遍历的代码如下:

func PreOrder(root *TreeNode) {
    if root == nil {
        return
    }
    fmt.Println(root.Val)
    PreOrder(root.Left)
    PreOrder(root.Right)
}

2、中序遍历

中序遍历是指先遍历左子树,然后访问根节点,最后遍历右子树。Go语言实现中序遍历的代码如下:

func InOrder(root *TreeNode) {
    if root == nil {
        return
    }
    InOrder(root.Left)
    fmt.Println(root.Val)
    InOrder(root.Right)
}

3、后序遍历

后序遍历是指先遍历左子树,然后遍历右子树,最后访问根节点。Go语言实现后序遍历的代码如下:

func PostOrder(root *TreeNode) {
    if root == nil {
        return
    }
    PostOrder(root.Left)
    PostOrder(root.Right)
    fmt.Println(root.Val)
}