计算机算法试题含答案1
计算机数学试题及答案

计算机数学试题及答案一、选择题(每题2分,共10分)1. 在计算机科学中,二进制数1011转换为十进制数是多少?A. 8B. 9C. 11D. 13答案:C2. 下列哪个选项不是计算机算法的特性?A. 有限性B. 确定性C. 通用性D. 可行性答案:C3. 在计算机存储中,1KB等于多少字节?A. 1024B. 512C. 1000D. 2048答案:A4. 计算机中的浮点数通常采用哪种表示法?A. 定点表示法B. 科学记数法C. 指数表示法D. 十进制表示法答案:C5. 计算机中的逻辑运算符AND、OR和NOT分别对应于哪些运算?A. 与、或、非B. 或、与、非C. 非、与、或D. 与、非、或答案:A二、填空题(每空1分,共10分)1. 计算机中的二进制数是由0和__1__组成。
2. 计算机程序设计语言通常分为__机器语言__、汇编语言和高级语言。
3. 计算机中的存储器分为__随机存取存储器(RAM)__和只读存储器(ROM)。
4. 计算机中的逻辑运算AND、OR和NOT分别用符号__&&__、||和!表示。
5. 计算机中的二进制数1010转换为十进制数是__10__。
三、简答题(每题5分,共20分)1. 简述计算机算法的基本特征。
答:计算机算法具有有限性、确定性、可行性和输入输出性。
2. 计算机中的二进制数和十进制数有什么区别?答:二进制数只有0和1两个数字,而十进制数有0到9十个数字。
二进制数适合计算机处理,而十进制数更符合人类的计数习惯。
3. 计算机中的浮点数表示法有哪些优点?答:浮点数表示法可以表示非常大或非常小的数,且精度高,适用于科学计算。
4. 计算机中的存储器为什么需要分为RAM和ROM?答:RAM用于存储临时数据,断电后数据会丢失,而ROM用于存储固定程序和数据,断电后数据不会丢失。
这种区分可以提高计算机的运行效率和数据安全性。
结束语:通过本试题的练习,可以加深对计算机数学基础知识的理解和掌握,为进一步学习计算机科学打下坚实的基础。
计算机类的国考试题及答案

计算机类的国考试题及答案1. 操作系统题目:什么是进程调度算法?请列举常见的几种进程调度算法。
答案:进程调度算法是指操作系统负责根据一定的策略和算法,从就绪队列中选择一个进程,将处理机分配给它执行。
常见的进程调度算法包括先来先服务调度算法(FCFS)、短作业优先调度算法(SJF)、最高响应比优先调度算法(HRRN)和时间片轮转调度算法(RR)。
2. 数据结构题目:什么是二叉树?请解释二叉树的遍历方式。
答案:二叉树是每个节点最多有两个子树的树结构。
它包含一个根节点和左右子树。
二叉树的遍历方式有三种:前序遍历、中序遍历和后序遍历。
前序遍历是先访问根节点,然后按照左子树-右子树的顺序遍历。
中序遍历是先遍历左子树,然后访问根节点,再遍历右子树。
后序遍历是先遍历左子树,然后遍历右子树,最后访问根节点。
3. 网络通信题目:简要解释TCP/IP协议族的作用。
答案:TCP/IP(Transmission Control Protocol/Internet Protocol)是一组用于互联网通信的协议。
它定义了互联网上的数据传输规则,包括数据如何打包、寻址、传递和路由。
TCP/IP协议族分为四个层次:网络接口层、网络层、传输层和应用层,每个层次都有不同的功能和责任。
4. 数据库管理系统题目:什么是数据库一致性,如何实现数据库的一致性?答案:数据库一致性是指在数据库中的数据和数据库事务的执行结果与数据库的约束条件保持一致的状态。
实现数据库的一致性可以通过使用事务进行数据的修改、增加和删除操作,并且引入锁机制来保证并发事务的一致性。
同时,数据库管理系统还会使用ACID(原子性、一致性、隔离性和持久性)特性来确保数据库的一致性。
5. 软件工程题目:请简要介绍软件测试的目的和常见的测试类型。
答案:软件测试的目的是检查和评估软件系统,以发现其中的缺陷和问题。
常见的软件测试类型包括单元测试、集成测试、系统测试、性能测试和用户验收测试。
计算机算法与设计复习题(含答案)

