数据结构之树的名称解析

来源:互联网 发布:网络io 文件系统 编辑:程序博客网 时间:2024/06/05 03:57

网上关于树的各种名称各种各样,平衡搜索树、平衡二叉树、二叉搜索树、平衡查找树......
看得我头都大了,特此总结,千万别被这些近似的名称搞混了!

我把XX树前面的前缀进行解析

1.【二叉】:Binary. 每个节点最多有两个子树;

2.【搜索】:Search. 它是一棵空树;如果不为空,那么其左子树节点的值都小于根节点的值;右子树节点的值都大于根节点的值,并且左右两个子树都是一棵搜索树,也被叫做查找,排序

3.【平衡】:Balanced. 它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡树。

通俗的来讲,对一棵搜索树(search tree)进行查询/新增/删除等动作, 所花的时间与树的高度h成比例, 并不与树的容量n成比例。如果可以让树维持矮矮胖胖的好身材, 也就是让h维持在O(lg n)左右, 完成上述工作就很省时间。能够一直维持好身材, 不因新增删除而长歪的搜索树, 叫做balanced search tree(平衡搜索树)。可见平衡树是在搜索树上加了一些限制条件形成的,所以平衡树肯定是搜索树。


以上三和前缀排列组合就出现了各种各样的平衡搜索树、平衡二叉树、二叉搜索树、平衡查找树......

平衡搜索树 = 平衡查找树 = 平衡树

平衡二叉树 = 平衡二叉搜索树


上图



0 0
原创粉丝点击