C语言算法与数据结构[2023-01-29]
算法与数据结构
大作业
(2022 —2023 学年第 1 学期)
学 院 电子信息工程学院
专业班级 电信20-2班
学 号 202005010209
姓 名
完成日期 2022.10.25~2022.11.6
题目一、以你的家庭成员结构为依据,构造一张家庭成员信息表(至少有5个以上成员信息),每个成员至少包括姓名、性别、年龄等5个属性,以表格的形式呈现内容。
在家庭成员信息表的基础上,要求编程实现如下功能:
1.选择合适的数据结构,完成家庭成员信息表的输入和输出,输入时需验证数据的有效性。(5分)
2.在信息表中,按照键盘输入的位置信息或某个数据项的值,实现对数据的插入和删除操作。(10分)
3.本门课中所学的排序算法中选用两种,分别用于按姓名和按年龄完成对信息表的内容进行排序,并绘制N-S图描述排序算法思想。(20分)
4.本门课中所学的查找算法中选用两种,分别用于按姓名和按年龄完成对信息表的内容进行查找。(10分)
5.在main函数中设计菜单,界面友好,完成上述对家庭成员信息表的基本操作,代码中加必要注释,报告中给出必要的算法描述以及程序代码运行截图。(5分)
姓名 性别 年龄 身高 体重
爷爷 何· 男 80 176 115
奶奶 杨·· 女 79 153 105
爸爸 何·· 男 52 173 120
妈妈 惠·· 女 50 153 110
女儿 何卫英 女 21 150 90
儿子 何卫· 男 17 173 105
(表1 家庭成员信息表)
题目二、以你的家族成员结构为依据,构造家谱树(树的深度大于等于4),要求完成如下任务:
1.以姓名为结点值,画出家谱树;画图完成树转换成二叉树。(5分)
2.编程实现:采用二叉链表的存储结构,完成二叉树的建立、二叉树的遍历(先序遍历、中序遍历和后序遍历),要求主函数中设计菜单,界面友好,代码中加必要注释,报告中给出必要的算法描述以及程序代码运行截图。(20分)
题目三、将你的住址所在的村或小区作为图中一顶点,构造一个无向网,顶点代表某村或某小区,权值代表距离,图中的顶点至少包含5个。
1.画出该无向网,图的顶点中存储村名或小区名;画出该带权图的邻接矩阵。(5分)
2.编程实现:建立图的邻接矩阵,输出图的顶点和边的信息,计算图中顶点的度,要求在主函数中设计菜单,界面友好,代码中加必要注释,报告中给出必要的算法描述以及程序代码运行截图。(20分)
格式要求:
(1)全文采用仿宋字体(小四,1.2倍行距,不加粗);
(2)图片居中排版,图片要有序号(图* ***),并有图例说明(在图的下方,五号字体),并在正文中引用图片;
(3)表格居中排版,采用三线表,表格也要有序号和说明(表 ******),五号字体,并在正文中引用;
(4)提交电子文档,包括大作业报告、源程序(按题号命名,如题目一的源程序命名为1.c);所有存档资料均提交开物.云课堂。
班级:电信20-2班 学号:202005010209 姓名:何卫英
成绩评定表(教师用)
题号 考核内容 分值(分) 成绩
题目一
(50分) 数据元素结构定义及数据的输入输出 5
数据的插入,数据的有效性判断 5
数据的删除 5
按姓名排序数据及N-S图的绘制 10
按年龄排序数据及N-S图的绘制 10
按姓名查找数据 5
按年龄查找数据 5
主函数的设计,界面的友好性,代码可读性 5
题目二
(25分) 按要求绘制树和二叉树 5
结点的定义,二叉树的建立 10
二叉树的遍历 5
主函数的设计,界面的友好性,代码可读性 5
题目三
(25分) 按要求绘制图和邻接矩阵 5
邻接矩阵的输入和输出 10
图中顶点的度的计算 5
主函数的设计,界面的友好性,代码可读性 5
总成绩
源码
https://pan.baidu.com/s/1pq1Nwwo0hlc_J84F93HM4A?pwd=1111
标签:10,01,20,题目,29,C语言,算法,二叉树,顶点 From: https://www.cnblogs.com/codewriter/p/17074038.html