- 1、本文档共19页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
算法设计实验报告_48289
《算法设计》课程报告
课题名称: 算法设计与实现
课题负责人名(学号): 张樱紫 0743111317
同组成员名单(角色): 无
指导教师: 左劼
评阅成绩:
评阅意见:
提交报告时间:2009 年 12 月 23 日
算法设计与实现课程设计
软件工程 专业
学生 张樱紫 指导老师 左劼
[摘要] 课程设计报告实现了算法设计课程中5个的主要算法,包括分治法,动态规划,贪心算法,回溯法以及分支限界法。每种算法用一个问题描述应用解决,包括源程序代码及执行结果还有算法复杂度以及问题描述,分析、证明,测试数据和运行结果。
关键词:算法设计 分治法 动态规划 贪心算法 回溯法 分支限界法
对计算机科学来说,算法的概念至关重要。通俗的讲,算法是指解决问题的一种方法或一个过程。算法实由若干条指令组成的有穷序列,且满足确定性,有限性,输入满足:有零个或多个由外部提供的量作为算法的输入。输出满足:算法产生至少一个量作为输入。通过在课程中,学习掌握了一些主要算法并了解了一些新型算法。
本课程设计报告中,主要实现了五种算法,包括分治法,包括分治法,动态规划,贪心算法,回溯法以及分支限界法。下面是每种算法的详细设计实现:
分治法:
问题描述
赛程问题: 有N个运动员进行单循环赛,即每个运动员要和所有其他运动员进行一次比赛。
?试用分治法为这N个运动员安排比赛日程。
?要求每个运动员每天只进行一场比赛,
?。
?将运动员从1到N编号。
整个赛程,当N为偶数的时候,N-1天能够结束,
而当N为奇数的时候,只能在至少N天结束,、
?因为,由已知?“每个运动员要和所有其他运动员进行一次比赛”则 每个运动员总共进行N-1场,又由每一场有两个运动员参加,N个运动员就进行了[N*(N-1)]/2,又因为已知“要求每个运动员每天只进行一场比赛”则没人每天只能进行1场,所有运动员为N,每一场由两个运动员参加,当N为偶数的时候,每天只能出现的场数为N/2场,推出至少的天数为/(N/2)=N-1场
?当N为奇数的时候,由于每个运动员每天只能进行一场,所以每天能进行的总场数最多只能为(N-1)/2场,则整个赛程的天数最少需要 天数 /[(N-1)/2]=N天
总体思路:按分治策略,将所有分为两半,n个选手可以通过n/2个选手设计的比赛日程表来决定。递归地用一分为二的略对选手进行分割,直到只剩下两个选手。
对于N为奇数的情况可以虚拟多一个选手,使其编程N+1个选手的日程表,最然后忽略虚拟运动员参与的比赛。对于分割时候N/2的情况也做特殊处理, 前n/2轮比赛空选手与下一个未参赛的选手进行比赛
void?match(int?a[][N],?int?k)
...{
int?n=1,?m=1;
for?(int?i=1;?i=k;?i++)
?????n?*=?2;
for(int?i=0;?in;?i++)
???????a[i][0]=i+1;
for(int?s=0;?sk;?s++)???//?k个阶段,从左到右
...{
??????n?/=?2;
?????for(int?t=0;?tn;?t++)?//?每个阶段有t次循环
?????...{
??????????for(int?j=m;?j2*m;?j++)
???????????????for(int?i=m;?i2*m;?i++)
?????????????...{
????????????????????a[i-m+2*t*m][j]?=?a[i+2*t*m][j-m];?
????????????????????a[i+2*t*m][j]?=?a[i-m+2*t*m][j-m];?
????????????????}
???????}???????
????????m?*=?2;???
????}??????????
}
测试数据、运行结果
Please input:3
The result is:3
Please input:4
The result is:3
复杂度分析
T(n)∈O(n^2)
动态规划算法:
问题描述:数字三角形问题
给定一个由n行数字组成的数字三角形,如图。设计一个算法,计算出从三角形的顶至底的一条路径,是该路径经过的数字总和最大。
分析设计:动态规划:与分治法相似,把问题分解按层次分成子问题,直到可以直接求解的子问题,然后一级一级地向上求解。
与分治法的出别在于:动态规划适用有许多重复子问题出现的问题,它保留已求出问题的解。
满足动态规划需符合的条件
1)最优化原理:一个最优化策略具有这样的性质,不论过去状态和决策如何,对前面的决策所形成的状态而言,余下的
您可能关注的文档
- 科特勒--玩具市场细分_33470.ppt
- 科普示范市工作书册_33464.doc
- 科研中期检查_33502.doc
- 科目二场内考试计划单_33460.doc
- 科特勒关于市场塑_33469.ppt
- 秘书原理第四套作业及答案_37078.docx
- 秘书参谋职能概论概要_37073.doc
- 科社_33465.doc
- 秘书学概论_37075.doc
- 秘书英语 Unit_5_37077.ppt
- 《GB/T 32151.42-2024温室气体排放核算与报告要求 第42部分:铜冶炼企业》.pdf
- GB/T 32151.42-2024温室气体排放核算与报告要求 第42部分:铜冶炼企业.pdf
- GB/T 38048.6-2024表面清洁器具 第6部分:家用和类似用途湿式硬地面清洁器具 性能测试方法.pdf
- 中国国家标准 GB/T 38048.6-2024表面清洁器具 第6部分:家用和类似用途湿式硬地面清洁器具 性能测试方法.pdf
- 《GB/T 38048.6-2024表面清洁器具 第6部分:家用和类似用途湿式硬地面清洁器具 性能测试方法》.pdf
- 《GB/T 18238.2-2024网络安全技术 杂凑函数 第2部分:采用分组密码的杂凑函数》.pdf
- GB/T 18238.2-2024网络安全技术 杂凑函数 第2部分:采用分组密码的杂凑函数.pdf
- 《GB/T 17215.686-2024电测量数据交换 DLMS/COSEM组件 第86部分:社区网络高速PLCISO/IEC 12139-1配置》.pdf
- GB/T 13542.4-2024电气绝缘用薄膜 第4部分:聚酯薄膜.pdf
- 《GB/T 13542.4-2024电气绝缘用薄膜 第4部分:聚酯薄膜》.pdf
文档评论(0)