一、树的基本概念
树(Tree)是元素的集合,树有多个节点可以存储元素
二、二叉树
每个节点最多有两个子节点的树称为二叉树;常用来做二分查找(Binary Search)等
三、B树
即二叉搜索树(Binary Search Tree),是一种特殊形态的二叉树
1、所有节点最多拥有2个子节点
2、所有节点存储一个关键字
3、非叶子节点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树
B树从根节点开始查找,如果查询关键字等于节点则命中。否则,如果查询关键字小于节点关键字则进入左子树查找,如果查询关键字大于节点关键字则进入右子树查找;如果左或右子树指针为空,则表示没有找到匹配的结果。
如果B树的所有非叶子节点左右子树节点数目差不多(平衡),则B树的查找性能逼近二分查找。但它比连续内存空间的二分查找的优点是改变B树结构(插入或删除节点)不需要移动大段内存数据,通常是常熟开销。
但B树在经过多次插入或删除节点后会导致不同的结果,即不再平衡
四、平衡二叉树
平衡二叉树即是在B树的基础上添加了平衡算法,使其保持良好的查询性能
五、其他衍生B树