数据结构高分笔记 精彩摘录之B.docx
《数据结构高分笔记 精彩摘录之B.docx》由会员分享,可在线阅读,更多相关《数据结构高分笔记 精彩摘录之B.docx(8页珍藏版)》请在三一办公上搜索。
1、立志于打造最贴近考生实际的辅导书计算机考研之数据结构高分笔记率辉编著周伟张浩审核数据结构高分笔记精彩摘录之B-树7.3.2 B-树的基本操作1.B-树的查找B-树的查找很简单,是二叉排序树的扩展,二叉排序树是二路查找,B-树是多路查找。 因为B-树结点内的关键字是有序的,在结点内进行查找的时候除了顺序查找之外,还可以 用折半查找来提高效率。B-树具体查找步骤如下(key为要查找的关键字):先让key与根结点中的关键字比较,如果key等于ki(k为结点内的关键字数组, 如7.1.1节中结点结构图所示),则查找成功。若keykn,则到pn所指示的子树中进行继续查找。若ki3 0则沿着根结点中 指针
2、p1 往下走;在子树根中查找,因394245,则沿着子树根结点中指针p1往下 走,在下层结点中查找关键字42成功,查找结束。 . 、/2.B-树的插入和删除对于B-树的插入和删除操作,我们先举一个例子,通过例子最后总结出其一般方法。例题 7.4 用以下关键字序列1,2,6,7,11,4,8,13,10,5,17,9,16,2 0,3,12, 14,18,19,15创建一棵5阶B-树。对于该B-树,给出删除关键字8,16,15,4的过程。分析:和二叉排序树的建立一样,B-树的创建过程也是将关键字逐个插入到树中的过程。在进行插入或者删除之前要确定一下每个结点中关键字的个数范围,如果B-树的阶数 为
3、m,则结点中关键字个数范围为回/2-1m-1。对于关键字的插入,需要找到插入位置。在B-树的查找过程中,当遇到叶子结点指针 时则证明查找不成功,同时也找到了插入位置,即根据叶子结点指针我们可以确定在上一层 的非叶结点中的插入位置。由此我们看出B-树插入的新结点总是落在最下层的非叶子结点 上;在插入过程中有可能破坏B-树的特性,比如新关键字的插入使得结点中关键字的个数 超出规定个数,这时要进行结点的拆分。对于关键字的删除,需要找到待删除关键字;在结点中删除关键字的过程也有可能破坏 B-树的特性,比如旧关键字的删除可能使得结点中关键字的个数少于规定个数,这时可能需要向其兄弟结点借关键字或者和其孩子
4、结点进行关键字的交换,也可能需要进行结点的合 并。其中和当前结点的孩子结点进行关键字交换的操作可以保证删除操作也发生在最下层 的非叶子结点上。具体步骤如下:(1)求结点中关键字个数范围:由于题目要求建立5阶B-树,则关键字个数在24之间。(2)1)结点的插入:根结点最多可以容纳4个关键字,依次插入1,2,6,7后的B-树如图(a)所示:12 6 7(a)插入1,2,6,7后的结果2)当插入关键字11的时候,发现此时结点中的关键字个数变为5,超出范围,则需 拆分。取关键字数组的中间位置即5/2=3处的关键字k3=6,独立作为一个结点,即新 的根结点;将关键字6左右的关键字分别做成两个结点,作为新
5、根结点的两个分支结点。 此时B-树如图(b)所示:(b)插入11后的结果3)新关键字总是插入在最下层的非叶结点上,插入关键字4,8,13后的B-树如图(c) 所示:4)关键字10需要插入在关键字8和11之间,此时又会出现关键字个数超出范围, 因此需要拆分。拆分时需要将关键字10并入根结点内,并将10左右的关键字做成两个新 的结点连接在根结点上。插入10并经过拆分操作后的B-树如图(d)所示:(插入关键字10后的结果5)插入关键字5,17,9,16后的B-树如图(e)所示:作)插入关键字5,17,9,16后的结果6)关键字20需要插入在关键字17之后,会造成结点关键字个数超出范围,需要拆分,(f
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构高分笔记 精彩摘录之B 数据结构 高分 笔记 精彩 摘录

链接地址:https://www.31ppt.com/p-5306730.html