数据结构实验指导书

  • 格式:doc
  • 大小:3.12 MB
  • 文档页数:31

下载文档原格式

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

《数据结构与算法》实验指导书马晓波秦俊平刘利民编

内蒙古工业大学信息工程学院计算机系

2008年9月1日

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

三、实验目的、内容与要求

实验一线性表的创建与访问算法设计(4学时)

(一)实验目的

数据结构于算法实验是计算机类本科学生计算机软件知识重要的实验环节,它将使学生从实践上学会用高级语言程序设计、实现复杂的数据结构,为大型软件设计奠定基础。本实验以某种线性表的创建与访问算法设计作为实验内容,举一反三,全面、深刻掌握线性结构的实现方法,培养解决问题的能力。

(二)实验内容

1、编写生成线性表的函数,线性表的元素从键盘输入;

2、编写在线性表中插入元素的函数;

3、编写在线性表中删除元素的函数;

4、编写输出线性表的函数;

5、编写主函数,调用以上各函数,以便能观察出原线性表以及作了插入或删除后线性表的屏

幕输出。

方案一采用顺序存储结构实现线性表。

方案二采用单链表结构实现线性表。

(三)实验要求

1、掌握线性结构的机器内表示;

2、掌握线性结构之上的算法设计与实现;

3、列表对比分析两种数据结构的相应操作的时间复杂度、空间复杂度,阐明产生差异的原因。

实验二二叉树的创建与访问算法设计(4学时)

(一)实验目的

本实验以二叉树的创建与访问算法设计作为实验内容,掌握树型结构的实现方法,培养解决负责问题的能力。

(二)实验内容

1、编写生成二叉树的函数,二叉树的元素从键盘输入;

2、编写在二叉树中插入元素的函数;

3、编写在二叉树中删除元素的函数;

4、编写遍历并输出二叉树的函数。

方案一采用递归算法实现二叉树遍历算法。

方案二采用非递归算法实现二叉树遍历算法。

(三)实验要求

1、掌握树型结构的机器内表示;

2、掌握树型结构之上的算法设计与实现;

3、列表对比分析两种数据结构的相应操作的时间复杂度、空间复杂度,阐明产生差异的原因。

实验三图的创建与访问算法设计(4学时)

(一)实验目的

本实验以图的创建与访问算法设计作为实验内容,掌握图型结构的实现方法,培养解决负责问题的能力。

(二)实验内容

1、编写生成图的函数,图的元素从文件输入;

2、编写在图中插入元素的函数;

3、编写在图中删除元素的函数;

4、编写遍历并输出图的函数。

方案一采用BFS深度优先搜索算法实现图的遍历。

方案二采用DFS广度优先搜索算法实现图的遍历。

(三)实验要求

1、掌握图结构的机器内表示;

2、掌握图型结构之上的算法设计与实现;

3、列表对比分析两种数据结构的相应操作的时间复杂度、空间复杂度,阐明产生差异的原因。

四、考核方式

1、学生课前要认真阅读实验教材,理解实验内容与相关理论知识的关系,并完成预习报告;

2、实验课上教师讲解实验难点及需要注意的问题,并对实验数据签字;

3、学生课后要完成实验报告,并将签字的实验数据与实验报告交给带课教师;

4、教师根据学生实验情况,及时对实验内容和方法进行必要的调整和改进。

根据实验预习报告、实验课考勤、课上实验能力与实验效果、实验报告的完成情况确定最终的实验成绩,实验成绩占课程总成绩的10%。

五、建议教材与教学参考书

1、建议教材

[1]严蔚敏、吴伟民主编. 数据结构(C语言版). 北京:清华大学出版社,1997

2、教学参考书

[1] 严蔚敏、吴伟民主编. 数据结构题集(C语言版). 北京:清华大学出版社,1997

[2] 李春葆编. 数据结构习题与解析. 北京:清华大学出版社,2002

[3] 刘振鹏主编. 数据结构. 北京:中国铁道出版社,2003

[4] 许卓群编.数据结构.北京:中央电大出版社, 2001

[5] Anany Levitin著.潘彦译.算法设计与分析.北京:清华大学出版社, 2004

六、其它说明

实验报告格式参照信息学院实验报告规范要求。

实验一线性表的创建与访问算法的设计

一、目的

本实验的目的是进一步理解线性表的逻辑结构和存储结构,进一步提高使用理论知识指导解决实际问题的能力。

二、题目

线性表的创建与访问算法的设计

三、实验类型

设计性。本实验设计了链表,并涉及到了对链表的一些基本操作:建立、删除、插入、查找等基本操作。

四、要求及提示

说明:以下4个题中,任意选作一题。

1、【问题描述】

某百货公司仓库中有一批电视机,构成了一个单链表并存与计算机中,链表的结点指出同样价格的若干台。

【基本要求】

实现以下基本操作:

(1)从键盘输入电视机的信息,建立电视机链表。

(2)从键盘输入电视机的信息,实现电视机查询操作。

(3)从键盘输入电视机的信息,实现电视机入库操作。

(4)从键盘输入电视机的信息,实现电视机出库操作。

2、【问题描述】

有一班学生上体育课排队,构成了一个单链表,链表的结点存储了学生的学号、姓名。

【基本要求】

实现以下基本操作:

(1)从键盘输入学生的信息,建立学生链表。

(2)从键盘输入学生的信息,实现学生查询操作。

(3)从键盘输入学生的学号值,将学号为x的学生与其右边的学生进行交换。(注:不允许将链表中数据域的值进行交换)

3、【问题描述】

利用单链表存储一元多项式。

【基本要求】

实现以下基本操作:

(1)从键盘输入一元多项式的信息,建立一元多项式。

(2)实现两个一元多项式相加,并输出和多项式。

4、【问题描述】

利用单链表存储集合(集合中不存在重复元素)。

【基本要求】

实现以下基本操作: