数据结构期末复习知识查漏补缺并配(带详解的)查漏习题(B树,散列(哈希),平衡二叉树,KMP)

一.B树(也叫B-)与B+树专题

(1)B树

《数据结构期末复习知识查漏补缺并配(带详解的)查漏习题(B树,散列(哈希),平衡二叉树,KMP)》

《数据结构期末复习知识查漏补缺并配(带详解的)查漏习题(B树,散列(哈希),平衡二叉树,KMP)》

《数据结构期末复习知识查漏补缺并配(带详解的)查漏习题(B树,散列(哈希),平衡二叉树,KMP)》

重点总结:

1.结点最大的孩子数目称为B树的阶。所以,2-3树是3阶B树,2-3-4树是3阶B树

2.所有叶节点位于同一层次

3.《数据结构期末复习知识查漏补缺并配(带详解的)查漏习题(B树,散列(哈希),平衡二叉树,KMP)》

4.《数据结构期末复习知识查漏补缺并配(带详解的)查漏习题(B树,散列(哈希),平衡二叉树,KMP)》,一般均是升序或降序

5.在B树上查找的过程是一个顺指针查找结点和在结点中查找关键字的交叉过程。

6.B树的数据结构就是为了内外存的数据交互准备的。

7.B树中一个关键字只能在树中某一个节点上出现,且节点内部关键字是有序排列的。 

(2)B+树

《数据结构期末复习知识查漏补缺并配(带详解的)查漏习题(B树,散列(哈希),平衡二叉树,KMP)》

《数据结构期末复习知识查漏补缺并配(带详解的)查漏习题(B树,散列(哈希),平衡二叉树,KMP)》

《数据结构期末复习知识查漏补缺并配(带详解的)查漏习题(B树,散列(哈希),平衡二叉树,KMP)》

 重点总结:

1.每一个叶子结点都会保存一个指向后一叶子结点的指针。

2.适合带有范围的查找(随机查找,顺序查找都成)

3.《数据结构期末复习知识查漏补缺并配(带详解的)查漏习题(B树,散列(哈希),平衡二叉树,KMP)》

4.《数据结构期末复习知识查漏补缺并配(带详解的)查漏习题(B树,散列(哈希),平衡二叉树,KMP)》

5.《数据结构期末复习知识查漏补缺并配(带详解的)查漏习题(B树,散列(哈希),平衡二叉树,KMP)》

(3)习题巩固

《数据结构期末复习知识查漏补缺并配(带详解的)查漏习题(B树,散列(哈希),平衡二叉树,KMP)》

《数据结构期末复习知识查漏补缺并配(带详解的)查漏习题(B树,散列(哈希),平衡二叉树,KMP)》

2-13:叶节点之间互相并不链接

2-14:《数据结构期末复习知识查漏补缺并配(带详解的)查漏习题(B树,散列(哈希),平衡二叉树,KMP)》

最少为ceil(m / 2)。

 

2-15:B+树解决的就是这个问题

2-17:C是肯定的,因为《数据结构期末复习知识查漏补缺并配(带详解的)查漏习题(B树,散列(哈希),平衡二叉树,KMP)》

D的话根节点除外

B肯定错

A我暂时不知道(这块实在学的不精。。。)

《数据结构期末复习知识查漏补缺并配(带详解的)查漏习题(B树,散列(哈希),平衡二叉树,KMP)》

补充一道和链表有关的与b树无关的查找题

《数据结构期末复习知识查漏补缺并配(带详解的)查漏习题(B树,散列(哈希),平衡二叉树,KMP)》

《数据结构期末复习知识查漏补缺并配(带详解的)查漏习题(B树,散列(哈希),平衡二叉树,KMP)》

二.散列(哈希)专题

《数据结构期末复习知识查漏补缺并配(带详解的)查漏习题(B树,散列(哈希),平衡二叉树,KMP)》

《数据结构期末复习知识查漏补缺并配(带详解的)查漏习题(B树,散列(哈希),平衡二叉树,KMP)》

《数据结构期末复习知识查漏补缺并配(带详解的)查漏习题(B树,散列(哈希),平衡二叉树,KMP)》

《数据结构期末复习知识查漏补缺并配(带详解的)查漏习题(B树,散列(哈希),平衡二叉树,KMP)》

《数据结构期末复习知识查漏补缺并配(带详解的)查漏习题(B树,散列(哈希),平衡二叉树,KMP)》

《数据结构期末复习知识查漏补缺并配(带详解的)查漏习题(B树,散列(哈希),平衡二叉树,KMP)》

解析及知识点补充:

2-2:哈希查找不能顺序查找 ,与结点个数无关

2-3:可能有冲突啊

2-7:下图够详细了吧嘿嘿

《数据结构期末复习知识查漏补缺并配(带详解的)查漏习题(B树,散列(哈希),平衡二叉树,KMP)》

2-8:就是不能有冲突

 

2-9:

