数据结构课设.doc_第1页
数据结构课设.doc_第2页
数据结构课设.doc_第3页
数据结构课设.doc_第4页
数据结构课设.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

学 号XXXXXXX数据结构A课程设计设计说明书Baker管理信息系统+Baker图结构数据应用起止日期: 2012 年 09月 17 日 至 2012年 09 月 21日学生姓名XXXXX班级SSSSSS成绩指导教师(签字)计算机与信息工程学院2012年 09月 21日天津城市建设学院课程设计任务书20122013学年第 1 学期 计算机与信息工程 学院 网络 专业 2 班级课程设计名称: 数据结构A课程设计 设计题目: Baker管理信息系统+Baker图结构数据应用 完成期限:自 2012 年 09月 17日至 2012 年 09月 21 日共 1 周设计依据、要求及主要内容(可另加附页):一、建立一个小型的管理信息系统:1、确认管理信息系统的主题:Baker(二)为每个主题词确定具有特征的信息集。int id;string name;char sex;int age;string degree;double height;double weight;2为每个主题建立一个信息管理系统要求:1)定义结构体存储每个主题词实体的数据;2)使用单链表进行多个数据的存储;3)要求程序有主菜单,执行时显示实例为:Baker管理系统功能菜单1.增加Baker;2.删除Baker;3.修改Baker;4.查询Baker信息;5.统计Baker个数;6.输出Baker列表;7.退出; 请输入您的指令数字(17):请实现以上功能。二、应用场景现在考虑新的应用场景,使得产生多对多的关系,例如:Baker主题中,一个刺猬与另外多个刺猬存在相邻的关系;那么在Baker的基础信息之上,还需要保存相邻的Baker的信息。为此,需要额外扩充关系数据。使用邻接表是一个很好的方式。其思想是:先开辟数组存储Baker的基本数据,然后,为每个Baker,构建链表,存储所有的关系(即指向相邻Baker的指针数据)。请按照上述思想,为你的每个主题词实体,建立邻接链表实现,并且实现以下功能:Baker图结构数据处理程序1.创建Baker图2.按照深度遍历的方式打印所有的Baker; 3.按照广度遍历的方式打印所有的Baker;4.退出。三、心得和体会做完本课程设计后,你尚存在的问题是什么?有所收获的是什么? 指导教师(签字): 系主任: 批准日期: 2012年9月17日Baker管理信息系统+Baker图结构数据应用设计报告一、Baker信息管理系统1属性集及对应意义Baker: int id;string name;char sex;int age;string degree;double height;double weight;意义:编号, 姓名,性别,年龄,学历,身高, 体重2结构体定义struct BakerInfo int id; string name; char sex; int age; string degree; double height; double weight; struct BakerInfo *next;3修改Baker功能的实现描述(文字描述和流程图) 该面包师的信息系统规定面包师的编号为主键,不可修改。修改功能中有一个菜单,可以选择所要修改的属性,可以根据需要修改面包师的属性。4各个功能的界面贴图(每个图都要图名)1首先进入主菜单2添加数据。 3查询信息。4统计个数。5输出信息。6修改信息。修改成功:删除数据:删除成功:6画出包含有三个数据的链表示意图 二、Baker图结构数据处理程序1描述你的场景主题;现在考虑新的应用场景,使得产生多对多的关系,例如:Baker主题中,一个刺猬与另外多个刺猬存在相邻的关系;那么在Baker的基础信息之上,还需要保存相邻的Baker的信息。为此,需要额外扩充关系数据。使用邻接表是一个很好的方式。其思想是:先开辟数组存储Baker的基本数据,然后,为每个Baker,构建链表,存储所有的关系(即指向相邻Baker的指针数据)。2画图表示你的样例数据对应的邻接链表,并在上方注明结构体的各个域名;1、2、3分别表示顶点,即面包师。3用自己的话,描述深度遍历或广度遍历的算法思想深度优先遍历思想(采用递归方法): 访问指定顶点n; 从n的未被访问的邻接点中选取一个顶点w,从w出发进行深度优先遍历; 重复上述两步,直至图中所有和n有路径相通的顶点都被访问到。 广度优先遍历思想: 访问指定顶点v; 依次访问v的各个未被访问的邻接点v1, v2, , vk; 分别从v1,v2,vk出发依次访问它们未被访问的邻接点,并使“先被访问顶点的邻接点”先于“后被访问顶点的邻接点”被访问。直至图中所有与顶点v有路径相通的顶点都被访问到。4广度遍历和深度遍历在存储待处理结点的数目上,哪个更多?为什么?先比之下,深度优先遍历在存储待处理节点的数目上多一些。因为,深度优先遍历一次只遍历一个与指定节点相临界的顶点,如果在递归遍历过程中出现某一个节点的所有节点均已访问,但还有没被访问过的节点,这是需要回溯到它的上一个顶点,再对比没有被访问过的顶点,从而遍历没被访问过的顶点。而广度优先遍历,一次便可把所有与指定节点的相邻接都访问,然后再访问子节点的没被访问的顶点。因此,深度优先遍历在存储待处理节点的数目上多一些。5. 各个功能的界面贴图1输入顶点信息2输入边信息3深度优先遍历结果4广度优先遍历结果三、心得和体会做完本课程设计后,你尚存在的问题是什么?有所收获的是什么?做完这次课程设计之后,我觉得自己对于知识掌握的还不是很牢固,自以为课本知识学会就行了,没有把课本的知识结合实践。对于第一个问题,在做的时候,在写删除程序的时候,需要找到删除的节点的前一个节点,在写的过程中,不知道怎么写,写完后调试还一直出现错误,最后是在图上画了一下,一步一步走,才发现问题,在这个过程中,不仅学会了断点调试程序。对于第二个问题,是图信息的处理,记得学习的时候是老师直接把程序给我们,我们直接输入数据,对于程序是如何运行的不清楚,所以在写头文件时,不清楚具体应该怎么定义,以及对于构造函数,不知道从哪开始写,还有就是深度优先遍历和广度优先遍历不知道具体该怎么实现,但是在老师的带领下,慢慢开始有思路,结合最后结合书上所给的程序,完成了。在这个过程中,从开始不知道程序如

温馨提示

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

评论

0/150

提交评论