- 67
- 0
- 约9.65千字
- 约 26页
- 2018-04-14 发布于浙江
- 举报
[2018年最新整理]使用分治策略递归和非递归和递推算法解决循环赛日程表课程设计报告
《算法设计与分析》
课程设计报告
题 目: 循环赛日程表
院 (系): 信息科学与工程学院
专业班级: 软工
学生姓名:
学 号:
指导教师:
2018 年 1 月 8 日至 2018 年 1 月 19 日
算法设计与分析 课程设计任务书
一、设计题目
循环赛日程表
问题描述:设有n=2k个运动员要进行网球循环赛。现要设计一个满足一下要求的比赛日程表。
每个选手必须与其他n-1个
使用分治策略递归算法实现。
使用分治策略非递归算法实现。
使用递推算法实现。
对各种算法的时间复杂度进行分析和比较。
设计出相应的菜单,通过菜单的选择实现各个功能 三、原始资料
无 四、要求的设计成果
(1) 实现该系统功能的程序代码
(2) 撰写符合规范要求的课程设计报告 五、进程安排
序号
课程设计内容
学时分配
1
选题与搜集资料
1天
2
分析与设计
1天
3
模块实现
4天
4
系统调试与测试
2天
5
撰写课程设计报告
2天
合计
10天
六、主要参考资料
[1] 吕国英.第2版2011.[2] 王晓东.. 2009..第2版..1 常用算法 1
1.1分治算法 1
基本概念: 1
1.2递推算法 2
2 问题分析及算法设计 5
2.1分治策略递归算法的设计 5
2.2 分治策略非递归算法的设计 7
2.3 递推策略算法的设计 8
3 算法实现 9
3.1分治策略递归算法的实现 9
3.2 分治策略非递归算法的实现 10
3.3 递推策略算法的实现 12
4 测试和分析 15
4.1分治策略递归算法测试 15
4.2分治策略递归算法时间复杂度的分析 16
4.3 分治策略非递归算法测试 16
4.4分治策略非递归算法时间复杂度的分析 17
时间复杂度为:O(5^(n-1)) 17
4.5 递推策略算法测试 17
4.6 递推策略算法时间复杂度的分析 18
时间复杂度为:O(5^(n-1)) 18
4.7 三种算法的比较 18
5 总结 19
参考文献 20
1 常用算法
1.1分治算法
基本概念:
在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排序),傅立叶变换(快速傅立叶变换)……
任何一个可以用计算机求解的问题所需的计算时间都与其规模有关。问题的规模越小,越容易直接求解,解题所需的计算时间也越少。例如,对于n个元素的排序问题,当n=1时,不需任何计算。n=2时,只要作一次比较即可排好序。n=3时只要作3次比较即可,…。而当n较大时,问题就不那么容易处理了。要想直接解决一个规模较大的问题,有时是相当困难的。
基本思想及策略:
分治法的设计思想是:将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治之。
分治策略是:对于一个规模为n的问题,若该问题可以容易地解决(比如说规模n较小)则直接解决,否则将其分解为k个规模较小的子问题,这些子问题互相独立且与原问题形式相同,递归地解这些子问题,然后将各子问题的解合并得到原问题的解。这种算法设计策略叫做分治法。
如果原问题可分割成k个子问题,1k≤n,且这些子问题都可解并可利用这些子问题的解求出原问题的解,那么这种分治法就是可行的。由分治法产生的子问题往往是原问题的较小模式,这就为使用递归技术提供了方便。在这种情况下,反复应用分治手段,可以使子问题与原问题类型一致而其规模却不断缩小,最终使子问题缩小到很容易直接求出其解。这自然导致递归过程的产生。分治与递归像一对孪生兄弟,经常同时应用在算法设计之中,并由此产生许多高效算法。
分治法适用的情况:
分治法所能解决的问题一般具有以下几个特征:
1) 该问题的规模缩小到一定的程度就可以容易地解决
2) 该问题可以分解为若干个规模较小的相同问题,即该问题具有最优子结构性质。
3) 利用该问题分解出的子问题的解可以合并为该问题的解;
4) 该问题所分解出的各个子问题是相互独立的,即子问题之间不包含公共的子子问题。
1.2递推算法
递推算法是一种根据递推关系进行问题求解的方法。递推关系可以抽象为一个简单的数学模型,即给定一个数的序列a0,a1...,an若存在整数n0,使当nn0时
您可能关注的文档
- [2018年最新整理]作与已知三角形有公共边的全等三角形.doc
- [2018年最新整理]作业3cad机械制图.ppt
- [2018年最新整理]作业区2009年年终工作总结.doc
- [2018年最新整理]作业工程力学(工).doc
- [2018年最新整理]作业讲解(第三、四、五、六章).ppt
- [2018年最新整理]作业:下半部分.ppt
- [2018年最新整理]作为一名面试管,教你如何在群面中脱颖而出.doc
- [2018年最新整理]作为教育任务的数学.doc
- [2018年最新整理]作文,改变一点点.ppt
- [2018年最新整理]作文_个性的魅力.doc
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
原创力文档

文档评论(0)