没有合适的资源?快使用搜索试试~ 我知道了~
分支算法循环赛日程表课程设计报告.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 60 浏览量
2021-10-04
14:31:13
上传
评论
收藏 139KB DOC 举报
温馨提示
试读
16页
分支算法循环赛日程表课程设计报告.doc
资源推荐
资源详情
资源评论
- - .
摘要
分治算法在实际中有广泛的应用,例如,对于 n 个元素的排序问题,当 n
= 1 时,不需任何计算;当 n = 2 时,只要做一次比拟即可排好序;当 n =
3 时只要做两次比拟即可……而当 n 较大时,问题就不容易那么处理了。要想
直接解决一个较大的问题,有时是相当困难的。分治算法的根本思想是,将一
个难以直接解决的大问题,分割成一些规模较小的一样问题,以便各个击破,
分而治之。如果原问题可分割成 k 个子问题,1 < k < n+1,且这些子问题
都可解,并可利用这些子问题的解求出原问题的解,那么这种分治算法就是可
行的。由分治算法产生的子问题往往是原问题的较小模式,这就为使用递归技
术提供了方便。在这种情况下,反复应用分治手段,可以使子问题与原问题类
型一致而其规模却不断缩小,最终使子问题缩小到很容易求出其解。由此自然
引出递归算法。分治与递归像一对孪生兄弟,经常同时应用在算法设计之中,
并由此产生许多高效算法。
本次课程设计正是采用分治算法来解决循环赛日程表的安排问题。根据算
法的设计结果,采用 c 语言实现算法,通过测试分析,程序运行结果正确,运
行效率较高。
关键词:分治算法
目录
摘要................................................................................................................................................I
1问题描述.....................................................................................................................................1
2 问题分析....................................................................................................................................2
3 算法设计....................................................................................................................................3
4 算法实现....................................................................................................................................8
for (int s=1;s<=k;s++) n/=2;..........................................................................................................9
结 论............................................................................................................................................13
- - 考试资料
- - .
1问题描述
设有n位选手参加网球循环赛,n=2
k
,循环赛共进展n-1天,每
位选手要与其他n-1位选手比赛一场,且每位选手每天比赛一场,不
能轮空,按以下要求为比赛安排日程,
1) 每位选手必须与其他n-1格选手格赛一场;
2) 每个选手每天只能赛一场;
3) 循环赛一共进展n-1天;
请按此要求将比赛日程表设计成有n行和n-1列的一个表。在表
中的第i行和第j列处填入第i个选手在第j天所遇到的选手,其中
1≤i≤n,1≤j≤n-1。
- - 考试资料
- - .
2 问题分析
运用分治法,将原问题划分为较小问题,然后由较小问题的解得
出原问题的解。
1.分治法:对于一个规模为n的问题,假设该问题可以容易的解决〔比
方说规模n较小〕,那么直接解决,否那么将其分解为k个规模较小的
子问题,这些子问题相互独立且与原问题形式一样,递归的解决这些
子问题,然后将个子问题的解合并,得到原问题的解。
2.分治法的解题步骤〔由三个步骤组成〕
划分〔divide〕:将原问题分解为假设干个规模较小、相互独立
与原问题形式一样的子问题。
解决〔conquer〕:假设子问题规模较小,那么直接求解;否那
么递归求解各子问题。
合并〔conbine〕:将各子问题的解合并为原问题的解
假设n位选手顺序编号为1,2,3……n,比赛的日程表是一个n
行n-1列的表格。i行j列的表格内容是第i号选手在第j天的比赛对手。
根据分而治之的原那么,可从其中以半选手的比赛日程,导出全体
n位选手的的日程,最终细分到只有两位选手的比赛日程出发。
- - 考试资料
剩余15页未读,继续阅读
资源评论
pyhm63
- 粉丝: 6
- 资源: 20万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 爬取当当网图书数据并保存至本地Excel的Python实现
- html css js网页设计M-m笔记
- linux常用命令大全vaWeb-m笔记
- c语言文件读写操作代码CM-2023C-开发笔记
- vmware workstation pro 17 linux版
- 3479521_1710042575-1.rwmod
- 安装及环境配置UMCM-2023C-ma笔记
- (完整)数据库课程设计餐厅点餐说明书-21ab6d3c8beb172ded630b1c59eef8c75ebf952c.doc
- 2023-04-06-项目笔记 - 第一百五十四阶段 - 4.4.2.152全局变量的作用域-152 -2024.06.04
- 松哥解协议松哥解协议松哥解协议松哥解协议松哥解协议
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功