版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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
2、测试结果18结论23附录24参考文献25摘褥子随着计算机科学技术、计算机产业的快速发展,计算机的应用大众化也在以惊人的速度发展,计算机应用已经深入到人类社会的各个领域。计算机的应用已不再局限于科学计算,而是更多地应用于信息处理。可以存储在计算机上的数据对象不再是简单的数值,而是扩展到字符、声音、图像、表格等各种信息。信息的处理也不是简单的计算,而是信息存储、信息检索等的非数字计算。那么如何将真实世界中的各种数据信息存储在计算机的内存中并科学地处理计算机中存储的数据信息涉及计算机科学中的信息表示和算法设计问题为了解决现实世界中的任何复杂问题,总是想设计能有效应用的程序。为此,需要解决如何合理组织
3、数据、构建适当的数据结构、设计提高程序执行时间效率和空间效率的适用算法。“数据结构”在这种背景下逐步形成和发展。在各种高级语言编程的基础教学中,解决实际问题的步骤通常是分析实际问题。确定数学模型。编写程序。反复调试程序,直到获得正确的结果。所谓的数学模型通常表示特定的数学公式、方程式等,例如牛顿迭代法求解方程、各种系列的计算等。这是数值计算的问题类型。在现实生活中,会出现更多非数值计算问题,例如手机的地址簿,人们主要查找、添加、删除和修改电话记录。例如,在互联网上查看各种新闻或浏览电子地图的人,可以在主要进行搜索和查询工作的城市地图上找到所需的街道或商店。下面是对不同实例中的数据元素之间存在不
4、同关系的一些常见示例的分析:数据信息的处理主要包括插入、删除、排序、搜索等。关键字:网络;计算机对策二叉树引文课程设计目的:通过本课程设计,开发学生独立思考和综合利用所学相关知识的能力,巩固数据结构课程学习内容,掌握工程软件设计的基本方法,加强机械直接编程能力,克服理论与实践相结合的难关。为了综合运用学生所学的知识,独立分析,培养解决实际问题的能力,培养创造意识和创新能力,让学生接受科学研究的基础教育。为后续计算机课程的学习和毕业项目打下坚实的基础。同时利用这次机会测试自己的c/c/数据结构水平,提高自己的写作水平,锻炼自己的实践能力。设计本课程的意义是加强自身的实践能力,掌握和掌握二叉树的各
5、种遍历算法,通过递归在二叉树导航中的应用提高自身调试器和测试程序的能力。1需求分析1.1任务和分析1.创建输入文件以保存世系记录中每个成员的信息。目测;目测;目测。2.成员信息可以包括姓名、出生日期、婚姻否、地址、未健在、死亡日期(如果已死亡)等附加信息,但不是必需的。目测;目测;目测。3.您可以使用修改后的族谱存档供以后使用。目测;目测;目测。4.您可以从文件中读取现有的族谱,形成树状关系。目测;目测;目测。5.家谱建立后,以图形显示。目测;目测;目测。6.显示有关n代所有者的信息。目测;目测;目测。7.按名称查询以输出成员信息(包括本人、父亲和孩子的信息)。目测;目测;目测。8.根据出生日
6、期查询成员列表。目测;目测;目测。9.输入两个人的名字以确定关系。目测;目测;目测。10.向某人添加孩子。目测;目测;目测。11.删除个人(如果有后代,则删除)。目测;目测;目测。12.修改某人的信息。13.将系谱成员信息输出到括号中;1.2测试数据1许王朝求爱m 1938-1-20 1彭代方0相当热情0 2 3 4 5 100002徐正文m 1964-8-3 2李太君1这个人相当负责任0 6 7 100003徐素华1966-4-6 2李凤光1人好0 100004徐军华m 1969-7-8 2曲舞1此人具有正义感0 100005抒情国m1972-9-2木马1吸引人的是0 100006曙光m 1
7、989-1-27 3 Nomarry 2此人是0 100007曙光初m 1992-9-5 3 Nomarry 2此人也是0 100002摘要设计2.1 ADT说明1.ADT person数据对象:D=Pj | Pj=名称、出生日期、婚姻否、地址、不健在(例如死亡日期)、j=0、1、2,n,其中n=0数据关系:R=基本操作:无。ADT Person2.ADT familytreefile数据对象:D=Aj | Aj属于person,j=1、2、3,n其中n=1资料关系:d中的每个物件均由分行符号分隔,R=| Aj属于d,j=1,2,3,n其中n=1,String属于字符串类型,Aj父级名称(St
8、ring=-1,Aj没有父级,String=Aj的名称表示系谱文件的结尾)基本任务:1。打开系谱类型文件,创建兄弟、孩子的二叉树。2.在内存中读取同级、儿童二进制树,并设置系谱类型文件。ADT FamilytreeFlie3.ADT family tree数据对象: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.修改某人的信息。增加某人的孩子。4.删除某人。通过某人寻找父母、孩
9、子、兄弟。ADT Familytree2.2程序模块结构2.2.1结构定义Struct People /定义结构PeopleInt numchar name20;Char sexchar borndate15;Int generationchar matename20;Int parentchar infor100;LinkList childStruct Node /结构节点定义int a;Struct Node * nextStruct LinkList /linklist定义节点点拉;Struct Tree /定义树PeoplePoint TrInt LengthInt TREE _ I
10、NIT _ SIZE所有功能模块2.3角度功能模块输出成员模块保存系谱模块文件读取文件读取模块新建系谱模块读取系谱模块退出程序模块修改婚姻信息添加成员模块寻找功能模组Void打印树(tree tr);void Save(Tree TR);void Open(Tree TR);Void init树(tree tr);Exit(1)Void marry change (tree tr,char name20);void add people(Tree TR);Void打印输出(people point p);Void init树(tree tr);/如果定义了树,则初始化树TRLinkList I
11、nitLinkList(void);/无任何内容的情况下,初始化read节点的链接列表并返回到链接列表lvoid AddLinkList(link list p);/针对具有前导节点的连接清单pl,在表头中增加节点m的节点void CreatFamilyTree(Tree TR);/在什么都没有的情况下创建家谱TR。返回TRVoid打印输出(people point p);/people知道输出p相关信息的节点的指针pvoid PrintLinkList(link list p);/已知连接列表p,输出连接列表p的信息Intcompamenum (people point p,intnum);
12、/如果您知道节点的指针p和编号num,将p的num和num进行比较,并且没有相等地返回1,则返回0Int comparatename (people point p,char a);/将指向其中一个节点的指针p与名称a、p的名称进行比较;如果两者相同,则返回1;否则返回0void travet reeprint(Tree TR);/已知树TR,按照约定输出节点信息,并按编号、名称和孩子输出void add people(Tree TR);/已知树TR,有人出生时添加节点Void marry change (tree tr,char name20);/已知的树TR和一个人的名字name,因为婚姻
13、需要更改节点的配偶列void Open(Tree TR);/打开存储系谱信息的文件void Save(Tree TR);/将系谱信息保存到指定文件Void打印树(tree tr);/输出系谱中所有成员的信息3详细设计3.1结构定义Struct People /定义结构PeopleInt numchar name20;Char sexchar borndate15;Int generationchar matename20;Int parentchar infor100;LinkList childStruct Node /结构节点定义int a;Struct Node * nextStruct
14、 LinkList /linklist定义节点点拉;Struct Tree /定义树PeoplePoint TrInt LengthInt TREE _ INIT _ SIZE3.2初始化如果定义了Void InitTree(Tree TR) /树,则初始化树TRpeople peopINIT _ SIZE;TR .Tr=peopTR .length=0;TR .TREE _ INIT _ SIZE=INIT _ SIZELinkList InitLinkList(void)/无任何内容的情况下,初始化前导节点的链接列表并返回链接列表llink list L;NodePoint Headhead=(nodepoint)malloc(size of(node);hea
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 膝盖的康复护理方法
- 胆固醇科普讲解
- 2026年成人高考数学与应用数学专业单套试卷
- 2026年成人高考高起专语文阅读理解模拟单套试题
- 提高企业行政管理效率的途径分析
- COPD 患者氧疗的原则
- 2026年6月电气工程及其自动化专业综合技能真题单套试卷
- 招聘护士考试题及答案
- 2025-2026学年人教版七年级信息技术上册基础操作与编程练习(含答案解析)
- 院感手卫生试题及答案
- 特种设备《每日安全检查与使用状况记录》符合市场总局74号令要求 2025版
- 急诊护理交接班制度
- 锂离子电池潜在失效模式及后果分析PFMEA
- 2024-2025学年度辽宁农业职业技术学院单招《语文》试卷(名师系列)附答案详解
- 附件2-光明新区锂电池企业安全检查表
- 压力管道设计审批人员考核试题及答案1
- 2025年山东铁投集团公开招聘(33人)笔试参考题库附答案解析
- 原木定制知识培训班课件
- 园林施工三级安全教育内容
- 2025年广元市中考数学试题卷
- 石蜡组织包埋与切片技术
评论
0/150
提交评论