算法分析与设计考试复习题及参考复习资料

算法分析与设计考试复习题及参考复习资料
算法分析与设计考试复习题及参考复习资料

一、简要回答下列问题:

1.算法重要特性是什么?

2.算法分析的目的是什么?

3.算法的时间复杂性与问题的什么因素相关?

4.算法的渐进时间复杂性的含义?

5.最坏情况下的时间复杂性和平均时间复杂性有什么不同?

6.简述二分检索(折半查找)算法的基本过程。

7.背包问题的目标函数和贪心算法最优化量度相同吗?

8.采用回溯法求解的问题,其解如何表示?有什么规定?

9.回溯法的搜索特点是什么?

10.n皇后问题回溯算法的判别函数place的基本流程是什么?

11.为什么用分治法设计的算法一般有递归调用?

12.为什么要分析最坏情况下的算法时间复杂性?

13.简述渐进时间复杂性上界的定义。

14.二分检索算法最多的比较次数?

15.快速排序算法最坏情况下需要多少次比较运算?

16.贪心算法的基本思想?

17.回溯法的解(x1,x2,……x n)的隐约束一般指什么?

18.阐述归并排序的分治思路。

19.快速排序的基本思想是什么。

20.什么是直接递归和间接递归?消除递归一般要用到什么数据结构?

21.什么是哈密顿环问题?

22.用回溯法求解哈密顿环,如何定义判定函数?

23.请写出prim算法的基本思想。

二、复杂性分析

1、MERGESORT(low,high)

if low

then mid←(low,high)/2;

MERGESORT(low,mid);

MERGESORT(mid+1,high);

MERGE(low,mid,high);

endif

end MERGESORT

2、procedure S1(P,W,M,X,n)

i←1; a←0

while i≤ n do

if W(i)>M then return endif

a←a+i

i←i+1 ;

repeat

end

3.procedure PARTITION(m,p)

Integer m,p,i;global A(m:p-1)

v←A(m);i←m

loop

loop i←i+1 until A(i) ≥v repeat

loop p←p-1 until A(p) ≤v repeat

if i

then call INTERCHANGE(A(i),A(p))

else exit

endif

repeat

A(m) ←A(p);A(p) ←v

End PARTITION

4.procedure F1(n)

if n<2 then return(1)

else return(F2(2,n,1,1))

endif

end F1

procedure F2(i,n,x,y)

if i≤n

then call F2(i+1,n,y,x+y)

endif

return(y)

end F2

5.procedure MAX(A,n,j)

xmax←A(1);j←1

for i←2 to n do

if A(i)>xmax then xmax←A(i); j←i;endif repeat

end MAX

6.procedure BINSRCH(A,n,x,j)

integer low,high,mid,j,n;

low←1;high←n

while low≤high do

mid←|_(low+high)/2_|

case

:x

:x>A(mid):low←mid+1

:else:j←mid; return

endcase

repeat

j←0

end BINSRCH

三、算法理解

1、写出多段图最短路经动态规划算法求解下列实例的过程,并求出最优值。

各边的代价如下:

C(1,2)=3, C(1,3)=5 ,C(1,4)=2

C(2,6)=8

,C(2,7)=4 ,C(3,5)=5 ,C(3,6)=4, C(4,5)=2,C(4,6)=1 C(5,8)=4, C(6,8)=5 ,C(7,8)=6

2、 写出maxmin 算法对下列实例中找最大数和最小数的过程。

数组 A=(48,12,61,3,5,19,32,7)

3、 给出5个数(3,6,9,1,7),M=13,用递归树描述sumofsub 算法求和数=M 的一个子集

的过程。

4、 快速排序算法对下列实例排序,算法执行过程中,写出数组A 第一次被分割的过程。

A=(65,70,75,80,85,55,50,2)

5、 归并排序算法对下列实例排序,写出算法执行过程。 A=(48,12,61,3,5,19,32,7)

6、 写出图着色问题的回溯算法的判断X[k]是否合理的过程。

7、 对于下图,写出图着色算法得出一种着色方案的过程。

8、 写出第7题的状态空间树。

