中南大学现代远程教育课程考试复习试题及参考答案.docx

上传人:b****5 文档编号:3056187 上传时间:2022-11-17 格式:DOCX 页数:14 大小:24.38KB
下载 相关 举报
中南大学现代远程教育课程考试复习试题及参考答案.docx_第1页
第1页 / 共14页
中南大学现代远程教育课程考试复习试题及参考答案.docx_第2页
第2页 / 共14页
中南大学现代远程教育课程考试复习试题及参考答案.docx_第3页
第3页 / 共14页
中南大学现代远程教育课程考试复习试题及参考答案.docx_第4页
第4页 / 共14页
中南大学现代远程教育课程考试复习试题及参考答案.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

中南大学现代远程教育课程考试复习试题及参考答案.docx

《中南大学现代远程教育课程考试复习试题及参考答案.docx》由会员分享,可在线阅读,更多相关《中南大学现代远程教育课程考试复习试题及参考答案.docx(14页珍藏版)》请在冰豆网上搜索。

中南大学现代远程教育课程考试复习试题及参考答案.docx

中南大学现代远程教育课程考试复习试题及参考答案

中南大学当代远程教诲课程考试复习试题及参照答案

《算法分析与设计》

一简答题

1.算法复杂性分析重要是分析算法什么耗费状况?

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

3.算法时间复杂度用什么计量?

4.用比较树模型描述三个数排序过程。

5.分治法基本思想。

6.二分检索算法为什么可以提高查找效率?

7.简述顺序选取select算法基本流程。

8.简述顺序选取select2算法改进思路。

9.简述迅速排序基本思想。

10.迅速排序算法最坏时间复杂性和平均时间复杂性函数。

11.迅速排序算法如何抽取分割元素?

12.partition如何将数组划提成3段?

13.分治合并排序是如何分治?

14.分治合并排序二分归并过程在最坏状况下耗费多少时间?

15.分治合并排序二分归并过程在最佳状况下耗费多少时间?

16.MaxMin算法是如何分治?

17.贪心法基本思路是什么?

18.用贪心法求解问题有什么特点?

19.背包问题目的函数是什么,最优量度是什么?

20.带限期作业调度贪心方略是什么?

约束条件是什么?

21.阐明n皇后问题解(x1,x2,….,xn)含义。

22.简述n皇后算法place函数功能。

23.简述动态规划办法所运用最优化原理。

24.用多段图阐明最优化原理。

二解释下列动态规划优解普通递归形式。

1)0/1背包

2)货郎担问题

3)流水作业调度

 

三算法分析。

1.分析汉诺塔算法时间复杂性。

2.计算冒泡排序算法时间复杂性阶。

3.分析maxmin算法时间复杂性。

4.分析分治合并排序算法时间复杂性。

5.分析二分检索时间复杂性。

6.背包问题贪心算法时间复杂性。

7.迅速排序partition过程中,进行了多少次元素之间比较。

8.多段图算法时间复杂性。

四算法段填空。

1.MaxMin算法

Maxmin(i,j,max,min)

if

then对两元素进行比较;return;

else

{

maxmin(i,m,max1,min1);//其中max1和min1为解子问题1解

}

2.Hanoi算法

Hanoi(n,a,b,c)

Ifn=1then

Else

{

;

Hanoi(n-1,b,a,c);

}

3.二分检索

BINSRCH(A,n,x,j)

low←1;high←n;

whilelow

{________________mid←(low+high)/2;

case

x=A[mid]:

j←mid;return;

x

_________________high←mid-1;

x>A[mid]:

_________________low←mid+1;

endcase

}

j←0;

end

 

4.迅速排序

Quicksort(p,q)

ifp>qthen_____________

{callpartition(p,j);

call_______________________

call_______________________

}

end

5.贪心办法抽象化控制

procedureGREEDY(A,n)

//A(1:

n)包括n个输入//

solutions←;

fori←1todo

{x←SELECT(A)

ifFEASIBLE(solution,x)

thensolutions←;

endif

}

return(solution)

endGREEDY

6.背包问题贪心算法

procedureGREEDY-KNAPSACK(P,W,M,X,n)

X←0;

cu←M;

fori←1tondo

{ifthenexitendif

X(i)←_;

cu←;

}

ifi≤nthenX(i)←;

endif

endGREEDY-KNAPSACK

 

7.分治合并排序算法

procedureMERGESORT(low,high)

iflow

mid←_______________

____________________

____________________

MERGE(low,mid,high)

endif

endMERGESORT

 

8.多段图动态规划算法

procedureFGRAPH(E,k,n,P)

1realCOST(n),integerD(n一1),P(k),r,j,k,n

2;

3forto1by-1do

4设r是一种这样结点,(j,r)∈E且使c(j,r)+COST(r)取最小值

5COST(j)←;

6;

7repeat

8P

(1)←1;P(k)←n;

9fordo

10P(j)←D(P(j-1))

11repeat

12endFGRAPH

 

9.n后问题递归算法

procedureRNQUEENS(K)

globalx(1:

m),n;

forx(k)←1to_____do

ifplace(k)=truethen

ifk=nthen________

else

_____________

endif

endif

repeat

endENQUEENS

 

五.设计算法

1.写递归形式二分检索算法

2.设计三分检索算法

3.有n个大小相似而重量不同集装箱,重量分别为(w1,w2,……,wn),已知货船额定载重量为M,Σwi>M,i=1,2,3,…,n。

最优解是货船可以装载最多集装箱。

设计贪心算法。

4.有n个程序和长度为L磁带,程序i长度为ai,已知

