




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学 号 1207010208天津城建大学数据结构课程设计设计说明书navigator管理信息系统+navigator图结构数据应用起止日期: 2015 年 01月 12 日 至 2015年 01月 16日学生姓名安达开班级12计算机2班成绩指导教师(签字)计算机与信息工程学院2015年 01月 16日天津城建大学课程设计任务书20142015学年第 1学期 计算机与信息工程 学院 计算机与科学技术专业 12级2 班级课程设计名称: 数据结构课程设计 设计题目: navigator管理信息系统+navigator图结构数据应用 完成期限:自 2015年 01月 12日至 2015 年 01月 16 日共 1 周设计依据、要求及主要内容(可另加附页):一、建立一个小型的管理信息系统:1、确认管理信息系统的主题:(一)主题词汇表:1.hippopotamus 河马 2.jackal 豺 3.kingnavigatorer 翠鸟 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.waiter 服务员 19.accountant 会计20.monk-和尚 21.dog狗 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-法官 40. rabbit兔子41.carpenter-木匠 42.painter-油漆匠 43.tailor-裁缝师 44.driver-司机 45.captain-船长 46.navigatorerman-渔夫 47.doctor医师 48.gardener园丁 49. chemist-药剂师 50.engineer工程师 51.scientist-科学家 52.salesperson售货员 53.photographer摄影师 54.fox狐 55.hourse 马 56.giraffe 长颈鹿 57.goat 山羊 58. Gorilla 大猩猩 59.Seagull海鸥 60.hedgehog 刺猬 61. Teacher 教师 62.professor 教授 63. cook 厨师 64.principal 校长65.singer 歌手66. monkey猴子按对应序号,每个同学获取对应词汇1 08290220 马骁 2 10290101 产健 3 10290102 崔和安 4 10290103 倪涛涛 (二)为每个主题词确定具有特征的信息集。例:navigator:id, name, length, Weight, Color, Is_Carnivore, Is_Marine意义:编号, 名字, 长度, 体重, 颜色, 是否食肉, 是否海鱼(三)为每个主题建立一个信息管理系统要求:1.定义结构体存储每个主题词实体的数据;2.使用单向链表进行多个数据的存储;3.要求程序有主菜单,执行时显示实例为:navigator管理系统功能菜单1.增加navigator;2.删除navigator;3.修改navigator;4.查询navigator信息;5.统计navigator个数;6.输出navigator列表;7.退出;请输入你的选择(1-7):请实现以上功能。二、现在考虑新的应用场景,使得产生多对多的关系,例如:navigator主题中,一条鱼与另外多条鱼存在相邻的关系;那么在navigator的基础信息之上,还需要保存相邻的navigator的信息。为此,需要额外扩充关系数据。使用邻接链表是一个很好的方式。其思想是:先开辟数组存储navigator的基本数据,然后,为每个navigator,构建链表,存储所有的关系(即指向相邻navigator的指针数据);请按照上述思想,为你的每个主题词实体,建立邻接链表实现,并且实现以下功能:navigator图结构数据处理程序1.创建navigator图)2.按照深度遍历的方式打印所有的navigator;3.按照广度遍历的方式打印所有的navigator;4.退出。三、直觉上,我们会认为:图的遍历的编程问题,比给定n个数字的线性序列求最大值问题更难。我们知道:面向过程编程的核心问题是:当处理完当前数据,决定下一个数据是谁。请回答下面的问题:(1) 图的广度和深度优先遍历中,如何找到下一个要处理的数据? (2) n个数字线性序列求最大值问题中,如何找到下一个要处理的数据? (3)结合前述解答,解释为何图的广度和深度优先遍历问题难度直觉上大于线性序列最大值问题。四、心得和体会1.如何理解数据结构中的关系?如果说:数据结构等同于数据+关系,那么对于编程问题而言,数据更重要还是关系更重要?为什么?2. 能够预先建立关系,对于编程来说很重要。能否举例说明:哪些问题无法事先建立数据的关系?3. 做完本课程设计后,你尚存在的问题是什么?有所收获的是什么?指导教师(签字): 系主任(签字): 批准日期: 年 月 日navigator管理信息系统+navigator图结构数据应用设计报告一、navigator信息管理系统1属性集及对应意义航海家姓名:name;航海家性别:sex;航海家年龄:age;航海家经验:jingyan;航海家航海时间:shijian;航海家国籍:guoji;航海家成就:chengjiu;2 结构体定义struct NodeCString name;CString sex;CString age;CString jingyan;CString shijian;CString guoji;CString chengjiu;struct Node *next;3 修改navigator功能的实现描述(文字描述和流程图)修改功能代码:CString str1(对不起没有此航海家!修改失败!);bool i;POSITION pos;pos = m_List_File.GetFirstSelectedItemPosition();if (pos = NULL)MessageBox(str6,TEXT(提示),MB_ICONWARNING);return;p=hanghai.first-next;while (p!=NULL)if(m_name=p-name)i=true;break;p=p-next;if(p=NULL)MessageBox(str1);return;if(i)p-age=m_age;p-sex=m_combox1;p-jingyan=m_jingyan;p-shijian=m_shijian;p-guoji=m_guoji;p-chengjiu=m_chengjiu;LVITEM lvItem;POSITION pos;pos = m_List_File.GetFirstSelectedItemPosition();int nItem = m_List_File.GetNextSelectedItem( pos );lvItem.mask = LVIF_TEXT;m_List_File.SetItemText(nItem, 0, m_name.GetBuffer();m_List_File.SetItemText(nItem, 1, m_combox1.GetBuffer();m_List_File.SetItemText(nItem, 2, m_age.GetBuffer();m_List_File.SetItemText(nItem, 3, m_jingyan.GetBuffer();m_List_File.SetItemText(nItem, 4, m_shijian.GetBuffer();m_List_File.SetItemText(nItem, 5, m_guoji.GetBuffer();m_List_File.SetItemText(nItem, 6, m_chengjiu.GetBuffer();UpdateData(false);MessageBox(str);文字描述 :先获取要修改人的姓名,然后从链表读出该人的信息显示在EDIT框,然后再EDIT框修改要修改的值,修改后再由EDIT写回listCtrl列表并写回链表中;4 各个功能的界面贴图(每个图都要图名)主界面添加功能删除功能修改功能查询功能统计个数功能输出列表功能输入邻接表节点建立邻接表节点之间的关系深度遍历广度遍历5画出包含有三个数据的链表示意图二、navigator图结构数据处理程序1描述你的场景主题麦哲伦和哥伦布是一个国家的麦哲伦和达伽马是同样的航海时间麦哲伦 哥伦布 达伽马 都是16世纪的郑和的事迹影响了库克和达伽马哥伦布是库克的偶像2 画图表示你的样例数据对应的邻接链表,并在上方注明结构体的各个域名;3 用自己的话,描述深度遍历或广度遍历的算法思想深度遍历是通过不停的找相邻的其中一个节点进行递归遍历,遍历时使用堆栈进行存储。如果该节点没有相邻节点或者相邻节点都被遍历,那么就返回上个节点进行遍历与上一个节点相邻的一个节点,每个节点都是这个算法。直到所有的节点都被遍历。4 广度遍历和深度遍历在存储待处理结点的数目上,哪个更多?为什么?深度遍历更多一些 因为深度遍历是类似于栈的进出顺序会有更多节点,而广度遍历是类似于队列的进出顺序所以节点少一些。三、程序难度的探索直觉上,我们会认为:图的遍历的编程问题,比给定n个数字的线性序列求最大值问题更难。我们知道:面向过程编程的核心问题是:当处理完当前数据,决定下一个数据是谁。请回答下面的问题:1 图的广度和深度优先遍历中,如何找到下一个要处理的数据? 深度遍历是通过不停的找相邻的其中一个节点进行遍历,遍历时使用堆栈进行存储。广度遍历是通过不停的找所有相邻的节点进行一层一层的遍历,遍历时使用队列进行存储。 2 n个数字线性序列求最大值问题中,如何找到下一个要处理的数据? 先设置一个变量 将变量初始值赋值为线性序列的第一个值,然后让变量和线性序列的所有值 依次比较 如果线性序列中的值 比变量的值大,就将变量的值改成线性序列中得值,直到比较到最后。 3 结合前述解答,解释为何图的广度和深度优先遍历问题难度直觉上大于线性序列最大值问题。因为思想逻辑复杂,图的结构比线性序列复杂,线性序列的前件和后件都只有一个,线性序列的节点前件有一个,后件有一个,而图的节点前件,后件都有多个,这导致遍历的复杂度大大增加四、心得和体会1.如何理解数据结构中的关系?如果说:数据结构等同于数据+关系,那么对于编程问题而言,数据更重要还是关系更重要?为什么?关系就是数据与数据之间的联系和逻辑关系更重要,数据结构是一门计算机语言学的基础学科,它不属于任何一门语言,其体现的是几乎所有标准语言的算法的思想。数据结
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年新能源汽车废旧电池回收利用市场竞争力研究报告
- 智能家居系统集成2025年技术创新成果鉴定与市场应用策略报告
- 2025年商业银行金融科技人才金融科技人才培养与职业发展规划报告
- 《公共文化服务》课程教学大纲
- 2025年机械伤害安全知识题库及答案
- 2025年考研管理类联考真题及答案解析
- 机械安全考试卷及答案
- 教科版小学科学一年级上册 1.1 我们知道的植物 教案
- 第10课 养成遵纪守法好习惯 同步练习(含答案)高教版中职职业道德与法治
- 多媒体课件在古诗教学
- 中学八年级信息技术Excel-电子表格教案
- 《认识感官》课件
- 工程伦理课程课件
- 秋季传染病预防知识讲座课件
- 055.重症超声在重症相关操作中应用专家共识
- 人教版九年级上册化学第二单元 空气和氧气(单元复习课件)
- 2024小学语文教学及说课课件:二年级上册《田家四季歌》
- GB/T 44304-2024精细陶瓷室温断裂阻力试验方法压痕(IF)法
- 威亚合同协议书
- 2024至2030年中国苯甲酰氯行业发展状况及投资规划研究报告
- 1.1 鸦片战争 课件 2024-2025学年统编版八年级历史上册
评论
0/150
提交评论