信息技术选修1 数据与数据结构5.4 数据查找完美版课件ppt
展开能对给定的文件中的数据进行抽象并建立模型。
能合理选用数据结构,设计查找算法。
能用Pythn语言编写具体的查找程序。
能自觉对学习生活具体问题抽象建模、设计算法并编写程序及调试程序。
阅读教材P141-144,可根据个性学习暂停或加速播放课程。
航空公司VIP会员积分查询部分数据(Excel数据)
问题:从表中的数据可以看出,每个会员的信息是一条记录,包括VIP号、姓名、飞行里程、积分等数据项。实践体验:Excel表格中,对记录快速查询会员积分,查找应当如何进行?
(二)设计算法与数据结构:
请思考:数据组织形式有两种,哪种更适合?数据查找算法有两种,哪种更方便?
(二)设计算法与数据结构
数据组织形式有两种,哪种更方便?
方法一是采用4个一维数组按列存储,即每个数组分别存储每个用户的VIP号、姓名、飞行里程(KM) 、积分等,如定义a数组存储表中每个用户的VIP号,其对应的值为[“600214”,” 601278 ” ,” 600815 ” ,” 607854” , ” 605719” ……]; 定义b数组存储表中姓名; 定义c数组存储表中飞行里程(KM); 定义d数组存储表中积分信息。
方法二是采用1个一维数组按行存储,每个数组元素对应某个国家的一条记录信息,如a[1]为[600214,韩江辉,16801 ,519]对应第一条记录的相关信息。
VIP号为索引值[0]的元素积分为索引值[3]的元素
请思考:数据查找算法有两种,哪种更方便?
查找可采用顺序查找算法或二分查找算法,
对数据进行一次查找,采用顺序查找算法。 对数据重复查找,二分查找算法的效率高于顺序查找算法, 但二分查找提前:被查找的数据序列必须是有序,即在查找VIP号前要按VIP号为关键字进行排序。
待查询文件在vip.csv中
(三)编写程序并调试(算法二:二分查找)
学习生活中的应用实践:
校园一卡通号码查询。某校共n名学生,严老师编写了一个校园一卡通号码查询程序,输入号码就能查询该号码所属的班级和学生姓名。如右图所示所有学生数据存储在“校园一卡通.csv”表格中,该表格分别保存了本校所有学生的号码、所在班级和姓名的信息,号码的编码规则为入学年份+班级加身份证号后三位。第i个学生的号码保存在第1列中,对应的班级和姓名保存在第2列和第3列中。输入号码,电脑开始查找该号码的信息,如果找到对应的信息,就显示所属班级和姓名,如果没有找到,则显示“没有查询到该号码信息!”。
相应程序如下,请在程序划线①②③处填入相应的代码,把程序补充完整。imprt csvflie1=pen('校园一卡通.csv','r') reader=csv.reader(flie1)st=[]fr it in reader: ① flie1.clse()# 冒泡排序fr i in range(1,len(st)-1): fr j in range(len(st)-1,i,-1): if ② : st[j],st[j-1]=st[j-1],st[j] fr i in range(len(st)): print(st[i])
# 二分查找key=input(‘请输入需要查找的卡号:')i=1;j=len(st)-1while i<=j: m=(i+j)//2 if ③ : i=m+1 else: j=m-1if st[i][0]==key: print(st[0]) print(st[i])else: print("没有该号码信息!")
st.append(it)
st[j][0]
设计算法与数据结构
对自己的表现进行客观的评价,并思考后续完善的方向。(3=优秀,2=一般,1=仍需加油)
2.用二分查找实现开平方根函数squarert(x,p)。x是被开方的数,假定输入的数都为非负数整数,p是误差上限,输出一个浮点数结果。程序代码如下,请在划线处填入合适的代码。def ① : if x<0: return -1 a=0 b=x while a<=b: ② if abs(m**2-x)
1.D2.①square(x,p) ②m=(a+b)/2 ③b=m
1.已知输入a[0]至a[7]的值依次为“88,79,62,55,46,31,20,1”,查找某key值的程序段如下:i=0;j=7;n=0key=int(input())while i<=j: m=(i+j)//2 if key==a[m]: break elif key>a[m]: j=m-1;n-=1 else: i=m+1;n+=1print(n)当输入不同的key值,运行该程序后,输出的不同结果共有:A.5种 B.6种 C.7种 D.8种
浙教版 (2019)选修1 数据与数据结构第五章 数据结构与算法5.2 迭代与递归优秀课件ppt: 这是一份浙教版 (2019)选修1 数据与数据结构<a href="/xx/tb_c4005695_t3/?tag_id=26" target="_blank">第五章 数据结构与算法5.2 迭代与递归优秀课件ppt</a>,共30页。PPT课件主要包含了学习目标,引入俄罗斯套娃,递归算法基本思想,直接调用,间接调用,找出规律,递归的两个条件,递归算法的执行过程,调用自身,13返回1等内容,欢迎下载使用。
高中3.3 栈一等奖课件ppt: 这是一份高中<a href="/xx/tb_c4005686_t3/?tag_id=26" target="_blank">3.3 栈一等奖课件ppt</a>,共20页。PPT课件主要包含了项目情境,口算批改项目,计算逆波兰表达式的值,输出是否正确的结果,项目实施-设计算法,项目实施-程序编写,是否有其他思路呢,数字栈,运算符栈,项目实施等内容,欢迎下载使用。
浙教版 (2019)3.2 队列优质课件ppt: 这是一份浙教版 (2019)<a href="/xx/tb_c4005685_t3/?tag_id=26" target="_blank">3.2 队列优质课件ppt</a>,共16页。PPT课件主要包含了约瑟夫游戏,输出3,tail,head,输出361,队列的特性,队列的操作,①队列的存储,约瑟夫的队列实现,输出36等内容,欢迎下载使用。