一、二叉树的定义
二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”和“右子树”。二叉树常被用于实现二叉查找树和二叉堆。
二、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) }