【数据结构】男女运动员最佳组合正文终稿_第1页
【数据结构】男女运动员最佳组合正文终稿_第2页
【数据结构】男女运动员最佳组合正文终稿_第3页
【数据结构】男女运动员最佳组合正文终稿_第4页
【数据结构】男女运动员最佳组合正文终稿_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

东北大学信息科学与工程学院数据结构课程设计报告题目:男女运动员最佳组合课题组长王逸飞课题组成员王嘉琦李聪专业名称计算机科学与技术班级计1307指导教师:杨雷 2015年1月课程设计任务书题目:男女运动员最佳组合问题描述:设有N个男羽毛球运动员和N个女羽毛球运动员,现组成N对男女混合最佳组合。每个男运动员对每个女运动员都有一个满意度排序,用矩阵mf[0:n-1][0:n-1]表示。mf[i][j]表示第i个男运动员对第j个女运动员的满意度,满意度值越高,满意程度越高。同理,每个女运动员对每个男运动员也有一个满意度排序,用矩阵fm[0:n-1][0:n-1]表示。男女运动员之间的一个完全匹配称为一个组合。设计要求:设计对于给定的满意度,求最佳组合的程序,使得满意度总和达到最大。(1)采用STL的向量等数据结构。(2)实现STL的一维向量类vector。(3)利用一维向量类构造二维向量矩阵。(4)尝试采用不同数据结构的多种解法。指导教师签字:年月日目录1课题概述 11.1课题任务 11.2课题原理 11.3相关知识 32方案设计 72.1总体功能设计 72.2数据结构设计 82.3函数原型设计 102.4主算法设计 122.5用户界面设计 143方案实现 153.1开发环境与工具 153.2程序设计关键技术 163.3个人设计实现(按组员分工)3.3.1王逸飞设计实现 173.3.2王嘉琦设计实现 173.3.3李聪设计实现 174测试与调试 234.1个人测试(按组员分工) 234.1.1王逸飞测试 234.1.2王嘉琦测试 234.1.2李聪测试 234.2组装与系统测试 334.3系统运行 365课题总结 395.1课题评价 395.2团队协作 405.3团队协作 415.4个人设计小结(按组员分工) 425.4.1王逸飞设计小结 425.4.2王嘉琦设计小结 425.4.3李聪设计小结 426附录A课题任务分工 50A-1课题程序设计分工 50A-2课题报告分工 51附录B课题设计文档(光盘) 52B-1课程设计报告(电子版) 52B-2源程序代码(*.H,*.CPP) 52B-3工程与可执行文件 52B-4屏幕演示录像文件(可选) 52附录C用户操作手册(可选) 53C.1运行环境说明 53C.2操作说明 541课题概述1.1课题任务【问题描述】设有N个男羽毛球运动员和N个女羽毛球运动员,现组成N对男女混合最佳组合。每个男运动员对每个女运动员都有一个满意度排序,用矩阵mf[0:n-1][0:n-1]表示。mf[i][j]表示第i个男运动员对第j个女运动员的满意度,满意度值越高,满意程度越高。同理,每个女运动员对每个男运动员也有一个满意度排序,用矩阵fm[0:n-1][0:n-1]表示。男女运动员之间的一个完全匹配称为一个组合。【设计要求】设计对于给定的满意度,求最佳组合的程序,使得满意度总和达到最大。(1)采用STL的向量等数据结构。(2)实现STL的一维向量类vector。(3)利用一维向量类构造二维向量矩阵。(4)尝试采用不同数据结构的多种解法。1.2课题原理 采用STL的向量等数据结构,利用一维向量类构造二维向量矩阵,使用递归函数进行比较,以及一些基本操作。1.3相关知识vector的定义,表示,C语言实现,函数的递归调用。2方案设计2.1总体功能设计(1)实现输入(2)实现后台运算和匹配(3)实现输出结果3.2数据结构设计男,女,匹配结果,运算的vector:vector<vector<int>>mf(N);vector<vector<int>>fm(N);vector<int>a(N,0);//开辟数组保存所有男女匹配,并初始化0vector<int>b(N,0);//运算需要我们将结构的创建,初始化,插入删除等基本2.3函数原型设计voidinput()//输入男女满意度数据intrecMaxAdv(inti)//递归调用求解intrun()//调用之前的函数,运行intmain()主函数2.4主算法设计2.5用户界面设计由于时间原因,低级版本在没有实现可视化界面,采用DOS来显示得到的结果。3方案实现3.1开发环境与工具编程环境为visualc++6.0,vim。工具为C语言。3.2程序设计关键技术STL的向量等数据结构。3.3个人设计实现(按组员分小节)3.3.1王逸飞、王嘉琦、李聪设计实现1.课题任务(1)建立vector:男,女,匹配结果,运算需要(2)函数:按长度输入数据(3)函数:递归调用求解,比较(4)函数:循环调用(2)函数,输入,调用(3)比较,输出(5)主函数:调用(4),输出结果2.程序源代码#include<iostream>usingnamespacestd;#include<vector>#defineN3vector<vector<int>>mf(N);vector<vector<int>>fm(N);vector<int>a(N,0);//开辟数组保存所有男女匹配,并初始化0vector<int>b(N,0);//运算需要voidinput()//输入男女满意度数据{ //依次输入男队员对女队员的满意度 vector<vector<int>>::iteratoriiter; vector<int>::iteratoriter; cout<<"请依次输入男队员对女队员的满意度:"<<endl; for(iiter=mf.begin();iiter!=mf.end ();++iiter) { (*iiter).resize(N); for(iter=iiter->begin();iter!=iiter->end();++iter) { cin>>*iter; } }//依次输入女队员对男队员的满意度 cout<<"请依次输入女队员对男队员的满意度:"<<endl; for(iiter=fm.begin();iiter!=fm.end();++iiter) { (*iiter).resize(N); for(iter=iiter->begin();iter!=iiter->end();++iter) { cin>>*iter; } }}int*s;//s[i]男i的配合者intmaxA;//当前最大总和intsumA;//当前总和intrecMaxAdv(inti)//递归调用求解{ if(i>=N)//组合完毕 { if(maxA<sumA)//方案是目前最佳的 {maxA=sumA; for(intk=0;k<N;k++){a[k]=b[k];} } return0; } for(intj=i;j<N;j++) { swap(s[i],s[j]); sumA+=mf[i][s[i]]+fm[s[i]][i]; // //cout<<sumA<<"\n"; b[i]=s[i]; //cout<<"\t"<<b[i]<<"\n"; recMaxAdv(i+1); sumA-=mf[i][s[i]]+fm[s[i]][i]; swap(s[i],s[j]); } return0;}intrun()//run函数定义{ s=newint[N]; maxA=0; for(inti=0;i<N;i++) { s[i]=i;//初始配合方案i男配i女 } sumA=0; recMaxAdv(0); cout<<"最大满意度为:"<<maxA<<endl; delete[]s; return0;}intmain()//主函数{ input(); run();//运行求解函数 cout<<"最佳匹配为:"<<endl; for(intm=0;m<N;m++) {cout<<"第"<<m+1 <<"个男的"<<"配第"<<a[m]+1 <<"个女的!"<<endl; } return0;}44.1系统测试操作名称操作流程操作结果和输出输入开始输入数据数据男(女,女(男的数据,储存与vector数据处理对已输入的数据进行递归比较比较,递归,读取下一个数,记录结果输出输出匹配结果输出匹配结果4.2系统运行系统运行结果如下:5课题总结5.1课题分析完成了课题要求功能,容易封装便于使用。5.2团队协作本次课程设计,让我们感受到了在程序编写软件设计中团队你的力量。一个人的力量对于编写一个大型的程序来说简直是渺茫的,但是编写程序这种工作又是不能忽略每一个个体的,因为只要一个人有一个小小的疏忽,就可能导致整个程序无法运行,甚至崩溃。我们充分利用现代社会知识信息交流充分发展的机会,我们遇到困难时就去学校图书馆查找相关书籍或在网上查找相关资料。今后的学习也应该注重理论与实践的结合,多观察多思考,知道自己所学知识在实际应用中的作用。5.3个人设计小结(分组员小结)5.3.1王逸飞设计小结总体上,巩固了所学的有关c语言的知识,强化了对数据结构的理解。强化了我们对计算机编程操作技能,充实了有关数据结构的理论知识,拓宽了有关数据结构的知识面,通过数据结构课程设计的学习,找到了自身知识点的漏洞与欠缺,加深我们对数据结构的理解,最关键的是对编程思想的理解,对程序开发过程中的有了较深层次的而理解,具体来说,加深了我对基本抽象数据类型的理解,例如结构体链表的操作,间接地也巩固了之前的有关C语言的知识,例如基本数据类型的操作等,文件的操作也更加的熟练。5.3.1王嘉琦设计小结通过本次程序设计课程,我发现编程最重要的便是可行以及合理,否则也是毫无用处的程序,没有丝毫意义。刚开始的时候,总是在空想函数该怎样编写,而没有考虑实际生活中图书馆的功能以及工作流程,导致做出来的东西很不切实际。吸取教训了以后,我仔细思考借鉴了我们学校图书馆的操作流程,才写出行之有效的代码。5.3.1李聪设计小结此次课程设计,我通过上网查找资料学习,深刻理解了线性表及其应用。查询函数中主要需要对线性表进行访问查询,线性表的访问需要遍历线性表中的元素。在查询函数设计过程中,需要仔细判别输入的条件,考虑各种的可能的查询情况,使程序完善和健壮。通过此次的课程设计我深刻的意识到,要想编好一个程序需要扎实的基本功,需要认真的学习和了解相应的知识。编程前,需要做好算法设计,才能使编程的时候少犯一些算法逻辑错误;编程时,需要不断的编译及时改掉语法错误的地方避免多个错误累积看不出错误的地方;程序编好后,需要对程序输入极端、特殊情况测试保证程序没有重大的算法漏洞。基于C8051F单片机直流电动机反馈控制系统的设计与研究基于单片机的嵌入式Web服务器的研究MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究基于模糊控制的电阻钎焊单片机温度控制系统的研制基于MCS-51系列单片机的通用控制模块的研究基于单片机实现的供暖系统最佳启停自校正(STR)调节器单片机控制的二级倒立摆系统的研究基于增强型51系列单片机的TCP/IP协议栈的实现基于单片机的蓄电池自动监测系统基于32位嵌入式单片机系统的图像采集与处理技术的研究基于单片机的作物营养诊断专家系统的研究基于单片机的交流伺服电机运动控制系统研究与开发基于单片机的泵管内壁硬度测试仪的研制基于单片机的自动找平控制系统研究基于C8051F040单片机的嵌入式系统开发基于单片机的液压动力系统状态监测仪开发模糊Smith智能控制方法的研究及其单片机实现一种基于单片机的轴快流CO〈,2〉激光器的手持控制面板的研制基于双单片机冲床数控系统的研究基于CYGNAL单片机的在线间歇式浊度仪的研制基于单片机的喷油泵试验台控制器的研制基于单片机的软起动器的研究和设计基于单片机控制的高速快走丝电火花线切割机床短循环走丝方式研究基于单片机的机电产品控制系统开发基于PIC单片机的智能手机充电器基于单片机的实时内核设计及其应用研究基于单片机的远程抄表系统的设计与研究基于单片机的烟气二氧化硫浓度检测仪的研制基于微型光谱仪的单片机系统单片机系统软件构件开发的技术研究基于单片机的液体点滴速度自动检测仪的研制基于单片机系统的多功能温度测量仪的研制基于PIC单片机的电能采集终端的设计和应用基于单片机的光纤光栅解调仪的研制气压式线性摩擦焊机单片机控制系统的研制基于单片机的数字磁通门传感器基于单片机的旋转变压器-数字转换器的研究基于单片机的光纤Bragg光栅解调系统的研究单片机控制的便携式多功能乳腺治疗仪的研制基于C8051F020单片机的多生理信号检测仪基于单片机的电机运动控制系统设计Pico专用单片机核的可测性设计研究基于MCS-51单片机的热量计基于双单片机的智能遥测微型气象站MCS-51单片机构建机器人的实践研究基于单片机的轮轨力检测基于单片机的GPS定位仪的研究与实现基于单片机的电液伺服控制系统用于单片机系统的MMC卡文件系统研制基于单片机的时控和计数系统性能优化的研究基于单片机和CPLD的粗光栅位移测量系统研究单片机控制的后备式方波UPS提升高职学生单片机应用能力的探究基于单片机控制的自动低频减载装置研究基于单片机控制的水下焊接电源的研究基于单片机的多通道数据采集系统基于uPSD3234单片机的氚表面污染测量仪的研制基于单片机的红外测油仪的研究96系列单片机仿真器研究与设计基于单片机的单晶金刚石刀具刃磨设备的数控改造基于单片机的温度智能控制系统的设计与实现基于MSP430单片机的电梯门机控制器的研制基于单片机的气体测漏仪的研究基于三菱M16C/6N系列单片机的CAN/USB协议转换器基于单片机和DSP的变压器油色谱在线监测技术研究基于单片机的膛壁温度报警系统设计基于AVR单片机的低压无功补偿控制器的设计基于单片机船舶电力推进电机监测系统基于单片机网络的振动信号的采集系统基于单片机的大容量数据存储技术的应用研究基于单片机的叠图机研究与教学方法实践基于单片机嵌入式Web服务器技术的研究及实现基于AT89S52单片机的通用数据采集系统基于单片机的多道脉冲幅度分析仪研究机器人旋转电弧传感角焊缝跟踪单片机控制系统基于单片机的控制系统在PLC虚拟教学实验中的应用研究基于单片机系统的网络通信研究与应用基于PIC16F877单片机的莫尔斯码自动译码系统设计与研究基于单片机的模糊控制器在工业电阻炉上的应用研究基于双单片机冲床数控系统的研究与开发基于Cygnal单片机的μC/OS-Ⅱ的研究基于单片机的一体化智能差示扫描量热仪系统研究基于TCP/IP协议的单片机与Internet互联的研究与实现变频调速液压电梯单片机控制器的研究基于单片机γ-免疫计数器自动换样功能的研究与实现基于单片机的倒立摆控制系统设计与实现单片机嵌入式以太网防盗报警系统基于51单片机的嵌入式Internet系统的设计与实现单片机监测系统在挤压机上的应用MSP430单片机在智能水表系统上的研究与应用基于单片机的嵌入式系统中TCP/IP协议栈的实现与应用单片机在高楼恒压供水系统中的应用基于ATmega16单片机的流量控制器的开发基于MSP430单片机的远程抄表系统及智能网络水表的设计基于MSP430单片机具有数据存储与回放功能的嵌入式电子血压计的设计基于单片机的氨分解率检测系统的研究与开发锅炉的单片机控制系统基于单片机控制的电磁振动式播种控制系统的设计基于单片机技术的WDR

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论