《数据结构》实验教学大纲

  • 格式:doc
  • 大小:31.50 KB
  • 文档页数:9

下载文档原格式

  / 9
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《数据结构》实验教学大纲

课程代码: B03203

课程名称:数据结构

英文名称: Data Structures

课程总学时: 60 (其中理论课 46 学时,实验 14 学

时)学分: 2.5

课程类别:必修课程性质:专业基础课

先修课程:计算机导论、Java语言程序设计

面向专业:软件技术、计算机网络技术

开课单位:软件工程系

一、实验教学的性质地位和任务

数据结构实验课是计算机类专业的一门专业基础实验课,是后续专业课程的基础;该课程的主要任务是:进一步掌握和拓展所学的理论知识,初步掌握解决问题的基本结构以及建立在该结构上的算法,培养学生的综合能力;本课程主要内容包括:线性表及其应用实验,串及其应用实验,树及其应用实验,图及其应用实验,查找实验,内部排序实验;通过本实验课的学习,学生应学会分析研究计算机加工的数据结构的特性,培养数据抽象的能力,训练学生进行复杂程序设计的技能,培养良好程序设计的习惯,初步掌握算法的时间分析和空间分析的技术。

二、实验内容与要求

项目一、线性表及其应用

(1)实验目标

1.加深理解线性表的顺序表示与链式表示的意义和区别,理解不同存储结构下插入与删除操作的算法;

2.熟练掌握线性表的顺序存储方式及其插入、删除等基本操作的算法实现;

3.熟练掌握线性表的链式存储方式及其插入、删除等基本操作的算法实现;

(2)具体内容

1.设计一组输入数据并编写主程序分别调用上述算法(顺序表示的算法为InitList_Sq、ListInsert_Sq、ListDelete_Sq等,链式表示的算法为

InitList_L、ListInsert_L、ListDelete_L等),调试程序并对相应的输出作出分析;修改输入数据,预期输出并验证输出的结果,加深对有关算法的理解;

2.设计一个可以容纳40位数的求n!的程序。

(3)主要仪器设备与工具

PC机一台/每人。

项目二、栈及其应用

(1)实验目标

1.理解栈的概念;

2.掌握利用数组实现栈的基本操作;

3.应用栈结构来解决表达式求值的问题。

(2)具体内容

1.完成对堆栈中数据的存取(入栈 ,出栈,访问栈中元素);

2.利用堆栈来实现求前序表达式或后序表达式的方法。

(3)主要仪器设备与工具

PC机一台/每人。

项目三稀疏矩阵运算

(1)实验目标

掌握三元组法存储稀疏矩阵的方法及相关的基本操作,用数组存放矩阵的三元组,矩阵的行数和列数及非0数据从键盘输入,若两个矩阵不能相乘则输出“Error”

(2)具体内容

编写一个程序实现下列目标。

1.用三元组法存放稀疏矩阵

2.求出矩阵相乘结果

3.输出结果矩阵

(3)主要仪器设备与工具

PC机一台/每人。

项目四、树及其应用实验

(1)实验目标

1.掌握二叉树链表的结构和二叉排序树的建立过程;

2.掌握二叉排序树的插入和删除操作;

3.加深对二叉树的理解。

(2)具体内容

1.编写二叉排序树的基本操作函数

① 查找结点函数 SearchNode( TREE *tree,int key, TREE **pkpt , TREE **kpt)

② 二叉排序树插入函数 InsertNode (TREE **tree,int key )

③ 二叉排序树删除函数 DeleteNode (TREE **tree,int key)

2.调用上述函数实现下列操作

① 初始化二叉树

② 调用插入函数建立二叉排序树

③ 调用查找函数在二叉树中查找指定的结点

④ 调用删除函数删除指定的结点,并动态地显示删除结果。

(3)主要仪器设备与工具

PC机一台/每人。

项目五、图及其应用实验

(1)实验目标

1.掌握图的邻接矩阵、邻接表的表示方法;

2.掌握建立图的邻接矩阵的算法;

3.掌握建立图的邻接表的算法;

4.加深对图的理解。

(2)具体内容

1.编写图的基本操作函数

① 建立图的邻接表,邻接矩阵 Create_Graph(LGraph lg,

MGraph mg)

② 邻接表表示的图的递归深度优先遍历 LDFS(LGraph g,int i )

③ 邻接矩阵表示的图的递归深度优先遍历 MDFS(MGraph g,

int i, int vn)

④ 邻接表表示的图的广度优先遍历 LBFS(LGraph g, int s, int n)

⑤ 邻接矩阵表示的图的广度优先遍历 MBFS(LGraph g, int s,

int n)

2.调用上述函数实现下列操作

① 建立一个图的邻接矩阵和图的邻接表

② 采用递归深度优先遍历输出图的邻接矩阵

③ 采用递归深度优先遍历输出图的邻接表

④ 采用图的广度优先遍历输出图的邻接表

⑤ 采用图的广度优先遍历输出图的邻接矩阵

(3)主要仪器设备与工具

PC机一台/每人。

项目六、查找实验

(1)实验目标

1.掌握在数组上进行各种查找的方法和算法;

2.深刻理解各种方法的特点,并加以灵活运用。

(2)具体内容

1.编写各种查找方法的基本操作函数

① 无序线性表的顺序查找 search1( int *k,int n, int key)

② 有序线性表的顺序查找 search2( int *k , int n , int key)

③ 折半查找 bin_search(int *k , int n , int key)

2.调用上述函数实现下列操作: