遍历方式:前序遍历(根,左子树,右子树)、中序遍历(左子树,根,右子树)、后序遍历(左子树,右子树,根)
二叉树:
1、每个节点最多有两个子树、有左右子树之分。
二叉搜索树:
1、左子树所有值小于根节点、右子树所有值大于根节点
2、每一个节点的左右子树都是二叉搜索树
3、没有键值相等的节点
平衡二叉搜索树(AVL树):
1、每一个节点左右子树高度差绝对值不超过1
2、每一个节点的左右子树都是平衡二叉搜索树
3、左旋把节点的右支往左拉,右子节点变成父节点,多余的左子节点作为降级节点的右子节点
4、右旋把节点的左支往右拉,把左子节点变成父节点,把多余的右子节点作为降级节点的左子节点
红黑树:不是严格意义上的平衡二叉搜索树,因为左右子树高度差绝对值可能会超过1
1、每个节点只能是黑色或者红色
2、根节点是黑色
3、每个叶子节点是黑的 这里是指空的叶子节点
4、红色节点的叶子节点都是黑色
5、从任一节点到其每个叶子的所有路径包含相同数目的黑色节点
6、添加 同二叉搜索树的添加,添加的为红色、旋转变色。
7、删除 同二叉搜索树的删除、三种情况 叶子节点直接删除 有一个儿子节点的删除后用儿子节点代替 有两个儿子节点的 从右子树找出最小的节点代替 然后进行旋转和变色