1、一个算法的优劣可以用(时间复杂度)与(空间复杂度)与来衡量。
2、回溯法在问题的解空间中,按(深度优先方式)从根结点出发搜索解空间树。
3、直接或间接地调用自身的算法称为(递归算法)。
4、 记号在算法复杂性的表示法中表示(渐进确界或紧致界)。
5、在分治法中,使子问题规模大致相等的做法是出自一种(平衡(banlancing)子问题)的思想。
6、动态规划算法适用于解(具有某种最优性质)问题。
7、贪心算法做出的选择只是(在某种意义上的局部)最优选择。
8、最优子结构性质的含义是(问题的最优解包含其子问题的最优解)。
9、回溯法按(深度优先)策略从根结点出发搜索解空间树。
10、拉斯维加斯算法找到的解一定是(正确解)。
11、按照符号O的定义O(f)+O(g)等于O(max{f(n),g(n)})。
12、二分搜索技术是运用(分治)策略的典型例子。
13、动态规划算法中,通常不同子问题的个数随问题规模呈(多项式)级增长。
14、(最优子结构性质)和(子问题重叠性质)是采用动态规划算法的两个基本要素。
15、(最优子结构性质)和(贪心选择性质)是贪心算法的基本要素。
16、(选择能产生最优解的贪心准则)是设计贪心算法的核心问题。
17、分支限界法常以(广度优先)或(以最小耗费(最大效益)优先)的方式搜索问题的解空间树。
18、贪心选择性质是指所求问题的整体最优解可以通过一系列(局部最优)的选择,即贪心选择达到。
19、按照活结点表的组织方式的不同,分支限界法包括(队列式(FIFO)分支限界法)和(优先队列式分支限界法)两种形式。
20、如果对于同一实例,蒙特卡洛算法不会给出两个不同的正确解答,则称该蒙特卡洛算法是(一致的)。
21、哈夫曼编码可利用(贪心法)算法实现。
22概率算法有数值概率算法,蒙特卡罗(Monte Carlo)算法,拉斯维加斯(Las Vegas)算法和舍伍德(Sherwood)算法23以自顶向下的方式求解最优解的有(贪心算法)24、下列算法中通常以自顶向下的方式求解最优解的是(C)。
大学计算机raptor试题及答案

大学计算机raptor试题及答案一、选择题(每题2分,共20分)1. 在计算机科学中,Raptor通常指的是什么?A. 一种编程语言B. 一种数据库管理系统C. 一种计算机病毒D. 一种数据压缩算法答案:D2. 下列哪个选项是Raptor算法的主要特点?A. 高效的数据压缩B. 高度的安全性C. 快速的数据处理D. 强大的图形处理能力答案:A3. Raptor算法在数据压缩中使用的是什么技术?A. 哈夫曼编码B. 无损压缩C. 有损压缩D. 差分编码答案:B4. Raptor算法的压缩效率通常受到哪些因素的影响?A. 数据的冗余度B. 数据的复杂度C. 数据的格式D. 所有上述因素答案:D5. 在Raptor算法中,数据压缩的比率通常可以达到多少?A. 10%B. 50%C. 80%D. 90%答案:C二、填空题(每题2分,共10分)1. Raptor算法是一种_________压缩算法,它可以有效地减少数据的存储空间。
答案:无损2. Raptor算法在处理数据时,主要通过_________来实现数据的压缩。
答案:哈夫曼编码3. Raptor算法的压缩效率与数据的_________有关,冗余度越高,压缩效率越低。
答案:冗余度4. Raptor算法可以应用于多种数据格式,包括文本、图片和_________。
答案:视频5. 在实际应用中,Raptor算法的压缩比率通常可以达到_________以上。
答案:80%三、简答题(每题5分,共20分)1. 请简述Raptor算法的工作原理。
答案:Raptor算法通过分析数据中的冗余信息,使用哈夫曼编码等无损压缩技术,将数据中的重复模式替换为更短的编码,从而实现数据的高效压缩。
2. Raptor算法在数据压缩中有哪些优势?答案:Raptor算法的优势包括高压缩比、快速处理速度、广泛的数据格式兼容性以及无损压缩的特性,保证了数据压缩后的质量。
3. 为什么Raptor算法在实际应用中受到欢迎?答案:Raptor算法因其高效、无损的压缩特性,广泛应用于数据存储、网络传输等领域,有效节省了存储空间和传输带宽,提高了数据处理的效率。
数学计算机试题及答案

