资源描述:
《算法练习题-分章节-带答案.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、算法练习题---算法概述一、选择题1、下面关于算法的描述,正确的是( )A、一个算法只能有一个输入B、算法只能用框图来表示C、一个算法的执行步骤可以是无限的D、一个完整的算法,不管用什么方法来表示,都至少有一个输出结果2、一位爱好程序设计的同学,想通过程序设计解决“韩信点兵”的问题,他制定的如下工作过程中,更恰当的是() A、设计算法,编写程序,提出问题,运行程序,得到答案 B、分析问题,编写程序,设计算法,运行程序,得到答案C、分析问题,设计算法,编写程序,运行程序,得到答案 D、设计算法,提出问题,编写程序,运行程序,得到答案3、下面说法正确的是( ) A、算法+
2、数据结构=程序B、算法就是程序 C、数据结构就是程序D、算法包括数据结构4、衡量一个算法好坏的标准是( )。A、运行速度快B、占用空间少 C、时间复杂度低 D、代码短5、解决一个问题通常有多种方法。若说一个算法“有效”是指( )。A、这个算法能在一定的时间和空间资源限制内将问题解决B、这个算法能在人的反应时间内将问题解决C、这个算法比其他已知算法都更快地将问题解决D、A和C 6、算法分析中,记号O表示(),记号表示()。A.渐进下界B.渐进上界C.非紧上界D.非紧下界7、以下关于渐进记号的性质是正确的有:()A.B.C.O(f(n))+O(g(n))=O(m
3、in{f(n),g(n)})D.8、记号O的定义正确的是()。A.O(g(n))={f(n)
4、存在正常数c和n0使得对所有nn0有:0f(n)cg(n)};B.O(g(n))={f(n)
5、存在正常数c和n0使得对所有nn0有:0cg(n)f(n)};C.O(g(n))={f(n)
6、对于任何正常数c>0,存在正数和n0>0使得对所有nn0有0f(n)7、对于任何正常数c>0,存在正数和n0>0使得对所有nn0有:0cg(n)8、存在正常数c和n0使得对所有n
9、n0有:0f(n)cg(n)};B.O(g(n))={f(n)
10、存在正常数c和n0使得对所有nn0有:0cg(n)f(n)};C.O(g(n))={f(n)
11、对于任何正常数c>0,存在正数和n0>0使得对所有nn0有:0f(n)12、对于任何正常数c>0,存在正数和n0>0使得对所有nn0有:0cg(n)13、三方面:、和算法本身。 8、程序是 用某种程序设计语言的具体实现。9、算法是指解决问题的或步骤的描述。11、计算一个算法时间复杂度通常可以计算 、 或计算步。16、任何可用计算机求解的问题所需的时间都与其有关。算法练习题---递归与分治策略一、选择题B.voidhanoi(intn,intA,intB,intC){if(n>0){hanoi(n-1,A,C,B);move(n,a,b);hanoi(n-1,C,B,A);}}A.voidhanoi(intn,intA,intC,intB){if(n>0){hanoi(n-1,A,C,B);mo
14、ve(n,a,b);hanoi(n-1,C,B,A);}}10、Hanoi塔问题如下图所示。现要求将塔座A上的的所有圆盘移到塔座B上,并仍按同样顺序叠置。移动圆盘时遵守Hanoi塔问题的移动规则。由此设计出解Hanoi塔问题的递归算法正确的为:()D.voidhanoi(intn,intC,intA,intB){if(n>0){hanoi(n-1,A,C,B);move(n,a,b);hanoi(n-1,C,B,A);}}C.voidhanoi(intn,intC,intB,intA){if(n>0){hanoi(n-1,A,C,B);move(n,a,b);hano
15、i(n-1,C,B,A);}}11、二分搜索算法是利用( )实现的算法。A、分治策略 B、动态规划法 C、贪心法 D、回溯法12、以下不可以使用分治法求解的是()。A棋盘覆盖问题B选择问题C归并排序D0/1背包问题13、实现循环赛日程表利用的算法是( )。A、分治策略B、动态规划法C、贪心法D、回溯法14、实现棋盘覆盖算法利用的算法是( )。 A、分治法B、动态规划法 C、贪心法D、回溯法15、Strassen矩阵乘法是利用( )实现的算法。A、分治策略B、动态规划法 C、贪心法 D、回溯法16、使用分治