9、 写出归并排序算法对下列实例排序的过程。

(6,2,9,3,5,1,8,7)

10、 写出用背包问题贪心算法解决下列实例的过程。 P=(18,12,4,1)

W=(12,10,8,3)

M=25

11、有一个有序表为{1,3,9,12,32,41,45,62,75,77,82,95,100},当使用二分查找值为82的结点时,经过多少次比较后查找成功并给出过程。

12、使用prim算法构造出如下图G的一棵最小生成树。

dist(1,2)=6;dist(2,5)=3;dist(5,6)=6;dist(6,4)=2;dist(4,1)=5;

dist(1,3)=1;dist(2,3)=5;dist(3,4)=5;dist(3,6)=4;dist(5,3)=6

13、有如下函数说明

int f(int x,int y)

{

f=x Mod y +1;

}

已知a=10,b=4,c=5 则执行k=f(f(a+c,b),f(b,c))后,k的值是多少并写出详细过程。14、McCathy函数定义如下:

当x>100时 m(x)=x-10;

当x<=100时 m(x)=m(m(x+11));

编写一个递归函数计算给定x的m(x)值。

15、设计一个算法在一个向量A中找出最大数和最小数的元素。

四、设计算法

1.设有n项独立的作业{1,2,…, n},由m台相同的机器加工处理。作业i所需要的处理时间为t i。约定:任何一项作业可在任何一台机器上处理,但未完工前不准中断处理;任何作业不能拆分更小的子作业。

多机调度问题要求给出一种调度方案,使所给的n个作业在尽可能短的时间内由m台机器处理完。设计算法,并讨论是否可获最优解。

2. 设有n种面值为:

d1≥d2≥……≥d n的钱币,需要找零钱M,如何选择钱币d k,的数目X k,满足d1×X i+……d n×X n M ,使得

X i+……X n 最小

请选择贪心策略,并设计贪心算法。

3.有n个物品,已知n=7, 利润为P=(10,5,15,7,6,18,3),重量W=(2,3,5,7,1,4,1),背包容积M=15,物品只能选择全部装入背包或不装入背包,设计贪心算法,并讨论是否可获最

优解。

4. 设计只求一个哈密顿环的回溯算法。

5.利用对称性设计算法,求n为偶数的皇后问题所有解。

参考答案

一、简要回答下列问题:

1. 确定性、可实现性、输入、输出、有穷性

2. 分析算法占用计算机资源的情况,对算法做出比较和评价,设计出额更好的算法。

3. 算法的时间复杂性与问题的规模相关,是问题大小n的函数。

4.当问题的规模n趋向无穷大时,影响算法效率的重要因素是T(n)的数量级,而其他因素仅是使时间复杂度相差常数倍,因此可以用T(n)的数量级(阶)评价算法。时间复杂度T(n)的数量级(阶)称为渐进时间复杂性。

5. 最坏情况下的时间复杂性和平均时间复杂性考察的是n固定时,不同输入实例下的

算法所耗时间。最坏情况下的时间复杂性取的输入实例中最大的时间复杂度:

W(n) = max{ T(n,I) } , I∈Dn

平均时间复杂性是所有输入实例的处理时间与各自概率的乘积和:

A(n) =∑P(I)T(n,I) I∈Dn

6. 设输入是一个按非降次序排列的元素表A[i:j] 和x,选取A[(i+j)/2]与x比较,

如果A[(i+j)/2]=x,则返回(i+j)/2,如果A[(i+j)/2]

回溯法的搜索特点是什么

7. 不相同。目标函数:获得最大利润。最优量度:最大利润/重量比。

