搜索二叉树
默认没重复节点,左边节点小于根节点 右子节点大于根节点
重复的节点可以用list保存或者value增加1
搜索二叉树删除:
1. 没孩子 直接删除 父节点指向为null
2. 有一个孩子 父节点指向孩子
3. 有两个孩子 取左孩子的最右孩子 或 取右孩子的最左节点
avl树/红黑树/sb树的区别是 判断平衡的条件不一样
avl平衡性 严格要求左树和右树的高度差不超过1
sb树平衡性:每棵子树的大小 不小于其兄弟的子树大小 即叔叔树大于侄子树大小
左侄子节点数量大于 叔叔节点的数量 LL型 左叔叔节点右旋 右旋后哪个节点的孩子节点发生变化再平衡
右侄子节点数量大于 叔叔节点的数量 LR型 右侄子旋转称为root节点 哪个节点孩子节点变化再平衡
红黑树平衡性:
节点为红或黑
root和叶子节点必须黑
红红不能相邻
黑高(每个路黑节点一样多)