《数据结构与算法》课件——第6章 查找.pptVIP

《数据结构与算法》课件——第6章 查找.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文档。上传文档
查看更多

*处理冲突的方法平均查找长度查找成功时查找不成功时线性探测法二次探测法与双哈希法拉链法*6.4.5散列表上的删除当在散列表上删除一个元素时,首先是查找,查找成功情况下才能做删除。对于拉链法解决冲突构造的散列表,其删除等价于单链表上的删除;对于开放地址法解决冲突构造的散列表,不能简单的将删除元素所在单元置为空,这样做会断掉原来的探测地址序列,查找后面的元素将受到影响,删除这个元素可以将这个单元置为有别于空单元表示的特殊值(如-1),在查找时当遇到这个特殊值,继续探测序列上的查找,而插入时遇到这个值则可以作为一个空单元将新元素插入。公共溢出区法解决冲突构造的散列表,也可以采用上述方法处理。*123054t373541515369781520257176798493656668(h)pf设p为待删关键码所在的结点,f为p结点的父结点,p为f的第i棵子树的根结点,即f??nptr[i](i=0,1,…m-1)。则以左兄弟中的最后一个关键码替换父结点中的f??key[i-1],再将f??key[i-1]插入到p结点中即可;若无左兄弟,而与右兄弟(f??nptr[i+1])结合起来调整,则以右兄弟中的第一个关键码替换f??key[i+1],再将f??key[i+1]插入到p结点中即可。*t3715202579849335415153656669711230687854如删去图7-21(h)中的76得下图:123054t373541515369781520257176798493656668(h)*如图7-21(h)中删去15后在删去7,得图如下:123054t373541515369781520257176798493656668(h)3122025798493354151536566687176t30546978*(2)删除为非底层结点中关键码若所删除关键码非底层结点中的Ki,则可用指针Ai所指子树中的最小关键码X替代Ki,然后,再删除关键码X,直到这个X在最底层结点上,即转为(1)的情形。删除程序,请读者自己完成。*5.B+树68789320253784933541515366687178725535393rootsqt一棵5阶B+树*6.4散列表查找散列是一种存储策略,散列表也叫哈希(hash)表、杂凑表,是基于散列存储策略建立的查找表。基本思想是确定一个函数,求得每个关键码相应的函数值并以此作为存储地址,直接将该数据元素存入到相应的地址空间去,因此它的查找效率很高。*6.4.1散列表哈希表、哈希方法、哈希函数:按照一定规则确定关键码的某个函数f(key),依该函数求得每个数据元素关键码的函数值,依此函数值作为该元素的存储位置,并按此存放在查找表中,按这个思想构造的查找表称为散列表(哈希表)。查找时,由同一个函数对给定值kx计算地址,将kx与计算出的地址单元中数据元素的关键码进行比较,确定查找是否成功,这就是哈希方法(散列法)。散列方法中使用的转换函数称为散列函数(哈希函数)。*【例6-6】11个元素的查找表其关键码分别为:18,27,1,20,22,6,10,13,41,15,25选取关键码与元素位置间的函数为:f(key)=keymod1101234567891022113251527618412010(2)查找时,对给定值kx依然通过这个函数计算出地址,再将kx与该地址单元中元素的关键码比较,若相等,查找成功。(1)通过这个函数对11个元素建立查找表如下:18271202261013411525751906102843*哈希方法需要解决以下两个问题:1.构造好的哈希函数(1)所选函数尽可能简单,以便提高转换速度。(2)所选函数对关键码计算出的地址,应在哈希地址集中大致均匀分布,以减少空间浪费。2.制定解决冲突的方案*

文档评论(0)

青柠职教 + 关注
实名认证
服务提供商

从业10年,专注职业教育专业建设,实训室建设等。

1亿VIP精品文档

相关文档