8. 问题的解可以表示为n元组:(x1,x2,……x n),x i∈S i, S i为有穷集合,x i∈S i, (x1,x2,……x n)具备完备性,即(x1,x2,……x n)是合理的,则(x1,x2,……x i)(i

9. 在解空间树上跳跃式地深度优先搜索,即用判定函数考察x[k]的取值,如果x[k]是合理的就搜索x[k]为根节点的子树,如果x[k]取完了所有的值,便回溯到x[k-1]。

10. 将第K行的皇后分别与前k-1行的皇后比较,看是否与它们相容,如果不相容就返回false,测试完毕则返回true。

11. 子问题的规模还很大时,必须继续使用分治法,反复分治,必然要用到递归。

12 最坏情况下的时间复杂性决定算法的优劣,并且最坏情况下的时间复杂性较平均时间复杂性游可操作性。

13 .T(n)是某算法的时间复杂性函数,f(n)是一简单函数,存在正整数No和C,n〉No,有T(n)

14 .二分检索算法的最多的比较次数为 log n。

15..最坏情况下快速排序退化成冒泡排序,需要比较n2次。

16. 是一种依据最优化量度依次选择输入的分级处理方法。基本思路是:首先根据题意,选取一种量度标准;然后按这种量度标准对这n个输入排序,依次选择输入量加入部分解中。如果当前这个输入量的加入,不满足约束条件,则不把此输入加到这部分解中。

17.回溯法的解(x1,x2,……x n)的隐约束一般指个元素之间应满足的某种关系。

18.将数组一分为二,分别对每个集合单独排序,然后将已排序的两个序列归并成一个含n个元素的分好类的序列。如果分割后子问题还很大,则继续分治,直到一个元素。

19.快速排序的基本思想是在待排序的N个记录中任意取一个记录,把该记录放在最终

位置后,数据序列被此记录分成两部分。所有关键字比该记录关键字小的放在前一部分,所有比它大的放置在后一部分,并把该记录排在这两部分的中间,这个过程称作一次快速排序。之后重复上述过程,直到每一部分内只有一个记录为止。

20.在定义一个过程或者函数的时候又出现了调用本过程或者函数的成分,既调用它自己本身,这称为直接递归。如果过程或者函数P 调用过程或者函数Q ,Q 又调用P ,这个称为间接递归。消除递归一般要用到栈这种数据结构。

21.哈密顿环是指一条沿着图G 的N 条边环行的路径,它的访问每个节点一次并且返回它的开始位置。

22.当前选择的节点X[k]是从未到过的节点,即X[k]≠X[i](i=1,2,…,k-1),且C(X[k-1], X[k])≠∞,如果k=-1,则C(X[k], X[1]) ≠∞。

23. 思路是:最初生成树T 为空,依次向内加入与树有最小邻接边的n-1条边。处理过程:首先加入最小代价的一条边到T ,根据各节点到T 的邻接边排序,选择最小边加入,新边加入后,修改由于新边所改变的邻接边排序,再选择下一条边加入,直至加入n-1条边。

二、复杂性分析

1、 递归方程

设n=2k

解递归方程:

2、

i ←1 ;s ←0 时间为:O(1) while i ≤ n do 循环n 次 循环体内所用时间为 O(1) 所以 总时间为:

T(n)=O(1)+ nO(1)= O(n)

3、最多的查找次数是p-m+1次

4、F2(2,n,1,1)的时间复杂度为:

T(n)=O(n-2); 因为i ≤n 时要递归调用F2,一共是n-2次 当n =1时F1(n)的时间为 O(1)

当n>1时F1(n)的时间复杂度与F2(2,n,1,1)的时间复杂度相同即为为 O(n) 5、

xmax ←A(1);j ←1 时间为:O(1) for i ←2 to n do 循环最多n-1次

所以 总时间为:

T(n)=O(1)+ (n-1)O(1)= O(n) 6、log 2n+1 三、算法理解

1、

???>+==1)2/(21)(n cn n T n a

n T n

cn an kcn

T cn

n T cn cn n T n T k log )1(22)4/(4)2/)4/(2(2)(+=+=+=++=

Cost(4,8)=0

Cost(3,7)= C(7,8)+0=6 ,D[5]=8 Cost(3,6)= C(6,8)+0=5, D[6]=8 Cost(3,5)= C(5,8)+0=4 D[7]=8

Cost(2,4)=min{C(4,6)+ Cost(3,6), C(4,5)+ Cost(3,5)} =min{1+5,2+4}=6 D[4]=6 Cost(2,3)=min{C(3,6)+ Cost(3,6) } =min{4+5}=9 D[3]=5

Cost(2,2)=min{C(2,6)+ Cost(3,6), C(2,7)+ Cost(3,7)} =min{8+5,4+6}=10 D[2]=7

Cost(1,1)=min{C(1,2)+ Cost(2,2), C(1,3)+ Cost(2,3), C(1,4)+ Cost(2,4)} =min{3+10,5+9,2+6}= 8 D[1]=4

1→4→6→8

2、 写出maxmin 算法对下列实例中找最大数和最小数的过程。

数组 A=()

1、 48,12,61,3, 5,19,32,7

2、48,12 61,3 5,19 32,7

3、 48~61, 12~3 19~32,5~7

4、 61~32 3~5

5、 61 3

3、 给出5个数(3,6,9,1,7),M=12,用递归树描述sumofsub 算法求和数=M 的一个子集

的过程。

4、第一个分割元素为65

5、

(1) (2) (3) (4) (5) (6) (7) (8) i p 65 70 75 80 85 55 50 2 2 8 65 2 75 80 85 55 50 70 3 7 65 2 50 80 85 55 75 70 4 6 65 2 50 55 85 80 75 70 4 6

48,12,61,3 5,19,32,7

48,12 61,3 5,19 32,7

12,48 3,61 5,19 7,32

3, 12, 48, 61 5, 7, 19,32

3,5, 7,12,19,32,48,61

6、

i←0

while i

if G[k,i]=1 and X[k]= X[i] then

return false

i←i+1

repeat

if i= k then return true

7、

K←1

X[1]←1 , 返回 true

X[2]←1,返回false; X[2]←X[2]+1=2, 返回 true

X[3]←1 ,返回false; X[3]←X[3]+1=2,返回false;X[3]←X[3]+1=3, 返回 true X[4]←1,返回false; X[4]←X[4]+1=2,返回false;X[4]←X[4]+1=3, 返回 true 找到一个解(1,2,3,3)

8、

9、

调用第一层次 6,2,9,3 5,1,8,7 分成两个子问题调用第二层次 6,2 9,3 5,1 8,7 分成四个子问题

调用第三层次 6 2 9 3 5 1 8 7 分成八个子问题

调用第四层次只有一个元素返回上一层

第三层归并 2 ,6 3, 9 1,5 7,8 返回上一层

第二层归并 2 ,3,6, 9 1,5,7,8 返回上一层

第一层归并 1, 2 ,3, 5 ,6, 7, 8,9 排序结束,返回主函数

10、实例符合P(i)/W(i)≥P(i+1)/W(i+1)的顺序。

CU←25,X←0

W[1]< CU: x[1]←1; CU←CU-W[1]=13;

W[2]< CU: x[2]←1; CU ←CU-W[2]=3;

W[3]>CU: x[3]←CU/ W[3]=3/8; 实例的解为:(1,1,3/8,0)

11 有一个有序表为{1,3,9,12,32,41,45,62,75,77,82,95,100},当使用二分查找值为82的结点时,经过多少次比较后查找成功并给出过程。 一共要要执行四次才能找到值为82的数。

12.使用普里姆算法构造出如下图G 的一棵最小生成树。

dist(1,2)=6;dist(2,5)=3;dist(5,6)=6;dist(6,4)=2;dist(4,1)=5; dist(1,3)=1;dist(2,3)=5;dist(3,4)=5;dist(3,6)=4;dist(5,3)=6

13.有如下函数说明 int f(int x,int y) {

f=x Mod y +1;

}

已知a=10,b=4,c=5 则执行k=f(f(a+c,b),f(b,c))后,k的值是多少并写出详细过程。

}

K的值是5

14.McCathy函数定义如下:

当x>100时 m(x)=x-10;

当x<=100时 m(x)=m(m(x+11));

编写一个递归函数计算给定x的m(x)值。

int m(int x)

{

int y;

if(x>100) return(x-100);

else

{

y=m(x+11);

return (m(y));

}

}

15 设计一个算法在一个向量A中找出最大数和最小数的元素。

Void maxmin(A,n)

Vector A;

int n;

{

int max,min,i;

max=A[1];min=A[1];

for(i=2;i<=n;i++)

if(A[i]>max)max=A[i];

else if(A[i]

printf(“max=%d,min=%d\n”,max,min);

}

四、设计算法

1.设有n项独立的作业{1,2,…, n},由m台相同的机器加工处理。作业i所需要的处理时间为t i。约定:任何一项作业可在任何一台机器上处理,但未完工前不准中断处理;任何作业不能拆分更小的子作业。

多机调度问题要求给出一种调度方案,使所给的n个作业在尽可能短的时间内由m台机器处理完。设计算法,并讨论是否可获最优解。

2. 设有n种面值为:

d1≥d2≥……≥d n的钱币,需要找零钱M,如何选择钱币d k,的数目X k,满足d1×X i+……d n×X n M ,使得

X i+……X n 最小

请选择贪心策略,并设计贪心算法。

3.有n个物品,已知n=7, 利润为P=(10,5,15,7,6,18,3),重量W=(2,3,5,7,1,4,1),背包容积M=15,物品只能选择全部装入背包或不装入背包,设计贪心算法,并讨论是否可获最优解。

4. 设计只求一个哈密顿环的回溯算法。

5.利用对称性设计算法,求n=2k(K为正整数)的皇后问题所有解。

1.

解:对于处理机j,用S[j] 表示处理机j已有的作业数,用P[j,k]表示处理机j的第k个作业的序号。

1)将作业按照t[1]≥t[2]≥……≥t[n]排序

2)S[1:m]清零 j←0 //从第一个处理机开始安排

