二叉搜索树
又叫二叉查找树,二叉排序树,它具有以下特点
1.如果它的左子树不为空,则左子树上节点的值都小于根节点
2.右子树不为空,则右子树上的值都大于根节点
3.子树同样遵循以上两点
为什么又叫二叉排序树呢?二叉树的变量方式:前 中 后 层次
只要一棵树是二叉搜索树,那么他的中序遍历一定是有序的
插入
1.和根节点比较大小,小放在左侧,大就放在右侧
2.如果没有左或右就直接放,如果右继续递归比较
时间复杂度 O(nlogn)
查找
1.先和根节点比较,小的在左侧找,大的在右侧找
2.继续递归
时间复杂度 O(logn)
删除
时间复杂度 O(logn) 复杂的那种
![](https://img.haomeiwen.com/i12576327/58013abd0379db9b.png)
红黑树
性质
1.每个节点不是红就是黑
2.不可能有连在一起的红色节点,每个叶子节点都是黑色的空节点NIL,也就是说叶子节点不存储数据
3.根节点都是黑色的root
4.每个节点,从该节点到其他可达叶子节点的所有路径,都包含相同数目的黑色节点
为了满足以上的性质 就出现了旋转
![](https://img.haomeiwen.com/i12576327/391fa140ca02a019.jpg)
网友评论