数据结构实验指导书1
北 京 林 业 大 学
实 验 任 务 书
备注:实验共分4次,其中实验1――实验3为设计性实验,实验4为综合性实验,具
体安排下面一一列出。
北 京 林 业 大 学 09学年—10学年第 2学期 数据结构实验任务书
专业名称: 实验学时: 4
课程名称:数据结构 任课教师: 李冬梅
实验题目:线性表的基本操作
实验环境: Visual C++
实验目的:
1、掌握线性表的定义;
2、掌握线性表的基本操作,如建立、查找、插入和删除等。
实验内容:
定义一个包含学生信息(学号,姓名,成绩)的的顺序表和链表,使其具有如下功能:
(1) 根据指定学生个数,逐个输入学生信息;
(2) 逐个显示学生表中所有学生的相关信息;
(3) 根据姓名进行查找,返回此学生的学号和成绩;
(4) 根据指定的位置可返回相应的学生信息(学号,姓名,成绩);
(5) 给定一个学生信息,插入到表中指定的位置;
(6) 删除指定位置的学生记录;
(7) 统计表中学生个数。
实验提示:
学生信息的定义:
typedef struct {
char no[8]; //8位学号
char name[20]; //姓名
int price; //成绩
}Student;
顺序表的定义
typedef struct {
Student *elem; //指向数据元素的基地址
int length; //线性表的当前长度 }SqList;
链表的定义:
typedef struct LNode{
Student data; //数据域
struct LNode *next; //指针域
}LNode,*LinkList;
实验要求:
(1) 程序要添加适当的注释,程序的书写要采用缩进格式。
(2) 程序要具在一定的健壮性,即当输入数据非法时,程序也能适当地做出反应,如插
入删除时指定的位置不对等等。
(3) 程序要做到界面友好,在程序运行时用户可以根据相应的提示信息进行操作。
(4) 根据实验报告模板详细书写实验报告,在实验报告中给出链表根据姓名进行查找的
算法和插入算法的流程图。
(5) 上传源程序和实验报告到ftp的相应班级所在文件夹。顺序表的源程序保存为
SqList.cpp,链表的源程序保存为LinkList.cpp,实验报告命名为:实验报告1.doc。源程序和实验报告压缩为一个文件(如果定义了头文件则一起压缩),按以下方式命名:学号姓名.rar,如070814101薛力.rar。
北 京 林 业 大 学 09学年—10学年第 2 学期 数据结构实验任务书
专业名称: 实验学时: 4
课程名称:数据结构 任课教师: 李冬梅
实验题目:二叉树的基本操作
实验环境: Visual C++
实验目的:
1.掌握二叉树的定义;
2.掌握二叉树的基本操作,如二叉树的建立、遍历、结点个数统计、树的深度计算等。
实验内容:
用递归的方法实现以下算法:
1.以二叉链表表示二叉树,建立一棵二叉树(算法5.3);
2.输出二叉树的中序遍历结果(算法5.1);
3.输出二叉树的前序遍历结果(见讲稿);
4.输出二叉树的后序遍历结果(见讲稿);
5.计算二叉树的深度(算法5.5);
6.统计二叉树的结点个数(算法5.6);
7.统计二叉树的叶结点个数;
8.统计二叉树的度为1的结点个数;
9.输出二叉树中从每个叶子结点到根结点的路径。
选做内容
1.交换二叉树每个结点的左孩子和右孩子;
2.设计二叉树的双序遍历(DblOrderTraverse)算法(双序遍历是指对于二叉树的每一
个结点来说,先访问这个结点,再按双序遍历它的左子树,然后再一次访问这个结点,接下来按双序遍历它的右子树)。
实验提示:
7.统计二叉树的叶结点个数
int LeafNodeCount(BiTree T ){
如果是空树,则叶子个数为0;
如果是叶子结点,则叶子结点个数为1(如何表示叶子结点???)
否则叶结点个数为左子树的叶结点个数+右子树的叶结点个数
}
实验要求:
(1) 程序要具在一定的健壮性,即当输入数据非法时,程序也能适当地做出反应。
(2) 程序要添加适当的注释,程序的书写要采用缩进格式。
(3) 根据实验报告模板详细书写实验报告,上交一份实验报告打印稿。
(4) 源程序保存为“sy2.cpp”,实验报告命名为“实验报告2.doc”。将这两个文件压
缩为一个文件,按以下方式命名:学号姓名.rar,上传到ftp的相应班级所在文件夹。
北 京 林 业 大 学 09学年—10学年第 2 学期 数据结构实验任务书
专业名称: 实验学时: 4
课程名称:数据结构 任课教师: 李冬梅
实验题目:图的最短路径算法的实现 实验环境: Visual C++
实验目的:
1.掌握图的邻接矩阵的存储定义;
2.掌握图的最短路径(Dijsktra)算法的实现。 。
实验内容:
设计北京林业大学的校园平面图,所含景点不少于8个。以图中顶点表示学校内各景点,存放景点的名称、景点介绍信息等;以边表示路径,存放路径长度信息。要求将这些信息保存在文件graph.txt中,系统执行时所处理的数据要对此文件分别进行读写操作。
1.从文件graph.txt中读取相应数据, 创建一个图,使用邻接矩阵表示图(算法6.1);
2.景点信息查询:为来访客人提供校园任意景点相关信息的介绍;
3.问路查询:为来访客人提供校园任意两个景点之间的一条最短路径(算法6.10)。
选做内容(对文件进行操作,相应信息变化后,再次进行景点信息查询和问路查询时应
该有所体现)
1. 修改一个已有景点的相关信息;
2. 增加一个新景点及其相关信息;
3. 增加一条新的路径;
4. 删除一个景点及其相关信息;
5. 删除一条路径。
实现提示:
1. 校园道路是双向通行的,可设校园平面图是一个带权的无向图,用邻接矩阵表示此无
向网。
typedef struct{
char name[100];
char info[10000];
}VertexType; //顶点结构
typedef struct{
VertexType vexs[10];
int arcs[100][100];//邻接矩阵
int vexnum,arcnum;//顶点个数,边的个数
}MGraph; //图结构
2. 将图的顶点信息和边的信息用数据文件graph.txt存储,数据文件格式可以设置如下形
式:
图中顶点数 边的数目
景点名称 景点信息
始点 终点 路径长度
如可以在文件graph.txt中存储以下数据:
8 15
女生宿舍 有南北两栋,24层,是北林最漂亮的宿舍楼
小南门 经由北林主路通往学校北门,交通便利
正门 主楼 80
正门 图书馆 400
程序运行的参考结果下图:
实验要求:
(1) 程序要具在一定的健壮性,即当输入数据非法时,程序也能适当地做出反应。
(2) 程序要添加适当的注释,程序的书写要采用 …… 此处隐藏:2257字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [教学研究]2012西拉科学校团少队工作总结
- [教学研究]建筑工程公司档案管理制度
- [教学研究]小学数学人教版六年级上册圆的周长和面
- [教学研究]ERP电子行业解决方案
- [教学研究]钢支撑租赁合同范本
- [教学研究]预应力自动张拉系统用户手册Rev1.0
- [教学研究]MOOC课程:金瓶梅人物写真(每章节课后
- [教学研究]追加被执行人申请书(适用追加夫妻关系)
- [教学研究]2014年驾考科目一考试最新题库766
- [教学研究]2013-2014学年度九年级物理第15章《电
- [教学研究]新版中日交流标准日本语初级下26课-客
- [教学研究]小导管注浆施工作业指导书
- [教学研究]一般财务人员能力及人岗匹配评估表
- [教学研究]打1.2.页 小学一年级暑假口算100以内加
- [教学研究]学习贯彻《中国共产党党和国家机关基层
- [教学研究]2012年呼和浩特市中考试卷_35412
- [教学研究]最简易的电线电缆购销合同范本
- [教学研究]如何开展安全标准化建设
- [教学研究]工作分析与人岗匹配
- [教学研究]2016-2017学年高中历史第七单元现代中
- 山东省义务教育必修地方课程小学三年级
- 台湾宜兰大学互联网交换技术课程 01_In
- 思想品德:第一课《我知我家》课件(人
- SAR合成孔径雷达图像点目标仿真报告(附
- 利辛县“十三五”规划研究报告
- 2015-2020年中国手机APP行业市场发展趋
- 广告策略、创意表现、媒体方案
- 企业如何申请专利的的几点思考
- 《中国教育简史》网上作业
- 高中历史第二单元西方人文精神的起源及
- 年终晚会必备_精彩的主持稿_精心整理_
- 信息工程专业自荐书
- 2019高考历史人教版一轮练习:第十二单
- JAVA俱乐部管理系统软件需求规格说明书
- 2016-2021年中国小型板料折弯机行业市
- (人教新课标)六上_比的基本性质课件PPT
- 辽宁省公务员考试网申论备考技巧:名言
- 神经阻滞麻醉知情同意书
- 施工企业信息填报、审核和发布的相关事
- 初一(七年级)英语完形填空100篇




