赞
踩
二叉搜索树(BST):又称二叉查找树或二叉排序树。一棵二叉搜索树是以二叉树来组织的,可以使用一个链表数据结构来表示,其中每一个结点就是一个对象。一般地,除了key和卫星数据之外,每个结点还包含属性lchild、rchild和parent,分别指向结点的左孩子、右孩子和双亲(父结点)。如果某个孩子结点或父结点不存在,则相应属性的值为空(NIL)。根结点是树中唯一父指针为NIL的结点,而叶子结点的孩子结点指针也为NIL(百度百科)
卫星数据:除了二叉树节点的基本数据以外人为添加的数据,这些数据和树的基本结构无关
二叉查找树的性质:设x是二叉查找树中的一个结点。如果y是x左子树中的一个结点,那么y.key≤x.key。如果y是x右子树中的一个结点,那么y.key≥x.key,在二叉查找树中:
平衡二叉树(AVL Tree):平衡二叉树(AVL树)在符合二叉查找树的条件下,还满足任何节点的两个子树的高度最大差为1;查找的时间复杂度 O(Log2n)
LL(LeftLeft):插入或删除一个节点后,根节点的左孩子(Left Child)的左孩子(Left Child)还有非空节点,导致根节点的左子树高度比右子树高度大2,AVL树失去平衡
恢复平衡的步骤:
RR(RightRight):插入或删除一个节点后,根节点的右孩子(Right Child)的右孩子(Right Child)还有非空节点,导致根节点的右子树高度比左子树高度高2,AVL树失去平衡。
恢复平衡的步骤:
LR(LeftRight):插入或删除一个节点后,根节点的左孩子(Left Child)的右孩子(Right Child)还有非空节点,导致根节点的左子树高度比右子树高度高2,AVL树失去平衡
恢复平衡的步骤:
RL(RightLeft):插入或删除一个节点后,根节点的右孩子(Right Child)的左孩子(Left Child)还有非空节点,导致根节点的右子树高度比左子树高度高2,AVL树失去平衡
恢复平衡的步骤:
红黑树:是一棵二叉搜索树,它在每个结点上增加了一个存储位来表示结点的颜色,可以是RED或BlACK;通过对任何一条从根到叶子的简单路径上各个结点的颜色进行约束,红黑树确保没有一条路径会比其他路径长出2 倍,因而是近似于平衡的。树中每个结点包含5个属性:color、key、left 、right 和 parent;如果一个结点没有子结点或父结点,则该结点相应指针属性的值为Nil;我们可以把这些Nil视为指向二又查找树的叶结点(外部结点)的指针,而把带关键字的结点视为树的内部结点。
红黑树是满足以下红黑性质的二叉搜索树:
红黑树与平衡二叉树、二叉查找树:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。