附件二
【学生用】
《算法分析与
设计》综合训练实习
报告算法分析与设计》
题
目:利用分治思想设计循环赛日程表
学姓
号名
专业班级指导教师实践日期
目
录
一、综合训练目的与要求.....................................................................................................................1二、综合训练任务描述.........................................................................................................................1三、算法设计.........................................................................................................................................1四、详细设计及说明.............................................................................................................................3五、调试与测试.....................................................................................................................................5六、实习日志.........................................................................................................................................6七、实习总结.........................................................................................................................................6八、附录:核心代码清单.....................................................................................................................6
一、综合训练目的与要求
本综合训练是
软件工程专业重要的实践性环节之一,是在学生
学习完《算法分析》
课程后进行的综合练习。本课综合训练的目的和任务:1.巩固和加深学生对算法分析课程基本知识的理解和掌握;2.培养利用算法知识解决实际
问题的能力;3.掌握利用
程序设计语言进行算法程序的开发、调试、测试的能力;4.掌握书写算法设计说明
文档的能力;5.提高综合运用算法、程序设计语言、数据结构知识的能力。
二、综合训练任务描述
假设有n=2k个运动员要进行网球循环赛。设计一个满足一下要求的比赛日程表:1.每个选手必须与其他n-1个选手各赛一次2.每个选手一天只能赛一次3.循环赛一共进行n-1天利用
Java语言开发一个界面,输入运动员的个数,输出比赛日程表。对于输入运动员数目不满足n=2k时,弹出信息提示用户。
三、算法设计
(1)文字描述假设n位选手顺序编号为1,2,3……n,比赛的日程表是一个n行n-1列的表格。i行j列的表格内容是第i号选手在第j天的比赛对手。根据分而治之的原则,可从其中一半选手的比赛日程,导出全体n位选手的的日程,最终细分到只有两位选手的比赛日程出发(2)框图
1
比赛人数n=2^k,求出k
inti=1
i<=N
Y