9299.net
大学生考试网 让学习变简单
当前位置:首页 >> 工学 >>

电气学院《数据结构》课程实验指导书

电气学院《数据结构》课程实验指导书

《数据结构》课程实验指导书
实验一
一、实验目的:
掌握顺序存储结构的特点,掌握顺序存储结构的常见算法。

线性表的顺序存储结构

二、实验内容:
1.建立线性表顺序存储实现的数据结构,数据元素类型为整型。 2.实现教材 19 页定义的线性表 ADT。 3.编写一个主函数,测试 ADT 实现是否正确。 三、实验要求: 根据实验内容编程,上机调试、得出正确的运行程序。

四、实验学时:3 学时 五、实验步骤:
1.进入编程环境(本课程实验环境为 Visual C++ 6.0),建立一个新的项目文件; 2.录入已编制的程序代码。代码应分为多个文件,包括定义数据结构的头文件、顺序 表实现和主函数的源文件。 3. 编译运行调试程序,观察运行情况和输出结果。

六、说明
1. 通过本实验熟悉开发环境的使用。 2. 可以参考课件中提供的 c2-1.h, bo2-1.c, main2-1.c。 3. 选做内容:数据元素类型改为包含多个字段的结构类型,程序应如何修改?

实验二 实验二
一、实验目的:

简单计算表达式分析程序

1.掌握栈的实现方法。 2.掌握利用栈解决实际应用问题的方法。 3.掌握基本的表达式分析方法。

二、实验内容:
1.建立栈的数据结构,实现教材 45 页定义的栈 ADT。 2.编写进行简单的计算表达式分析的程序。 3.输入一个简单的计算表达式,能得出正确的计算结果。

三、实验要求:
1.自行确定栈结构的采用顺序存储结构还是链式存储结构。 2.简单计算表达式中的操作数为 0~9 的数字,支持左结合的加、减、乘、除运算和括 号,以分号表示表达式结束。 3.写出实验报告(包括源程序和运行结果) 写出实验报告( 。 写出实验报告 包括源程序和运行结果)

四、实验学时:3 学时 五、实验步骤:
1.进入编程环境,建立新的项目文件;

2.录入已编写的程序代码。代码应分为多个文件,包括栈实现、表达式分析函数和主 函数的源文件。 3.编译运行程序,观察运行情况和输出结果。输入的计算表达式应包括不同优先级的 运算和括号。

六、说明
1、参考课件中提供的 expression.c。 2、选做:检查程序是否健壮,故意输入错误的表达式,程序能做出正确的反应吗?如果 不能,如何改进?

实验三
一、实验目的:

赫夫曼编码

掌握建立赫夫曼树,求赫夫曼编码并进行编码/译码的方法。

二、实验内容:
从文件 param.txt 中读取若干字符及每个字符出现的频率,将字符出现的频率作为结点 的权值,建立赫夫曼树,然后对各个字符进行赫夫曼编码,屏幕显示输出每个字符及对应的 赫夫曼编码。再利用此赫夫曼树对报文“This program is my favorite”进行编码和译码。编 码后的结果保存在文件 code.txt 中。 注:param.txt 的内容如下(其中第一行为字符个数,这里是 27;第二行是空格符) 27 :186 a:64 b:13 c:22 d:32 e:103 f:21 g:15 h:47 i:57 j:1 k:5 l:32 m:20 n:57 o:63 p:15 q:1 r:48 s:51 t:80 u:23

v:8 w:18 x:1 y:16 z:1 三、实验要求: 1. 用 VC 完成算法设计和程序设计并上机调试通过。 上机调试、 得出正确的运行程序。 2. 写出实验报告(包括源程序和运行结果) 写出实验报告(包括源程序和运行结果) 。运行结果包括得到的赫夫曼编码值,编 码和译码的结果。

四、实验学时:3 学时 五、实验步骤:
1.进入编程环境,建立新的项目文件; 2.录入已编写的程序代码。 3.编译运行程序,观察运行情况和输出结果。

六、说明
1、参考课件中提供的 algo6-1.c。 2、修改上述代码中定义的数据结构,应保存权值及其对应的字母。 3、增加编码和译码的函数。

实验四
一、实验目的:

图的遍历操作

掌握图的邻接矩阵和邻接链表的存储结构;掌握建立图结构的方法;掌握深度优先、广 度优先遍历图的算法。

二、实验内容:
读入课件中提供的 F7-1.DAT 文件,生成一个无向图,任选一种存储结构,完成深度优 先遍历和广度优先遍历的操作。 该文件的格式为: 1 行是顶点数目; 2 行是边的数目; 第 第 3~10 行是顶点的名称; 11~24 行是边的首末端。 三、实验要求: 1. 选择一种图的存储方式(邻接矩阵/邻接表)。 2. 编写程序实现 DFS 和 BFS。 3. 上机调试得出正确的运行程序。

四、实验学时:3 学时 五、实验步骤:
1.进入编程环境,建立新的项目文件; 2.录入已编写的程序代码。 3.编译运行程序,观察运行情况和输出结果。

六、说明
1、参考课件中提供的 bo7-1.c/ bo7-2.c 实现建立图数据结构的功能,对参考代码应进行删 减,本实验只要求生成无向图。 2、自行编写 DFS 和 BFS 的代码。 3、BFS 需要使用队列,可以参考课件中提供的 bo3-6.c。


推荐相关:
网站首页 | 网站地图
All rights reserved Powered by 大学生考试网 9299.net
文档资料库内容来自网络,如有侵犯请联系客服。zhit325@qq.com