


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
3 什么是算法? 算法的5个特性是什么? 试根据这些特性解释算法与程序的区别。解答:算法:为解决某一特定任务而规定的一个指令序列。算法的特性:(1) 有输入。一个算法必须有0个或多个输入。它们是算法开始运算前给予算法的量。这些输入取自于特定的对象的集合。它们可以使用输入语句由外部提供,也可以使用赋值语句在算法内给定。(2)有输出。一个算法应有一个或多个输出,输出的量是算法计算的结果。(3)确定性。算法的每一步都应确切地、无歧义地定义。对于每一种情况,需要执行的动作都应严格地、清晰地规定。(4)有穷性。一个算法无论在什么情况下都应在执行有穷步后结束。(5)有效性。算法中每一条运算都必须是足够基本的。就是说,它们原则上都能精确地执行,甚至人们仅用笔和纸做有限次运算就能完成。算法和程序不同,程序可以不满足上述的特性(4)。例如,一个操作系统在用户未使用前一直处于等待的循环中,直到出现新的用户事件为止。这样的系统可以无休止地运行,直到系统停工。此外,算法是面向功能的,通常用面向过程的方式描述;程序可以用面向对象方式搭建它的框架。4 指出下列各算法的功能并求出时间复杂度。31int Prime (int n) int i = 2; int x= (int) sqrt (n); while (i x) return 1; else return 0;解:功能:判断一个数是否为素数,若是,返回1;否则,返回0.时间复杂度:O(n1/2)(即:根号n)2int fun (int n) int i=1, s=1; while(s =n的最小i值。时间复杂度:O(n1/2)(即:根号n)3void UseFile(ifstream& inp, int c10) for(int i=0; i x) i=x%10; ci +; 解:时间复杂度:O(n)4void matable (int n) for(int i=1; i=n; i+) for(int j =i; j =n; j +) cout i* j = setw(2) i* j ; cout endl; 解:功能:打印出n行乘法表,第i行有n-i+1项乘积。 时间复杂度:O(n2)5void cmatrix(int aM N, int d) for(int i=0; iM; i+) for(int j =0; jN; j+) ai j* =d;功能:使数组aMN中每个元素的值都乘以d的值。时间复杂度:O(M*N)6void matrimult(int aM N, int bN L, int cM L) int i, j, k; for(i = 0; i M; i + ) for(j =0; j L; j +) cij =0; for(i = 0; i M; i + ) for(j =0; j L; j +) for(k= 0; k N; k+ ) cij +=aik *bkj;功能:矩阵相乘,即aMN*bNL = CML时间复杂度: O(M*N*L)7i=1;while(i=n) i=i*3; 解释:i是这样变化的:1, 3, 9, 27, . 如果用i(x)表示第x次循环时i的值,则 i(x) = 3x , x初始值为0。 循环在 i = n 的时候停止,即 i(x) = 3 x x= log3(n) 即循环结束时,最多进行了log3(n)次运算。按照大O表示法定义,它的复杂度为 O(log3(n), 即 O(lgn/lg3)8n是描述问题规模的非负整数,给出下面程序段的时间复杂度。(2011年考研计算机专业真题)x=2;while(x=n/2) x=x*2;功能:求小于n/2的最大的2的幂次方时间复杂度:O(n) = n 9while( in) for (j=1; j=n; j+) s=s+aij; i=i*2; 10n是3的倍数。for(i=1;i=n;i+) if(3*i=n)for(j=3*i;j=n;j+) y+=i*j; 11设n是偶数,运行下面的程序段后计算语句m=m+1的次数,并给出该程序段的时间复杂度。m=0;for(i=1; i=n; i+) for(j=2*i; j=0)阶乘的算法如下
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农业产业链安全监管方案手册
- 离婚财产公证协议书
- 风力发电场项目投资合同
- 第八单元-第4课时-认识垂直(教学设计)四年级数学上册同步高效课堂系列(苏教版)
- 2025年爱康国宾项目建议书
- 第3课 项目一《校园护绿小能手·校园绿地护养院》(教学设计)-2023-2024学年三年级下册综合实践活动浙教版
- 第15课 现代医疗卫生体系与社会生活 教学设计 -2023-2024学年统编版(2019)高二历史选择性必修2 经济与社会生活
- 温度传感器信号线施工方案
- 大单元学习 教学设计 2023-2024学年统编版高中语文选择性必修下册
- 浙教版2023小学信息技术六年级下册《控制的形态》教学设计及反思
- GB/T 7260.40-2020不间断电源系统(UPS)第4部分:环境要求及报告
- GB/T 3199-2007铝及铝合金加工产品包装、标志、运输、贮存
- 变革型领导问卷TLQ
- 诊断学-绪论-课件
- g4l操作指南教程硬盘克隆linux系统备份恢复带截图
- 消化道大出血的鉴别诊断和处理原则课件
- 教师课堂教学技能课件
- 员工调整薪酬面谈表
- 辅警报名登记表
- 外研版英语五年级下册第一单元全部试题
- 培养小学生课外阅读兴趣课题研究方案
评论
0/150
提交评论