数据结构-树
树特点:
- 一个节点,即只有根节点,也可以是一棵树;
- 其中任何一个节点与下面所有节点构成的树成为子树;
- 根节点没有父节点,而叶子节点没有子节点;
- 除根节点外,任何节点有且仅有一个父节点;
- 任何节点可以有0~n个字节点。
平衡二叉树
- 树的左右高度差不能超过1;
- 任何往下递归的左子树和右子树,必须符合第一条性质;
- 没有任何节点的空树或只有根节点的树也是平衡二叉树。
二叉查找树
- 在任何递归子树中,左节点一定在右节点之前遍历;
- 前序,中序,后序,仅指根节点在遍历的位置顺序;
AVL树
一种平衡二叉查找树,增加和删除节点后,通过通过旋转重新达到平衡。
红黑树
- 节点只能是红色或者黑色;
- 根节点必须是黑色;
- 所有NIL节点都是黑色;
- 一条路径上不能出现相邻的两个红色节点;
- 在任何递归子树内,根节点到叶子节点的所有路径上包含相同数目的黑色节点。
红黑树和AVL树的比较
黑深度:当前节点到NIL途径的黑色节点个数。