二叉查找树 (Binary Search Tree)
复杂度 O(Log2n)
缺点:
容易产生畸形, 形成类似线性链表的数据结构
平衡二叉查找树 (AVL Tree)
一个节点的子节点数高度差不允许超过1
为了保证树的平衡,在数据插入和删除的过程中进行旋转操作
缺点:
搜索效率不足,一般来说在树结构中的数据存储深度决定它搜索时的IO次数
每一次IO操作加载的内容太少
多路平衡查找树 (B Tree)
特性:多路/绝对平衡,路数=关键字+1
为了保证树的平衡,在数据插入和删除的过程中进行关键字的合并和节点的分裂
优点:路数越多,树的高度越低。路数多的情况下,一次IO操作获取的数据条数多。
加强版多路平衡查找树 (B+ Tree)
关键字搜索采用左闭合区间
非叶子节点不保存数据信息,只保存关键字和子节点的引用,数据保存在叶子结点上
叶子节点顺序排列,形成有序链表
优点: 扫库扫表能力强
非叶子节点不保存数据导致非叶子节点可容纳的关键字变多,路数变多
排序能力更强
查询效率更稳定