云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 计算机算法设计与分析期末复习资料

计算机算法设计与分析期末复习资料

  • 62 次阅读
  • 3 次下载
  • 2025/5/28 1:43:19

3.按渐近阶排列表达式

按照渐近阶从低到高的顺序排列以下表达式:4n2,logn,3n,20n,2,n2/3。又n!应该排在哪一位? 分析与解答:

按渐近阶从低到高,函数排列顺序如下:2,logn,n2/3,20n,4n2,3n,n!。

4.算法效率

n

(1)假设某算法在输入规模为n时计算时间为T(n)=3*2。在某台计算机上实现并完成该算法的时间为t秒。现有另一台计算机,其运行速度为第一台的64倍,那么在这台新机器上用同一算法在t秒内能解输入规模为多大的问题?

2

(2)若上述算法的计算时间改进为T(n)=n,其余条件不变,则在新机器上用t秒时间能解输入规模为多大的问题?

(3)若上述算法的计算时间进一步改进为T(n)=8,其余条件不变,那么在新机器上用t秒时间能解输入规模为多大的问题? 分析解答:

2n1

(1)设新机器用同一算法在t秒内能解输入规模为n1的问题。因此有:t=3*2=3*2/64,解

得你n1=n+6。

22

(2)n1=64nn1=8n。

(3)由于T(n)=常数,因此算法可解任意规模的问题。

5.阶乘函数

阶乘函数可递归地定义为:

?1n?0

n!?? ?n(n?1)!n?0

int factorial(int n) {

if(n = = 0) return 1; return n * factorial(n-1); }

6.Fibonacci数列

无穷数列1,1,2,3,5,8,13,21,34,55,??,称为Fibonacci数列。它可以递归地定义为:

?1n?0

?F(n)?1n?1?

?F(n?1)?F(n?2)n?1 ?

请对这个无穷数列设计一个算法,并进行描述(自然语言描述和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,?,xn)是最有装载问题的一个最优解。

又设k=min{i|xi=1}。易知,如果给定的最有装载问题有解,则1≤k≤n。 ② 当k=1时,(x1,x2,?,xn)是满足贪心选择性质的最优解。 ②当k>1时,取y1=1;yk=0;yi=xi,1

因此,()是所给最有装载问题的可行解。

另一方面,由知,()是满足贪心选择性质的最优解。所以,最优装载问题具有贪心选择性质。

(2)最优装载问题可用贪心算法求解。采用重量最轻者先装的贪心选择策略,可产生最优装载问题的最优解。具体算法描述如下。

template

void Loading(int x[], Type w[], Type c, int n) {

int *t = new int [n+1]; Sort(w, t, n);

for (int i = 1; i <= n; i++) x[i] = 0;

for (int i = 1; i <= n && w[t[i]] <= c; i++) {x[t[i]] = 1; c -= w[t[i]];} }

搜索更多关于: 计算机算法设计与分析期末复习资料 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

3.按渐近阶排列表达式 按照渐近阶从低到高的顺序排列以下表达式:4n2,logn,3n,20n,2,n2/3。又n!应该排在哪一位? 分析与解答: 按渐近阶从低到高,函数排列顺序如下:2,logn,n2/3,20n,4n2,3n,n!。 4.算法效率 n(1)假设某算法在输入规模为n时计算时间为T(n)=3*2。在某台计算机上实现并完成该算法的时间为t秒。现有另一台计算机,其运行速度为第一台的64倍,那么在这台新机器上用同一算法在t秒内能解输入规模为多大的问题? 2(2)若上述算法的计算时间改进为T(n)=n,其余条件不变,则在新机器上用t秒时间能解输入规模为多大的问题? (3)若上述算法的计算时间进一步改进为T(n)=8,其余条件不变,那么在新机器上用t秒时间能解输入规模

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com