数据结构与算法“检索”教学设计.pdfVIP

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

数据结构与算法 “检索”教学设计 北京大学信息科学技术学院 张铭 1. 检索在课程中的定位和前测知识点 检索是各种数据结构中必不可少的运算,也是许多计算机应用程序的核心功能。在数据 处理中,经常涉及到信息存储和信息检索,即对所存储的数据进行快速有效的检索操作。 检索一章主要介绍了一些检索的基本知识,侧重于基于线性表的检索和基于散列表的 检索。基于线性表的检索介绍了顺序检索和二分检索,并简单讨论了算法中的分支策略。基 于散列表的检索是本章的重点,也是难点。散列函数和冲突解决技术是散列算法的核心。 前测知识点要求如下,可以根据需要给学生补充: (1)基于数组和链表的线性表相关算法、排序算法; (2 )掌握概率的基本概念,理解等概率假设; (3 )集合的基本概念和相关性质。 2.学习目标 (1)理解检索的基本概念,熟练掌握各种主要检索算法; (2 )能根据概率知识衡量检索算法的效率,理解各种算法的优缺点; (3 )理解分治算法的思想,会设计一般的分治算法; (4 )重点掌握基于散列的检索算法,掌握各种散列函数、散列探查方法; (5 )了解集合检索相关知识。 3. 知识点和学时分配 理论授课4 学时,建议安排实验10 学时。 以下内容是本课程要求的基本教学内容,在授课中必须完全涵盖,主讲教师可以根据学 生的状况、教师的科研背景等在某些方面进行扩展和对学生进行引导,以扩大适当学生的涉 猎面。 各知识点建议授课时间如下: 检索的基本概念 0.5 小时 基于线性表的检索 1 小时 基于集合的检索 0.5 小时 散列方法 2 小时 4.重点和难点 检索重点如下: (1)衡量检索算法的效率,评价各种算法的优缺点; (2 )基于线性表的检索算法,即顺序检索、二分检索、分块检索; (3 )二分检索与分治算法的思想; (4 )基于散列的检索算法,各种散列函数、散列探查方法。 检索难点如下: (1)散列方法,包括各种散列函数以及碰撞的处理方法; (2 )散列在实际应用中的性能分析。 5.授课提示 开展研究型教学,挖掘知识背后的内容,通过提出问题、探讨方法、研究思想、比较性 能,培养学生的创新意识、创新能力。 下面是检索的重点和难点内容的讲授注意事项。 (1)基于线性表的检索算法 基于线性表的顺序检索、二分检索和分块检索这三种不同实现方法各有优缺点。其中, 顺序检索效率最低但限制最少,二分检索效率最高但限制多,而分块检索则介于上述二者之 间。应注意对三种检索算法的效率进行分析。 在实际应用中,可根据表的具体情况进行选择,需要综合考虑检索效率、插入删除频率 等。 (2 )散列函数的设计 采用散列技术需要考虑的两个首要问题是,如何构造使结点“分布均匀”的散列函数, 以及一旦发生冲突用什么方法解决。此外,还需考虑散列表本身的组织方法。 常用的散列函数,包括除余法、乘余取整法、平方取中法、数字分析法、基数转换法、 折叠法、ELFhash 字符串散列函数。讲授中着重介绍这些散列函数的基本思想以及各自的特 点,使同学们在实际使用中能够根据应用条件选取合适的散列函数。 (3 )散列表冲突解决策略 冲突解决技术可分为两大类,即开散列方法和闭散列方法。两者的不同之处在于:开散 列法把发生冲突的关键码存储在散列表主表之外,而闭散列把发生冲突的关键码存储在表中 另一个槽内。闭散列方法中有以下几种常见的形成探查的方法,即线性探查法、二次探查法。 讲授中应使学生理解冲突解决方法的基本原理,引导其思考其各自的效率、特点和适用 的条件。注意分析开散列方法(包括拉链法和桶式散列)和闭散列方法的空间需求和平均检 索长度,注意分析负载因子对检索效率的影响。开散列方法非常简单、易于实现,删除也极 为方便;经过精心设计的闭散列效率比开散列稳定。开散列方法的效率最好,实际系统中大 多使用开散列方法。 (4 )闭散列方法、散列探查方法 闭散列方法中,一旦发生冲突,发生冲突的关键码存储在散列表中的另一个槽内。根据 发生冲突时形成探查的方法不同,所得到的解决冲突的方

文档评论(0)

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

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

1亿VIP精品文档

相关文档