数学计算机试题及答案一、选择题(每题3分,共30分)1. 下列哪个选项是计算机中常用的数据单位?A. 米B. 秒C. 比特D. 千克答案:C2. 在计算机科学中,算法的时间复杂度通常用来描述什么?A. 算法的运行时间B. 算法占用的存储空间C. 算法的可读性D. 算法的复杂性答案:A3. 在二进制数系统中,数字“1011”代表的十进制数是多少?A. 10B. 11C. 12D. 13答案:B4. 以下哪个选项是计算机程序设计语言?A. 英语B. 法语C. PythonD. 德语5. 计算机硬件中的CPU代表什么?A. 中央处理器B. 中央存储器C. 中央输入设备D. 中央输出设备答案:A6. 在计算机系统中,RAM代表什么?A. 随机存取存储器B. 只读存储器C. 可编程只读存储器D. 硬盘存储器答案:A7. 以下哪个选项是计算机操作系统的功能?A. 管理计算机硬件资源B. 为用户编写程序C. 为用户设计软件D. 为用户创建文档答案:A8. 在计算机科学中,什么是递归?A. 重复执行相同的操作B. 将问题分解成更小的问题C. 一个函数调用另一个函数D. 一个函数调用自身答案:D9. 以下哪个选项是计算机网络中的协议?B. FTPC. SMTPD. 所有选项答案:D10. 在数据库管理系统中,SQL代表什么?A. 结构化查询语言B. 序列化查询语言C. 同步查询语言D. 同步查询逻辑答案:A二、填空题(每题2分,共20分)1. 在计算机科学中,______是一种使用布尔逻辑来表示和操作数据的方法。
答案:逻辑电路2. 计算机程序中的______是一种数据结构,它按照元素的顺序存储数据。
答案:数组3. 在计算机系统中,______是一种用于存储数据的非易失性存储器。
答案:硬盘4. 在编程语言中,______是一种控制结构,允许程序在满足特定条件时重复执行代码块。
答案:循环5. 在计算机网络中,______是一种用于在网络中传输数据的协议。
计算机算法基础试题及答案

计算机算法基础试题及答案一、选择题1. 在计算机中,算法的特点不包括:A. 有穷性B. 确定性C. 可行性D. 可终止性答案:B2. 下列哪个不是算法的评价指标?A. 空间复杂度B. 时间复杂度C. 可读性D. 精确性答案:C3. 以下哪种排序算法的最差时间复杂度是O(n^2)?A. 快速排序B. 堆排序C. 归并排序D. 冒泡排序答案:D4. 广度优先搜索算法(BFS)的时间复杂度是:A. O(n)B. O(nlogn)C. O(n^2)D. O(n^3)答案:A5. 是否正确:在二分查找算法中,要求待查找的序列必须是有序的。
A. 正确B. 错误答案:A二、填空题1. 下列不属于常见的基本排序算法的是_______排序。
答案:希尔排序2. 在随机生成的n个数中使用二分查找,最坏情况下的时间复杂度为_______。
答案:O(logn)3. 在图的遍历中,栈或队列常用于辅助实现_______搜索算法。
答案:深度优先和广度优先4. 当n足够大时,时间复杂度为O(nlogn)的排序算法一般包括_______和_______。
答案:归并排序和快速排序5. 在递归算法中,必须包含递归结束的_______条件。
答案:基本三、简答题1. 请解释什么是时间复杂度和空间复杂度,并分别举例说明。
答:时间复杂度是对算法执行时间的衡量,表示该算法所需时间资源的多少。
常见的时间复杂度有O(1)、O(logn)、O(n)、O(nlogn)、O(n^2)等,其中O(1)表示常数时间,O(n)表示线性时间,O(n^2)表示平方时间。
空间复杂度是对算法执行所需空间资源的衡量,表示该算法所需的额外空间大小。
常见的空间复杂度有O(1)、O(n)等,其中O(1)表示常数空间,O(n)表示线性空间。
举例说明:以排序算法为例,冒泡排序的时间复杂度是O(n^2),空间复杂度是O(1);归并排序的时间复杂度是O(nlogn),空间复杂度是O(n)。
算法题__计算机算法设计与分析期末试题4套(含答案)