《数据结构期末复习知识查漏补缺并配(带详解的)查漏习题(B树,散列(哈希),平衡二叉树,KMP)》

要注意不是6/11而是5/11=0.45哦,因为发现有冲突时 不算当前元素

2-10:

关于查找成功与不成功总结一下:

《数据结构期末复习知识查漏补缺并配(带详解的)查漏习题(B树,散列(哈希),平衡二叉树,KMP)》

成功就是把每个冲突次数加1再加在一块除以元素个数

不成功就是数离最近的空格的个数(要加上自己本身!!!)

所以这个题就是(5+4+3+2+7*1)/11=21/11(前面可不是4+3+2+1哦)

2-12:

这个有可能没学过,就是

就是《数据结构期末复习知识查漏补缺并配(带详解的)查漏习题(B树,散列(哈希),平衡二叉树,KMP)》

《数据结构期末复习知识查漏补缺并配(带详解的)查漏习题(B树,散列(哈希),平衡二叉树,KMP)》

《数据结构期末复习知识查漏补缺并配(带详解的)查漏习题(B树,散列(哈希),平衡二叉树,KMP)》

再补充几道:

《数据结构期末复习知识查漏补缺并配(带详解的)查漏习题(B树,散列(哈希),平衡二叉树,KMP)》

这个是平方探测,没啥难的其实也

三.平衡二叉树(动态查找表)

要注意平衡二叉树也是二叉搜索树,插入的过程要注意把结点调平衡(边插入边调整)

方法不会的话参见这篇博客:https://blog.csdn.net/weixin_42110638/article/details/83963954

《数据结构期末复习知识查漏补缺并配(带详解的)查漏习题(B树,散列(哈希),平衡二叉树,KMP)》

《数据结构期末复习知识查漏补缺并配(带详解的)查漏习题(B树,散列(哈希),平衡二叉树,KMP)》

《数据结构期末复习知识查漏补缺并配(带详解的)查漏习题(B树,散列(哈希),平衡二叉树,KMP)》

《数据结构期末复习知识查漏补缺并配(带详解的)查漏习题(B树,散列(哈希),平衡二叉树,KMP)》

《数据结构期末复习知识查漏补缺并配(带详解的)查漏习题(B树,散列(哈希),平衡二叉树,KMP)》

《数据结构期末复习知识查漏补缺并配(带详解的)查漏习题(B树,散列(哈希),平衡二叉树,KMP)》

《数据结构期末复习知识查漏补缺并配(带详解的)查漏习题(B树,散列(哈希),平衡二叉树,KMP)》

《数据结构期末复习知识查漏补缺并配(带详解的)查漏习题(B树,散列(哈希),平衡二叉树,KMP)》

解析:

2-3:看下图

《数据结构期末复习知识查漏补缺并配(带详解的)查漏习题(B树,散列(哈希),平衡二叉树,KMP)》

2-4:

这里有俩公式

1:《数据结构期末复习知识查漏补缺并配(带详解的)查漏习题(B树,散列(哈希),平衡二叉树,KMP)》

最大高度是[log2(n)]+1;

2:《数据结构期末复习知识查漏补缺并配(带详解的)查漏习题(B树,散列(哈希),平衡二叉树,KMP)》

这个题问最大,那你就算一下log2(12)=3.59,取整为4,+1等于5

当然用递推也是可以的

第一到五层最少的节点数分别是1,2,4,7,12

2-5,6,9同理(前两个注意下开始位置)

但2-9要注意一下,如果你用递推公式来算,28介于20(第六层)与33(第七层)之间

这时树的最大深度最多到6,可不是7哦(原因自己想)

2-7:

要注意平衡因子为左子树树高减去右子树树高

《数据结构期末复习知识查漏补缺并配(带详解的)查漏习题(B树,散列(哈希),平衡二叉树,KMP)》

 

2-8:看图,C不需要调整的,D是RL旋转

《数据结构期末复习知识查漏补缺并配(带详解的)查漏习题(B树,散列(哈希),平衡二叉树,KMP)》

2-10:

看图就好,主要要学会LR和RL旋转方法(都是把最中间大小的树提上来),别搞错了

《数据结构期末复习知识查漏补缺并配(带详解的)查漏习题(B树,散列(哈希),平衡二叉树,KMP)》

四.KMP算法

参考博客:https://blog.csdn.net/nanami809/article/details/49367159

《数据结构期末复习知识查漏补缺并配(带详解的)查漏习题(B树,散列(哈希),平衡二叉树,KMP)》

《数据结构期末复习知识查漏补缺并配(带详解的)查漏习题(B树,散列(哈希),平衡二叉树,KMP)》

《数据结构期末复习知识查漏补缺并配(带详解的)查漏习题(B树,散列(哈希),平衡二叉树,KMP)》

    原文作者:平衡二叉树
    原文地址: https://blog.csdn.net/weixin_42110638/article/details/85134420
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