3) for i←1 to n do //安排n个作业

j←j mod m +1 //选下一个处理机

S[j]←S[j]+1;

P[j,S[j]]←i ;

Repeat

2.

贪心原则:每次选择最大面值硬币。

CU←M;i←1;X←0 // X为解向量

While CU≠0 do

X[i]←CU div d[i] // X[i]为第i中硬币数

CU←CU-d[i]*X[i]

i←i+1;

repeat

3、

定义结构体数组G,将物品编号、利润、重量作为一个结构体:例如G[k]={1,10,2} 求最优解,按利润/重量的递减序,有

{5,6,1,6} {1,10,2,5}{6,18,4,9/2} {3,15,5,3} {7,3,1,3}{2,5,3,5/3} {4,7,7,1} 算法

procedure KNAPSACK(P,W,M,X,n)

//P(1:n)和W(1;n)分别含有按

P(i)/W(i)≥P(i+1)/W(i+1)排序的n件物品的效益值

和重量。M是背包的容量大小,而x(1:n)是解向量//

real P(1:n),W(1:n),X(1:n),M,cu;

integer i,n;

X←0 //将解向量初始化为零//

cu←M //cu是背包剩余容量//

for i←1 to n do

if W(i)>cu then exit endif

X(i) ←1

cu←cu-W(i)

