《数据结构》课件_第8章(查找表)11.pptVIP

《数据结构》课件_第8章(查找表)11.ppt

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

3)被删关键字所在最下层非终端结点和其相邻的兄弟结点中的关键字数目都等于Upper(m/2)-1时,假设该结点有右兄弟,且其右兄弟结点地址由双亲结点指针Aj所指,则在删去关键字之后,它所在结点中剩余的关键字和指针加上双亲结点中的关键字Kj,一起合并到Aj所指兄弟结点中(若无右兄弟,则合并至左兄弟结点中)。删去5345455053100100242437376190bdefgh70c3451001002424373790bdeghc361701001004590egh6170324删去37NorthChinaElectricPowerUniversityNorthChinaElectricPowerUniversityB+树m阶的B+树的定义如下:1)每个非叶结点至可以至多可以有m个儿子;2)每个非叶结点(根结点除外)必须有m+1/2个儿子;3)根结点至少有两个儿子;4)有k个儿子的非叶结点有k个关键字;5)所有的叶子结点中包含了全部关键字的信息及指向相应记录的指针,且叶子结点本身依关键字的大小自小而大顺序链接。B+树和B-树的主要区别:1)有n棵子树的结点中含有n个关键字(B树中含有n-1个关键字);2)所有的叶子结点中包含了全部关键字的信息及指向相应记录的指针,且叶子结点本身依关键字的大小从小到大顺序链接;3)所有的非终端结点可以看成是索引部分,结点中仅含有其子树中最大(或最小)的关键字。NorthChinaElectricPowerUniversity下图为一棵m=2阶B+-树的例子70954070952040517091951020354044516570859193955101120303540444751616570808591929395NorthChinaElectricPowerUniversity通常在B+树上有两个头指针:一个指向根结点;另一个指向关键字最小的叶子结点。因此,可以对B+-树进行两种查找运算,一种是从最小关键字起顺序查找,另一种是从根结点开始随机查找。在B+树上进行随机查找、插入和删除的过程基本上与B-树类似。只是在查找时,若非终端结点上的关键字等于给定值,并不终止,而是沿着左边的指针继续向下直到叶子结点。因此,在B+-树上,不管查找成功与否,每次查找都是走了一条从根到叶子结点的路径。纵观以上两节讨论的表示查找表的各种结构,有一个共同点:记录在表中的位置和它的关键字之间不存在一个确定的关系,因此,查找的过程为给定值依次和关键字集合中各个关键字进行比较,查找的效率取决于和给定值进行比较的关键字个数。因此,用这类方法表示的查找表,其平均查找长度都不为零,不同表示方法的差别仅在于:和给定值进行比较的关键字的顺序不同。对于频繁使用的查找表,希望ASL=0。即不需要从“比较”的结果来确定查找成功,只有一个办法:预先知道所查关键字在表中的位置,也就是说,记录在表中位置和其关键字之间存在一种确定的关系。★8.4Hash法什么是Hash表?NorthChinaElectricPowerUniversity例如:为每年招收的1000名新生建立一张查找表,其关键字为xx000--xx999(前两位为年份)。则可以下标为000--999的顺序表表示之。由于关键字和记录在表中的序号相同,则不需要经过比较即可确定待查关键字。但是,对于动态查找表而言,1)表长不确定;2)在设计查找表时,只知道关键字所属范围,而不知道确切的关键字。因此,一般情况,需建立一个函数关系,以f(key)作为关键字为key的记录在表中的位置,通常称这个函数f(key)为哈希函数。(注意:这个函数并不一定是数学函数)简单地说,哈希表是基于哈希函数建立的一种查找表。NorthChinaElectricPowerUniversity例如:对于如下9个关键字{Zhao,Qian,Sun,Li,Wu,Chen,Han,Ye,Dei}138961114122设??????????????????????????????????????????????????????????????从这个例

文档评论(0)

kd8w + 关注
实名认证
文档贡献者

kd8w

1亿VIP精品文档

相关文档