网上关于树的各种名称各种各样,平衡搜索树、平衡二叉树、二叉搜索树、平衡查找树......
看得我头都大了,特此总结,千万别被这些近似的名称搞混了!
我把XX树前面的前缀进行解析
1.【二叉】:Binary. 每个节点最多有两个子树;
2.【搜索】:Search. 它是一棵空树;如果不为空,那么其左子树节点的值都小于根节点的值;右子树节点的值都大于根节点的值,并且左右两个子树都是一棵搜索树,也被叫做查找,排序;
3.【平衡】:Balanced. 它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡树。
通俗的来讲,对一棵搜索树(search tree)进行查询/新增/删除等动作, 所花的时间与树的高度h成比例, 并不与树的容量n成比例。如果可以让树维持矮矮胖胖的好身材, 也就是让h维持在O(l