已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.,数据结构习题第1章,吉林大学计算机科学与技术学院谷方明,.,感谢二班、三班的学委把作业按学号排序。这是一种积极的习惯。,.,课堂练习,求下述计算f=1!+2!+3!+n!的算法的时间复杂性voidfactorsum(intn)inti,j;intf,w;f=0;for(i=1;i0等等,.,作业15,题目描述试用ADL语言编写一个算法,判断任一整数n是否为素数,.,考察知识点,用ADL描述算法特殊情况判断初始化核心处理步骤后处理算法的正确性证明很难,但验证较容易。用边界条件和特殊数据验证,人工模拟算法执行。分析算法的效率,.,参考答案1,算法S(n.flag)/*判断整数n是否为素数,将结果保存到变量flag*/S1n1?IF(n1)THEN(flagfalse.RETURN.)S2初始化i2.flagtrue.S3求余判断WHILE(in-1)DO(IF(nMODi)=0THEN(flagfalse.RETURN.)ii+1.),.,参考答案2,算法S(n.flag)/*判断整数n是否为素数,将结果保存到变量flag*/S1n1?IF(n1)THEN(flagfalse.RETURN.)S2初始化i2.flagtrue.S3求余判断WHILE(inDIV2)DO(IF(nMODi)=0THEN(flagfalse.RETURN.)ii+1.),.,参考答案3,算法S(n.flag)/*判断整数n是否为素数,将结果保存到变量flag*/S1n1?IF(n1)THEN(flagfalse.RETURN.)S2初始化i2.flagtrue.S3求余判断WHILE(in1/2)DO(IF(nMODi)=0THEN(flagfalse.RETURN.)ii+1.),.,作业情况,正确率不到50%有问题的做法特殊情况没有处理:1和2.不理解程序语句?For处理:IF(n%i=0)THENflag0.ELSEflag1.无返回值:RETURN.FORTODOIFDO,.,用ADL描述算法,输入输出参数的确定:临时变量不是参数符号“.”的应用分隔输入输出参数一条语句的结束;能判断语句结束的问题可略去符号“”的应用:标志算法结束混杂C+语言FORi=2TOn-1STEPi+DO步骤说明有且精,.,1-6,分析下面程序段的时间复杂性ints=0,i,j,k;for(i=0;i=n;i+)for(j=0;j=i;j+)for(k=0;kj;k+)s+;,.,参考答案,以s+为基本运算对每个i,分析(j,k)两重循环的次数j=0循环次数为0j=1循环次数为1j=i循环次数为i因此对每个i,(j,k)二重循环的次数为i*(i+1)/2总循环次数为sigma(i*(i+1)/2)i=0.nT(n)=n*(n+1)*(n+2)/6,算法的阶为O(n3),.,作业情况,正确率约60%有分析步骤直接给结果有问题的做法三重循环,所以O(n3)推导出错,.,1-9,将下列算法时间复杂性O(n),O(2n),O(log2n),O(nlog2n),O(n5),O(n2+1),O(n3-n2)按由低到高的顺序排列。其中,n是输入数据的规模。,.,参考答案,O(log2n)O(n)O(nlog2n)O(n2+1)O(n3-n2)O(n5)2,.,算法SM的改进算法BS算法BS(A,i,j.fmax,fmin)/*在数组A的第i至第j个元素间寻找最大和最小元素,已知ij;假定A中元素互异*/BS1.递归出口IFijTHEN(fmaxfminAi.RETURN.)IFij1THEN(IFAiAjTHEN(fmaxAj.fminAi).ELSE(fmaxAi.fminAj).RETURN).BS2.取中值mid(ij)/2BS3.递归调用BS(A,i,mid.gmax,gmin).BS(A,mid1,j.hmax,hmin).BS4.合并fmaxmaxgmax,hmax.fminmingmin,hmin.,.,考察知识点,数学归纳法证明归纳基础n=?时,*,命题成立。归纳假设步骤假设n=k是,有*,当n=k+1时,推出命题也成立用数学归纳法证明第一数学归纳法(假设n=k,往推n=k+1)第二数学归纳法(假设n=k,往推n=k+1,强数学归纳法)两者等价,.,本题的数学归纳法证明思路证明n=3时成立假设n=k时都成立,证明n=k+1时也成立思路可以不写出来,.,参考答案,n=3时,T(3)=T(1)+T(2)+2=3,5*3/3-2=3,命题成立。假设n,即k所以有T()5*()/3-2,T()5*()/3-2成立,.(2)又知k+1=+,(3)由(1)(2)(3),T(k+1)=T()+T()+2,5*/3-25*/3-2+2=5*(+)/3-2=5*(k+1)/3-2综上,命题得证。,.,作业情况,正确率约50%由3=n=k,往推n=2*k,n=2*k+1也正确分n=2*k,n=2*k+1讨论k+1=有问题的做法弱假设:设n=k时成立设n=k时成立,即T(k)=5*k/3-2利用(3*n/2-2)结论由(1)、(2)、(3)直接得到,不用数学归纳法经分析得,T(n)=logn往年:通过观察可知T(n+1)=T(n)+1?,.,1-12,给出算法BS的非递归算法,并说明算法最多需要多大的辅助空间。,.,算法BS(A,s,e.fmax,fmin)/*求数组A的s到e中的元素的最大最小值,用栈去递归,确保sfn)THENmifm.)t(l,r,ma,mi).),.,ELSE(mid(L+R)div2.p(mid+1,R,B).p(L,mid,R).)B3结果(s,e,e,fmax,fmin)t.,.,参考答案,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025江苏宝应县公务用车管理服有限公司招聘驾驶员5人笔试历年常考点试题专练附带答案详解试卷3套
- 甘肃 公务员 考试试题及答案
- 2025中煤集团山西有限公司社会招聘140人笔试历年典型考点题库附带答案详解试卷3套
- 2025中化集团金茂金彩生(营销管培生)招聘笔试历年常考点试题专练附带答案详解试卷3套
- 学校教职工考勤请假管理制度
- 老旧小区改造建设工程经济效益和社会效益分析报告
- 肥东市公务员考试试题及答案
- 东莞市罗定公务员考试试题及答案
- 固废处理设施运行与维护方案
- 成都海关公务员考试试题及答案
- 2025年《中国公民健康素养66条》知识考试题库(附答案)
- 生态文明教育在初中生物教学中的有效途径与策略探究
- 呼兰河传教学课件
- 设备运行参数管理办法
- 传染病四项检测与诊断标准
- 吹膜机操作规程
- 心肾综合征护理
- DB11∕T 512-2024 建筑装饰工程石材应用技术规程
- 羊水栓塞的治疗指南讲课件
- 失血性休克麻醉病例分享
- Module 9 Friendship模块话题阅读还原练习(解析版)
评论
0/150
提交评论