西电-数据结构-本科上课教学课件-第9章.pptVIP

西电-数据结构-本科上课教学课件-第9章.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文档。上传文档
查看更多
查找表 由同一类型的数据元素(记录)构成的集合。 查找的定义 给定一个值key,在含有n个记录的表中找出关键字等于key的记录。若找到,则查找成功,返回该记录的信息或该记录在表中的位置;否则查找失败,返回相关的指示信息。 静态查找表的三种查找方法的比较 顺序查找对对于表有序、无序均适用;折半查找仅适用于有序表;分块查找要求表分块后“分块有序”。 从表的存储结构上看,顺序查找和分块查找对于表的顺序和链式存储结构均适用,而折半查找只适用于顺序存储结构。 平均查找长度ASL而言,折半最小(log2(n+1)-1),分块次之( ),顺序最大((n+1)/2)。 作业: 9.2 9.3 9.25 作业: 9.9 设在 m 阶B-树中,失败(叶)结点位于第 h+1 层。在这棵B-树中关键字个数 N 最小能达到多少? 从B-树的定义知, 1层 1 个结点; 2层 至少 2 个结点; 3层 至少 2 ?m / 2? 个结点; 4层 至少 2 ?m / 2? 2 个结点 如此类推,??; h 层 至少有2 ?m / 2? h-2个结点; h+1 层 至少有2 ?m / 2? h-1个结点,查找失败的(叶)结点。 4. B-树的插入 B-树是从空树起,逐个插入关键字而生成的。 在B-树,每个非叶结点的关键字个数都在[ ?m/2? -1, m-1] 之间。 插入是在最低层的某个非终端结点中添加一个关键字。如果在关键字插入后结点中的关键字个数超出了上界 m-1,则结点需要“分裂”,否则可以直接插入。 实现结点“分裂”的原则是: 在插入新关键字时,需要自底向上分裂结点,最坏情况下从被插关键码所在最下层结点到根的路径上的所有结点都要分裂。 5. B-树的删除 B+树 B+树可以看作是B-树的一种变形,在实现文件索引结构方面比B-树使用得更普遍。 1. 一棵m阶B+树与m阶B-的差异: 有n棵子树的结点中含有n个关键字; 所有的叶结点都处于同一层次上,包含了全部关键字及指向含有这些关键字记录的指针,且叶结点本身按关键字从小到大顺序链接; 所有的非叶结点可以看成是索引部分,结点中含有其子树中的最大(最小)关键字。 哈希查找过程 哈希表的装填因子 ? 表明了表中的装满程度。越大,说明表越满,再插入新元素时发生冲突的可能性就越大。 哈希的查找性能,即平均查找长度依赖于哈希表的装填因子,不直接依赖于 n 或 m。 不论表的长度有多大,总能选择一个合适的装填因子,以把平均查找长度限制在一定范围内。 作业: 9.19 9.21 9.3 哈希表 前面介绍的内容中,记录在文件中的存储地址是随机的。 200302 200305 200301 张三 李四 王五 19 21 20 200305 200301 200302 李四 王五 张三 21 20 19 查找某一条记录需要进行一系列的“比较”。 查找的效率依赖于比较的次数。 能否在记录的关键字和存储地址之间构造这样一种关系 f ,使得关键字和存储地址一一对应 ? 此对应关系 f 称为哈希函数。 学号 姓名 年龄 01 02 03 9.3 哈希表 1. 哈希表的基本概念 哈希法又称散列法、杂凑法或关键字地址计算法等,相应的表称为哈希表或散列表; 方法的基本思想:在元素的关键字Key和元素的存储位置p之间建立一个对应关系H,使得p=H(Key),H称为哈希函数(散列函数),是一个压缩映象,是从关键字空间到存储地址空间的一种映象。 当查找关键字为k的元素时,利用哈希函数计算出该元素的存储位置p=H(k),从而达到按关键字直接存取元素的目的; 例,设关键字为年龄字段, H(key) = key 年龄 学号 姓名 01 02 03 56 100 . . . . . . . . . . . . . . . . . . . . . . . . 1 2 3 56 100 19 20 21 19 20 21 . . . . . . 张三 王五 李四 200302 200301 200305 例 30个地区的各民族人口统计表 编号 地区别 总人口 汉族 回族…... 1 北京 2 上海 …... …... 以编号作关键字, 构造哈希函数:H(key)=key H(1)=1 H(2)=2 以地区别作关键字,取地区 名称第一个拼音字母的序号 作哈希函数:H(Beijing)=2 H(Shanghai)=19 H(Shenyang)=19 从例子可见: 哈希函数只是一

文档评论(0)

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

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

1亿VIP精品文档

相关文档