(1)用计算机求解问题的步骤:1、问题分析2、数学模型建立3、算法设计与选择4、算法指标5、算法分析6、算法实现7、程序调试8、结果整理文档编制(2)算法定义:算法是指在解决问题时,按照某种机械步骤一定可以得到问题结果的处理过程(3)算法的三要素1、操作2、控制结构3、数据结构算法具有以下5个属性:有穷性:一个算法必须总是在执行有穷步之后结束,且每一步都在有穷时间内完成。
确定性:算法中每一条指令必须有确切的含义。
不存在二义性。
只有一个入口和一个出口可行性:一个算法是可行的就是算法描述的操作是可以通过已经实现的基本运算执行有限次来实现的。
输入:一个算法有零个或多个输入,这些输入取自于某个特定对象的集合。
输出:一个算法有一个或多个输出,这些输出同输入有着某些特定关系的量。
算法设计的质量指标:正确性:算法应满足具体问题的需求;可读性:算法应该好读,以有利于读者对程序的理解;健壮性:算法应具有容错处理,当输入为非法数据时,算法应对其作出反应,而不是产生莫名其妙的输出结果。
效率与存储量需求:效率指的是算法执行的时间;存储量需求指算法执行过程中所需要的最大存储空间。
一般这两者与问题的规模有关。
经常采用的算法主要有迭代法、分而治之法、贪婪法、动态规划法、回溯法、分支限界法迭代法也称“辗转法”,是一种不断用变量的旧值递推出新值的解决问题的方法。
利用迭代算法解决问题,需要做好以下三个方面的工作:一、确定迭代模型。
在可以用迭代算法解决的问题中,至少存在一个直接或间接地不断由旧值递推出新值的变量,这个变量就是迭代变量。
二、建立迭代关系式。
所谓迭代关系式,指如何从变量的前一个值推出其下一个值的公式(或关系)。
迭代关系式的建立是解决迭代问题的关键,通常可以使用递推或倒推的方法来完成。
三、对迭代过程进行控制。
在什么时候结束迭代过程?这是编写迭代程序必须考虑的问题。
不能让迭代过程无休止地重复执行下去。
迭代过程的控制通常可分为两种情况:一种是所需的迭代次数是个确定的值,可以计算出来;另一种是所需的迭代次数无法确定。
计算机算法与设计复习题(含答案) (1)

