ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:44.37KB ,
资源ID:12048954      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12048954.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据结构课设.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据结构课设.docx

1、数据结构课设数据结构课程设计任务书 班级:计科10901-10905课程设计题目:图的基本操作及应用数据结构课程设计是在学完数据结构课程之后的实践教学环节。该实践教学是软件设计的综合训练,包括问题分析、总体结构设计、用户界面设计、程序设计基本技能和技巧。要求学生在设计中逐步提高程序设计能力,培养科学的软件工作方法。一设计目的1能根据实际问题的具体情况,结合数据结构课程中的基本理论和基本算法,分析并正确确定数据的逻辑结构,合理地选择相应的存储结构,并能设计出解决问题的有效算法。2提高程序设计和调试能力。学生通过上机实习,验证自己设计的算法的正确性。学会有效利用基本调试方法,迅速找出程序代码中的错

2、误并且修改。3初步掌握软件开发过程中问题分析、系统设计、程序编码、测试等基本方法和技能。4训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。5培养根据选题需要选择学习书籍,查阅文献资料的自学能力。二设计任务 设计一个基于DOS菜单的应用程序。要利用多级菜单实现各种功能。内容如下:1 无向图的基本操作及应用1 创建无向图的邻接矩阵2 创建无向图的邻接表3 无向图的深度优先遍历4 无向图的广度优先遍历2 无向网的基本操作及应用1 创建无向网的邻接矩阵2 创建无向网的邻接表3 求最小生成树3 有向图的基本操作及应用1 创建有向图的邻接矩阵2 创建有向图的邻

3、接表3 拓扑排序4 有向网的基本操作及应用1 创建有向网的邻接矩阵2 创建有向网的邻接表3 关键路径4 单源最短路径5 每对顶点之间的最短路径三设计指导第一步:根据设计任务,设计DOS菜单。例如选择1之后应该类似于第二步:设计菜单 void ShowMainMenu() coutn; cout *图的基本操作及应用*n; cout * 1 无向图的基本操作及应用 *n; cout * 2 无向网的基本操作及应用 *n; cout * 3 有向图的基本操作及应用 *n; cout * 4 有向网的基本操作及应用 *n; cout * 5 退出 *n; cout *n;void UDG() MGr

4、aph MG; ALGraph ALG; int n; do coutn; cout *无向图的基本操作及应用*n; cout * 1 创建无向图的邻接矩阵 *n; cout * 2 创建无向图的邻接表 *n; cout * 3 无向图的深度优先遍历 *n; cout * 4 无向图的广度优先遍历 *n; cout * 5 退出 *n; coutn; switch(n) case 1: CreatUDG_M(MG); break; case 2: CreatUDG_ALG(ALG); dispgraph(ALG); break; case 3: break; case 4: break; de

5、fault: if (n!=5) cout错误,重新输入n; while(n!=5);void UDN() MGraph MN; ALGraph ALN; int n; do coutn; cout *无向网的基本操作及应用*n; cout * 1 创建无向网的邻接矩阵 *n; cout * 2 创建无向网的邻接表 *n; cout * 3 prim算法求最小生成树 *n; cout * 4 kraskal算法求最小生成树 *n; cout * 5 退出 *n; coutn; switch(n) case 1: CreatUDN_M(MN); break; case 2: CreatUDN_A

6、LG(ALN); dispgraph_N(ALN); break; case 3: break; case 4: break; default: if (n!=5) cout错误,重新输入n; while(n!=5); void DG() int n; do coutn; cout *有向图的基本操作及应用*n; cout * 1 创建有向图的邻接矩阵 *n; cout * 2 创建有向图的邻接表 *n; cout * 3 拓扑排序 *n; cout * 4 退出 *n; coutn; switch(n) case 1: break; case 2: break; case 3: break;

7、 default: if (n!=4) cout错误,重新输入n; while(n!=4);void DN() int n; do coutn; cout *有向网的基本操作及应用*n; cout * 1 创建有向网的邻接矩阵 *n; cout * 2 创建有向网的邻接表 *n; cout * 3 关键路径 *n; cout * 4 单源顶点最短路径问题 *n; cout * 5 每对顶点间最短路径问题 *n; cout * 6 退出 *n; coutn; switch(n) case 1: break; case 2: break; case 3: break; case 4: break;

