电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

数据结构家谱管理系统

28页
  • 卖家[上传人]:hs****ma
  • 文档编号:476919976
  • 上传时间:2024-01-25
  • 文档格式:DOCX
  • 文档大小:374.26KB
  • / 28 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、数学与计算机学院课程设计说明书课程名称:数据结构与算法课程设计课程代码:题 目:二叉树生成家谱 年级/专业/班:学生姓名:学 号:开始时间:2015年12月09日完成时间:2015年12月29日课程设计成绩:学习态度及平时成绩(30)技术水平与实际能力(20)创新(5)说明书(计算书、图纸、 分析报告)撰写质量(45)总分(100)指导教师签名:年 月 日目录(小三黑体,居中)1需求分析61.1任务与分析61.2测试数据62概要设计72.1 ADT 描述72.2程序模块结构82.3各功能模块93详细设计103.1结构体定义103.2初始化113.3插入操作133.4查询操作154调试分析185用户使用说明186测试结果18结论23附录24参考文献25摘要随着计算机科学技术、计算机产业的迅速发展,计算机的应用普及 也在以惊人的速度发展,计算机应用已经深入到人类社会的各个领域。 计算机的应用早已不限于科学计算,而更多地应用在信息处理方面。 计算机可以存储的数据对象不再是纯粹的数值,而扩展到了字符、声 音、图像、表格等各种各样的信息。对于信息的处理也不再是单纯的 计算,而是一些如信息存储、信

      2、息检索等非数值的计算。那么,现实 世界的各种数据信息怎样才能够存储到计算机的内存之中,对存入计 算机的数据信息怎样进行科学处理,这涉及计算机科学的信息表示和 算法设计问题。为解决现实世界中某个复杂问题,总是希望设计一个 高效适用的程序。这就需要解决怎样合理地组织数据、建立合适的数 据结构,怎样设计适用的算法,以提高程序执行的时间效率和空间效 率。“数据结构”就是在此背景下逐步形成、发展起来的。在各种高级语言程序设计的基本训练中,解决某一实际问题的步骤 一般是:分析实际问题;确定数学模型;编写程序;反复调试程序直 至得到正确结果。所谓数学模型一般指具体的数学公式、方程式等, 如牛顿迭代法解方程,各种级数的计算等。这属于数值计算的一类问 题。而现实生活中,更多的是非数值计算问题,如手机中的通讯录, 人们对它的操作主要是查找、增加、删除或者修改电话记录。再如, 人们经常在互联网上查阅各种新闻,或查阅电子地图,人们可以在某 城区地图上查找自己所需的街道或店铺,其操作主要是搜索和查询。 下面再来分析几个典型实例,它们的主要特点是:不同实例的数据元 素之间存在不同的关系;对数据信息的处理主要有插入

      3、、删除、排序、 检索等。关键词:网络化;计算机;对策;二叉树引言课程设计的目的:通过本项课程设计,培养学生独立思考、综合运用所学有 关相应知识的能力,使学生巩固数据结构课程学习的内容,掌握工程软件设 计的基本方法,强化上机动手编程能力,闯过理论与实践相结合的难关;为了培 养学生综合运用所学知识、独立分析和解决实际问题的能力,培养创意识和创新 能力,使学生获得科学研究的基础训练。为后续各门计算机课程的学习和毕业设 计打下坚实基础。同时,可以利用这次机会来检验自己的c/c+/数据结构水平, 提高自己的写作水平,锻炼自己的动手能力。而此次课程设计的意义在于:增强自己的动手能力,熟悉和掌握二叉树各种遍历 的算法,以及递归在遍历二叉树中的应用,增强自己的调试程序和测试程序的能 力。1需求分析1.1任务与分析1. 建立输入文件以存放最制家谱中各成员的信息。2. 成员的信息中均应包含以下内容:姓名、出生日期、婚否、地址、健在 否、死亡日期(若其已死亡)也可附加其它信息、但不是必需的。3. 能对修改后的家谱存盘以备以后使用。4. 能从文件中读出已有的家谱,形成树状关系。5. 家谱建立好之后,以图形方式

      4、显示出来。6. 显示第n代所有人的信息。7. 按照姓名查询,输出成员信息(包括其本人、父亲、孩子的信息。8. 按照出生日期查询成员名单。9. 输入两人姓名,确定其关系。10. 给某人添加孩子。11. 删除某人(若其还有后代,则一并删除)。12. 修改某人信息。13. 用括号法输出家谱成员信息1.2测试数据1徐朝嬴m1938-1-201彭代芳0此人相当的热心0234 5100002徐廷文m1964-8-32李太群1此人相当有责任心067100003徐素华w1966-4-62李奉光1此人很好0100004徐军华m1969-7-82曲舞1此人很有正义感0100005徐廷国m1972-9-22木玛1此人心的很善良0100006徐光勇m1989-1-273Nomarry2此人很牛逼0100007徐光超m1992-9-53Nomarry2此人亦很牛逼0100002概要设计2.1 ADT描述1.ADT Person(数据对象:D=Pj | Pj=姓名、出生日期、婚否、地址、健在否(如过世, 还应有其死亡日期),j=0,1,2,n,其中n=0数据关系:R=基本操作:无。ADT Person2ADT F

      5、amilytreeFile(数据对象:D=(Aj | Aj 属于 Person,j=1,2,3,,n 其中 n=1数据关系:D中每个对象用换行符隔开,R= | Aj属于D,j=1,2, 3,n 其中n=1,String属于字符串类型,为Aj父亲姓名(若String=-1,Aj无父亲, 若String二Aj的姓名,表示家谱文件结束)基本操作:1.打开家谱类型文件,并建立兄弟、孩子二叉树。2.从内 存中读取兄弟、孩子二叉树,并建立家谱类型文件。ADT FamilytreeFlie3gADT Familytree(数据对象:D=(Aj | Aj 属于 Person,j=1,2,3,n 其中 n=0数据关系:V=( | Aj-1,Aj属于D,j=2,3,,n其中n=2,且Aj-1与Aj为祖先与后代关系(parent)、后代与祖先关系(child)、兄弟之间关系 (sibling) 基本操作:1.显示某人信息。2.修改某人信息。3.增加某人孩子。4.删除某人。5.通过某人查找其双亲、孩子、兄弟。7 / 24ADT Familytree2.2程序模块结构2.2.1结构体定义struct Peopl

      6、e定义结构体 People(int num;char name20;char sex;char borndate15;int generation;char matename20;int parent;char infor100;LinkList child;;struct Node(int a;struct Node * next;;struct LinkList(NodePoint La;;/定义结构体Node定义链表struct Tree(PeoplePoint Tr;int Length;int TREE_INIT_SIZE;;/定义树2.3各功能模块void InitTree(Tree &TR);/在树己定义的情况下,初始化树TRLinkList InitLinkList(void); 在什么都没有的情况下,初始化一个带头结 点的链表并返回链表Lvoid AddLinkList(LinkList p); 对带头结点的链表pl,添加一个节点为m的 节点在表头void CreatFamilyTree(Tree &TR); 在什么都没有的情况下,创建一个家谱TR。 并返回TRvoi

      7、d PrintPeople(PeoplePoint p); / 已知某节点的指针 p,输出 people p 的 相关信息void PrintLinkList(LinkList p); /已知链表p,输出链表p中的信息int CompareNum(PeoplePoint p,int num); /已知某节点的指针 p 和一个编号num,比较p的num和num,如果相等返回1,否则返回0int CompareName(PeoplePoint p,char a);/已知某节点的指针 p 和一个姓名 a,比较p的name,如果两者相等返回1,否则返回0void TraveTreePrint(Tree TR); 已知树TR,按规定输出节点信息,根据编号、 姓名、孩子输出void AddPeople(Tree &TR); /已知树TR,当有人出生时,添加一个节点void MarryChange(Tree TR,char name20); /已知树 TR 和一个人的姓名 name, 因为结婚需要改变节点中的配偶一栏void Open(Tree &TR);/打开保存家谱信息的文件void Save(

      8、Tree TR);/保存家谱信息到指定文件void PrintTree(Tree TR); /输出家谱中所有成员的信息3详细设计3.1结构体定义struct People(int num;char name20;char sex;char borndate15;int generation;char matename20;int parent;char infor100;LinkList child;;struct(int a;struct;struct(NodePoint La;;定义结构体PeopleNodeNode * next;LinkList/定义结构体Node定义链表/定义树struct Tree(PeoplePoint Tr;int Length;int TREE_INIT_SIZE;;3. 2初始化void InitTree(Tree &TR)/在树己定义的情况下,初始化树TR(People peopINIT_SIZE;TR.Tr二peop;TR.Length=0;TR.TREE_INIT_SIZE=INIT_SIZE;LinkList InitLinkList(void)/在什么都没有的情况下,初始化一个带头结点 的链表并返回链表L(LinkList L;NodePoint Head;Head=(NodePoint)malloc(sizeof(Node);Head-a=0;Head-next=NULL;L.La=Head;return (L);

      《数据结构家谱管理系统》由会员hs****ma分享,可在线阅读,更多相关《数据结构家谱管理系统》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.