Binary Search Tree:二叉树
定义:一个二叉树中,任意节点的值要大于等于左子树所有节点的值,且要小于等于右边子树的所有节点的值;
特点:
左子树上所有结点的值均小于或等于它的根结点的值
右子树上所有结点的值均大于或等于它的根结点的值
左、右子树也分别为二叉排序树
查找跟删除的效率非常慢~但是查找的速度相对于链表来说很快.
他的遍历顺序为:
BST在特定极端的情况下就会退化变成链表,所以,有了新的树AVL;
AVL: 平衡二叉树
特点:
他的每一个子树都是一个平衡二叉树
左子树和右子树的高度差总是小于等于1
AVL为了保证自身,引入了一个叫做机制–监督机制。
定义为Tree的某一部分的不平衡度超过一个阈值后触发相应的平衡操作,反而保证树的平衡度在允许的范围内,达到平衡。
红黑树:
红黑树也可以把它当做成一种近似平衡的二叉树。他的增删查的效率都很快;
特点: