数据结构-查找-思维导图
1 数据结构-第七章-查找-思维导图
数据结构-第七章-查找-思维导图缩略图展示如下图1所示:
2 知识点小结
1、二叉排序树(BST)、平衡二叉树(AVL)、红黑树(RBT)时间复杂度如下。
二叉排序树(BST) | 平衡二叉树(AVL) | 红黑树(RBT) | |
---|---|---|---|
查找 | O( n ) | O( log2n) | O( log2n ) |
插入 | O( n ) | O( log2n ) | O( log2n ) |
删除 | O( n ) | O( log2n ) | O( log2n ) |
2、m阶B树、m阶B+树。
m阶B树 | m阶B+树 | |
---|---|---|
类比 | 二叉查找树的进化-->m叉查找树 | 分块查找的进化-->多级分块查找 |
关键字与分叉 | n个关键字对应n+1个分叉(子树) | n个关键字对应n个分叉 |
关键字对应子树个数 | 结点中的n个关键字对应n+1棵子树 | 结点中的n个关键字对应n颗子树 |
关键字个数 | 根结点的关键字数n∈[1,m-1] 其他结点的关键字数n∈[⌈m/2⌉-1,m-1] | 根结点的关键字数n∈[1,m] 其他结点的关键字数n∈[⌈m/2⌉,m] |
关键字是否重复 | 在B树中,各结点中包含的关键字是不重复的 | 在B+树中,叶结点包含全部关键字,非叶结点中出现过的关键字也会出现再叶结点中 |
结点包含的信息 | B树的结点中都包含了关键字对应的记录的存储地址 | 在B+树中,叶结点包含信息,所有非叶结点仅起索引作用,非叶结点中的每个索引项只含有对应子树的最大关键字和指向该子树的指针,不含有该关键字对应记录的存储地址 |
查找方式 | 不支持顺序查找。 查找成功时,可能停在任何一层结点,查找速度“不稳定” | 支持顺序查找。 查找成功或失败都会到达最下一层结点,查找速度“稳定” |
相同点 | 除根结点外,最少⌈m/2⌉个分叉(确保结点不要太“空”) 任何一个结点的子树都要一样高(确保“绝对平衡”) |
3 补充
图中涉及到的链接分别如下(以往文章链接):
1、平衡二叉树-调整“不平衡”情况:数据结构-平衡二叉树示例
2、红黑树-红黑树插入结点情况:数据结构-红黑树插入结点示例
3、B树-B树删除结点情况:数据结构-B树删除结点示例