版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
5.4.1顺序查找查找又称检索,计算机根据所给条件查找出满足条件的对象,即在存储的一批数据内寻找出一个特定的数据,或者确定在该批数据内是否存在这样的数据。若没有找到满足条件的对象,则返回特定值,表明查找失败;若查找到满足条件的对象,则表明查找成功,一般要求返回该对象的存储位置或对象值本身。通常,程序将按照查找的结果(找到或未找到)来决定接着应执行后面哪一个计算步骤。顺序查找顺序查找又称线性查找,从顺序表的一端开始,依次将每个元素的关键字与给定值key(查找键)进行比较。若某个元素的关键字等于key,则表明查找成功;若所有元素都比较完毕仍找不到,则表明查找失败。如下图所示,在规模为8的数组d中,分别按顺序查找算法寻找数据18和15的情况,处理过程中找到的第4个数组元素d[3]中的数据与18相等,表示8个数据中存在值为18的元素;而若key为15时,查找完所有数据仍未找到,表示8个数据中不存在值为15的元素。18keyd252213181411171901234567到此处已找到15keyd252213181411171901234567查完所有数据仍未找到顺序查找过程实例时间复杂度为O(n)开始i0i≤n-1?d[i]=key?ii+1是否找到,输出信息未找到,输出信息结束顺序查找算法流程图是否实现此算法的Python程序如下:d=[25,22,13,18,14,11,17,19]key=18flag=Falselength=len(d)foriinrange(length):ifd[i]==key:flag=Truebreakifflag=True:print(“查找成功!”)else:print(“未找到”)顺序查找算法也可以写成函数的形式,如下所示:defseq_search(s,a):length=len(s)flag=Falseforiinrange(length):ifs[i]==a:flag=Truebreakifflag==True:returnielse:returnFalsed=[25,22,13,18,14,11,17,19]key=15result=seq_search(d,key)print(result)小结顺序查找本质上是一种枚举算法思想,顺序查找程序就是用循环来枚举所有要查找的对象,然后在循环体内用条件判断当前枚举出的对象是否等于查找对象。假设n个数据依次存储在长度为n的数组a中,查找键为key,自定义函数seq_search(a,key)返回数组a中首个值为key的元素下标,若找不到key则返回-1。defseq_search(a,key):foriinrange(len(a)):ifa[i]==key:returnielse:return-1练一练1.某个列表中共有m个元素,进行顺序查找之后查找失败,则其中元素的比较次数是()A.mB.m2C.m-1D.(m+1)//2A2.有如下python程序段:a=[2,6,8,8,2,4,7,3]p=0foriinrange(1,len(a)):ifa[i]>a[p]:p=i则运行该段代码后,变量p的值为()A.0B.2C.3D.8B3.有如下Python程序段:key=int(input(“key=”))s=0a=[]foriinrange(10):a.append(i+1)foriinrange(len(a)):ifa[i]%key==0:s=s+1print(s)当输入的key=5时,程序运行结束后,输出的值为()A.0B.1C.2D.3C4.查找一个英文句子中是否包含某个单词,可以使用顺序查找的方法,实现上述功能的Python程序段如下,请在划线处填入合适的代码。long=“Ihaveanappleandanorange.”word=input(“输入要查找的单词:”)flag=____________________________foriinrange(len(long)-len(word)):iflong[______________]==word:print(“yes”)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 曲靖2025年云南曲靖陆良县卫生健康局所属事业单位招聘研究生笔试历年参考题库附带答案详解
- 四川2025上半年四川省民政厅直属事业单位招聘18人笔试历年参考题库附带答案详解
- 2026四川九州电子科技股份有限公司招聘硬件开发(校招)等岗位测试成绩笔试模拟试题及答案解析
- 四川天府新区云龙东街幼儿园招聘(2人)笔试模拟试题及答案解析
- 2026重庆市大足区人民政府龙岗街道办事处招聘公益性岗位工作人员招聘1人笔试备考试题及答案解析
- 2026山东滨州市邹平市人民法院招聘4人笔试参考题库及答案解析
- 2026福建三明市公安局招聘警务辅助人员33人笔试参考题库及答案解析
- 2026广东韶关市公安局曲江分局招聘警务辅助人员10人(第一批)笔试备考题库及答案解析
- 2026黑龙江哈工大基建处招聘1人笔试模拟试题及答案解析
- 2026广发银行东莞分行实习生招聘50人笔试备考试题及答案解析
- 2026年日历表含农历(2026年12个月日历-每月一张A4可打印)
- 陕西省咸阳市秦都区2024-2025学年七年级上学期1月期末考试语文试卷(无答案)
- AI虚拟数字人教学课件 第5章 腾讯智影:生成数字人视频与主播
- CJJT269-2017城市综合地下管线信息系统技术规范正式版
- 环保局基础知识考试题库100道及答案解析
- 道闸施工方案
- 适用于新高考新教材天津专版2024届高考英语一轮总复习写作专项提升Step3变魔句-提升描写逼真情境能力课件外研版
- 脚手架稳定性计算
- DB31T+598-2023政府质量奖个人评价准则
- 自考《影视编导》03513复习备考试题库(含答案)
- 周围神经损伤及炎症康复诊疗规范
评论
0/150
提交评论