数据结构课设(13页).doc
《数据结构课设(13页).doc》由会员分享,可在线阅读,更多相关《数据结构课设(13页).doc(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-数据结构课设-第 13 页学 号1507030222数据结构课程设计设计说明书Gorilla管理信息系统+Gorilla图结构数据应用起止日期: 2017年 01月 09 日 至 2017年 01 月 13日学生姓名XXX班级15网络2班成绩指导教师(签字)计算机与信息工程学院2017年 01月 09日天津城建大学课程设计任务书20162017学年第 1 学期 计算机与信息工程 学院 网络工程 专业 网络2 班级课程设计名称: 数据结构课程设计 设计题目: Gorilla管理信息系统+Gorilla图结构数据应用 完成期限:自 2017 年 01月 09日至 2017 年 01月 13 日共
2、 1 周设计依据、要求及主要内容(可另加附页):一、建立一个小型的管理信息系统:1、确认管理信息系统的主题:(一)主题词汇表:1.hippopotamus 河马 2.jackal 豺 3.kingfisher 翠鸟 4. leopard豹 5.lion 狮 6.actor 演员 7.astronaut 太空员8.policeman 警察 9.firefighter 消防员 10.mugger 强盗 11.farmer 农民 12. boss 老板 13.dancer 跳舞者 14. Ostrich 鸵鸟 15. pilot 飞行员16.hairdresser 理发师 17. Mule 骡 18
3、.waiter 服务员 19.accountant 会计20.monk-和尚 狗 22. priest-牧师23.director- 导演24.model- 模特儿 25. singer-歌手 26.dentist-牙医 27. elephant-象 28.nurse-护士 29.navigator- 航海家 30.pilot- 飞行员31.architect建筑师 32. peacock孔雀 33.baker面包师 34.businessman商人 35. penguin企鹅 36.receptionist接待员 37.secretary-秘书 38.attorney-律师 39.judge
4、-法官 40. rabbit兔子41.carpenter-木匠 42.painter-油漆匠 43.tailor-裁缝师 44.driver-司机 45.captain-船长 46.fisherman-渔夫 医师 48.gardener园丁 49. chemist-药剂师 50.engineer工程师 51.scientist-科学家 52.salesperson售货员 53.photographer摄影师 ox狐 55.hourse 马 56.giraffe 长颈鹿 57.goat 山羊 58. Gorillagull海鸥 60.hedgehog 刺猬 61. Teacher 教师 62.p
5、rofessor 教授 63. cook 厨师 64.principal 校长65.singer 歌手66. monkey猴子按对应序号的后两位,每个同学获取对应词汇。(二)为每个主题词确定具有特征的信息集。例:fish:id, name, length, Weight, Color, Is_Carnivore, Is_Marine意义:编号, 名字, 长度, 体重, 颜色, 是否食肉, 是否海鱼Gorilla:num,high,weight,name,sex,position,group意义:编号, 身高, 体重, 名字, 性别, 地位,族群名struct Gorillanode/定义一个名
6、字为Gorillanode的结构体int num;/编号float high;/身高float weight;/体重string name;/名字char sex;/性别string position;/地位string group;/ 族群名Gorillanode *next;/定义next指针(三)为每个主题建立一个信息管理系统要求:1.定义结构体存储每个主题词实体的数据;2.使用单向链表进行多个数据的存储;3.要求程序有主菜单,执行时显示实例为:Fish管理系统功能菜单1.增加Fish;2.删除Fish;3.修改Fish;4.查询Fish信息;5.统计Fish个数;6.输出Fish列表;
7、7.退出;请输入你的选择(1-7):请实现以上功能。功能1 数据录入功能2 数据输出功能3统计功能功能4查询功能若查询的是未输入的信息功能5 信息修改如果修改的医生信息不存在功能6 删除信息功能7 退出二、现在考虑新的应用场景,使得产生多对多的关系,例如:Fish主题中,一条鱼与另外多条鱼存在相邻的关系;那么在Fish的基础信息之上,还需要保存相邻的Fish的信息。为此,需要额外扩充关系数据。使用邻接链表是一个很好的方式。其思想是:先开辟数组存储Fish的基本数据,然后,为每个Fish,构建链表,存储所有的关系(即指向相邻Fish的指针数据); 请按照上述思想,为你的每个主题词实体,建立邻接链
8、表实现,并且实现以下功能:Fish图结构数据处理程序1.创建Fish图)2.按照深度遍历的方式打印所有的Fish;3.按照广度遍历的方式打印所有的Fish;V0-v1-v2V10V2vertax firsreageadjvex nextV0V1111v0V2三、直觉上,我们会认为:图的遍历的编程问题,比给定n个数字的线性序列求最大值问题更难。我们知道:面向过程编程的核心问题是:当处理完当前数据,决定下一个数据是谁。请回答下面的问题:直觉上,我们会认为:图的遍历的编程问题,比给定n个数字的线性序列求最大值问题更难。我们知道:面向过程编程的核心问题是:当处理完当前数据,决定下一个数据是谁。请回答下
9、面的问题:1图的广度和深度优先遍历中,如何找到下一个要处理的数据? 访问到一个结点的时,看他的所有邻接点,然后再看下一个处理的数据是那个。在广度遍历中,遍历时,结点以队列的形式存储,通过被访问过的队列来找到下一个处理数据。在深度遍历时,遍历时,结点以栈的形式存储,通过被访问过的栈来找到下一个处理数据。2n个数字线性序列求最大值问题中,如何找到下一个要处理的数据? 线性序列中,数据以线性表形式存储,一个数据的最后一个域的指针指向另一个数据存储即可。 3结合前述解答,解释为何图的广度和深度优先遍历问题难度直觉上大于线性序列最大值问题。线性表中数据之间的关系是一对一的关系,一个结点和他的邻接点是固定
10、的一个,而广度和深度优先遍历数据之间的关系是多对多,一个结点可以有多个邻接点,感觉不确定性大。四、心得和体会1.如何理解数据结构中的关系?如果说:数据结构等同于数据+关系,那么对于编程问题而言,数据更重要还是关系更重要?为什么?我感觉数据结构中的关系是数据直接的一种联系和一种相关性,把数据彼此之间建立联系,让孤立的数据变成一个整体,变成一种结构,在数据间建立关联,有助于更好的管理和处理数据。编程问题而言,我感觉关系更重要,数据只是一种元素,在没有一定的相关性时,这些数据不能做任何编程,而建立关系能让编程处理很多事情。数据之间有了关系,才会有它的意义。2.能够预先建立关系,对于编程来说很重要。能
11、否举例说明:哪些问题无法事先建立数据的关系?括号匹配问题无法事先建立数据的关系3.做完本课程设计后,你尚存在的问题是什么?有所收获的是什么? 做完本课程设计后,我感觉我存在的问题在于如何把现实的问题能用编程更为具体的表示出来,这种把实际问题转化为计算机语言,怎么来综合起来运用,对我来说,我感觉还有点难度,但是我相信如果你用心去做,我的目前存在的问题都会解决。 通过这次课设我个人感觉收获挺大的,起初我对数据结构,学习课本时,感觉到茫然,对课本学习不透,感觉门课,没什么实际用途,其实是我自己感觉的,呵呵。之后就有了这次课设,开始我还是看不懂,没有什么头绪,不过在我坚持下来认真学习后,感觉这门课程在
12、编程方面用处很多,功能也很强大,而且对你掌握语言编程有着极大的帮助,虽然每天晚上都是编程调试程序到半夜睡觉,开始很反感,不过我坚持下来了,感觉自己的编程能力上了一个新台阶,我对程序有了自己的见解,可以自己调试程序,并且激起我学习编程的兴趣,我们专业对计算机编程要求比较高,所以对我以后好好学习,有着极大的帮助,是这次课设给了我这种心态。这是我通过这次课设的收获。3修改Gorillanode功能的实现描述(文字描述和流程图) 这个Gorillanode的信息修改可以修改编号,但个人觉得不妥的是选择修改后无法选择单个修改某个内容,只能全部修改,而且修改的编号不能与你想修改的编号相同,这是令我感到尴尬
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 13
限制150内