算法分析复习题目及答案16-12-10

合集下载

算法与数据结构试题

算法与数据结构试题

算法与数据结构试题第⼀章算法分析基础1、下列时间复杂度最好的是( )A 、O )(log 2nB 、O )(2n C 、O )(n D 、O )log (2n n2、从逻辑上可以把数据结构分为哪两⼤类?()A 、动态结构、静态结构B 、顺序结构、链式结构C 、线性结构、⾮线性结构D 、初等结构、构造型结构3、算法分析的主要任务是分析()A .算法是否具有较好的可读性B .算法中是否存在语法错误C .算法的功能是否符合设计要求D .算法的执⾏时间和问题规模之间的关系4、下⾯程序段中带下划线的语句的执⾏次数是。

for(i=0;i<=n;i++)for(j=0;j<=i;j++) x=x+1;5、下列程序的时间复杂度为()s=0;for(i=0;i<10;i++)for(j=0;j<10;j++)s=s+1;A . O (10)B . O (20)C. O (1) D.O(102)6、数据的最⼩单位是()A.数据项B.数据类型C.数据元素D.数据变量7、下列程序的时间复杂度为()i=1;k=100;{k=k+1;i=i+2;}A.O(1)B. O(n)C. O(n3)D.O(n2)8、称算法的时间复杂度为O(logn),其含义是指算法的执⾏时间和_______的数量级相同。

第⼆章线性表1、⾮空的循环单链表L的尾结点(由p所指)满⾜()A.p->next=NULLB. p=NULLC. p->next= LD. p= L2、从⼀个长度为n的顺序表中删除第i个元素(1≤i≤n)时,需向前移动的元素的个数是()A.n-iB.n-i+1C.n-i-1D.i3、链表不具备的特点是()A.可随机访问任⼀结点 B.插⼊删除不需要移动元素C.不必事先估计存储空间 D.所需空间与其长度成正⽐4、顺序表的存储密度为1,⽽链表的存储密度 _。

5、写算法,顺序查找⼀个元素值等于e的元素的逻辑序号。

算法初步测试题及答案

算法初步测试题及答案

算法初步测试题及答案work Information Technology Company.2020YEAR2第一章 算法初步一、选择题1.看下面的四段话,其中是解决问题的算法的是( ).A .把高一5班的同学分成两组,高个子参加篮球赛,矮个子参加拔河比赛B .把高一5班的同学分成两组,身高达到170 cm 的参加篮球赛,不足170 cm 的参加拔河比赛C .把a ,b 的值代入x =ab ,求方程ax =b 的解D .从2开始写起,后一个数为前一个数与2的和,不断地写,写出所有偶数2.任何一个算法都必须有的基本结构是( ). A .顺序结构 B .条件结构 C .循环结构D .三个都有3.右边的程序框图(如图所示),能判断任意输入的整数x 的奇偶性:其中判断框内的条件是( ).A .m =0B .x =0C .x =1D .m =14.给出以下一个算法的程序框图(如图所示),该程序框图的功能是( ).A .求输出a ,b ,c 三数的最大数B .求输出a ,b ,c 三数的最小数C .将a ,b ,c 按从小到大排列D .将a ,b ,c 按从大到小排列5.右图给出的是计算21+41+61+ … +201的值的 一个程序框图,其中判断框内应填入的条件是( ).A .i >10B .i <10C .i >20D .i <206.直到型循环结构为( ).ABC D7.下列给出的赋值语句中正确的是().A.4=M B.M=-MC.2B=A-3 D.x+y=08.右边程序执行后输出的结果是().A.-1 B.0 C.1 D.29.我国古代数学发展曾经处于世界领先水平,特别是宋、元时期的“算法”,其中可以同欧几里德辗转相除法相媲美的是().A.割圆术B.更相减损术C.秦九韶算法D.孙子乘余定理10.下面是一个算法的程序.如果输入的x的值是20,则输出的y的值是().A.100 B.50 C.25 D.150二、填空题11.下列关于算法的说法正确的是. (填上正确的序号)①某算法可以无止境地运算下去②一个问题的算法步骤不能超过1万次③完成一件事情的算法有且只有一种④设计算法要本着简单方便可操作的原则12.下列算法的功能是.S1输入A,B;(A,B均为数据)S2A=A+B;S3B=A-B;S4A=A-B;S5输出A,B.13.如图,输出的结果是.14 如图,输出的结果是.15 已知函数y=⎩⎨⎧-+,x,x232流程图表示的是给定x值,求其相应函数值的算法.请将该流程图补充完整.其中①处应填,②处应填.若输入x=3,则输出结果为.x≤3316.如图,输出结果为.三、解答题17.某小区每月向居民收取卫生费,计费方法是:3人和3人以下的住户,每户收取5元;超过3人的住户,每超出1人加收1.2元.设计一个算法,根据输入的人数,计算应收取的卫生费,并画出程序框图.18.编写程序,计算一个学生数学、语文、英语三门课的平均成绩.19.假定在银行中存款10 000元,按11.25%的利率,一年后连本带息将变为11 125元,若将此款继续存人银行,试问多长时间就会连本带利翻一番请用直到型和当型两种语句写出程序.20.用辗转相除法求91和49的最大公约数.第一章算法初步参考答案一、选择题1.解析:A.何为高个子,何为矮个子,标准不明确.C.当a=0时公式是无效的.D.非有限步可以完成.只有B符合算法的三个要求,所以答案是B.解:选B.2.A 解析:顺序结构是最简单的结构,也是最基本的结构.3.A 解析:x除以2,如余数为0,则x为偶数;余数不为0,则x为奇数.4.B 解析:从程序框图可知:输出的是三个数中的最小值.5.A 解析:这是一个10项求和问题.6.B 解析:直到型循环在执行了一次循环体之后,对控制循环条件进行判断,当条件不满足时反复做,满足则停止.7.B 解析:依据赋值语句的概念,选B是正确的.8.B 解析:程序执行后输出的结果是0,故选B.9.B10.D 解析:∵20>5,∴y=20×7.5=150,∴选 D.二、填空题11.答案:④.解析:由算法的特点所确定.12.答案:实现数据A,B的互换.解析:利用赋值语句的意义与题中算法的步骤进行分析.13.答案:12. 解析:m=2,p=7,m=12.4x=10 000r=11.25/100y=0WHILE x<20 000 y=y+1 x=10 000y=0r=11.25/100 Doy=y+114.答案:105. 解析:T=1,I=1,T=1,I=3,不满足条件;T=3,I=5,不满足条件;T=15,I=7,不满足条件;T=105,I=9,满足条件.输出T.15.答案:①x≤3;②y=-3x2;5. 解析:根据给出函数的解析式分析可填出.16.答案:9.解析:逐个取值计算.三、解答题17.解析:根据题意,可考虑用条件结构来进行算法设计.解:算法步骤:第一步,输入人数x,设收取的卫生费为m(元).第二步,判断x与3的大小.若x>3,则费用为m=5+(x-3)×1.2;若x≤3,则费用为m=5.第三步,输出m.18.分析:先写出算法,画出程序框图,再进行编程.程序框图:程序:19.解:用当型用直到型20.解析:由 91=49×1+42,得 42=91-49×1.因为余数42≠0,所以由辗转相除法,得 49=42×1+7,即 7=49-42×1; 42=7×6,即 0=42-7×6.所以,91和49的最大公约数等于7.5。

算法设计技巧与分析习题答案

算法设计技巧与分析习题答案

算法设计技巧与分析习题答案【篇一:算法设计与分析考试题及答案】一特殊类型问题的一系列运算,此外,算法还应具有以下五个重要特性:_________,________,________,__________,__________。

2.算法的复杂性有_____________和___________之分,衡量一个算法好坏的标准是______________________。

3.某一问题可用动态规划算法求解的显著特征是____________________________________。

4.若序列x={b,c,a,d,b,c,d},y={a,c,b,a,b,d,c,d},请给出序列x和y的一个最长公共子序列_____________________________。

5.用回溯法解问题时,应明确定义问题的解空间,问题的解空间至少应包含___________。

6.动态规划算法的基本思想是将待求解问题分解成若干____________,先求解___________,然后从这些____________的解得到原问题的解。

7.以深度优先方式系统搜索问题解的算法称为_____________。

8.0-1背包问题的回溯算法所需的计算时间为_____________,用动态规划算法所需的计算时间为____________。

9.动态规划算法的两个基本要素是___________和___________。

10.二分搜索算法是利用_______________实现的算法。

二、综合题(50分)1.写出设计动态规划算法的主要步骤。

2.流水作业调度问题的johnson算法的思想。

3.若n=4,在机器m1和m2上加工作业i所需的时间分别为ai和bi,且(a1,a2,a3,a4)=(4,5,12,10),(b1,b2,b3,b4)=(8,2,15,9)求4个作业的最优调度方案,并计算最优值。

4.使用回溯法解0/1背包问题:n=3,c=9,v={6,10,3},w={3,4,4},其解空间有长度为3的0-1向量组成,要求用一棵完全二叉树表示其解空间(从根出发,左1右0),并画出其解空间树,计算其最优值及最优解。

算法设计与分析复习题整理 (1)

算法设计与分析复习题整理 (1)

一、基本题:算法:1、程序是算法用某种程序设计语言的具体实现。

2、算法就是一组有穷的序列(规则) ,它们规定了解决某一特定类型问题的一系列运算。

3、算法的复杂性是算法效率的度量,是评价算法优劣的重要依据。

4、算法的“确定性”指的是组成算法的每条指令是清晰的,无歧义的。

5、算法满足的性质:输入、输出、确定性、有限性。

6、衡量一个算法好坏的标准是时间复杂度低。

7、算法运行所需要的计算机资源的量,称为算法复杂性,主要包括时间复杂性和空间复杂性。

8、任何可用计算机求解的问题所需的时间都与其规模有关。

递归与分治:9、递归与分治算法应满足条件:最优子结构性质与子问题独立。

10、分治法的基本思想是首先将待求解问题分解成若干子问题。

11、边界条件与递归方程是递归函数的两个要素。

12、从分治法的一般设计模式可以看出,用它设计出的程序一般是递归算法。

13、将一个难以直接解决的大问题,分解成一些规模较小的相同问题,以便各个击破。

这属于分治法的解决方法。

14、Strassen矩阵乘法是利用分治策略实现的算法。

15、大整数乘积算法是用分治法来设计的。

16、二分搜索算法是利用分治策略实现的算法。

动态规划:17、动态规划算法的两个基本要素是最优子结构性质和重叠子问题性质。

18、下列算法中通常以自底向上的方式求解最优解的是动态规划法。

19、备忘录方法是动态规划算法的变形。

20、最优子结构性质是贪心算法与动态规划算法的共同点。

21、解决0/1背包问题可以使用动态规划、回溯法,其中不需要排序的是动态规划,需要排序的是回溯法。

贪心算法:22、贪心算法总是做出在当前看来最好的选择。

也就是说贪心算法并不从整体最优考虑,它所做出的选择只是在某种意义上的局部最优解。

23、最优子结构性质是贪心算法与动态规划算法的共同点。

24、背包问题的贪心算法所需的计算时间为 O(nlogn) 。

回溯法:25、回溯法中的解空间树结构通常有两种,分别是子集树和排列树。

算法分析(第二版)清华大学出版社 部分习题的参考答案

算法分析(第二版)清华大学出版社  部分习题的参考答案
3.主动4.常规密钥
5.中断、篡改、伪造6.公开密钥
7.链路、端到端8.管理信息库、管理信息结构、管理协议
9.公开密钥密码技术10.身份验证、加密、访问控制
二、选择题
1. C2. C3. D4. D5. D
6. C7. B8. D9. D10. C
网桥1转发表网桥2转发表网桥1网桥2站地址端口站地址端口mac11向端口2转发该帧将mac1端口1登记到转发表mac32mac31向端口1转发该帧将mac3端口2登记到转发表向端口2转发该帧将mac3端口1登记到转发表mac42从转发表中查到目的端口是1向端口1转发该帧将mac4端口2登记到转发表mac21将该帧丢弃同时将mac2端口1登记到转发表第5章一填空题1
MAC4
2
从转发表中查到目的端口是1向端口1转发该帧,将(MAC4,端口2)登记到转发表
MAC2
1
将该帧丢弃,同时将(MAC2,端口1)登记到转发表
第5章
一、填空题
1.ARP、IGMP2.128.11、3.11
3.路由、建立虚电路、路由算法4.泛射路由选择、固定路由选择和随机路由选择
5.IP数据报6.ARP
1.应用进程2.客户/服务器

6.字符代码、数字代码
7.www服务器、www浏览器8.ASCII传输模、二进制数字传输模式
9.A记录、CNAME记录、MX记录10.SMTP
二、选择题
1. D2. C3. B4. A5. B
6. C7. C8. B9. A
2.网络的拓扑结构表示网络传输介质和结点的连接形式,通常有总线型、环形、星形和树形。
3.OSI将整个网络通信的功能划分为七个层次,由低到高分别是物理层、链路层、网络层、传输层、会话层、表示层和应用层。

《算法设计与分析》复习题参考答案

《算法设计与分析》复习题参考答案

《算法设计与分析》复习题参考答案一、概念题:请解释下列术语。

1.数据元素的集合。

2.队列是一个线性表,限制为只能在固定的一端进行插入,在固定的另一端进行删除。

3.对于算法a,如果存在一多项式p(),使得对a的每个大小为n的输入,a的计算时间为o(p(n)),则称a具有多项式复杂度4.二叉树的层数i与该层上的结点数n的关系为:n(i)=i2。

5.如果可满足性约化为一个问题L,则称该问题为NP-难度的。

6.算法就是一组有穷的规则,它规定了解决某一特定类型问题的一系列运算。

7.多数据单指令流8.若图的任意两个节点间均存在路径可达,则称该图为连通图。

9. 是指一个数学模型以及定义在该模型上的一组操作。

10.算法的复杂度只能用指数函数对其限界。

11.函数或过程直接或间接调用它自己。

12.和高度相同的满二叉树的每个对应的顶点编号相同的树13.由所有可行状态所构成的树。

14.如果L时NP难度的且L∈NP,则称问题L是NP-完全的。

15.算法是一个步骤的序列,满足:有穷性、可行性、确定性、输入、输出;过程不需要满足由穷性。

16.有向图的每条边有起点与终点之分,且用箭头指向边的终点。

无向图的边无起点和终点之分,边无箭头。

17.树(tree)是一个或多个结点的有限集合,,它使得:①有一个特别指定的称作根(root)的结点;②剩下的结点被分成m≥0个不相交的集合tl,…,tm,这些集合的每一个都是一棵树,并称t1,…,tm为这根的子树(subtree)。

18.P是所有可在多项式时间内用确定算法求解的判定问题的集合。

19.运算结果是唯一确定的算法20. nP是所有可在多项式时间内用不确定算法求解的判定问题的集合二、填空题1.n2.O ( n )3.最优化问题4.宽度优先搜索5.结点的最大级数6.互异7.内结点和外结点8.方形9.内部路径长度、外部路径长度10.一次11.归并分类算法12.贪心选择性质13.最优子结构14.二元归并15.最小成本生成树16.最优性17.最优决策18.可容许最大成本c19.最小成本三、程序填空题。

数据结构与算法设计与分析考核试卷

数据结构与算法设计与分析考核试卷
答案:______
8.在冒泡排序中,每一趟排序都能确定一个元素的最终位置。()
答案:______
9. Prim算法和Kruskal算法都可以用来求解最小生成树问题,但Prim算法总是从某一顶点开始,而Kruskal算法总是从某一权值最小的边开始。()
答案:______
10.在一个递归算法中,如果递归调用不是算法的最后一个操作,那么这种递归称为尾递归。()
B.邻接表适合表示稀疏图
C.邻接多重表适合表示无向图
D.邻接表和邻接多重表适合表示有向图
14.以下哪些算法属于分治算法?()
A.快速排序
B.归并排序
C.二分查找
D.动态规划
15.以下哪些情况下,动态规划比贪心算法更适合解决问题?()
A.存在重叠子问题
B.问题具有最优子结构
C.需要考虑所有可能的选择
D.问题可以通过局部最优达到全局最优
C.插入一个节点
D.查找某个节点
5.以下哪些算法可以用于解决最小生成树问题?()
A. Kruskal算法
B. Prim算法
C. Dijkstra算法
D. Bellman-Ford算法
6.以下哪些数据结构可以用来实现堆?()
A.数组
B.链表
C.栈
D.队列
7.关于图的深度优先遍历和广度优先遍历,以下哪些说法是正确的?()
________________________________
2.动态规划算法通常用于解决最优化问题,请阐述动态规划算法的三个基本要素,并给出一个动态规划问题的实例。
________________________________
________________________________

2021《算法数据结构》复习试题库及答案

2021《算法数据结构》复习试题库及答案

2021《算法数据结构》复习试题库及答案试题1算法设计题(每小题6分.共12分)1.请写出在循环队列上进行插入操作的算法。

要求若插入成功则返目true,否则返回else.循环队列定义如下:struet CyclicQueue {ElemTy[ae elem[M]; //M为已定义过的整型常量,表示队列数组空间长度int rear,front; //rear指向队尾元素后一个位置,front指向队头元索int tag;};注意:当front=rear且tag=0时,队列空,当front=rear 且tag=1时,队列满,即队列中已有M个元素.bool EnCQueue(CyclicQueue& Q, ElemType x){ {/*编写该函数体。

/}//在下面编写函数体2.已知二又树中的结点类型Bin·rreeNode定义为:slruct BinTreeNode {char data;BinTreeNode * left, * right;};其中data为结点值域,left和righ~分别为指向左、右子女结点的指针域,根据下面函数声明编写出求一棵二叉树中结点总数的递归算法,该总数值由函数返回.假定BT初始指向这棵二又树的.根结点.int BTreeCount(BinTreeNode* BT);答案算法设计题(2小题,每小题6‘分,共12分)1.分步给分if (Q. rear=Q, front && Q tag== 1) return false;Q. elem[Q, rear] = x;Q. rtar= (Q. rear+ 1) %M;if(Q. rear== Q. front) Q. tag= 1;return true;2.分步给分int BTreeCount(BinTreeNode * BT)(if(BT== NULL)return O;elsereturn BTreeCount ( BT->left) +BTreeCount(BT-> fight) + l;试题21.设字符串类String具有下列操作:int Length()const; //计算字符串的长度chargetData(k); //提取字符串第k个字符的值若字符串Tar的值为“ababcabcacbab“,的值为‘abcac”时,(1)给出下面算法执行后返回的结果,(2)给出下面。

算法分析与设计期末复习题

算法分析与设计期末复习题

一、选择题1.一个.java文件中可以有()个public类。

A.一个B.两个C.多个D.零个2.一个算法应该是()A.程序B.问题求解步骤的描述C.要满足五个基本特性D.A和C3.用计算机无法解决“打印所有素数”的问题,其原因是解决该问题的算法违背了算法特征中的()A.唯一性B.有穷性C.有0个或多个输入D.有输出4.某校有6位学生参加学生会主席竞选,得票数依次为130,20,98,15,67,3。

若采用冒泡排序算法对其进行排序,则完成第二遍时的结果是()A.3,15,130,20,98,67B.3,15,20,130,98,67C.3,15,20,67,130,98 D.3,15,20,67,98,1305.下列关于算法的描述,正确的是()A.一个算法的执行步骤可以是无限的B.一个完整的算法必须有输出C.算法只能用流程图表示D.一个完整的算法至少有一个输入6.Java Application源程序的主类是指包含有()方法的类。

A、main方法B、toString方法C、init方法D、actionPerfromed方法7.找出满足各位数字之和等于5的所有三位数可采用的算法思路是()A.分治法B.减治法C.蛮力法D.变治法8.在编写Java Application程序时,若需要使用到标准输入输出语句,必须在程序的开头写上( )语句。

A、import java.awt.* ;B、import java.applet.Applet ;C、import java.io.* ;D、import java.awt.Graphics ;9.计算某球队平均年龄的部分算法流程图如图所示,其中:c用来记录已输入球员的人数,sum用来计算有效数据之和,d用来存储从键盘输入的球员年龄值,输入0时表示输入结束。

图中空白处理框①和②处应填入的是()A.①sum ←sum + d B.①sum ←sum + c②c ←c + 1②c ←c + 1C.①sum ←sum + d D.①sum ←sum + c②d ←d + 1 ②d ←d + 110.报名参加冬季越野赛跑的某班5位学生的学号是:5,8,11,33,45。

《算法设计与分析》考试题目及答案

《算法设计与分析》考试题目及答案

《算法分析与设计》期末复习题一、选择题1.应用Johnson 法则的流水作业调度采用的算法是(D )A. 贪心算法B. 分支限界法C.分治法D. 动态规划算法2.Hanoi 塔问题如下图所示。

现要求将塔座A 上的的所有圆盘移到塔座B 上,并仍按同样顺序叠置。

移动圆盘时遵守Hanoi 塔问题的移动规则。

由此设计出解Hanoi 塔问题的递归算法正确的为:(B )Hanoi 塔A. void hanoi(int n, int A, int C, int B) { if (n > 0) {hanoi(n-1,A,C, B); move(n,a,b);hanoi(n-1, C, B, A); } B. void hanoi(int n, int A, int B, int C) {if (n > 0) {hanoi(n-1, A, C, B); move(n,a,b);hanoi(n-1, C, B, A); }C. void hanoi(int n, int C, int B, int A) {if (n > 0) {hanoi(n-1, A, C, B); move(n,a,b);hanoi(n-1, C, B, A); }3. 动态规划算法的基本要素为(C)A. 最优子结构性质与贪心选择性质B.重叠子问题性质与贪心选择性质C.最优子结构性质与重叠子问题性质D. 预排序与递归调用4. 算法分析中,记号O表示(B),记号Ω表示(A),记号Θ表示(D)。

A.渐进下界B.渐进上界C.非紧上界D.紧渐进界E.非紧下界5. 以下关于渐进记号的性质是正确的有:(A)A.f(n)(g(n)),g(n)(h(n))f(n)(h(n))=Θ=Θ⇒=ΘB. f(n)O(g(n)),g(n)O(h(n))h(n)O(f(n))==⇒=C. O(f(n))+O(g(n)) = O(min{f(n),g(n)})D. f(n)O(g(n))g(n)O(f(n))=⇔=6.能采用贪心算法求最优解的问题,一般具有的重要性质为:(A)A. 最优子结构性质与贪心选择性质B.重叠子问题性质与贪心选择性质C.最优子结构性质与重叠子问题性质D. 预排序与递归调用7. 回溯法在问题的解空间树中,按(D)策略,从根结点出发搜索解空间树。

《算法设计与分析》试卷及答案

《算法设计与分析》试卷及答案

《算法设计与分析》试卷1一、多项选择题(每空2分, 共20分):1.以下关于算法设计问题的叙述中正确的是__________。

A.计算机与数值问题的求解——方程式求根、插值问题、数值积分、函数逼近等有关B.利用计算机无法解决非数值问题C.计算机在解决分类、语言翻译、图形识别、解决高等代数和组合分析等方面的数学问题、定理证明、公式推导乃至日常生活中各种过程的模拟等问题中, 主要进行的是判断、比较, 而不是算术运算D、算法设计与分析主要研究对象是非数值问题, 当然也包含某些数值问题2.算法的特征包括_________。

A.有穷性B、确定性C.输入和输出D.能行性或可行性3、以下描述是有关算法设计的基本步骤:①问题的陈述②算法分析③模型的拟制④算法的实现⑤算法的详细设计⑥文档的编制, 应与其它环节交织在一起其中正确的顺序是__________。

A.①②③④⑤⑥B.①③⑤②④⑥C.②④①③⑤⑥D.⑥①③⑤②④4.以下说法正确的是__________。

A.数学归纳法可以证明算法终止性B.良序原则是证明算法的正确性的有力工具C. x = 小于或等于x的最大整数(x的低限)D. x = 小于或等于x的最大整数(x的高限)5、汉诺塔(Hanoi)问题中令h(n)为从A移动n个金片到C上所用的次数, 则递归方程为__________, 其初始条件为__________, 将n个金片从A柱移到C柱上的移动次数是__________;设菲波那契(Fibonacci)数列中Fn为第n个月时兔子的对数, 则有递归方程为__________, 其中F1=F2=__________。

A.Fn=Fn-1+Fn-2 B、h(n)= 2h(n-1)+1C.1 D、h(1)= 1E、h(n)=2n-1F、06.在一个有向连通图中(如下图所示), 找出点A到点B的一条最短路为____ ______。

A.最短路: 1→3→5→8→10, 耗费: 20B、最短路:1→4→6→9→10, 耗费:16C.最短路: 1→4→6→9, 耗费: 12D.最短路: 4→6→9→10, 耗费: 13二、填空(每空2分, 共20分):1.快速排序法的基本思想是重新排列关键字, 把一个文件分成两个文件, 使得第一个文件中所有元素均小于第二个文件中的元素;然后再对两个子文件进行同样的处理。

算法题目及答案

算法题目及答案

算法题目及答案【篇一:算法考试试题及答案】s=txt>1、算法的复杂性是的度量,是评价算法优劣的重要依据。

程序段的时间复杂度为。

i=1; k=0;while(in) { k=k+10*i;i++; }3、计算机的资源最重要的是和资源。

因而,算法的复杂性有和之分。

5、递归是指函数或者通过一些语句调用自身。

6、分治法的基本思想是将一个规模为n的问题分解为k个规模较小的子问题,这些子问题互相且与原问题相同。

二、选择题(本题20分,每小题2分)1、分支限界法与回溯法都是在问题的解空间树t上搜索问题的解,二者( )。

a.求解目标不同,搜索方式相同b.求解目标不同,搜索方式也不同c.求解目标相同,搜索方式不同d.求解目标相同,搜索方式也相同2、回溯法在解空间树t上的搜索方式是( )。

a.深度优先b.广度优先c.最小耗费优先d.活结点优先3、在对问题的解空间树进行搜索的方法中,一个活结点最多有一次机会成为活结点的是( )。

a.回溯法b.分支限界法c.回溯法和分支限界法d.回溯法求解子集树问题4、以下关于判定问题难易处理的叙述中正确的是( )。

a.可以由多项式时间算法求解的问题是难处理的b.需要超过多项式时间算法求解的问题是易处理的c.可以由多项式时间算法求解的问题是易处理的d.需要超过多项式时间算法求解的问题是不能处理的5、设f(n),g(n)是定义在正数集上的正函数,如果存在正的常数c和自然数n0,使得当n≥n0时有f(n)≤cg(n),则称函数f(n)当n充分大时有上界g(n),记作f(n)=o(g(n)),即f(n)的阶( )g(n)的阶。

a.不高于b.不低于c.等价于d.逼近6、对于含有n个元素的子集树问题,最坏情况下其解空间的叶结点数目为( )。

a.n!b.2c.2-1d. 2-17、程序可以不满足以下( )特征a.输入b.输出c.确定性d.有限性8、以下( )不能在线性时间完成排序a.计数排序b.基数排序c.堆排序d.桶排序9、以下( )不一定得到问题的最优解a.贪心算法b.回溯算法c.分支限界法d.动态规划法10、以下()不包括在图灵机结构中 nn+1na. 控制器b. 读写磁头c.计算器d. 磁带三、简答题(本题20分,每小题5分)1、设有n=2个运动员要进行循环赛,现设计一个满足以下要求的比赛日程表:①每个选手必须与其他n-1名选手比赛各一次;②每个选手一天至多只能赛一次;③循环赛要在最短时间内完成。

算法粤教版高中信息技术必修一练习解析版精选全文

算法粤教版高中信息技术必修一练习解析版精选全文

可编辑修改精选全文完整版3.2.1算法(2)-粤教版(2019)高中信息技术必修一练习学校:___________姓名:___________班级:___________考号:___________一、选择题1.某算法的部分流程图如第7题图所示。

执行这部分流程后,输出s和i的值分别是()A.-3 5B.-4 5C.-3 6D.-2 6【答案】A【解析】【分析】【详解】本题考查流程图。

Int(X)求不大于X 的最大整数,Int(s/10)=-3,故本题选A。

2.某算法的部分流程图如图所示,执行这部分流程后,变量s的值是()A.26B.30C.14D.10【答案】C【解析】【详解】本题考查流程图。

最终可得s=14,故本题选C。

试卷第2页,总15页3.以下哪个是算法的描述方法?()A.流程图描述法B.枚举法C.顺序法D.列表法【答案】A【解析】【详解】本题考查算法相关知识。

算法是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。

也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。

如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。

不同的算法可能用不同的时间、空间或效率来完成同样的任务。

一个算法的优劣可以用空间复杂度与时间复杂度来衡量。

算法的描述有流程图,自然语言和计算机语言。

故本题选A。

4.关于算法的描述,下列选项中正确的是()A.算法本身就是一种程序设计语言B.算法必须有输入C.算法的步骤可以是无穷的D.算法的每一步骤必须有确切的含义【答案】D【解析】【详解】本题考查的是算法相关知识。

所谓算法就是解题方法的精确描述,由有限个步骤组成,故选项A错误;有0 个或多个输入,故选项B错误;算法的步骤是有穷的,故选项C错误;算法具有确定性,指算法的每一步骤必须有确切的含义,故选项D正确。

5.以下不属于算法基本特征的是()A.可执行性B.确定性C.有穷性D.无限性【答案】D【解析】【详解】本题考查的是算法的特征。

算法分析与设计(参考题及答案

算法分析与设计(参考题及答案
26.下列不是动态规划算法基本步骤的是()。
A、找出最优解的性质 B、构造最优解
C、算出最优解 D、定义最优解
答案:A
27.对完全二叉树自顶向下,从左向右给节点编号,节点编号为10的父节点编号为( ).
A、0 B、2 C、4 D、6
答案:C
28.下面哪种函数是回溯法中为避免无效搜索采取的策略()
3.贪婪技术并不能够总是找到最优解。
A、正确 B、错误 答案:正确
4.对于任何权重的图,Dijkstra算法总能产生一个正确的解。
A、正确 B、错误 答案:错误
5.对于给定的字符表及其出现的概率,哈夫曼编码是唯一的。
A、正确 B、错误 答案:错误
6.贪婪算法是在每一步中,“贪婪”地选择最佳操作,并希望通过一系列局部的最优选择, 能产生一个整个问题的最优解。
一、单选题 1.下列函数关系随着输入量增大增加最快的是( )
A、log2n B、n2 C、2n D、n!
答案:C
2.实现循环赛日程表利用的算法是()。
A、分治策略 B、动态规划法 C、贪心法 D、回溯法
答案:A
3.最长公共子序列算法利用的算法是()。
A、分支界限法 B、动态规划法 C、贪心法 D、回溯法
答案:某个问题的最优解包含着其子问题的最优解。这种性质称为最优子结构性质。
3.简述动态规划方法所运用的最优化原理。
答案:“最优化原理”用数学化的语言来描述:假设为了解决某一优化问题,需要依次作出n个决策D1,D2,…,Dn,如若这 个决策序列是最优的,对于任何一个整数k,1<k<n,不论前面k个决策是怎样的,以后的最优决策只取决于由前面决策所确定 的当前状态,即以后的决策Dk+1,Dk+2,…,Dn也是最优的。

计算机算法笔试题库及答案

计算机算法笔试题库及答案

计算机算法笔试题库及答案一、入门篇1. 数据类型和算法基础知识算法的复杂度分析、递归和迭代2. 数组和字符串数组和字符串的基本操作、常见问题及解决方法3. 链表链表数据结构的基本操作、常见问题及解决方法4. 栈和队列栈和队列的基本操作、常见问题及解决方法二、进阶篇5. 树和二叉树树和二叉树的基本操作、常见问题及解决方法6. 图图的基本概念、图的遍历算法和最短路径算法7. 排序和搜索常见排序算法和搜索算法的原理、复杂度分析和应用场景8. 动态规划动态规划算法的基本思想、应用场景和实际问题解决方法三、高级篇9. 贪心算法贪心算法的基本思想、应用场景和实际问题解决方法10. 回溯算法回溯算法的基本原理、应用场景和实际问题解决方法11. 分治算法分治算法的基本思想、应用场景和实际问题解决方法12. 数据结构的优化优化数据结构的存储方式、查询效率和空间复杂度四、应用篇13. 字符串匹配算法字符串匹配算法的原理、复杂度分析和实际应用14. 图像处理算法图像处理算法的基本原理、应用场景和实际问题解决方法15. 数据挖掘算法数据挖掘算法的基本思想、应用场景和实际问题解决方法16. 机器学习算法机器学习算法的基本原理、应用场景和实际问题解决方法五、答案篇在本部分,我们提供了题库中各个算法题目的详细答案解析,包括代码实现、复杂度分析和特殊情况处理等,并附有相应的注释和讲解。

六、总结通过学习本算法题库,读者可以系统地掌握计算机算法中的常见数据结构和经典算法,培养解决实际问题的算法思维能力。

同时,我们提供了丰富的练习题目和详细答案解析,读者可以通过多次练习和思考,逐渐提升算法分析和实现的能力。

总结起来,本算法题库不仅适用于计算机算法的笔试准备,也是学习计算机算法和数据结构的重要参考资料。

希望读者通过学习和实践,能够深入理解算法思想,掌握算法设计和分析的方法,提升解决实际问题的能力。

算法分析期末试题集答案

算法分析期末试题集答案

算法分析期末试题集答案1.应⽤Johnson法则的流⽔作业调度采⽤的算法是(D)A. 贪⼼算法B. 分⽀限界法C.分治法D. 动态规划算法2.Hanoi塔问题如下图所⽰。

现要求将塔座A上的的所有圆盘移到塔座B上,并仍按同样顺序叠置。

移动圆盘时遵守Hanoi塔问题的移动规则。

由此设计出解Hanoi塔问题的递归算法正确的为:(B)Hanoi塔3. 动态规划算法的基本要素为(C)A. 最优⼦结构性质与贪⼼选择性质B.重叠⼦问题性质与贪⼼选择性质C.最优⼦结构性质与重叠⼦问题性质D. 预排序与递归调⽤4. 算法分析中,记号O表⽰(B),记号Ω表⽰(A),记号Θ表⽰(D)。

A.渐进下界B.渐进上界C.⾮紧上界D.紧渐进界E.⾮紧下界5. 以下关于渐进记号的性质是正确的有:(A)A.f(n)(g(n)),g(n)(h(n))f(n)(h(n))=Θ=Θ?=ΘB. f(n)O(g(n)),g(n)O(h(n))h(n)O(f(n))==?=C. O(f(n))+O(g(n)) = O(min{f(n),g(n)})D. f(n)O(g(n))g(n)O(f(n))=?=6.能采⽤贪⼼算法求最优解的问题,⼀般具有的重要性质为:(A)A. 最优⼦结构性质与贪⼼选择性质B.重叠⼦问题性质与贪⼼选择性质C.最优⼦结构性质与重叠⼦问题性质D. 预排序与递归调⽤7. 回溯法在问题的解空间树中,按(D)策略,从根结点出发搜索解空间树。

A.⼴度优先B. 活结点优先 C.扩展结点优先 D. 深度优先8. 分⽀限界法在问题的解空间树中,按(A)策略,从根结点出发搜索解空间树。

A.⼴度优先B. 活结点优先 C.扩展结点优先 D. 深度优先9. 程序块(A)是回溯法中遍历排列树的算法框架程序。

A.10. 回溯法的效率不依赖于以下哪⼀个因素?(C )A.产⽣x[k]的时间;B.满⾜显约束的x[k]值的个数;C.问题的解空间的形式;D.计算上界函数bound的时间;E.满⾜约束函数和上界函数约束的所有x[k]的个数。

川农大算法分析期末复习题

川农大算法分析期末复习题

算法分析与设计复习题判断题 (1)选择题: (29)判断题1. 算法就是一组有穷的规则。

答案:正确2. 概率算法中蒙特卡罗算法得到的解必是正确的。

答案:错误3. 程序和算法一样,都是某种程序设计语言的具体实现。

答案:错误4. 合并排序算法是渐近最优算法。

答案:正确5. 递归定义必须是有确切含义是指必须一步比一步简单,最后是有终结的,决不能无限循环下去。

答案:正确6. 二分搜索方法在最坏的情况下用O(log n)时间完成搜索任务。

答案:正确7. 能否利用分治法完全取决于问题是否具有如下特征:利用该问题分解出的子问题的解可以合并为该问题的解。

答案:正确8. 分治法的基本思想是将一个规模较大的问题分解成若干个规模较小的子问题,这些子问题之间并不一定相互独立。

答案:错误9. 递归算法的效率往往很低,费时和费内存空间。

答案:正确10. 当一个问题具有最优子结构性质时只能用动态规划方法求解。

答案:错误11. 如果一类活动过程一个阶段的决策确定以后,常影响到下一个阶段的决策,则称它为多阶段决策问题。

答案:正确12. 反复应用分治手段,不能使子问题与原问题类型一致而其规模却不断缩小。

答案:错误13. 裴波那契数列的定义:f(n)=f(n-1)+f(n-2),f(0)=1,f(1)=2,其数据的定义形式不是按递归定义。

答案:错误14. 0-1背包问题与背包问题这两类问题都可以用贪心算法求解。

答案:错误15. 证明贪心选择后的问题简化为规模更小的类似子问题的关键在于利用该问题的最优子结构性质。

答案:错误16. 子问题之间不包含公共的子问题,这个条件涉及到分治法的效率。

答案:正确17. 概率算法允许在执行过程中随机地选择下一个计算步骤。

答案:正确18. 二分搜索法的二分查找只适用于顺序存储结构。

答案:正确19. 要想在电脑上扩大所处理问题的规模,有效的途径是降低算法的计算复杂度。

答案:正确20. 用回溯法解题一个显著特征是在搜索过程中动态产生问题的解空间。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一。

选择题1、二分搜索算法是利用( A )实现的算法。

A、分治策略B、动态规划法C、贪心法D、回溯法2、下列不是动态规划算法基本步骤的是( D )。

A、找出最优解的性质B、构造最优解C、算出最优解D、定义最优解3、最大效益优先是( A )的一搜索方式。

A、分支界限法B、动态规划法C、贪心法D、回溯法5. 回溯法解旅行售货员问题时的解空间树是()。

A、子集树B、排列树C、深度优先生成树D、广度优先生成树6.下列算法中通常以自底向上的方式求解最优解的是( B )。

A、备忘录法B、动态规划法C、贪心法D、回溯法注意:动态规划采用的是自底向上的方式求解,而贪心算法采用的是自顶向下的方式来求解问题。

7、衡量一个算法好坏的标准是(C )。

A 运行速度快B 占用空间少C 时间复杂度低D 代码短8、以下不可以使用分治法求解的是(D )。

A 棋盘覆盖问题B 选择问题C 归并排序D 0/1背包问题9. 实现循环赛日程表利用的算法是( A )。

A、分治策略B、动态规划法C、贪心法D、回溯法11.下面不是分支界限法搜索方式的是( D )。

A、广度优先B、最小耗费优先C、最大效益优先D、深度优先12.下列算法中通常以深度优先方式系统搜索问题解的是( D )。

A、备忘录法B、动态规划法C、贪心法D、回溯法13.备忘录方法是那种算法的变形。

( B )A、分治法B、动态规划法C、贪心法D、回溯法注意:备忘录是动态规划方法的一个步骤。

14.哈弗曼编码的贪心算法所需的计算时间为( B )。

A、O(n2n)B、O(nlogn)C、O(2n)D、O(n)15.分支限界法解最大团问题时,活结点表的组织形式是( B )。

A、最小堆B、最大堆C、栈D、数组16.最长公共子序列算法利用的算法是( B )。

A、分支界限法B、动态规划法C、贪心法D、回溯法17.实现棋盘覆盖算法利用的算法是( A )。

A、分治法B、动态规划法C、贪心法D、回溯法18.下面是贪心算法的基本要素的是( C )。

A、重叠子问题B、构造最优解C、贪心选择性质D、定义最优解注意:定义最优解与重叠子问题这俩个性质是动态规划算法的基本要素。

19.回溯法的效率不依赖于下列哪些因素( D )A.满足显约束的值的个数B. 计算约束函数的时间C. 计算限界函数的时间D. 确定解空间的时间20.下面哪种函数是回溯法中为避免无效搜索采取的策略( B )A.递归函数 B.剪枝函数C。

随机数函数 D.搜索函数注意:剪枝函数又分为约束函数与限界函数。

21、下面关于NP问题说法正确的是(B )A NP问题都是不可能解决的问题B P类问题包含在NP类问题中C NP完全问题是P类问题的子集D NP类问题包含在P类问题中24. ( D )是贪心算法与动态规划算法的共同点。

A、重叠子问题B、构造最优解C、贪心选择性质D、最优子结构性质注意:最优子结构性质是贪心算法与动态规划算法共同特点。

25. 矩阵连乘问题的算法可由(B)设计实现。

A、分支界限算法B、动态规划算法C、贪心算法D、回溯算法26. 分支限界法解旅行售货员问题时,活结点表的组织形式是( A )。

A、最小堆B、最大堆C、栈D、数组注意:分支限界法在表示最大团问题时,活结点采用的是最大堆。

29、使用分治法求解不需要满足的条件是(A )。

A 子问题必须是一样的B 子问题不能够重复C 子问题的解可以合并D 原问题和子问题使用相同的方法解注意:使用分治法解决问题我们对问题的要求是子问题与原问题类似,即我们采用相同的方法解决即可。

不是需要原问题与子问题是一模一样的。

30、下面问题(B )不能使用贪心法解决。

A 单源最短路径问题B N皇后问题C 最小花费生成树问题D 背包问题31、下列算法中不能解决0/1背包问题的是(A )A 贪心法B 动态规划C 回溯法D 分支限界法注意:贪心算法是不能完全解决0/1背包问题,但是其可以解决背包问题的。

32、回溯法搜索状态空间树是按照(C )的顺序。

A 中序遍历B 广度优先遍历C 深度优先遍历D 层次优先遍历34.实现合并排序利用的算法是( A )。

A、分治策略B、动态规划法C、贪心法D、回溯法35.下列是动态规划算法基本要素的是( D )。

A、定义最优解B、构造最优解C、算出最优解D、子问题重叠性质36.下列算法中通常以自底向上的方式求解最优解的是( B )。

A、分治法B、动态规划法C、贪心法D、回溯法37.采用广度优先策略搜索的算法是( A )。

A、分支界限法B、动态规划法C、贪心法D、回溯法38、合并排序(也就是归并排序)算法是利用( A )实现的算法。

A、分治策略B、动态规划法C、贪心法D、回溯法40、背包问题的贪心算法所需的计算时间为( B )A、O(n2n)B、O(nlogn)C、O(2n)D、O(n)41.实现大整数的乘法是利用的算法( C )。

A、贪心法B、动态规划法C、分治策略D、回溯法42.0-1背包问题的回溯算法所需的计算时间为( A )A、O(n*2^n)B、O(nlogn)C、O(2n)D、O(n)43.采用最大效益优先搜索方式的算法是( A )。

A、分支界限法B、动态规划法C、贪心法D、回溯法44.贪心算法与动态规划算法的主要区别是( A )。

A、最优子结构B、贪心选择性质C、构造最优解D、定义最优解45. 实现最大子段和利用的算法是( B )。

A、分治策略B、动态规划法C、贪心法D、回溯法46.优先队列式分支限界法选取扩展结点的原则是( C )。

A、先进先出B、后进先出C、结点的优先级D、随机48、广度优先是( A )的一搜索方式。

A、分支界限法B、动态规划法C、贪心法D、回溯法52. 一个问题可用动态规划算法或贪心算法求解的关键特征是问题的( B )。

A、重叠子问题B、最优子结构性质C、贪心选择性质D、定义最优解注意:一个问题能用动态规划算法或贪心算法解决的关键特征是重叠子问题。

53.采用贪心算法的最优装载问题的主要计算量在于将集装箱依其重量从小到大排序,故算法的时间复杂度为 ( B ) 。

A、O(n2n)B、O(nlogn)C、O(2n)D、O(n)54. 以深度优先方式系统搜索问题解的算法称为 ( D ) 。

A、分支界限算法B、概率算法C、贪心算法D、回溯算法55. 实现最长公共子序列利用的算法是( B )。

A、分治策略B、动态规划法C、贪心法D、回溯法二、填空题1.算法的复杂性有时间复杂性和空间复杂性之分。

2、程序是算法用某种程序设计语言的具体实现。

注意:算法具有有限性而程序可能不具备有限性。

3、算法的“确定性”指的是组成算法的每条指令是清晰的,无歧义的。

4.矩阵连乘问题的算法可由动态规划设计实现。

6、算法是指解决问题的一种方法或一个过程,其具有有限性。

7、从分治法的一般设计模式可以看出,用它设计出的程序一般是递归算法。

89111415161719.贪心算法的基本要素是贪心选择质和最优子结构性质。

21. 动态规划算法的基本思想是将待求解问题分解成若干子问题,先求解子问题,然后从这些子问题的解得到原问题的解。

22.算法是由若干条指令组成的有穷序列,且要满足输入、输出、确定性和有限性四条性质。

23、大整数乘积算法是用分治法来设计的。

24、以广度优先或以最小耗费方式搜索问题解的算法称为分支限界法。

26、贪心选择性质是贪心算法可行的第一个基本要素,也是贪心算法与动态规划算法的主要区别。

27.快速排序算法是基于分治策略的一种排序算法。

x[i]=1;//将X[i]标记为已选中c - =w[i];//总容量减去W[i]}if (i<=n)x[i]=c/w[i];//表示还要装几分之几}3.贪心算法求装载问题template<class Type>void Loading(int x[], Type w[], Type c, int n) {int *t = new int [n+1];4.else A[i]=false;}}5.快速排序template<class Type>void QuickSort (Type a[], int p, int r) {if (p<r) {int q=Partition(a,p,r);QuickSort (a,p,q-1); //对左半段排序}6.swap(list[k],list[i]);}}四、问答题1.请简述分治法的基本原理。

答:分治法的基本思想是将一个规模为n的问题分解为k个规模较小的子问题,这些子问题互相独立且与原问题相同。

递归地解这些子问题,然后将各个子问题的解合并得到原问题的解。

2设计动态规划算法的主要步骤为:(1)找出最优解的性质,并刻划其结构特征。

(2)递归地定义最优值。

(3)以自底向上的方式计算出最优值。

(4)根据计算最优值时得到的信息,构造最优解。

3.请区分分治与动归的异同。

分治法与动态规划法的相同点是:将待求解的问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。

两者的不同点是:适合于用动态规划法求解的问题,经分解得到的子问题往往不是互相独立的。

而用分治法求解的问题,经分解得到的子问题往往是互相独立的。

4.请区分分支限界与回溯的异同。

相同点:分支限界法与回溯法的相同点是:都是一种在问题的解空间树T中搜索问题解的算法。

不同点:(1)求解目标不同:回溯法所求是满足约束条件的所有解;分支限界法即求在某种意义下的最优解。

(2)搜索方式不同:回溯法以深度优先的方式搜索解空间树T;而分支限界法则以广度优先或以最小耗费优先的方式搜索解空间树T。

(3)对扩展结点的扩展方式不同:回溯法的活结点可以多次变成扩展结点;分支限界的活结点只有一次机会变成扩展结点。

(4)存储空间的要求不同。

5用回溯法搜索子集树的算法为:void backtrack (int t){if (t>n)output(x);elsefor (int i=0;i<=1;i++) {x[t]=i;if (constraint(t)&&bound(t))backtrack(t+1);}}6.分治法所能解决的问题一般具有的几个特征是:(1)该问题的规模缩小到一定的程度就可以容易地解决;(2)该问题可以分解为若干个规模较小的相同问题,即该问题具有最优子结构性质;(3)利用该问题分解出的子问题的解可以合并为该问题的解;(4)原问题所分解出的各个子问题是相互独立的,即子问题之间不包含公共的子问题。

7.用分支限界法设计算法的步骤是:(1)针对所给问题,定义问题的解空间(对解进行编码);(2)确定易于搜索的解空间结构(按树或图组织解);(3)以广度优先或以最小耗费(最大收益)优先的方式搜索解空间,并在搜索过程中用剪枝函数避免无效搜索。

相关文档
最新文档