二叉树常见属于
树的深度:层数
度:子树的个数
叶子:没有子节点
兄弟:具有相同的父节点
堂兄弟:非同一父节点但是同一深度
二叉树
一个节点最多只能有两个子节点,而且必须区分左右
特殊的二叉树:
- 满二叉树:如果一个深度为 的树有 个节点,就是满二叉树
- 完全二叉树:一棵树只有最后两层出现不满足有两个子节点
存储
分为顺序存储、链式存储
- 顺序存储:利用数组,构建这个树对应的满二叉树,将树的数据保存进数组
- 一般用先序遍历编号数组下标,一个节点 的左子编号为 ,右子为
- 比较浪费空间而且只能存二叉树
- 链式存储:用指针存储孩子节点
遍历
分为按行遍历,先序遍历,中序遍历,后序遍历
- 按行(层)遍历:就是按层从上到下,从左到右遍历
- 先序遍历:遍历的顺序为“根左右”
- 中序遍历:遍历的顺序为“左根右“
- 后序遍历:遍历的顺序为”左右根“
如下图,其各遍历方式的结果为:
- 按层遍历:
ABECFDGHK
- 先序遍历:
ABCDEFGHK
- 中序遍历:
BDCAEHGKF
- 后序遍历:
DCBHKGFEA