树和二叉树
树的基本概念
- 树的高度:层数
- 双亲:直接父节点
- 祖先-祖先-双亲-孩子-子孙
- 有序树和无序树:从左到右是有次序的,不能互换。
树的性质
- 节点数等于所有节点的度+1.
二叉树
二叉树和度为2的有序树的区别:
- 度为2的有序树至少有3个结点。二叉树可以为空树。
- 度为2的有序树对于单个孩子节点,无须分左右次序。而对于二叉树,无论几个孩子,均需要确定左右次序。
几个特殊的二叉树:
- 满二叉树:叶子结点都在最后一层,且除叶子结点之外其他节点的度都为2。
- 完全二叉树:高度为h,有n个结点的二叉树,当且仅当每个节点都与高度为h的满二叉树中编号为1~n的结点一一对应。
- 二叉排序树:左子树上的所有结点的关键字均小于根结点的关键字;右子树上的所有结点的关键字大于根结点的关键字;左右子树各是一颗二叉排序树。
- 平衡二叉树:树上任一结点的左右子树的的深度之差不超过1。
二叉树的存储结构
顺序存储结构
- 满二叉树和完全二叉树:逐行存储。
- 一般二叉树:需要添加空结点,例如用0表示不