,求最优解(xi,x2,...,xi,…,xn),1,xi=1,表达程序i存入磁带,xi=0,表达程序i不存入磁带,满足

,且存储程序数目最多。

 

参照答案

一、简答题

1.算法复杂性是算法运营所需要计算机资源耗费量,需要时间资源耗费量称作时间复杂性。

2.有5个基本特性是:

拟定性、能行性、输入给定、产生输出、有穷性。

3.算法复杂性用算法基本运算环节计量,运算环节与算法要解问题规模、算法输入关于。

4.比较树模型

5.分治基本思想是将一种规模为n问题分解为k个规模较小子问题,这些子问题互相独立且与原问题相似。

找出各某些解,然后把各某些解组合成整个问题解。

6.分治算法时间是这样拟定:

解决子问题所需工作总量由子问题个数、解决每个子问题工作量、合并所有子问题所需工作量所决定。

折半查找最坏状况下,也只需要在原问题一半大小子问题中查找,并且不需要合并子问题。

7.一方面对于数组a[p:

q]进行划分,以元素v为基准元素将a划分为三段a[p:

j-1],a[j]和a[j+1:

q],使得a[p:

j-1]中任何一种元素都不大于v,a[j+1:

q]中任何一种元素不不大于等于v,下标j在划分中拟定。

如果k=j,则返回v;

如果k

j-1]中选取;

如果k>j,则在a[j+1:

q]中选取;

8.select算法最坏状况下时间复杂性阶为O(n2),其因素是a[p:

j-1]和a[j+1:

q]大小不是均衡。

Select2算法基本思路就是改随后抽取v为通过经解决产生,保证在最坏状况下a[p:

j-1]和a[j+1:

q]元素个数不会不大于原规模1/4。

9.迅速排序是基于分治方略一种排序算法。

基本思路:

a)分解(Divide)以元素v为基准元素将a划分为三段a[p:

j-1],a[j]和a[j+1:

q],使得a[p:

j-1]中任何一种元素都不大于v,a[j+1:

q]中任何一种元素不不大于等于v,下标j在划分中拟定。

b)递归求解,通过递归调用迅速排序算法分别对a[p:

j-1]和a[j+1:

q]进行排序。

不必进行任何合并操作。

10.迅速排序算法最坏状况下时间复杂性阶为O(n2),其因素是a[p:

j-1]和a[j+1:

q]大小不是均衡。

迅速排序算法平均时间复杂性阶为O(nlogn)。

11.采用随机抽取。

对于数组a[p:

q],用v=a[p]作为分割元素。

12.使v=a[p],q=q+1

while(p

{dop++;while(a[p]

doq++;while(a[q]>v);

if(p

}

13.if问题不可分then求解

else{m=(p+q)/2;

对a[p,m]排序;

对a[m+1,q]排序;

将a[p,m]和a[m+1,q]合并;

}

14.分治合并排序二分归并过程在最坏状况下需比较n-1次,耗费可用cn表达。

15.最佳状况下需比较n/2次。

16.Maxmin(p,q,max,min)

if问题不可分:

n=2

then对两元素进行比较产生max,min;return;

else

{m=(p+q)/2;

Maxmin(p,m,max1,min1);

maxmin(m+1,q,max2,min2);

max=maxnum(max1,max2);

min=minnum(min1,min2);

}

17.贪心算法基本思路:

从问题某一种初始解出发逐渐逼近给定目的,以尽量快地求得更好解。

当达到某算法中某一步不能再继续迈进时,算法停止。

18.具备最优子构造。

19.目的函数:

∑pi最大,最优量度是选取有最大利润/重量物品。

20.∑pi最大,i属于可竣工子集。

21.xi表达第i行上皇后所在列。

22.place函数功能是判断第k行皇后位置和前k-1个皇后与否相容。

23.最优化原理:

无论过程初始状态是什么,别的决策都必要相对于初始决策所产生状态是最优。

通俗地讲,每一步最优都是上一步最优加上本段最优。

即当前最优只与上一步关于。

24.向前决策到第i段时,第i段节点j最优可以用第i-1段最优值加上本段长度:

cost(i,j)=min{cost(i-1,l)+c(j,l)}l是i-1段节点j后继节点。

二、动态规划递归式

1.fi(X)=max{fi-1(X-wi)+pi,fi-1(X)},(0<=X<=M)

fi(X)是背包容积为X时前i个物品最优值。

fi-1(X-wi)+pi是前i-1个物品最优值加上第i个物品放入获得利润,fi(X)等于第i个物品放入或不放入两种状况较大值。

2.g(s,i)=min{c(i,j)+g(s-{j},j)|j∈s,i∉s}

s是不包括起始点1任意顶点子集,g(s,i)是从顶点i出发经s中顶点各一次后到达顶点1最优值。

g(s,i)等于i到j代价c(i,j)加上从顶点j出发经s-{j}中顶点各一次后到达顶点1最优值。

3.g(s,t)=min{ai+g(s-{i},bi+max{t-ai,0})|i∈s}

s任意作业子集,g(s,t)是解决机2需要t时间才干开工条件下对s进行调度最优值。

从顶点i出发经s中顶点各一次后到达顶点1最优值。

g(s,i)等于i到j代价c(i,j)加上从顶点j出发经s-{j}中顶点各一次后到达顶点1最优值。

三、算法分析

1.分析汉诺塔算法时间复杂性

汉诺塔算法如下:

Hanoi(n,a,b,c)

①Ifn=1thenmove(a,c);

Els

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 判决书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1