二叉树理论基础
一、二叉树的种类
1.满二叉树:一颗二叉树只有度为0或度为1的结点,并且度为0的结点在同一层上
2.完全二叉树:除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。
3.二叉搜索树:又称二叉排序树,是有数值的,二叉排序树是一个有序树(左小右大)
4.平衡二叉搜索树:左右两个子树的高度差不超过1,并且左右两个子树都是一棵平衡二叉树
二、存储方式:链式存储、顺序存储(数组)
存储方式:链式存储、顺序存储(数组)
三、遍历方式:
- 深度优先遍历
- 前序遍历:中左右
- 中序遍历:左中右
- 后序遍历:左右中
- 广度优先遍历
- 层次遍历
- 层次遍历
四、二叉树的定义
type TreeNode struct {
Val int
Left *TreeNode
Right *TreeNode
}