网站大量收购闲置独家精品文档,联系QQ:2885784924

数据查找(教学设计)高中信息技术选修1数据与数据结构(浙教版2019).docx

数据查找(教学设计)高中信息技术选修1数据与数据结构(浙教版2019).docx

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

5.4数据查找(教学设计)

年级

高二年级

授课时间

2课时

课题

5.4数据查找

教学

目标

1.了解数据查找的基本概念和常见算法。

2.掌握顺序查找、二分查找等数据查找算法的原理和实现方法。

3.能够分析和比较不同数据查找算法的优缺点。还能够应用所学知识解决实际问题。

教学

重难点

重点:

1.数据查找的基本概念和算法原理;

2.顺序查找和二分查找算法的实现方法;

3.不同数据查找算法的比较和应用。

难点:

1.理解二分查找算法的递归实现;

2.分析不同数据查找算法的时间复杂度。

教学

准备

多媒体课件、多媒体教室

教学过程

教师活动

学生活动

一、课堂导入

1.通过几张图片展示:上下面两幅图片中有几处不同的地方,同学们能不能快速的找出来?

下列5个图标找出哪一个是微信图标?能一眼看出来吗?

生活中还有哪些查找的具体例子,你是通过什么样的方法快速进行查找的。

在日常生活中,人们经常会进行各种查找操作,如在上查找公交车的线路、在电子词典中查找某个单词的读音和含义、在音乐网站上查找自己喜欢的音乐以及利用搜索引擎在浩瀚的信息海洋中查找需要的信息等。

从学生熟悉的事物出发,引出本节课的项目,吸引学生的学习兴趣,培养学生用计算机解决实际问题的信息意识。

新知讲授

一、查找

1.概念

查找(Search)又称检索,计算机根据所给条件查找出满足条件的对象,即在存储的一批数据内寻找出一个特定的数据,或者确定在该批数据内是否存在这样的数据。

2.查找

①没有找到满足条件的对象

返回特定值,表明查找失败;

②查找到满足条件的对象

表明查找成功,一般要求返回该对象的存储位置或对象值本身。

通常,程序将按照查找的结果(找到或未找到)来决定接着应执行后面哪一个计算步骤。

如超市购物付款时,当收银员扫描一件货物的条形码时,计算机需要在几万条不同的记录中寻找这件商品,然后显示相应的商品名称和价格。

二、常见的排序算法

1.顺序查找

(1)算法思想

从第一个数据开始,按数据的顺序逐个将数据与给定的值进行比较。若某个数据与给定值相等,则查找成功,记录所查数据的位置;反之,则查找不成功。

(2)算法特点

①算法简单,对数据是否有序没有要求。

②查找效率较低,当数据量大时不宜使用。

(3)案例讲解

以“在成绩查询系统中查找某学号”为例,假定某学习小组8名学生的学号数据存储在数组d中,要查询的学生学号(查找键)已经存储在变量key中。

①算法演算

从数组d的第1个元素d[0]开始,依次判断各元素的值是否与查找键key的值相等。若某个数组元素d[i]的值等于key,则结束处理(找到了指定的数据);若找遍了所有8个元素,无任何元素的值等于key,则结束处理(未找到指定的数据)。

在规模为8的数组d中,分别按顺序查找算法寻找数据18和15的情况,处理过程中找到的第4个数组元素d[3]中的数据与18相等,表示8个数据中存在值为18的元素;而若key为15时,查找完所有数据仍未找到,表示8个数据中不存在值为15的元素。

顺序查找过程实例

②顺序查找将待查找的数值与序列中的数逐个进行比较,直到找出与给定数值相同的数为止,其算法简单,时间复杂度为O(n)。

顺序查找算法流程图

③实现此算法的Python程序如下:

d=[25,22,13,18,14,11,17,19]

key=18

flag=False

length=len(d)

foriinrange(length):

ifd[i]==key:

flag=True

break

ifflag==True:

print(查找成功!)

else:

print(未找到)

④顺序查找算法也可以写成函数的形式,如右表所示:

defseq_search(s,a):

length=len(s)

flag=False

foriinrange(length):

ifs[i]==a:

flag=True

break

ifflag==True:

returni

else:

returnFalse

d=[25,22,13,18,14,11,17,19]

key=15

result=seq_search(d,key)

print(result)

(4)探讨与讨论

①顺序查找算法的部分代码如下:

Flag=False

i=0

whilei5andFlag==False:

i=i+1

ifa[i]==key:

您可能关注的文档

文档评论(0)

133****3257 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档