repeat

end GREEDY-KNAPSACK

根据算法得出的解:

X=(1,1,1,1,1,0,0)获利润52,而解

(1,1,1,1, 0, 1,0)可获利润54

因此贪心法不一定获得最优解。

4.

Hamiltonian(n)

{k←1; x[k] ←0;

While k>0 do

x[k] ← x[k]+1;

while B(k)=false and x[k]≤n do

x[k] ← x[k]+1; repeat

If x[k]≤n then

if k=n then {print x; return}

else {k← k+1; x[k]←0;} endif

else k← k-1

endif

repeat

end

procedure B(k)

{ G[x[k-1],x[k] ]≠1 then return false;

for i←1 to k-1 do

if x[i]=x[k] then return false;endif

repeat

return true;

}

5.利用对称性设计算法,求n为偶数的皇后问题所有解。procedure NQUEENS1(n)

a←0 //计数器清零

X(1)←0;k←1 //k是当前行;X(k)是当前列//

While k>0 do //对所有的行执行以下语句//

1) { X(k)←X(k)+1 //移到下一列//

While X(k)≤n and not PLACE(k) do

2) X(k)←X(k)十l

if X(k)≤n

then if k=n /

then

{print(X),a←a+1 //找到一个解计数器a加1// if a=n/2 then return // 找到n/2个解算法结束

3) else {k←k+1;X(k)←0;}

