美文网首页
46.Go语言·数据结构·二叉树(遍历)

46.Go语言·数据结构·二叉树(遍历)

作者: 一枼落知天下 | 来源:发表于2019-06-23 16:01 被阅读0次

main.go

// Go语言·数据结构·二叉树
package main

import (
    "fmt"
)

var content string = `
————————————————Go语言·数据结构·二叉树————————————————————
一、二叉树
    根节点
    父节点
    子节点
    叶节点
`

type Hero struct {
    No int
    Name string
    Left *Hero
    Right *Hero
}

// 前序遍历
// 先输出根节点,然后在输出左子树,在输出右子树
func PreOrder(node *Hero) {
    if node != nil {
        fmt.Printf("<No.%d %s> \n",node.No,node.Name)
        PreOrder(node.Left)
        PreOrder(node.Right)
    }
}

// 中序遍历
// 先输出根的左子树,然后在根节点,在输出根的右子树
func InfixOrder(node *Hero) {
    if node != nil {
        PreOrder(node.Left)
        fmt.Printf("<No.%d %s> \n",node.No,node.Name)
        PreOrder(node.Right)
    }
}


// 后序遍历
// 先输出根的左子树,在输出根的右子树,最后根节点
func PostOrder(node *Hero) {
    if node != nil {
        PreOrder(node.Left)
        PreOrder(node.Right)
        fmt.Printf("<No.%d %s> \n",node.No,node.Name)
    }
}


func main() {
    root:= &Hero{
        No:1,
        Name:"宋江",
    }


    left1:= &Hero{
        No:2,
        Name:"吴用",
    }

    right1:= &Hero{
        No:3,
        Name:"卢俊义",
    }

    root.Left  = left1
    root.Right = right1

    right2:= &Hero{
        No:4,
        Name:"林冲",
    }

    right1.Right = right2

    left3:= &Hero{
        No:10,
        Name:"Uzi",
    }

    left4:= &Hero{
        No:11,
        Name:"Faker",
    }

    left1.Left  = left3
    left1.Right = left4

    PreOrder(root)
    fmt.Println()
    InfixOrder(root)
    fmt.Println()
    PostOrder(root)
}

相关文章

  • 46.Go语言·数据结构·二叉树(遍历)

    main.go

  • 二叉树的遍历

    数据结构算法 二叉树的遍历

  • python实现二叉树的遍历

    二叉树是一种非常重要的数据结构,很多其它数据结构都是基于二叉树的基础演变而来的。对于二叉树,有深度遍历和广度遍历,...

  • 算法系列--二叉树的三种遍历的六种实现

    0. 二叉树是常见的数据结构,二叉树常见的遍历方式有前序遍历,中序遍历和后序遍历。前序遍历就是中-左-右节点的顺序...

  • 算法学习

    ### 实现二叉树以及二叉树遍历数据结构递归比较重要 1.先序遍历 先序遍历,就是先遍历根节点然后再遍历左子树,最...

  • 二叉树的四种遍历方法

    二叉树的数据结构 1、前序遍历(递归) 2、中序遍历(递归) 3、后序遍历(递归) 4、层次遍历(队列)

  • Python实现深度优先与广度优先

    二叉树的两种遍历是数据结构的经典考察题目, 广度遍历考察队列结构, 深度遍历考察递归 二叉树 深度优先 先序遍历(...

  • 数据结构第12讲 二叉树的层次遍历

    数据结构第12讲 二叉树的层次遍历 二叉树的遍历一般有先序遍历、中序遍历和后序遍历,这三种遍历比较简单。今天我们讲...

  • 数据结构之二叉树

    数据结构之二叉树 递归构造二叉树 二叉树节点: 递归构造: 图示: 递归遍历 递归实现先序遍历 图示: 递归实现中...

  • 二叉树的总结

    1、二叉树的数据结构 2、二叉树的创建 树的结构: 输入:AB#C##D## ; 3、二叉树的遍历 二叉树的遍历分...

网友评论

      本文标题:46.Go语言·数据结构·二叉树(遍历)

      本文链接:https://www.haomeiwen.com/subject/dzziqctx.html