数据结构之二叉树
一、二叉树图示
二、构建二叉树
下面代码只构建了上图中部分二叉树,需要请自行补全
//构建二叉树
A:=&Tree{ //根节点
name:"A",
}
B:=&Tree{
name:"B",
}
C:=&Tree{
name:"C",
}
A.left=B
A.right=C
D:=&Tree{
name:"D",
}
E:=&Tree{
name:"D",
}
F:=&Tree{
name:"D",
}
B.left=D
B.right=E
C.left=F
三、遍历
func preOrder(root *Tree){ //先序遍历
if root!=nil{
fmt.Printf("%s->",root.name)
preOrder(root.left)
preOrder(root.right)
}
}
func infixOrder(root *Tree){ //中序遍历
if root!=nil{
preOrder(root.left)
fmt.Printf("%s->",root.name)
preOrder(root.right)
}
}
func postOrder(root *Tree){ //后序遍历
if root!=nil{
preOrder(root.left)
preOrder(root.right)
fmt.Printf("%s->",root.name)
}
}
后续更新红黑树、B树,B+树,AVL树
看完如果对自己有点帮助,请点赞支持,谢谢