4) else k←k-1 //回溯//

}

end NQUEENS

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

算法设计与分析考试题 及答案 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

算法分析与设计试卷

《算法分析与设计》试卷(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)分支限界法、优先队列式分支限界法,用一个队列来存储结点的表叫活节点表。

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

考试课程: 班级: 姓名: 学号: ------------------------------------------------- 密 ---------------------------------- 封 ----------------------------- 线 ---------------------------------------------------------

考试课程: 班级: 姓名: 学号: ------------------------------------------------- 密 ---------------------------------- 封 ----------------------------- 线 ---------------------------------------------------------

参考答案 一、填空 1、空间复杂度 时间复杂度 2、回溯法 3、递归算法 4、渐进确界或紧致界 5、原问题的较小模式 递归技术 6、问题的计算复杂性分析有一个共同的客观尺度 7、②③④① 8、问题的最优解包含其子问题的最优解 9、局部最优 10、正确的 三、简答题 1、高级语言更接近算法语言,易学、易掌握,一般工程技术人员只需要几周时间的培训就可以胜任程序员的工作; 高级语言为程序员提供了结构化程序设计的环境和工具,使得设计出来的程序可读性好,可维护性强,可靠性高; 高级语言不依赖于机器语言,与具体的计算机硬件关系不大,因而所写出来的程序可植性好、重用率高; 把繁杂琐碎的事务交给编译程序,所以自动化程度高,开发周期短,程序员可以集中时间和精力从事更重要的创造性劳动,提高程序质量。 2、 ①不能保证最后求得的解是最佳的;即多半是近似解。(少数问题除外) ②策略容易发现(关键:提取清楚问题中的维度), 而且运用简单,被广泛运用。 ③策略多样,结果也多样。 ④算法实现过程中,通常用到辅助算法:排序 3、解:① 因为:;01 -10n n )1-10n n (lim 22 2=+-+→∞n n 由渐近表达式的定义易知: 1-10n n 2 2+是n ;的渐近表达式。 ② 因为:;0n 1/ 5/n 1414)n 1/ 5/n 14(lim 22=++-++∞→n 由渐近表达式的定义易知: 14是14+5/n+1/ n 2的渐近表达式。 4、 找出最优解的性质,并刻划其结构特征。 递归地定义最优值。 以自底向上的方式计算出最优值。 根据计算最优值时得到的信息,构造最优解。 四、算法设计题 1、按照单位效益从大到小依次排列这7个物品为:FBGDECA 。将它们的序号分别记为1~7。则可生产如下的状态空间搜索树。其中各个节点处的限界函数值通过如下方式求得:【排序1分】 5x =6x =7x =

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

一、选择填空 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. 某一主要部分的详细设计方案(物理模型)

(完整版)算法设计与分析期末考试卷及答案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

5.《算法设计与分析》试题库

《算法分析与设计》试题库 (一) 一、 选择题 1.应用Johnson 法则的流水作业调度采用的算法是(D ) A. 贪心算法 B.分支限界法 C.分治法 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); 2.Hanoi 塔问题如下图所示。现要求将塔座A 上的的所有圆盘移到塔座 B 上,并 D.动态规划算法

3. 动态规划算法的基本要素为(C) A. 最优子结构性质与贪心选择性质 B ?重叠子问题性质与贪心选择性质 C.最优子结构性质与重叠子问题性质

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

