5.4.3查找算法的应用ppt课件(12张PPT)-2023新浙教版《高中信息技术》选择性必修第一册.pptx

上传人(卖家):Q123 文档编号:4901763 上传时间:2023-01-23 格式:PPTX 页数:12 大小:487.51KB
下载 相关 举报
5.4.3查找算法的应用ppt课件(12张PPT)-2023新浙教版《高中信息技术》选择性必修第一册.pptx_第1页
第1页 / 共12页
5.4.3查找算法的应用ppt课件(12张PPT)-2023新浙教版《高中信息技术》选择性必修第一册.pptx_第2页
第2页 / 共12页
5.4.3查找算法的应用ppt课件(12张PPT)-2023新浙教版《高中信息技术》选择性必修第一册.pptx_第3页
第3页 / 共12页
5.4.3查找算法的应用ppt课件(12张PPT)-2023新浙教版《高中信息技术》选择性必修第一册.pptx_第4页
第4页 / 共12页
5.4.3查找算法的应用ppt课件(12张PPT)-2023新浙教版《高中信息技术》选择性必修第一册.pptx_第5页
第5页 / 共12页
点击查看更多>>
资源描述

1、5.4.3 查找算法的应用实例分析航空公司VIP会员积分查询不少航空公司都会提供优惠的会员服务,当某会员飞行里程累积达到一定数量后,可以使用里程积分兑换奖励机票或奖励升舱等服务。现给定某航空公司部分VIP会员的飞行里程、积分等信息,如下表所示,要求实现根据VIP号码快速查询会员积分的功能。VIPVIP号号姓名姓名飞行里程(飞行里程(kmkm)积分积分600214韩江辉16801519601278蒋志来532178600815李亚东28745436607854王庆生186139605719李燕7493138603532王晓燕6875102600101郑煜明14253236(1)抽象与建模从表中的

2、数据可以看出,每个会员的信息是一条记录,包括VIP号、姓名、飞行里程、积分等数据项。要显示某个会员的积分信息,先得从多条记录中查找到该会员的记录,如下所示:若用ai表示该条记录,则该会员的积分可采用以下形式表示:ai3(表示该条记录的第4个数据项的值)(2)设计算法与数据结构对表格数据可采用4个一维数组按列或1个一维数组按行来存储。要显示某个会员的积分,先要从多条会员信息的数据中找到该会员。查找可采用顺序查找算法或二分查找算法。从算法的时间复杂度方面考虑,二分查找算法的效率高于顺序查找算法,但若采用二分查找算法,被查找的数据序列必须是有序的,即要按VIP号为关键字进行排序。(3)编写程序假如数

3、据以1个一维数组按行来存储,利用二分查找算法查找,程序如下:import csv#数据读入csvFile=open(“vip.csv”,”r”)reader=csv.reader(csvFile)a=for item in reader:a.append(item)csvFile.close()#排序def bubble_sort(d):for i in range(1,len(d):for j in range(1,len(d)-i):if int(dj0)int(dj+10):temp=dj dj=dj+1 dj+1=temp#二分查找def bsearch(s,array):i=1 j=

4、len(array)-1 while i=j:m=(i+j)/2 if int(arraym0)=s:return m if sint(arraym0):j=m-1 else:i=m+1 return-1#未找到返回-1bubble_sort(a)key=int(input(请输入要查询的VIP号:)m=bsearch(key,a)if m!=-1:print(am1,”先生/女士,您的积分为:”,am3)else:print(找不到VIP号对应的用户信息!)当输入VIP编号“600815”时,程序输出“李亚东 先生/女士,您的积分为:436”的信息。若将上例中的二分查找改成顺序查找,代码可写

5、成如下形式:import csv#数据读入csvFile=open(“vip.csv”,”r”)reader=csv.reader(csvFile)a=for item in reader:a.append(item)csvFile.close()def seq_search(item,a):length=len(a)flag=False for i in range(1,length+1):#查找范围不包含第一行数据 if ai0=item:flag=True break if flag=True:return i else:return -1key=int(input(请输入要查询的VIP

6、号:)m=bsearch(key,a)if m!=-1:print(am1,“先生/女士,您的积分为:”,am3)else:print(找不到VIP号对应的用户信息!)练 习用二分查找实现开平方根函数squareroot(x,p)。x是被开方的数,假定输入的数都为非负整数,p是误差上限,输出一个浮点数结果。def square(x,p):if x0:return-1 a=0 b=x while a=b:m=(a+b)/2 if abs(m*2-x)x:b=m else:a=mprint(square(2,0.01)print(square(1,0.01)print(square(9,0.01)print(square(100,0.01)测试结果:1.4140625 0.99609375 3.00146484375 9.999847412109375谢 谢

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高中 > 信息 > 浙教版(2019) > 选修1 数据与数据结构
版权提示 | 免责声明

1,本文(5.4.3查找算法的应用ppt课件(12张PPT)-2023新浙教版《高中信息技术》选择性必修第一册.pptx)为本站会员(Q123)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|