《数据结构[Python语言描述]》教案第15课查找(8.1-8.2).docx
《《数据结构[Python语言描述]》教案第15课查找(8.1-8.2).docx》由会员分享,可在线阅读,更多相关《《数据结构[Python语言描述]》教案第15课查找(8.1-8.2).docx(6页珍藏版)》请在课桌文档上搜索。
1、课题第15课查找(8.1-8.2)课时2课时(90min)教学目标知识目标:(1)熟悉查找的基本术语(2)掌握顺序杳找、折半杳找和分块杳找的基本算法和杳找性能技能目标:能灵活运用静态查找算法解决实际应用中的杳找问题素质目标:自觉培养发散思维,积极开拓思路,寻求问题的多种解决方法教学重难点教学重点:顺序查找、折半查堤口分块查找的基本算法和查找性能教学难点:顺序直找、折半直找和分块杳找的基本算法教学方法问答法、讨论法、讲授法、实践法教学用具电脑、投影仪、多媒体课件、教材教学过程主要教学内容及步骤考勤【教师】使用APP进行签到【学生】班干部报请假人员及原因问题导入【教师】提出以下问题:计算机中杳找操
2、作有哪些?【学生】思考、举手回答传授新知【教师】通过学生的回答引入要讲的知识,介绍直找概述、静态查找算法8.1 查找概述查找是计算机在进行数据处理时经常使用的一种运算。例如,对于一个表结构,经常进行的操作如下。(1)在表中插入一个数据元素。(2)查找表中已经存在的数据元素。(3)删除表中已经存在的数据元素。以上操作都需要使用查找运算。由此可见,当数据量较大时,杳找操作便会成为数据处理过程中较为耗时的一部分。因此,一个高效的查找算法是提高程序运行速度的关键。1 .查找表查找表是按某种数据形式(可以是前面章节中的任何一种数据结构,如线性表、二叉树或图等)存储的同一类型数据元素的集合,每个数据元素通
3、常由若干数据项组成。查找表可分为静态杳找表和动态查找表。如果在进行杳找操作时,不能改变杳找表中的原始数据,则相应的查找表称为静态查找表;如果在进行查找操作时,还可以对查找表进行修改操作(如向查找表中插入新的数据元素或从查找表中删除已有的数据元素),则相应的查找表称为动态查找表。2 .关键字关键字是数据元素中某个数据项的值,用它可以标识一个数据元素。其中,能唯一标识一个数据元素的关键字称为主关键字,也就是说,对于不同的数据元素,其主关键字各不相同。反之,不能唯一标识一个数据元素的关键字称为次关键字.数据元素类型定义如下.classRNode:def_init_(self,key,data):se
4、lf.key=key#关键字self.data=data#其他数据项【提示】当数据元素只有一个数据项时,其数据元素的值就是关键字。3 .查找直找是指根据给定的值,在杳找表中找出关键字与给定值相等的雌元素。若找到相应的数据元素,则有找成功,查找结果可以是数据元素的信息,也可以是数据元素在查找表中的位置;否则有找失败,查找结果为Nonee【教师】随机邀请学生回答以下问题以关键字或次关键字进行杳找时,直找结果有区别吗?【学生】聆听、思考、回答当关键字是主关键字且杳找成功时,查找结果是唯一的;当关键字是次关键字时,需要查找整个查找表,直找成功后返回所有直找结果。4 .平均查找长度(ASL)平均直找长度
5、是指为确定某一数据元素在查找表中的位置,需与给定值进行比较的关键字个数的期望值。对于含有n个数据元素的直找表,直找成功时的平均直找长度ASL为-1ASL=ZPGi=0其中,月是查找第7个数据元素的概率;C是找到第/个雌元素所需的关键字比较次数。5 .2静态查找算法基于静态杳找表的查找又称静态查找。8.2.1顺序直找顺序直找是最简单、最常用的直找算法,其基本思想是从J顺序表的一端开始,将数据元素的关键字逐个与给定值进行比较。若某个数据元素的关键字与给定值相等,则查找成功,返回该数据元素在直找表中的位置;否则,杳找失败,返回-1.【算法描述】defSeqSearch(self,key):n=sel
6、f.Ien#查找表的长度i=0whilei=n:#查找失败return-1else:#查找成功returni此外,还可以设置一个“哨兵,即将顺序表的IiStml的关键字设置为key.这样,i从0开始依次比较,当满足hsti=key时,若i=n,说明查找失败,返回T;否则,查找成功,返回数据元素在查找表中的位置。【算法描述】详见教材【高手点拨】在第一种算法SeqSearCh()中,查找时需要反复判断是否已经杳找完厕事表中的所有数据元素。而在第二种算法SeqSearchIMP()中查找时从顺序表的第一个数据元素开始自前向后依次进行关键字的比较。【教师】讲解实例8-1(详见教材)【教师】随机邀请学生
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构【Python语言描述 数据结构 Python 语言 描述 教案 15 查找 8.1 8.2
链接地址:https://www.desk33.com/p-1242697.html