8、 case 5: break; default: if (n!=6) coutn; switch(n) case 1: UDG(); break; case 2: UDN(); break; case 3: DG(); break; case 4: DN(); break; default: if (n!=5) cout错误,重新输入n; while(n!=5);无论多少级菜单,都可以用这种模式实现,并且当前菜单不用担心前面的问题,只需编写当前的功能函数。第三步:添加功能函数。对于使用类来做的同学,根据实际使用,我们知道菜单类的主要功能就是显示菜单项与响应用户选项。所以我们可以这样设计一个菜单

9、基类:class CMenuBasepublic: CMenuBase(void); CMenuBase(void); virtual void ShowMenu()=0; virtual void Event(int EvenID)=0;protected: CMenuBase* m_pParent;在此基础上,所有菜单类都继承这个类,以此来实现“显示”与“响应事件”的多态性。例如,主菜单类的设计为:class CMainMenu:public CMenuBasepublic: CMainMenu(void); CMainMenu(void); virtual void ShowMenu()

10、; virtual void Event(int EvenID);和基类基本没有区别。其实现可能为void CMainMenu:ShowMenu() coutn *数据结构课程设计*n; cout * 1 线性表 2 栈与队列 3 串、数组和广义表 *n; cout * 4 树 5 图 6 查找 *n; cout * 7 排序 8 退出 *n; coutShowMenu();通过构造函数,将当前菜单对象作为子菜单的父菜单,以后推出子菜单时,子菜单将将显示权让给其父菜单:#define EXIT_SUBMENU tmp=m_pParent; delete pBase; pBase=tmp; pB

11、ase-ShowMenu();这样设计,无论有多少级菜单,其编程风格都是一样的,只需管理当前的菜单交接,而无需知道它是从哪儿来的。四成绩评定实习报告(文字不得少于4000字)1课程设计目的;2设计任务及要求;3需求分析;4详细设计(实现过程);5课程设计小结(难点、收获、存在不足、改进);程序实现a) 完成基本结构图,程序中有三级菜单,完成基本操作者及格;b) 在第一条的基础上,任务完成的越多,成绩等级越高。c) 使用面向对象实现的可以适当加分。成绩由三部分组成:平时考核(20%)、程序实现(50%)、实习报告(30%)申请不在机房做的同学:平时成绩就加入到程序实现里面 也就是程序实现70%

12、数据结构课程设计安排表时间:11年6月13日 11年6月25日 班级:计科院09级地点:4号楼2号机房 人数:170上机学时:40学时 7周周一周二周三周四周五上午10901-2陈 勇包小军10903-5周云才冯 伟刘兆良10901-2陈 勇包小军10903-5周云才冯 伟刘兆良10901-2陈 勇包小军下午10903-5周云才冯 伟刘兆良10901-2陈 勇包小军10901-2陈 勇包小军10903-5周云才冯 伟刘兆良晚上10903-5周云才冯 伟刘兆良8周周一周二周三周四周五上午10903-5周云才冯 伟刘兆良10901-2陈 勇包小军10903-5周云才冯 伟刘兆良10901-2陈 勇

13、包小军10903-5周云才冯 伟刘兆良下午10901-2陈 勇包小军10903-5周云才冯 伟刘兆良10903-5周云才冯 伟刘兆良10901-2陈 勇包小军晚上10901-2陈 勇包小军说明:每一个班安排1名指导教师,负责布置任务、指导编程及编写报告、指导学生熟悉开发环境和辅导学生调试程序,并对学生进行考勤。最后对学生完成的系统进行现场验收和评定成绩。计科10901 陈 勇计科10902 包小军计科10903 冯 伟计科10904 周云才计科10905 刘兆良数据结构课程设计报告系 (院): 计算机科学学院 专业班级: 姓 名: 学 号: 指导教师: 设计时间: 2011.6.13 - 2011.6.25 设计地点: 4#2号机房 (此处目录根据自己情况可以调整改动)一、课程设计目的 3二、设计任务及要求 3三、需求分析 4四、总体设计 4五、详细设计与实现含代码和实现界面 7六、课程设计小结 (最后一页要加上下面的格式)指导老师意见:成绩: 教师签名: 年 月 日

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1