算法分析考试题

算法分析考试题
算法分析考试题

1. )(n T 给定数组a[0:n-1],试设计一个算法,在最坏情况下用n+[logn]-2次比较找出

a[0:n-1] 中的元素的最大值和次大值. (算法分析与设计习题 2.16 ) (分治法)

a 、 算法思想

用分治法求最大值和次大值首先将问题划分,即将划分成长度相等的两个序列,递归求出左边的最大值次大值,再求出右边的的最大值次大值,比较左右两边,最后得出问题的解。 b 、复杂度分析:

把问题划分为左右两种的情况,需要分别递归求解,时间复杂度可如下计算:

有递推公式为:

T(n)=1 n=1

T(n)= 2T(n/2)+1 n>1

所以,分治算法的时间复杂度是n+[logn]-2,当n 为奇数时,logn 取上线,当n 为偶数时,logn 取下线。//不知道为什么会-2

C 、代码实现:

#include

int a[100]; void maxcmax(int i,int j,int &max,int &cmax)

{

int lmax,lcmax,rmax,rcmax;

int mid;

if (i==j)

{ max=a[i];

cmax=a[i];

}

else if (i==j-1)

if (a[i]

{

max=a[j];

cmax=a[i];

}

else

{

max=a[i];

cmax=a[j];

}

else

{

mid=(i+j)/2;

maxcmax(i,mid,lmax,lcmax);

maxcmax(mid+1,j,rmax,rcmax);

if(lmax>rmax)

if(lcmax>rmax)

{

max=lmax;

cmax=lcmax;

}

else

{

max=lmax;

cmax=rmax;

}

else

if(rcmax>lmax)

{

if(rmax==rcmax)

{

max=rmax;

cmax=lmax;

}

else

{

max=rmax;

cmax=rcmax;

}

}

else

{

max=rmax;

cmax=lmax;

}

}

}

int main()

{

int n;

int max,cmax;

printf("输入数组长度");

scanf("%d",&n);

printf("输入数组:\n");

for(int i=0;i

{scanf("%d",&a[i]);}

maxcmax(0,n-1,max,cmax);

printf("最大数为%d\n",max);

printf("次大数为%d\n",cmax);

return 0;

}

C、运行结果为

2.求数列的最大子段和(要求时间复杂为nlogn) (算法设计与分析吕国英清华大学出版

社135页4..3.3 二分法变异) (分治法)(也可用动态规划算法参看递归王晓东计算机算法设计与分析第三版p61页)

a、基本思想:

用分治法求最大子段和首先将问题划分,即将一直序列划分成长度相等的两个序列,

这时会出现3种情况,即①最大子段和在第一个序列,②最大子段和在第二个序列和③最大子段和在第一个序列与第二个序列之间。然后,将3种情况的最大子段和合并,取三者之中的最大值为问题的解。

b、复杂度分析:

对应划分得到的情况①和②,需要分别递归求解,对应情况③,两个并列的for循环的时间复杂度是O(n),所以有递推公式为:

T(n)=1 n=1

T(n)= 2T(n/2)+n-1 n>1

所以,分治算法的时间复杂度是O(nlogn)

c、代码实现

#include

#define m 10

int MaxSubSum(int a[],int left,int right)

{

int sum=0;

if(left==right) sum=a[left]>0?a[left]:0;

else

{

int i=(left+right)/2;

int max1=MaxSubSum(a,left,i);

int max2=MaxSubSum(a,i+1,right);

int sum1=0,sum2=0;

for(int j=i;j>=left;j--)

{

sum1=sum1+a[j];

if(sum1>sum2)

sum2=sum1;

}

int sum3=0,sum4=0;

for(j=i+1;j<=right;j++)

{

sum3=sum3+a[j];

if(sum3>sum4)

算法分析复习题1

《算法设计与分析》复习题1 一、填空: 1.算法是指解决问题的方法或过程,算法所描述的指令序列必须满足下列性质○1、○2、○3、○4、○5。 2.程序是算法用某种程序设计语言的具体实现,程序可以不满足算法的○1性质。所以像操作系统这样的软件○2(是/不是)算法。 3.抽象数据类型是算法设计的重要概念。严格地讲,它是算法的一个○1同定义在该模型上并作为○2的一组运算。 4.算法的复杂性是算法运行所需要的计算机资源的量。这个量集中反映算法的效率,通常用C=F(N、I、A)表示,其中C、N、I、A所代表的含义是什么? 5.设f(N)和g(N)是定义在正数集上的正函数,当N充分大时, f(N)=O(g(N))表示g(N)是f(N)的一个○1; f(N)=Ω(g(N))表示g(N)是f(N)的一个○2; f(N)=θ(g(N))表示g(N)是f(N)③。 6.直接或间接地调用自身的算法称为○1 的计算公式外,还必须提供○2初始值。 7.动态规划算法与分治法的基本思想都是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。它们的主要区别是分治法求解时,对有些子问题会○1,而动态规划法采用○2避免子问题重复计算。 8.贪心算法与动态规划算法都要求问题具有最优子结构性质,这是两类算法的一个共同点。但是否具有最优子结构的问题,用贪心算法和动态规划算法都可以得到最优解?举例说明。 9.下面的说法错误的是________。 a.算法原地工作的含义是指不需要任何额外的辅助空间; b.在相同的规模n下,时间复杂度为O(n)的算法在时间上总是优于时 间复杂度为O(2n)的算法。 c.所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界; d.同一算法,实现语言的级别越高,执行效率越低。 10.回朔法的求解目标是找出解空间中满足约束条件的○1 的求解目标则是找出满足约束条件的○2或在某种意义下的最优解。 11.回朔法以○1优先的方式搜索解空间树,而分支限界法则以○2优先或以○3优先的方式搜索解空间树。 12.按从活结点表中选择下一扩展结点的不同方式,可将分支限界法分为○1分支限界法和○2分支限界法。 13.○1假设某算法在输入规模为n时的计算时间为T(n)=3×2n,在某台计算机上实现并完成该算法的时间为t秒,现另有一台计算机,其运行速度 为第一台的64倍,那么在这台新机器上用同一算法在t秒内能输入规 模多大的问题? ○2若上述算法的计算时间改进为T(n)=n2,其余条件不变,则在新机器 上用t秒时间能解输入规模多大的问题? ○3在上述算法的计算时间进一步改进为T(n)=8,其余条件不变,那么在 新机器上用t秒时间能解输入规模多大的问题?

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

算法设计与分析考试题 及答案 Company number:【WTUT-WT88Y-W8BBGB-BWYTT-19998】

一、填空题(20分) 1.一个算法就是一个有穷规则的集合,其中之规则规定了解决某一特殊类型问题的一系列运算,此外,算法还应具有以下五个重要特性:确定性 有穷性 可行性 0个或多个输入 一个或多个输出 2.算法的复杂性有时间复杂性 空间复杂性之分,衡量一个算法好坏的标准是 时间复杂度高低 3.某一问题可用动态规划算法求解的显着特征是 该问题具有最优子结构性质 4.若序列X={B,C,A,D,B,C,D},Y={A,C,B,A,B,D,C,D},请给出序列X 和Y 的一个最长公共子序列{BABCD}或{CABCD}或{CADCD } 5.用回溯法解问题时,应明确定义问题的解空间,问题的解空间至少应包含一个(最优)解 6.动态规划算法的基本思想是将待求解问题分解成若干_子问题 ,先求解_子问题 ,然后从这些子问题 的解得到原问题的解。 7.以深度优先方式系统搜索问题解的算法称为回溯法 背包问题的回溯算法所需的计算时间为o(n*2n ) ,用动态规划算法所需的计算时间为o(min{nc,2n }) 9.动态规划算法的两个基本要素是最优子结构 _和重叠子问题 10.二分搜索算法是利用动态规划法实现的算法。 二、综合题(50分) 1.写出设计动态规划算法的主要步骤。 ①问题具有最优子结构性质;②构造最优值的递归关系表达式; ③最优值的算法描述;④构造最优解; 2. 流水作业调度问题的johnson 算法的思想。 ①令N 1={i|a i =b i };②将N 1中作业按a i 的非减序排序得到N 1’,将N 2中作业按b i 的非增序排序得到N 2’;③N 1’中作业接N 2’中作业就构成了满足Johnson 法则的最优调度。 3. 若n=4,在机器M1和M2上加工作业i 所需的时间分别为a i 和b i ,且 (a 1,a 2,a 3,a 4)=(4,5,12,10),(b 1,b 2,b 3,b 4)=(8,2,15,9)求4个作业的最优调度方案,并计算最优值。 步骤为:N1={1,3},N2={2,4}; N 1’={1,3}, N 2’={4,2}; 最优值为:38 4. 使用回溯法解0/1背包问题:n=3,C=9,V={6,10,3},W={3,4,4},其解空间有长度为3的0-1向量组成,要求用一棵完全二叉树表示其解空间(从根出发,左1右0),并画出其解空间树,计算其最优值及最优解。 解空间为{(0,0,0),(0,1,0),(0,0,1),(1,0,0),(0,1,1),(1,0,1), (1,1,0),(1,1,1)}。 解空间树为: 该问题的最优值为:16 最优解为:(1,1,0) 5. 设S={X 1,X 2,···,X n }是严格递增的有序集,利用二叉树的结点来存储S 中的元素,在表示S 的二叉搜索树中搜索一个元素X ,返回的结果有两种情形,(1)在二叉搜索树的内结点中找到X=X i ,其概率为b i 。(2)在二叉搜索树的叶结点中确定X ∈(X i ,X i+1),其概率为a i 。在表示S 的二叉搜索树T 中,设存储元素X i 的结点深度为C i ;叶结点(X i ,X i+1)的结点深度为d i ,则二叉搜索树T 的平均路长p 为多少假设二叉搜索树T[i][j]={X i ,X i+1,···,X j }最优值为m[i][j],W[i][j]= a i-1+b i +···+b j +a j ,则m[i][j](1<=i<=j<=n)递归关系表达式为什么 .二叉树T 的平均路长P=∑=+n i 1 Ci)(1*bi +∑=n j 0 dj *aj

2015年算法分析与设计期末考试试卷B卷

西南交通大学2015 — 2016学年第(一)学期考试试卷 课程代码 3244152课程名称 算法分析与设计 考试时间 120分钟 阅卷教师签字: __________________________________ 填空题(每空1分,共15分) 1、 程序是 (1) 用某种程序设计语言的具体实现。 2、 矩阵连乘问题的算法可由 (2) 设计实现。 3、 从分治法的一般设计模式可以看出,用它设计出的程序一般是 (3) 4、 大整数乘积算法是用 (4) 来设计的。 5、 贪心算法总是做出在当前看来 (5) 的选择。也就是说贪心算法并不从整体最优 考虑,它所做出的选择只是在某种意义上的 (6) o 6、 回溯法是一种既带有 (7) 又带有 (8) 的搜索算法。 7、 平衡二叉树对于查找算法而言是一种变治策略,属于变治思想中的 (9) 类型 8、 在忽略常数因子的情况下,0、门和0三个符号中, (10) 提供了算法运行时 间的一个上界。 9、 算法的“确定性”指的是组成算法的每条 (11) 是清晰的,无歧义的。 10、 冋题的(12) 是该冋题可用动态规划算法或贪心算法求解的关键特征。 11、 算法就是一组有穷 (13),它们规定了解决某一特定类型问题的 (14) o 12、 变治思想有三种主要的类型:实例化简,改变表现, (15) o 、 ___________________________________________________________________________________ L 线订装封密 线订装封密 、 __________________ 二 线订装封密 级班 选择题(每题2分,共20 分)

系统与设计复习题

《系统分析与设计》复习题 一.选择题: 1.面向对象的特点主要概括为(C )。 A. 可分解性、可组合性、可分类性 B. 继承性、封装性、 多态性 C. 抽象性、继承性、封装性、多态性 D. 封装性、易维护性、 可扩展性、可重用性 2.信息按照( C )可以分为战略信息、战术信息和作业信息。 A. 应用领域 B. 加工顺序 C. 管理的层次 D. 反映形式 3.按照处理的对象,可把组织的信息系统分为(B )和管理 信息系统两大类。 A. 电子数据处理系统 B. 作业信息系统 C. 决策支持系统 D. 情报处理系统 4.在开发一个企业管理信息系统时,首先要进行用户调查,调查 中收集的主要信息包括( D )。 A. 管理目标、人力资源、业务流程和数据流程信息 B. 组织结构、功能体系、业务流程和数据流程信息 C. 企业性质、客户资源、业务流程和数据流程信息 D. 管理目标、功能体系、业务流程和数据流程信息 5.系统流程图也称为业务流程图,它表达的是(B )。 A. 数据在系统各部件间的流动情况 B. 对数据进行加工

处理的控制过程 C. 逻辑数据流图 D. 白盒子形式的组成系统 的每个部件 6.一般子系统的划分是在系统( C )阶段,根据对系统的功 能/数据分析的结果提出的。 A. 需求分析 B. 逻辑阶段 C. 总体设计 D. 详细设计 7.信息系统流程图是以新系统的( D )为基础绘制的。 A. E-R图 B. 管理功能图 C. 业务流程图 D. 数据流图 8.在关系规范化过程中,一般来讲,满足(C )的关系即可 满足信息处理的要求,就可以认为是比较规范的关系。 A. 第一范式 B. 第二范式 C. 第三范式 D. BC范式 9.信息系统开发的结构化方法的一个主要原则是( A )。 A. 自顶向下原则 B. 自底向上原则 C. 分步实施原则 D. 重点突破原则 10.用户开发应用系统的主要手段是( A )。 A. 生命周期法 B. 原型法 C. 第四代语言 D. 面向对象 方法 11.系统规划的主要任务包括( A )。 A. 明确组织的信息需求、制定系统总体结构方案 B. 对系统进行经济、技术和使用方面的可行性研究 C. 选择计算机和网络系统的方案 D. 确定软件系统的模块结构

1算法分析复习题目及答案

一。选择题 1、二分搜索算法是利用(A)实现的算法。 A、分治策略 B、动态规划法 C、贪心法 D、回溯法 2、下列不是动态规划算法基本步骤的是( A )。 A、找出最优解的性质 B、构造最优解 C、算出最优解 D、定义最优解 3、最大效益优先是( A )的一搜索方式。 A、分支界限法B、动态规划法C、贪心法 D、回溯法 4、在下列算法中有时找不到问题解的是( B )。 A、蒙特卡罗算法B、拉斯维加斯算法C、舍伍德算法D、数值概率算法 5. 回溯法解旅行售货员问题时的解空间树是(B)。 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、回溯法 10、下列随机算法中运行时有时候成功有时候失败的是(C )?A 数值概率算法 B 舍伍德算法 C 拉斯维加斯算法 D 蒙特卡罗算法 11.下面不是分支界限法搜索方式的是( D )。 A、广度优先?B、最小耗费优先 C、最大效益优先?D、深度优先 12.下列算法中通常以深度优先方式系统搜索问题解的是(D)。 A、备忘录法??B、动态规划法??C、贪心法????D、回溯法 13.备忘录方法是那种算法的变形。( B )

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

1.一个算法就是一个有穷规则的集合,其中之规则规定了解决某一特殊类型问题的一系列运算,此外,算法还应具有以下五个重要特性:_________,________,________,__________,__________。 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算法的思想。

算法分析与设计试卷

《算法分析与设计》试卷(A) (时间90分钟满分100分) 一、填空题(30分,每题2分)。 1.最长公共子序列算法利用的算法是( B )。 A、分支界限法 B、动态规划法 C、贪心法 D、回溯法2.在对问题的解空间树进行搜索的方法中,一个活结点最多有一次机会成为活结点的是( B ). A.回溯法 B.分支限界法 C.回溯法和分支限界法 D.回溯法求解子集树问题 3.实现最大子段和利用的算法是( B )。 A、分治策略 B、动态规划法 C、贪心法 D、回溯法4..广度优先是( A )的一搜索方式。 A、分支界限法 B、动态规划法 C、贪心法 D、回溯法5.衡量一个算法好坏的标准是( C )。 A 运行速度快 B 占用空间少 C 时间复杂度低 D 代码短 6.Strassen矩阵乘法是利用( A)实现的算法。 A、分治策略 B、动态规划法 C、贪心法 D、回溯法 7. 使用分治法求解不需要满足的条件是( A )。 A 子问题必须是一样的 B 子问题不能够重复 C 子问题的解可以合并 D 原问题和子问题使用相同的方法解 8.用动态规划算法解决最大字段和问题,其时间复杂性为( B ). A.logn B.n C.n2 D.nlogn 9.解决活动安排问题,最好用( B )算法 A.分治 B.贪心 C.动态规划 D.穷举 10.下面哪种函数是回溯法中为避免无效搜索采取的策略( B ) A.递归函数 B.剪枝函数C。随机数函数 D.搜索函数11. 从活结点表中选择下一个扩展结点的不同方式将导致不同的分支限界法,以下除( C )之外都是最常见的方式. A.队列式分支限界法 B.优先队列式分支限界法 C.栈式分支限界法 D.FIFO分支限界法 12. .回溯算法和分支限界法的问题的解空间树不会是( D ). A.有序树 B.子集树 C.排列树 D.无序树 13.优先队列式分支限界法选取扩展结点的原则是( C )。 A、先进先出 B、后进先出 C、结点的优先级 D、随机14.下面是贪心算法的基本要素的是( C )。 A、重叠子问题 B、构造最优解 C、贪心选择性质 D、定义最优解15.回溯法在解空间树T上的搜索方式是( A ). A.深度优先 B.广度优先 C.最小耗费优先 D.活结点优先 二、填空题(20分,每空1分)。 1.算法由若干条指令组成的又穷序列,且满足输入、输出、 确定性和有限性四个特性。 2.分支限界法的两种搜索方式有队列式(FIFO)分支限界法、优先队列式分支限界法,用一个队列来存储结点的表叫活节点表。

信息系统分析与设计考试相关习题及答案

一、选择填空 4. 业务系统规划法(BSP)的核心是() A. 明确企业目标 B. 定义(识别)业务过程 C. 进行数据分析 D. 确定信息结构答案: C 5. 下面哪一项企业关键成功因素的特点是错误的:()。 A. 少量的易于识别的可操作的目标 B. 可确保企业的成功 C. 由企业的所有CSF决定组织的信息需求答案: B 7. 一般子系统的划分是在系统()阶段,根据对系统的功能/数据分析的结果提出的。 A. 需求分析 B. 逻辑阶段 C. 总体设计 D. 详细设计答案: A 10. 信息系统流程图是以新系统的()为基础绘制的。 A. E-R图 B. 管理功能图 C. 业务流程图 D. 数据流程图答案: D 14. 信息系统开发的结构化方法的一个主要原则是()。 A. 自顶向下原则 B. 自底向上原则 C. 分步实施原则 D. 重点突破原则答案: A 16. 一般来说,占维护工作比例最高的是()。 A. 纠错性维护 B. 适应性维护 C. 完善性维护 D. 预防性维护答案: C 19. 系统规划的主要任务包括()。 A. 明确组织的信息需求、制定系统总体结构方案 B. 对系统进行经济、技术和使用方面的可行性研究 C. 选择计算机和网络系统的方案 D. 确定软件系统的模块结构答案: A 20. 系统设计阶段的主要成果是()。 A. 用户的决策方针 B. 用户的分析方案 C. 系统设计说明书 D. 系统总体设计方案答案: C 21. 信息系统建设的结构化方法中用户必须参与的原则是用户必须参与()。 A. 系统建设中各阶段工作 B. 系统分析工作 C. 系统设计工作 D. 系统实施工作答案: A 22. 结构化生命周期法的主要缺点之一是()。 A. 系统开发周期长 B. 缺乏标准、规范 C. 用户参与程度低 D. 主要工作集中在实施阶段答案: A 23. MIS规划的主要内容是()。 A. MIS战略规划,组织信息需求分析,系统目标 B. 组织信息需求分析,系统目标,资源分配 C. MIS战略规划,资源分配,系统目标 D. MIS战略规划,组织信息需要分析,资源分配答案: A 28. 生命周期法的特点之一是()。 A. 整个系统的开发工作是非劳动密集型的 B. 系统开发时间短 C. 对用户需求的变更不能做出迅速响应 D. 适合大型复杂系统答案: C 29. 系统测试中应遵循的一条原则是:测试工作应该由以下人员来承担()。 A. 原程序作者 B. 专门的测试人员 C. 系统设计人员 D. 用户答案: B 30. 系统维护中要解决的问题来源于()。 A. 系统分析阶段 B. 系统设计阶段 C. 系统实施阶段 D. 三者都包括答案: D 31. 在原型法中,原型是进行开发的系统的()。 A. 反映用户最基本需求的可以运行的实验模型 B. 某一主要部分的详细设计方案(物理模型)

算法分析与设计》期末考试复习题纲(完整版)

《算法分析与设计》期末复习题 一、选择题 1.算法必须具备输入、输出和( D )等4个特性。 A.可行性和安全性B.确定性和易读性 C.有穷性和安全性D.有穷性和确定性 2.算法分析中,记号O表示( B ),记号Ω表示( A ) A.渐进下界 B.渐进上界 C.非紧上界 D.紧渐进界 3.假设某算法在输入规模为n时的计算时间为T(n)=3*2^n。在某台计算机上实现并完 成概算法的时间为t秒。现有另一台计算机,其运行速度为第一台的64倍,那么在这台新机器上用同一算法在t秒内能解输入规模为多大的问题( B )解题方法:3*2^n*64=3*2^x A.n+8 B.n+6 C.n+7 D.n+5 4.设问题规模为N时,某递归算法的时间复杂度记为T(N),已知T(1)=1, T(N)=2T(N/2)+N/2,用O表示的时间复杂度为( C )。 A.O(logN) B.O(N) C.O(NlogN) D.O(N2logN) 5.直接或间接调用自身的算法称为( B )。 A.贪心算法B.递归算法 C.迭代算法D.回溯法 6.Fibonacci数列中,第4个和第11个数分别是( D )。 A.5,89 B.3,89 C.5,144 D.3,144 7.在有8个顶点的凸多边形的三角剖分中,恰有( B )。 A.6条弦和7个三角形B.5条弦和6个三角形 C.6条弦和6个三角形D.5条弦和5个三角形 8.一个问题可用动态规划算法或贪心算法求解的关键特征是问题的( B )。 A.重叠子问题B.最优子结构性质 C.贪心选择性质D.定义最优解 9.下列哪个问题不用贪心法求解( C )。 A.哈夫曼编码问题B.单源最短路径问题 C.最大团问题D.最小生成树问题 10.下列算法中通常以自底向上的方式求解最优解的是( B )。 A.备忘录法B.动态规划法 C.贪心法D.回溯法 11.下列算法中不能解决0/1背包问题的是( A )。 A.贪心法B.动态规划 C.回溯法D.分支限界法 12.下列哪个问题可以用贪心算法求解( D )。

(完整版)算法设计与分析期末考试卷及答案a

一.填空题(每空 2 分,共30分) 1.算法的时间复杂性指算法中的执行次数。 2.在忽略常数因子的情况下,O、和三个符号中,提供了算法运行时间的一个上界。 3.设D n表示大小为n的输入集合,t(I)表示输入为I时算法的运算时间, p(I)表示输入 I 出现的概率,则算法的平均情况下时间复杂性A(n)= 。 4.分治算法的时间复杂性常常满足如下形式的递归方程: f (n) d , n n0 f(n) af(n/c) g(n) , n n0 其中,g(n)表示。 5. 分治算法的基本步骤包括。6.回溯算法的基本思想是。 7.动态规划和分治法在分解子问题方面的不同点是。 8.贪心算法中每次做出的贪心选择都是最优选择。 9.PQ 式的分支限界法中,对于活结点表中的结点,其下界函数值越小,优先级 10.选择排序、插入排序和归并排序算法中,算法是分治算法。 11.随机算法的一个基本特征是对于同一组输入,不同的运行可能得到的结果。12. 对于下面的确定性快速排序算法,只要在步骤3 前加入随机 化步骤,就可得到一个随机化快速排序算法,该随机化步骤的功能是。 算法QUICKSORT 输入:n 个元素的数组A[1..n] 。 输出:按非降序排列的数组 A 中的元素

1. quicksort(1, n) end QUICKSORT _ _ 过程 quicksort(A, low, high) _ _ // 对 A[low..high] 中的元素按非降序排序。 _ 号 学 2. if low

算法设计与分析试卷(2010)

内部资料,转载请注明出处,谢谢合作。 算法设计与分析试卷(A 卷) 一、 选择题 ( 选择1-4个正确的答案, 每题2分,共20分) (1)计算机算法的正确描述是: A .一个算法是求特定问题的运算序列。 B .算法是一个有穷规则的集合,其中之规则规定了一个解决某一特定类型的问题的运算序列。 C .算法是一个对任一有效输入能够停机的图灵机。 D .一个算法,它是满足5 个特性的程序,这5个特性是:有限性、确定性、能 行性、有0个或多个输入且有1个或多个输出。 (2)影响程序执行时间的因素有哪些? A .算法设计的策略 B .问题的规模 C .编译程序产生的机器代码质量 D .计算机执行指令的速度 (3)用数量级形式表示的算法执行时间称为算法的 A .时间复杂度 B .空间复杂度 C .处理器复杂度 D .通信复杂度 (4)时间复杂性为多项式界的算法有: A .快速排序算法 B .n-后问题 C .计算π值 D .prim 算法 (5)对于并行算法与串行算法的关系,正确的理解是: A .高效的串行算法不一定是能导出高效的并行算法 B .高效的串行算法不一定隐含并行性 C .串行算法经适当的改造有些可以变化成并行算法 D. 用串行方法设计和实现的并行算法未必有效 (6)衡量近似算法性能的重要标准有: A .算法复杂度 B .问题复杂度 C .解的最优近似度 D .算法的策略 (7)分治法的适用条件是,所解决的问题一般具有这些特征: A .该问题的规模缩小到一定的程度就可以容易地解决; B .该问题可以分解为若干个规模较小的相同问题; C .利用该问题分解出的子问题的解可以合并为该问题的解 D .该问题所分解出的各个子问题是相互独立的。 (8)具有最优子结构的算法有: A .概率算法 B .回溯法 C .分支限界法 D .动态规划法 (9)下列哪些问题是典型的NP 完全问题: A .排序问题 B .n-后问题 C .m-着色问题 D .旅行商问题 (10)适于递归实现的算法有: A .并行算法 B .近似算法 C .分治法 D .回溯法 二、算法分析题(每小题5分,共10分) (11)用展开法求解递推关系: (12)分析当输入数据已经有序时快速排序算法的不足,提出算法的改进方案。 ???>+-==1 1)1(211)(n n T n n T

软件系统分析与设计考试题

题目内容: 一、单项选择题:(本大题共20小题,每题1分,共20分) ? 1. 组成UML有三种基本的建筑块是:(?A ),事物和图 A、关系?????????????????? B、类 C、用例?????????????????? D、实体 2、UML体系包括三个部分:UML基本构造块,(?A )和UML公共机制 A、UML规则????????????? B、UML命名 C、UML模型????????????? D、UML约束 3、UML中的事物包括:结构事物,分组事物,注释事物和( D) A、实体事物?????????? ???????? B、边界事物 C、控制事物?????????????????? D、动作事物 4、( A)模型的缺点是缺乏灵活性,特别是无法解决软件需求不明确或不准确的问题 A、瀑布模型?????????????????? B、原型模型 C、增量模型?????????????????? D、螺旋模型 5、下面哪个不是UML中的静态视图(A? ) A.状态图??????????????????? B.用例图 C.对象图??????????????????? D.类图 6、(?A )技术是将一个活动图中的活动状态进行分组,每一组表示一个特定的类、人或部门,他们负责完成组内的活动。 ? A、泳道??????????????????? B、分叉汇合 ? C、分支??????????????????? D、转移 7、下列关于状态图的说法中,正确的是( C ) A. 状态图是UML中对系统的静态方面进行建模的五种图之一。 B. 状态图是活动图的一个特例,状态图中的多数状态是活动状态 C.活动图和状态图是对一个对象的生命周期进行建模,描述对象随时间变化的 行为。 D. 状态图强调对有几个对象参与的活动过程建模,而活动图更强调对单个反应 型对象建模 8、对反应型对象建模一般使用(?A )图 A、状态图??????????????????? B、顺序图 ?C、活动图??????????????????? D、类图

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

《算法分析与设计》课程复习资料 一、名词解释: 1.算法 2.程序 3.递归函数 4.子问题的重叠性质 5.队列式分支限界法 6.多机调度问题 7.最小生成树 二、简答题: 1.备忘录方法和动态规划算法相比有何异同?简述之。 2.简述回溯法解题的主要步骤。 3.简述动态规划算法求解的基本要素。 4.简述回溯法的基本思想。 5.简要分析在递归算法中消除递归调用,将递归算法转化为非递归算法的方法。 6.简要分析分支限界法与回溯法的异同。 7.简述算法复杂性的概念,算法复杂性度量主要指哪两个方面? 8.贪心算法求解的问题主要具有哪些性质?简述之。 9.分治法的基本思想是什么?合并排序的基本思想是什么?请分别简述之。 10.简述分析贪心算法与动态规划算法的异同。 三、算法编写及算法应用分析题: 1.已知有3个物品:(w1,w2,w3)=(12,10,6),(p1,p2,p3)=(15,13,10),背包的容积M=20,根据0-1背包动态规划的递推式求出最优解。 2.按要求完成以下关于排序和查找的问题。 ①对数组A={15,29,135,18,32,1,27,25,5},用快速排序方法将其排成递减序。 ②请描述递减数组进行二分搜索的基本思想,并给出非递归算法。 ③给出上述算法的递归算法。 ④使用上述算法对①所得到的结果搜索如下元素,并给出搜索过程:18,31,135。 3.已知1()*()i i k k ij r r A a +=,k=1,2,3,4,5,6,r 1=5,r 2=10,r 3=3,r 4=12,r 5=5,r 6=50,r 7=6,求矩阵链积A 1×A 2×A 3×A 4×A 5×A 6的最佳求积顺序(要求给出计算步骤)。 4.根据分枝限界算法基本过程,求解0-1背包问题。 已知n=3,M=20,(w1,w2,w3)=(12,10,6),(p1,p2,p3)=(15,13,10)。 5.试用贪心算法求解汽车加油问题:已知一辆汽车加满油后可行驶n 公里,而旅途中有若干个加油站。试设计一个有效算法,指出应在哪些加油站停靠加油,使加油次数最少,请写出该算法。 6.试用动态规划算法实现下列问题:设A 和B 是两个字符串。我们要用最少的字符操作,将字符串A 转换为字符串B ,这里所说的字符操作包括: ①删除一个字符。 ②插入一个字符。 ③将一个字符改为另一个字符。 请写出该算法。 7.对于下图使用Dijkstra 算法求由顶点a 到顶点h 的最短路径。

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

湖南科技学院二○年学期期末考试 信息与计算科学专业年级《算法设计与分析》试题 考试类型:开卷试卷类型:C卷考试时量:120分钟 题号一二三四五总分统分人 得分 阅卷人 复查人 一、填空题(每小题3 分,共计30 分) 1、用O、Ω与θ表示函数f与g之间得关系______________________________。 2、算法得时间复杂性为,则算法得时间复杂性得阶为__________________________。 3、快速排序算法得性能取决于______________________________。 4、算法就是_______________________________________________________。 5、在对问题得解空间树进行搜索得方法中,一个活结点最多有一次机会成为活结点得就是_________________________。 6、在算法得三种情况下得复杂性中,可操作性最好且最有实际价值得就是_____情况下得时间复杂性。 7、大Ω符号用来描述增长率得下限,这个下限得阶越___________,结果就越有价值。。 8、____________________________就是问题能用动态规划算法求解得前提。 9、贪心选择性质就是指____________________________________________________________________________________________________________________。 10、回溯法在问题得解空间树中,按______________策略,从根结点出发搜索解空间树。 二、简答题(每小题10分,共计30分) 1、试述回溯法得基本思想及用回溯法解题得步骤。 2、有8个作业{1,2,…,8}要在由2台机器M1与M2组成得流水线上完成加工。每个作业加工得顺序都就是先在M1上加工,然后在M2上加工。M1与M2加工作业i所需得时间分别为: M110 2 8 12 6 9414

信息系统分析与设计考试题库及答案

一、选择填空 1. 信息按照(C )可以分为战略信息、战术信息和作业信息)可以分为战略信息、战术信息和作业信息。 A. 应用领域 B. 加工顺序 C. 管理的层次 D. 反映形式 2. 按照处理的对象,可把组织的信息系统分为( B ) 和管理信息系统两大类。按照处理的对象,可把组织的信息系统分为) 和管理信息系统两大类。 A. 电子数据处理系统 B. 作业信息系统 C. 决策支持系统 D. 情报处理系统 3. 信息系统对管理职能的支持,归根到底是对( D ) 的支持。 A. 计划 B. 组织 C. 控制 D. 决策 4. 业务系统规划法(BSP)的核心是(C ) A. 明确企业目标 B. 定义(识别)业务过程 C. 进行数据分析 D. 确定信息结构 5. 下面哪一项企业关键成功因素的特点是错误的:( B )。 A. 少量的易于识别的可操作的目标 B. 可确保企业的成功 C. 由企业的所有CSF决定组织的信息需求 6. 下面哪一项不是信息系统局部开发层次的优势:( D )。 A. 相对简单的IT开发 B. 帮助理论的证明 C. 组织变化的阻力最小 D. 优化组织过程 7. 一般子系统的划分是在系统( A )阶段,根据对系统的功能/数据分析的结果提出的。 A. 需求分析 B. 逻辑阶段 C. 总体设计 D. 详细设计 8. 在新产品开发机构重组中,以开发某一新产品为目标,组织集设计、工艺、生产、供应、检验人员为一体的承包组,打破部门的界限,实行团队管理,以及将设计、工艺、生产制造并行交叉的作业管理,这属于( C )。 A. 功能内的BPR B. 组织间的BPR C. 功能间的BPR D. 功能内的BPR 9. 数据存贮设计则根据数据资源分布具体确定了数据存贮的( A )。 A. 逻辑方式 B. 物理方式 10. 信息系统流程图是以新系统的( D )为基础绘制的。 A. E-R图 B. 管理功能图 C. 业务流程图 D. 数据流程图 11. 在关系规范化过程中,一般来讲,满足( C )的关系即可满足信息处理的要求,就可以认为是比较规范的关系。 A. 第一范式 B. 第二范式 C. 第三范式 D. BC范式 12. RUP中的软件生命周期在时间上被分解为四个顺序的阶段,分别是:初始阶段(Inception)、细化阶段(Elaboration)、构造阶段(Construction)和交付阶段(Transition),每个阶段结束于一个主要的里程碑(Major Milestones)。构建阶段结束时是第三个重要的里程碑:( C ) A. 生命周期目标(Lifecycle Objective)里程碑 C. 初始功能(Initial Operational)里程碑 B. 生命周期结构(Lifecycle Architecture)里程碑 D. 产品发布(Product Release)里程碑 13. 从社会经济发展的角度来看,信息化是指( D )。 A. 计算机和网络的应用规模与效益不断增长的过程 B. 社会上进行交换的信息量不断增长的过程 C. 计算机硬件产业、软件产业、信息服务产业不断发展的过程 D. 人们的信息活动的规模不断扩大以致在国民经济中起主导作用的过程

算法分析复习题目及答案

一。选择题 1、二分搜索算法是利用( A )实现的算法。 A、分治策略 B、动态规划法 C、贪心法 D、回溯法 2、下列不是动态规划算法基本步骤的是( A )。 A、找出最优解的性质 B、构造最优解 C、算出最优解 D、定义最优解 3、最大效益优先是( A )的一搜索方式。 A、分支界限法 B、动态规划法 C、贪心法 D、回溯法 4、在下列算法中有时找不到问题解的是( B )。 A、蒙特卡罗算法 B、拉斯维加斯算法 C、舍伍德算法 D、数值概率算法 5. 回溯法解旅行售货员问题时的解空间树是(B )。 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、回溯法 10、下列随机算法中运行时有时候成功有时候失败的是(C ) 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)

算法分析与设计复习题及答案

算法分析与设计复习题及答案一、单选题 1.D 2.B 3.C 4.D 5.D 6.D 7.C 8.D 9.B 10.C 11.D 12.B 13.D 14.C 15.C 16.D 17.D 18.D 19.D 20.C 1.与算法英文单词algorithm具有相同来源的单词是()。 A logarithm B algiros C arithmos D algebra 2.根据执行算法的计算机指令体系结构,算法可以分为()。 A精确算法与近似算法B串行算法语并行算法 C稳定算法与不稳定算法D32位算法与64位算法 3.具有10个节点的完全二叉树的高度是()。 A6B5C3D 2 4.下列函数关系随着输入量增大增加最快的是()。 Alog2n B n2 C 2n D n! 5.下列程序段的S执行的次数为( )。 for i ←0 to n-1 do for j ←0 to i-1 do s //某种基本操作 A.n2 B n2/2 C n*(n+1) D n(n+1)/2 6.Fibonacci数列的第十项为( )。 A 3 B 13 C 21 D 34 7.4个盘子的汉诺塔,至少要执行移动操作的次数为( )。 A 11次 B 13次 C 15次 D 17次 8.下列序列不是堆的是()。 A 99,85,98,77,80,60,82,40,22,10,66 B 99,98,85,82,80,77,66,60,40,22,10 C 10,22,40,60,66,77,80,82,85,98,99 D 99,85,40,77,80,60,66,98,82,10,22 9.Strassen矩阵乘法的算法复杂度为()。 AΘ(n3)BΘ(n2.807) CΘ(n2) DΘ(n) 10.集合A的幂集是()。 A.A中所有元素的集合 B. A的子集合 C. A 的所有子集合的集合 D. 空集 11.与算法英文单词algorithm具有相同来源的单词是()。 A logarithm B algiros C arithmos D algebra 12.从排序过程是否完全在内存中显示,排序问题可以分为()。 A稳定排序与不稳定排序B内排序与外排序 C直接排序与间接排序D主排序与辅助排序 13.下列()不是衡量算法的标准。 A时间效率B空间效率 C问题难度D适应能力 14.对于根树,出度为零的节点为()。 A0节点B根节点C叶节点D分支节点 15.对完全二叉树自顶向下,从左向右给节点编号,节点编号为10的父节点编号为()。 A0B2C4D6 16.下列程序段的算法时间的复杂度为()。 for i ←0 to n do for j ←0 to m do

系统分析与设计复习题

《系统分析与设计》复习题 一、复习要点 1.系统是由处于一定环境中的若干相互联系和相互作用的要素组成并为达到整体目的而存在的集 合。 2.信息系统是指利用计算机、网络、数据库等现代信息技术,处理组织中的数据、业务、管理和 决策等问题,并为组织目标服务的综合系统。信息系统开发的步骤是,在系统规划后,循环进行系统分析、系统设计、系统构建与实施、系统评价工作。信息系统的经济效益可分为三大类:一次性收益,非一次性收益和不可定量的收益 3.系统规划阶段的任务是对组织的环境、战略、目标、现行系统的状况进行初步调查,根据组织 目标和发展战略,确定信息系统的发展战略,对建设新系统的需求做出分析和预测,同时考虑建设新系统所受的各种约束,研究建设新系统的必要性和可能性。对于确定的信息系统项目,要明确其目标,并对目标进行权衡和量化。 4.系统分析的主要活动有系统初步调查、系统可行性研究、系统详细调查研究和新系统逻辑方案 的提出,主要任务是尽可能弄清用户对信息的需求,完成新系统的逻辑设计,规定新系统应当做什么。 5.常用的调查研究的方法有问卷调查法、召开调查会、业务实践、专家访谈、电子问卷。如果系 统初步调查结果表明,拟开发项目有必要也有可能进行时,可向主管单位提出系统开发建议书,需要进行可行性研究安排。 6.可行性研究又叫可行性分析,它是所有工程项目在开始阶段必须进行的一项工作。可行性研究 是指项目正式开发之前,先投入一定的精力,通过一套准则,从经济、技术、社会等方面对项目的必要性、可能性、合理性,以及项目所面临的重大风险进行分析和评价,得出项目是否可行的结论。可行性研究的主要成果是可行性研究报告和系统开发任务书。 7.需求分析是强调用户对新开发的信息系统的需要和要求,结合组织的目标、现状、实力和技术 等因素,通过深入细致的分析,确定出合理可行的信息系统需求,并通过规范的形式描述需求的过程。需求分析结束时,应当提出需求分析报告交上级审查。信息系统需求分为功能需求和非功能需求两类。 8.系统设计用来确定系统的结构,即系统的组成以及各组成成分之间的相互关系,详细设计用来 确定模块内部的算法和数据结构,产生描述各模块程序过程的详细设计文档。系统设计是对系统分析的深化和细化,其目的是提出能够指导信息系统实现的设计方案。系统实施以系统分析

相关文档
最新文档