一、选择题1、衡量一个算法好坏的标准是(C )。
(A)运行速度快(B)占用空间少(C)时间复杂度低(D)代码短2、记号O的定义正确的是(A)。
(A)O(g(n)) = { f(n) | 存在正常数c和n0使得对所有n≥n0有:0≤f(n) ≤cg(n) };(B)O(g(n)) = { f(n) | 存在正常数c和n0使得对所有n≥n0有:0≤cg(n) ≤f(n) };(C)O(g(n)) = { f(n) | 对于任何正常数c>0,存在正数和n0 >0使得对所有n≥n0 有:0 ≤f(n)<cg(n) };(D)O(g(n)) = { f(n) | 对于任何正常数c>0,存在正数和n0 >0使得对所有n≥n0 有:0 ≤cg(n) < f(n) };3、二分搜索算法是利用( A )实现的算法。
(A)分治策略(B)动态规划法(C)贪心法(D)回溯法4、使用分治法求解不需要满足的条件是(A )。
(A)子问题必须是一样的(B)子问题不能够重复(C)子问题的解可以合并(D)原问题和子问题使用相同的方法解5、合并排序算法是利用(A)实现的算法。
(A)分治策略(B)动态规划法(C)贪心法(D)回溯法6、实现大整数的乘法是利用(C )的算法。
(A)贪心法(B)动态规划法(C)分治策略(D)回溯法7、以下不可以使用分治法求解的是(D )。
(A)棋盘覆盖问题(B)选择问题(C)归并排序(D)0/1背包问题8、实现循环赛日程表利用的算法是( A )。
(A)分治策略(B)动态规划法(C)贪心法(D)回溯法9、实现棋盘覆盖算法利用的算法是( A )。
(A)分治法(B)动态规划法(C)贪心法(D)回溯法10、矩阵连乘问题的算法可由(B)设计实现。
(A)分支界限算法(B)动态规划算法(C)贪心算法(D)回溯算法11、实现大整数的乘法是利用的算法( C )。
(A)贪心法(B)动态规划法(C)分治策略(D)回溯法12、最长公共子序列算法利用的算法是(B)(A)分支界限法(B)动态规划法(C )贪心法(D)回溯法13、下列算法中通常以自底向上的方式求解最优解的是(B )(A)备忘录法(B)动态规划法(C)贪心法(D)回溯法14、下列是动态规划算法基本要素的是(D)(A)定义最优解(B)构造最优解(C)算出最优解(D)子问题重叠性质15、下列不是动态规划算法基本步骤的是( A )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
算法设计与分析试卷一、填空题(20分,每空2分)1、算法的性质包括输入、输出、___、有限性。
2、动态规划算法的基本思想就将待求问题_____、先求解子问题,然后从这些子问题的解得到原问题的解。
3、设计动态规划算法的4个步骤:(1)找出____,并刻画其结构特征。
(2)_______。
(3)_______。
(4)根据计算最优值得到的信息,_______。
4、流水作业调度问题的johnson算法:(1)令N1=___,N2={i|ai>=bj};(2)将N1中作业依ai的___。
5、对于流水作业高度问题,必存在一个最优调度π,使得作业π(i)和π(i+1)满足Johnson不等式_____。
6、最优二叉搜索树即是___的二叉搜索树。
二、综合题(50分)1、当(a1,a2,a3,a4,a5,a6)=(-2,11,-4,13,-5,-2)时,最大子段和为∑ak(2<=k<=4)____(5分)2、由流水作业调度问题的最优子结构性质可知,T(N,0)=______(5分)3、最大子段和问题的简单算法(10分)int maxsum(int n,int *a,int & bestj){intsum=0;for (int i=1;i<=n;i++)for (int j=i;j<=n;j++)int thissum=0;for(int k=i;k<=j;k++)_____;if(thissum>sum){sum=thissum;______;bestj=j;}}return sum;}4、设计最优二叉搜索树问题的动态规划算法OptimalBinarysearchTree? (15分)Void OptimalBinarysearchTree(int a,int n,int * * m, int * * w) {for(int i=0;i<=n;i++) {w[i+1][i]=a[i]; m[i+1][i]=____;} for(int r=0;r<n;r++)for(int i=1;i<=n-r;i++){int j=i+r;w[i][j]=w[i][j-1]+a[j]+b[j];m[i][j]=______;s[i][j]=i;for(int k=i+1;k<=j;k++){int t=m[i][k-1]+m[k+1][j];if(_____) {m[i][j]=t; s[i][j]=k;}}m[i][j]=t; s[i][j]=k;}}5、设n=4, (a1,a2,a3,a4)=(3,4,8,10), (b1,b2,b3,b4)=(6,2,9,15) 用两种方法求4个作业的最优调度方案并计算其最优值?(15分)三、简答题(30分)1、将所给定序列a[1:n]分为长度相等的两段a[1:n/2]和a[n/2+1:n],分别求出这两段的最大子段和,则a[1:n]的最大子段和有哪三种情形?(10分)答:2、由0——1背包问题的最优子结构性质,可以对m(i,j)建立怎样的递归式? (10分)3、0——1背包求最优值的步骤分为哪几步?(10分)参考答案:填空题:确定性分解成若干个子问题最优解的性质递归地定义最优值以自底向上的方式计算出最优值构造最优解{i|ai<bi} ai的非减序排序;将N2中作业依bi的非增序排序min{bπ(i),aπ(i+1)}≥min{bπ(i+1),aπ(i)}最小平均查找长度综合题:20 min{ai+T(N-{i},bi)}(1=<i<=n) thissum+=a[k] besti=i 0 m[i+1][j] t<m[i][j]法一:min(ai,bj)<=min(aj,bi)因为min(a1,b2)<=min(a2,b1)所以1→2 (先1后2)由min(a1,b3)<=min(a3,b1)得1→3 (先1后3)同理可得:最后为1→3→4→2法二:johnson算法思想N1={1,3,4} N2={2}N¹1={1,3,4} N¹2={2}所以 N¹1→N¹2得:1→3→4→2简答题:1 、(1)a[1:n]的最大子段和与a[1:n/2]的最大子段和相同。
(2)a[1:n]的最大子段和与的最大子段a[n/2+1:n]和相同。
(3)a[1:n]的最大子段和为∑ak(i=<k<=J),且1<=i<=n/2,n/2+1<=J<=n。
2、(1)m(i,j)=max{m(i+1,j),m(i+1,j-wi)+ui} (j>=wi)或则m(i,j)= m(i+1,j) (0<=j<wi)(2)m(n,j)=un j>=wn 或则m(n,j)=0 0<=j<wn3、(1)、p[n+1]={(0,0)}(2)、由p[i+1]→q[i+1], q[i+1]=p[i+1]⊕(wi,vi)(3)、Mij=p[i+1]∪q[i+1]Pi=Mij——其中的受控点=p[i+1]∪q[i+1]——其中的受控(4)、重复(2)-(3)直到求出P[1]1.在一个算法中调用另一个算法时,系统需在运行被调用算法之前完成哪些工作?同时从被调用算法返回调用算法需完成哪些工作?答:在一个算法中调用另一算法时,系统需在运行被调用算法之前先完成三件事:(1)将所有实参指针、返回地址等信息传递给被调用算法;(2)为被调用算法的局部变量分配存储区;(3)将控制转移到被调用算法的入口。
在从被调用算法返回调用算法时需完成三件事:(1)保存被调用算法的计算结果;(2)释放分配给被调用算法的数据区;(3)依照被调用算法保存的返回地址将控制转移到调用算法。
2.动态规划算法求解问题的步骤?答:动态规划法适用于解最优化问题。
通常可以按以下4个步骤设计:(1)找出最优解的性质,并刻画其结构特征;(2)递归地定义最优值;(3)以自底向上的方式计算最优值;(4)根据计算最优值时得到的信息构造最优解。
3.线性规划法中单纯形算法的基本步骤?答:步骤一选入基变量。
步骤二选离基变量。
步骤三做转轴变换。
步骤四转步骤一。
4.分治法的基本思想和原理是什么?答:分治法的基本思想是将一个规模为n的问题分解为k个规模较小的子问题,这些子问题互相独立且与原问题相同。
递归地解这些子问题,然后将各子问题的解合并得到原问题的解。
5.利用回溯法解决问题包含哪些步骤?答:利用回溯法解题常包含以下3步骤:(1)针对所给问题,定义问题的解空间;(2)确定易于搜索的解空间结构;(3)以深度优先方式搜索解空间,并在搜索过程中用剪枝函数避免无效搜索。
五分析题(36分)1.求下列函数的渐进表达式:3n2+10n; n2/10+2n; 21+1/n; logn3; 10log3n分析与解答:3n2+10n=O(n2);n2/10+2n=O(2n);21+1/n=O(1);logn3=O(logn);10log3n=O(n)2.讨论O(1)和O(2)的区别。
分析与解答:根据符号O 的定义易知O(1)=O(2)。
用O(1)或O(2)表示同一个函数时,差别仅在于其中的常数因子。
3.按渐近阶排列表达式按照渐近阶从低到高的顺序排列以下表达式:4n 2,logn ,3n ,20n ,2,n 2/3。
又n!应该排在哪一位?分析与解答:按渐近阶从低到高,函数排列顺序如下:2,logn ,n 2/3,20n ,4n 2,3n ,n !。
4.算法效率(1)假设某算法在输入规模为n 时计算时间为T(n)=3*2n 。
在某台计算机上实现并完成该算法的时间为t 秒。
现有另一台计算机,其运行速度为第一台的64倍,那么在这台新机器上用同一算法在t 秒内能解输入规模为多大的问题?(2)若上述算法的计算时间改进为T(n)=n 2,其余条件不变,则在新机器上用t 秒时间能解输入规模为多大的问题?(3)若上述算法的计算时间进一步改进为T(n)=8,其余条件不变,那么在新机器上用t 秒时间能解输入规模为多大的问题?分析解答:(1)设新机器用同一算法在t 秒内能解输入规模为n1的问题。
因此有:t=3*22=3*2n1/64,解得你n1=n+6。
(2)n12=64n 2n1=8n 。
(3)由于T(n)=常数,因此算法可解任意规模的问题。
5.阶乘函数阶乘函数可递归地定义为:int factorial(int n){if(n==0) return 1;return n* factorial(n-1);}0)!1(1!>=⎩⎨⎧-=n n n n n6.Fibonacci 数列无穷数列1,1,2,3,5,8,13,21,34,55,……,称为Fibonacci 数列。
它可以递归地定义为:请对这个无穷数列设计一个算法,并进行描述(自然语言描述和VC++描述).第n 个Fibonacci 数可递归地计算如下:int fibonacci (int n){if (n <= 1) return 1;returnfibonacci (n-1)+fibonacci (n-2);}7.循环赛日程表设有n=2k 个运动员要进行兵乓球循环赛。
现在要设计一个满足以下要求的比赛日程表:(1)每个选手必须与其他n-1个选手各赛一次;(2)每个选手一天只能赛一次;(3)循环赛一共进行n-1天。
请设计一个算法解决以上问题,并进行描述(自然语言和C++语言)按分治策略,将所有的选手分为两半,n 个选手的比赛日程表就可以通过为n/2个选手设计的比赛日程表来决定。
递归地用对选手进行分割,直到只剩下2个选手时,比赛日程表的制定就变得很简单。
这时只要让这2个选手进行比赛就可以了。
8.有一批集装箱要装上一艘载重量为c 的轮船。
其中集装箱i 的重量为Wi 。
最优装载问题要求确定在装载体积不受限制的情况下,将尽可能多的集装箱装上轮船。
分析回答以下两个问题:(1)分析以上最优装载问题具有贪心选择性质(2)用C++程序进行正确的算法描述分析与解答:(1) 设集装箱已依其重量从小到大排序,(x1,x2,…,x n )是最有装载问题的一个最优解。
又设k=min{i|x i =1}。
易知,如果给定的最有装载问题有解,则1≤k ≤n 。
② 当k=1时,(x1,x2,…,x n )是满足贪心选择性质的最优解。
②当k>1时,取y 1=1;y k =0;y i =x i ,1<i ≤n,i ≠k,则110)2()1(11)(>==⎪⎩⎪⎨⎧-+-=n n n n F n F n F因此,()是所给最有装载问题的可行解。