数据结构实验指导书文档格式.docx
- 文档编号:15311292
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:38
- 大小:102.24KB
数据结构实验指导书文档格式.docx
《数据结构实验指导书文档格式.docx》由会员分享,可在线阅读,更多相关《数据结构实验指导书文档格式.docx(38页珍藏版)》请在冰豆网上搜索。
序号
实验项目
实验学时
每组人数
实验类型
开出
要求
1
线性表的创建与访问算法设计
4
设计
已开出
2
二叉树的创建与访问算法设计
3
图的创建与访问算法设计
三、实验目的、内容与要求
实验一线性表的创建与访问算法设计(4学时)
(一)实验目的
数据结构于算法实验是计算机类本科学生计算机软件知识重要的实验环节,它将使学生从实践上学会用高级语言程序设计、实现复杂的数据结构,为大型软件设计奠定基础。
本实验以某种线性表的创建与访问算法设计作为实验内容,举一反三,全面、深刻掌握线性结构的实现方法,培养解决问题的能力。
(二)实验内容
1、编写生成线性表的函数,线性表的元素从键盘输入;
2、编写在线性表中插入元素的函数;
3、编写在线性表中删除元素的函数;
4、编写输出线性表的函数;
5、编写主函数,调用以上各函数,以便能观察出原线性表以及作了插入或删除后线性表的屏幕输出。
方案一采用顺序存储结构实现线性表。
方案二采用单链表结构实现线性表。
(三)实验要求
1、掌握线性结构的机器内表示;
2、掌握线性结构之上的算法设计与实现;
3、列表对比分析两种数据结构的相应操作的时间复杂度、空间复杂度,阐明产生差异的原因。
实验二二叉树的创建与访问算法设计(4学时)
本实验以二叉树的创建与访问算法设计作为实验内容,掌握树型结构的实现方法,培养解决负责问题的能力。
1、编写生成二叉树的函数,二叉树的元素从键盘输入;
2、编写在二叉树中插入元素的函数;
3、编写在二叉树中删除元素的函数;
4、编写遍历并输出二叉树的函数。
方案一采用递归算法实现二叉树遍历算法。
方案二采用非递归算法实现二叉树遍历算法。
1、掌握树型结构的机器内表示;
2、掌握树型结构之上的算法设计与实现;
实验三图的创建与访问算法设计(4学时)
本实验以图的创建与访问算法设计作为实验内容,掌握图型结构的实现方法,培养解决负责问题的能力。
1、编写生成图的函数,图的元素从文件输入;
2、编写在图中插入元素的函数;
3、编写在图中删除元素的函数;
4、编写遍历并输出图的函数。
方案一采用BFS深度优先搜索算法实现图的遍历。
方案二采用DFS广度优先搜索算法实现图的遍历。
1、掌握图结构的机器内表示;
2、掌握图型结构之上的算法设计与实现;
四、考核方式
1、学生课前要认真阅读实验教材,理解实验内容与相关理论知识的关系,并完成预习报告;
2、实验课上教师讲解实验难点及需要注意的问题,并对实验数据签字;
3、学生课后要完成实验报告,并将签字的实验数据与实验报告交给带课教师;
4、教师根据学生实验情况,及时对实验内容和方法进行必要的调整和改进。
根据实验预习报告、实验课考勤、课上实验能力与实验效果、实验报告的完成情况确定最终的实验成绩,实验成绩占课程总成绩的10%。
五、建议教材与教学参考书
1、建议教材
[1]严蔚敏、吴伟民主编.数据结构(C语言版).北京:
清华大学出版社,1997
2、教学参考书
[1]严蔚敏、吴伟民主编.数据结构题集(C语言版).北京:
[2]李春葆编.数据结构习题与解析.北京:
清华大学出版社,2002
[3]刘振鹏主编.数据结构.北京:
中国铁道出版社,2003
[4]许卓群编.数据结构.北京:
中央电大出版社,2001
[5]AnanyLevitin著.潘彦译.算法设计与分析.北京:
清华大学出版社,2004
六、其它说明
实验报告格式参照信息学院实验报告规范要求。
实验一线性表的创建与访问算法的设计
一、目的
本实验的目的是进一步理解线性表的逻辑结构和存储结构,进一步提高使用理论知识指导解决实际问题的能力。
二、题目
线性表的创建与访问算法的设计
三、实验类型
设计性。
本实验设计了链表,并涉及到了对链表的一些基本操作:
建立、删除、插入、查找等基本操作。
四、要求及提示
说明:
以下4个题中,任意选作一题。
1、【问题描述】
某百货公司仓库中有一批电视机,构成了一个单链表并存与计算机中,链表的结点指出同样价格的若干台。
【基本要求】
实现以下基本操作:
(1)从键盘输入电视机的信息,建立电视机链表。
(2)从键盘输入电视机的信息,实现电视机查询操作。
(3)从键盘输入电视机的信息,实现电视机入库操作。
(4)从键盘输入电视机的信息,实现电视机出库操作。
2、【问题描述】
有一班学生上体育课排队,构成了一个单链表,链表的结点存储了学生的学号、姓名。
(1)从键盘输入学生的信息,建立学生链表。
(2)从键盘输入学生的信息,实现学生查询操作。
(3)从键盘输入学生的学号值,将学号为x的学生与其右边的学生进行交换。
(注:
不允许将链表中数据域的值进行交换)
3、【问题描述】
利用单链表存储一元多项式。
(1)从键盘输入一元多项式的信息,建立一元多项式。
(2)实现两个一元多项式相加,并输出和多项式。
4、【问题描述】
利用单链表存储集合(集合中不存在重复元素)。
(1)从键盘输入集合值,建立集合。
(2)求集合的并、交和差,并输出结果。
五、实验报告
1、写出每个算法的思想。
2、画出算法流程图。
3、调试程序出现的问题及解决的方法。
4、打印实验报告及程序清单。
5、报告给出测试的结果并写出设计体会。
六、范例参考
1、问题描述
这是单链表的一个综合练习,包括以下各项内容的函数,可共享被调用,可以通过菜单选择方式运行单链表的各种操作。
1)建立单链表
(1):
将用户输入的数据按头插入法建立一个不带头结点的单链表。
输入结点数据时以输入一串字符的方式实现,$字符为结束输入字符
2)建立单链表
(2):
将用户输入的数据按头插入法建立一个带头结点的单链表。
输入数据方式同上。
3)建立单链表(3):
将用户输入的数据按尾插入法建立一个不带头结点的单链表。
4)建立单链表(4):
将用户输入的数据按尾插入法建立一个带头结点的单链表。
5)逆置单链表:
按头插入法建立一个不带头结点的单链表,用最少的辅助空间实现单链表元素的逆置。
6)有序链表插入元素:
建立一个带头结点的单链表,表中元素从小到大有序排列。
输入一个元素并将其插入到单链表中正确的位置上。
7)有序链表删除重复元素:
建立一个带头结点的单链表,表中元素递增有序。
删除表中值相同的多余元素(即重复元素只保留一个)
8)无序链表删除重复元素建立一个带头结点的单链表,元素按输入的次序排列。
删除表中值相同的多余元素(即重复元素只保留一个)。
9)两链表合并:
建立两个带头结点的单链表a1和a2,元素均递增有序。
将两个单链表归并成新的单链表c,c中元素也递增有序,相同值的元素均保留在c中。
10)两链表并集:
按用户输入的数据建立两个集合a1和a2,同一集合中无重复元素,以带头结点的单链表形式存放。
对两集合进行并集运算,结果放在a1表中。
附:
头文件DATASTRU.H定义了程序使用的数据结构,在使用时将之拷贝到相应C程序的目录下。
#defineDATATYPE1int
#defineDATATYPE2char
#defineKEYTYPEint
#defineMAXSIZE100
#defineMAXLEN40
#defineVEXTYPEint
#defineADJTYPEint
typedefstruct
{DATATYPE1datas[MAXSIZE];
intlast;
}SEQUENLIST;
typedefstructnode
{
DATATYPE2data;
structnode*next;
}LINKLIST;
typedefstructdnode
{DATATYPE2data;
structdnode*prior,*next;
}DLINKLIST;
{DATATYPE1data[MAXSIZE];
inttop;
}SEQSTACK;
typedefstructsnode
{DATATYPE2data;
structsnode*next;
}LINKSTACK;
{DATATYPE1data[MAXSIZE];
intfront,rear;
}SEQQUEUE;
typedefstructqnode
{DATATYPE1data;
structqnode*next;
}LINKQLIST;
typedefstruct
{LINKQLIST*front,*rear;
}LINKQUEUE;
{charch[MAXSIZE];
intlen;
}SEQSTRING;
{char*ch;
}HSTRING;
{inti,j;
DATATYPE1v;
}NODE;
{intm,n,t;
NODEdata[MAXLEN];
}SPMATRIX;
{DATATYPE2bt[MAXSIZE];
intbtnum;
}BTSEQ;
typedefstructnode1
{DATATYPE2data;
structnode1*lchild,*rchild;
}BTCHINALR;
typedefstructnode2
structnode2*lchild,*rchild,*parent;
}BTCHINALRP;
intparent;
}PTNODE;
{PTNODEnodes[MAXSIZE];
intnodenum;
}PTTREE;
typedefstructcnode
{intchild;
structcnode*next;
}CHILDLINK;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 实验 指导书