数据结构-C语言描述(第三版)第8章有哪些信誉好的足球投注网站树.ppt

数据结构-C语言描述(第三版)第8章有哪些信誉好的足球投注网站树.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(3) 所有失败结点均在同一层上。 上述定义表明,B-树是一棵多叉有哪些信誉好的足球投注网站树,它通过限制每个结点中包含的元素的最少个数,以及要求所有的失败结点(空子树)都在同一层上,来防止产生退化树形。 例如,图8-24是一棵4阶B-树,结点中最少的元素个数为(m/2(-1=1个,最多的元素个数为m-1=3个。 图8-24 4阶B-树 8.3.3 B-树的高度 B-树具有这样的性质:设B-树的失败结点的总数是s,那么一棵B-树的元素总数N是B-树的失败结点的总数减1,即N=s-1。 现在来说明这一点。在B-树中,每个非失败结点中包含的元素的数目比它所包含的指针数少1。设非失败结点的个数为n,则B-树的元素总数N等于所有非失败结点包含的指针总数t减去n,即N=t-n,而指针总数t等于除根结点以外,失败结点数和非失败结点数的总和,即t=n+s-1,所以n+s-1=N+n,因此,N=s-1,即一棵B-树所包含的元素总数是B-树的失败结点的总数减1。 结点所在的最大层次是B-树的高度。那么,包含N个元素的m阶B-树的最大高度是多少呢? 根据B-树的定义,第一层为根结点。根结点至少有两个孩子,所以,第二层至少有2个结点。除根以外,每个非失败结点至少有?m/2?个孩子,所以第三层至少有2*?m/2?个结点……,依此类推,第h+1层至少有2*(?m/2?)h–1个结点。不妨设第h+1层是失败结点,并设m阶B-树有N个元素,则失败结点的个数为N+1,由此可见: N+1≥2*(?m/2?)h–1 (8-10) 所以有: (8-11) 这就是说,在含有N个元素的B-树上有哪些信誉好的足球投注网站一个关键字,从根开始到关键字所在的结点的路径上,涉及的结点数不超过1+log?m/2? ((N+1)/2),这也是B-树的最大高度(不含失败结点)。 8.3.4 B-树的有哪些信誉好的足球投注网站 B-树的有哪些信誉好的足球投注网站算法与m叉有哪些信誉好的足球投注网站树的有哪些信誉好的足球投注网站算法相同。在有哪些信誉好的足球投注网站过程中,磁盘被访问的次数最多是1+log?m/2?((N+1)/2)。B-树的结点可以看成一个有序表,在一个B-树结点中有哪些信誉好的足球投注网站是在内存中的有哪些信誉好的足球投注网站,因此可以采用顺序有哪些信誉好的足球投注网站和二分有哪些信誉好的足球投注网站等内有哪些信誉好的足球投注网站算法进行。 8.3.5 B-树的插入 将一个元素插入B-树中,首先要检查B-树中是否包含相同关键字值的元素,如果存在,则插入运算失败终止,否则有哪些信誉好的足球投注网站必定终止在失败结点处,此时,将新元素插入该失败结点的上一层的叶子结点中。例如,为了在图8-24的4阶B-树中插入59,首先有哪些信誉好的足球投注网站新元素的插入位置。有哪些信誉好的足球投注网站在叶子结点的元素53和64之间的失败结点处失败,此时,可将新元素59和一个代表失败结点的空指针插入53和64之间。如果插入后该叶结点中包含的元素个数不超过m-1,则插入成功完成。 但本例中,插入59后,叶结点q中包含4个元素,已超过了4阶B-树的结点容量(见图8-25(a)),此时可创建一个新的B-树结点q,将图8-25(a)的结点中后一半的元素和指针存放到新结点q中,前半部分元素和指针仍然保存在q中,但位于(m/2(处的元素53,连同指向新结点的指针q一起,将存放到它的双亲结点中(见图8-25(b))。也就是说,结点q被一分为三,拆分点在位置(m/2(处,位于该处的元素和指向新结点的指针,将一起存放到其双亲结点中,见图8-25(c)。 图8-25 在图8-24的B-树中插入59 (a) 插入59;(b) 结点分裂;(c) 插入59后的B-树 下面给出另一个B-树插入的例子。图8-26(a)是在3阶B-树中插入53,有哪些信誉好的足球投注网站在q结点的47和64之间的失败结点处失败,因此在q结点的47和64之间插入元素53和一个代表失败结点的空指针,见图8-26(b)和(c)。结点q在插入新元素53以后已产生溢出,需要分裂,分裂出现在结点q的第二个元素53处。分裂后,原结点q分成三部分,前一部分元素仍留在结点q中,后一部分元素建立一个新结点q 来存储它们,设q 是新结点的地址,那么元素53和指针q 将插入原q结点的双亲r中,见图8-26(d)和(e)。结点r还要再分裂,产生新结点r,元素53和指针r 将插入原r结点的双亲结点t中,即根结点中,见图8-26(f)和(g),插入后的B-树见图8-26(h)。 图8-26 B-树的插入举例 从上面的例子我们可以得到如下的在B-树中插入新元素的方法: (1) 在B-树中有哪些信誉好的足球投注网站给定关键字值的元素,如果有哪些信誉好的足球投注网站成功,表示有重复元素,插入运算失败终止,否则将新元素和一个空指针插入有哪些信誉好的足球投注网站失败处的叶结点中。 (2) 若插入新元素(和一个指针)后,结点q未溢出,即结点

文档评论(0)

autohhh + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档