ID: 20219604

5.4.1 数据查找 课件(共22张PPT)

日期:2024-11-22 科目:信息技术 类型:高中课件 查看:55次 大小:1450360B 来源:二一课件通
预览图 1/9
5.4.1,数据,查找,课件,22张,PPT
  • cover
(课件网) 5.4 数 据 查 找 (一) ———顺 序 查 找 册 别:选择性必修1 学 科:高中信息技术(浙教版) 学习目标: 能理解顺序查找的思想。 能合理选用数据结构,理解顺序查找的范围与条件。 能用自然语言、流程图、Python语言描述顺序查找算法。 能分析顺序查找最坏、最好情况、平均比较次数。 能熟练应用各种顺序查找程序,完成生活、学习中的问题。 引入:选一选 下列5个图标找出哪一个是微信图标: 查找概念: 查找(Search)又称检索,计算机根据所给条件查找出满足条件的对象,即在存储的一批数据内寻找出一个特定的数据,或者确定在该批数据内是否存在这样的数据。 若没有找到满足条件的对象,则返回特定值,表明查找失败;若查找到满足条件的对象,则表明查找成功,一般要求返回该对象的存储位置或对象值本身。 顺序(线性)查找算法思想 ②输入查找关键值key; ③从数组中的第一个元素开始与关键值key进行比较,若相等d[i]==key ,则输出相应信息;否则,继续比较下一个元素。 ①定义待查找数据所储存的数组; ④直到找完数组的最后一个元素仍没有,输出查找失败。 66 96 33 58 d[0] d[1] d[2] d[3] d[4] 输入查找的元素值key=33 i=0 i=1 i=2 此时d[i]=key,数组中的第3个位置 如果输入查找的元素值key=22 i=0 i=1 i=2 i=3 d[0] d[1] d[2] d[3] d[4] 66 96 33 58 33 58 77 77 此时i等于4,还是没有找到 自然语言描述顺序查找过程 i=4 开始 i=0 i<=n-1 Y d[i]==key N i=i+1 未找到,输出结果 找到,输出结果 结束 Y N 顺序查找的流程图描述: 转化成程序: 开始 i=0 i<=n-1 Y d[i]==key N i=i+1 未找到,输出结果 找到,输出结果 结束 Y N #参考浙江版作业本P71-图5-6 a=[86,63,35,88,99,78,51,10,8] n=len(a) key=int(input(“输入查找数据:")) flag=False for i in range(n): if a[i]==key: flag=True break if flag==True: print("查找成功!") else: print("未找到!") 流程图: a=[86,63,35,88,99,78,51,10,8] n=len(a) key=int(input(“输入查找数据:")) flag=False for i in range(n): if a[i]==key: flag=True break if flag==True: print("查找成功!") else: print("未找到!") 12345 678 9 1011 12 for i in range(0,n,1): 上机调试程序: a=[86,63,35,88,99,78,51,10,8] n=len(a) key=int(input(“输入查找数据:")) flag=False for i in range(n): if a[i]==key: flag=True break if flag==True: print("查找成功!") else: print("未找到!") #定义查找的数组 #n为数组元素个数 #输入待查找数据 #设置查找到的标记flag #设置查找范围从索引0至n-1,步长1 #逐个进行判断 #相同设置标记flag为True #退出for循环 #如果标记flag为True #否则标记flag为False 顺序查找次数分析 若一个数组有n个元素 找到第1个元素,查找1次 找到第2个元素,查找2次 …… 找到第n个元素,查找n次 平均查找次数(1+2+……+n)/n (n+1)/2 实例:查找水果问题 A数组中存放了一些水果名称“apple”、“orange”、 “pineapple”、“banana”、“watermelon”、“peach”、“pear”,现在想查找水果“watermelon”是否在其中,如找到输出“查找成功!是第几个水果”,否则输出“查找失败”,无论查找成功与否都输出比较的次数。 上机编写并调试程序。 #例1查找动物 a=["apple","orange","pineapple","banana","watermelon","peach","pear"] n=len(a);c=0 key=input("请输入待查找水果:") flag=False for i in range(n): c+=1 if a[i]==key: flag=True break if flag==True: print("查找成功!在第"+str(i+1)+"个,比较次数:"+str(c)) else: print("未找到!",key," ... ...

~~ 您好,已阅读到文档的结尾了 ~~