计算机算法试题及答案_第1页
计算机算法试题及答案_第2页
计算机算法试题及答案_第3页
计算机算法试题及答案_第4页
计算机算法试题及答案_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机算法试题及答案

一、单项选择题(每题2分,共20分)1.算法的时间复杂度取决于()。A.问题的规模B.待处理数据的初态C.A和BD.计算机配置2.下面关于算法的说法正确的是()。A.算法最终必须由计算机程序实现B.算法的可行性是指指令不能有二义性C.为解决某问题的算法与为该问题编写的程序含义是相同的D.算法是对特定问题求解步骤的一种描述3.若某算法的时间复杂度为$O(n^2)$,表明该算法的()。A.问题规模是$n^2$B.执行时间等于$n^2$C.执行时间与$n^2$成正比D.问题规模与$n^2$成正比4.算法的有穷性是指()。A.算法程序的运行时间是有限的B.算法程序所处理的数据量是有限的C.算法程序的长度是有限的D.算法只能被有限的用户使用5.以下哪种排序算法的平均时间复杂度是$O(nlogn)$()。A.冒泡排序B.插入排序C.快速排序D.选择排序6.一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是()。A.有零个或多个输入B.有零个或多个输出C.有穷性D.可行性7.衡量算法好坏的标准不包括()。A.正确性B.可读性C.健壮性D.抽象性8.斐波那契数列递归算法的时间复杂度是()。A.$O(n)$B.$O(n^2)$C.$O(2^n)$D.$O(logn)$9.以下数据结构中,()是非线性数据结构。A.队列B.栈C.线性表D.树10.算法分析的两个主要方面是()。A.空间复杂度和时间复杂度B.正确性和简明性C.可读性和文档性D.数据复杂性和程序复杂性二、多项选择题(每题2分,共20分)1.以下属于算法的特性的有()。A.有穷性B.确定性C.可行性D.输入输出性2.常见的排序算法中,稳定的排序算法有()。A.冒泡排序B.插入排序C.归并排序D.快速排序3.算法的时间复杂度可能与以下哪些因素有关()。A.问题规模B.数据的存储结构C.数据的初始状态D.计算机硬件4.下列关于算法和程序的说法正确的有()。A.算法是程序的抽象,程序是算法的具体实现B.算法可以用自然语言、流程图等多种方式描述C.程序一定能实现算法的功能D.算法的有穷性要求程序在有限时间内结束5.以下哪些是算法设计的基本方法()。A.穷举法B.递归法C.分治法D.贪心法6.以下属于非线性数据结构的是()。A.图B.树C.栈D.队列7.影响算法空间复杂度的因素有()。A.输入数据的空间B.算法程序本身的空间C.算法执行过程中的额外空间D.计算机的内存大小8.以下关于算法的时间复杂度描述正确的有()。A.时间复杂度是衡量算法执行效率的重要指标B.时间复杂度是一个函数,描述算法运行时间与问题规模的关系C.时间复杂度通常用大O表示法来表示D.相同时间复杂度的算法执行时间一定相同9.以下排序算法中属于交换排序的是()。A.冒泡排序B.快速排序C.选择排序D.插入排序10.算法的正确性通常包括以下几个方面()。A.算法对于一切合法的输入都能产生预期的输出B.算法对于一切非法的输入都能给出相应的提示或处理C.算法在执行过程中不会出现死循环D.算法的执行效率高三、判断题(每题2分,共20分)1.算法可以没有输入,但必须有输出。()2.算法的时间复杂度都可以用多项式来表示。()3.冒泡排序是一种不稳定的排序算法。()4.递归算法的空间复杂度通常较高。()5.算法的可行性是指算法可以在任何计算机上运行。()6.线性表是线性数据结构,树是非线性数据结构。()7.算法的时间复杂度和空间复杂度一定是相互矛盾的,即时间复杂度低空间复杂度就高。()8.归并排序的平均时间复杂度是$O(nlogn)$。()9.一个好的算法应该具有较高的可读性。()10.算法和程序是同一个概念,只是表述不同。()四、简答题(每题5分,共20分)1.简述算法的定义及5个特性。2.什么是算法的时间复杂度和空间复杂度?3.简述快速排序的基本思想。4.列举两种稳定的排序算法,并说明其稳定的原因。五、讨论题(每题5分,共20分)1.讨论算法的正确性和健壮性的区别与联系。2.当面对一个实际问题时,如何选择合适的算法来解决?3.分析递归算法的优缺点。4.讨论算法的时间复杂度和空间复杂度在实际应用中的权衡。答案一、单项选择题1.C2.D3.C4.A5.C6.B7.D8.C9.D10.A二、多项选择题1.ABCD2.ABC3.ABC4.ABD5.ABCD6.AB7.ABC8.ABC9.AB10.ABC三、判断题1.√2.×3.×4.√5.×6.√7.×8.√9.√10.×四、简答题1.算法是解决特定问题求解步骤的描述。特性有:有穷性,执行有限步结束;确定性,每条指令含义确定;可行性,操作可由已实现基本运算完成;有零个或多个输入;有一个或多个输出。2.时间复杂度是算法执行时间随问题规模增长的变化趋势,用大O表示法。空间复杂度是算法执行所需存储空间随问题规模增长的变化趋势,同样用大O表示。3.快速排序采用分治法,选基准元素,将数组分两部分,小于基准放左边,大于放右边,再分别对两部分递归排序。4.冒泡排序:比较相邻元素,顺序不对就交换,相等不交换,位置不变。插入排序:将未排序元素插入已排序序列合适位置,相等时插入到后面,保证稳定性。五、讨论题1.正确性指算法对合法输入能产生正确结果。健壮性指对非法输入能正确处理。联系:都保证算法正常运行。区别:正确性侧重结果,健壮性侧重对异常的处理。2.考虑问题规模,小问题简单算法即可,大问题选高效算法;考虑数据特征,如有序数据用插入排序;考

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论