算法设计与分析试卷(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、类图

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

湖南科技学院二○年学期期末考试 信息与计算科学专业年级《算法设计与分析》试题 考试类型:开卷试卷类型: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.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.系统设计用来确定系统的结构,即系统的组成以及各组成成分之间的相互关系,详细设计用来 确定模块内部的算法和数据结构,产生描述各模块程序过程的详细设计文档。系统设计是对系统分析的深化和细化,其目的是提出能够指导信息系统实现的设计方案。系统实施以系统分析

《算法分析与设计》期末试题及参考答案

《算法分析与设计》期末试题及参考答案 一、简要回答下列问题: 1.算法重要特性是什么? 1.确定性、可行性、输入、输出、有穷性 2. 2.算法分析的目的是什么? 2.分析算法占用计算机资源的情况,对算法做出比较和评价,设计出额更好的算法。 3. 3.算法的时间复杂性与问题的什么因素相关? 3. 算法的时间复杂性与问题的规模相关,是问题大小n的函数。 4.算法的渐进时间复杂性的含义? 4.当问题的规模n趋向无穷大时,影响算法效率的重要因素是T(n)的数量级,而其他因素仅是使时间复杂度相差常数倍,因此可以用T(n)的数量级(阶)评价算法。时间复杂度T(n)的数量级(阶)称为渐进时间复杂性。 5.最坏情况下的时间复杂性和平均时间复杂性有什么不同? 5. 最坏情况下的时间复杂性和平均时间复杂性考察的是n固定时,不同输入实例下的 算法所耗时间。最坏情况下的时间复杂性取的输入实例中最大的时间复杂度: W(n) = max{ T(n,I) } , I∈Dn 平均时间复杂性是所有输入实例的处理时间与各自概率的乘积和: A(n) =∑P(I)T(n,I) I∈Dn 6.简述二分检索(折半查找)算法的基本过程。 6. 设输入是一个按非降次序排列的元素表A[i:j] 和x,选取A[(i+j)/2]与x比较, 如果A[(i+j)/2]=x,则返回(i+j)/2,如果A[(i+j)/2]

信息系统分析与设计考试题库和答案1.doc

信息系统分析与设计考试题库和答案1 信息系统分析与设计考试题库及答案 一,选择填空 1. 信息按照( )可以分为战略信息,战术信息和作业信息)可以分为战略信息,战术信息和作业信息. A. 应用领域 B. 加工顺序 C. 管理的层次 D. 反映形式 答案: C 2. 按照处理的对象,可把组织的信息系统分为( ) 和管理信息系统两大类. A. 电子数据处理系统 B. 作业信息系统 C. 决策支持系统 D. 情报处理系统 答案: B 3. 信息系统对管理职能的支持,归根到底是对( ) 的支持.

A. 计划 B. 组织 C. 控制 D. 决策 答案: D 4. 业务系统规划法(BSP)的核心是( ) A. 明确企业目标 B. 定义(识别)业务过程 C. 进行数据分析 D. 确定信息结构 答案: C 5. 下面哪一项企业关键成功因素的特点是错误的: ( ). A. 少量的易于识别的可操作的目标 B. 可确保企业的成功 C. 由企业的所有CSF决定组织的信息需求 答案: B 6. 下面哪一项不是信息系统局部开发层次的优势:( ).

A. 相对简单的IT开发 B. 帮助理论的证明 C. 组织变化的阻力最小 D. 优化组织过程 答案: D 7. 一般子系统的划分是在系统( )阶段,根据对系统的功能/数据分析的结果提出的. A. 需求分析 B. 逻辑阶段 C. 总体设计 D. 详细设计 答案: A 8. 在新产品开发机构重组中,以开发某一新产品为目标,组织集设计,工艺,生产,供应,检验人员为一体的承包组,打破部门的界限,实行团队管理,以及将设计,工艺,生产制造并行交叉的作业管理,这属于( ). A. 功能内的BPR B. 组织间的BPR C. 功能间的BPR

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

一、选择题 1.一个.java文件中可以有()个public类。 A.一个B.两个C.多个D.零个 2.一个算法应该是() A.程序B.问题求解步骤的描述 C.要满足五个基本特性D.A和C 3.用计算机无法解决“打印所有素数”的问题,其原因是解决该问题的算法违背了算法特征中的()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,67 C.3,15,20,67,130,98 D.3,15,20,67,98,130 5.下列关于算法的描述,正确的是() 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时表示输入结束。

相关文档
最新文档