- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机专业实验教材
数据结构
(C语言描述)
实验指导书
田军峰 夏克俭 编
北京科技大学信息工程学院
计算机系、计算机实验室
二○○六年四月
前言
《数据结构》是信息工程学院计算机科学与技术系计算机专业及其他院系相关专业的一门重要专业基础课,也是一门本科生必修课。在计算机科学的各领域中,都会或多或少的用到数据结构的相关知识,学好数据结构这门课程,对从事计算机技术及相关领域的工作人员来说是非常重要,尤其对从事软件开发的工程师来说更为重要。
数据结构的某些知识和相关算法比较抽象,理解和熟练掌握有一定的难度。学习这门课程,实验是非常重要的环节,因为通过实验能有效的理解所学的数据结构的知识点和算法。根据北京科技大学本科教学计划(05版)规定,《数据结构》这门课程共有课堂教学42学时,课内上机实验12学时,课外上机28学时,合计80小时,实验学时占到总学时的50%,可见实验课在本门课程中的重要性。在以前的教学过程中,同学们对实验重视不够,尤其没有很好的理解一些重要的算法。为了帮助同学们更好的理解数据结构的知识要点和算法,根据《数据结构实验教学大纲》,参考多年的教学实验实践,收集、整理并编写了这本实验指导书,希望同学们能通过这本书的指导和上机实验,掌握数据结构及其算法。
要想学好数据结构,C语言及相关计算机知识的掌握也是必不可少的。特别是C语言中关于数组、结构和指针部分尤其要熟练掌握。
本书是按照教学的章节顺序安排每个实验,每个实验都有实验准备、实验目的、实验内容、实验提示等部分组成。
本书参考了计算机专业课《数据结构》任课教师夏克俭老师提供的实验习题,并由夏克俭老师审定。在此感谢各位任课老师的辛苦工作和宝贵意见。由于时间仓促,疏漏与不当之处在所难免,真诚希望得到使用本书的教师和学生的批评指正。
编 者
2006年4月
目录
前言 2
目录 3
实验一 顺序线性表的基本操作 4
实验二 单链表的基本操作 5
实验三 栈的顺序表示与实现 6
实验四 栈的链式表示和实现 6
实验五 队列的顺序表示与实现 8
实验六 队列的链式表示与实现 8
实验七 二叉树的基本操作 10
实验八 哈夫曼树的构造及编码实验 10
实验九 二叉排序树的基本操作 11
附录一:《数据结构》实验教学大纲 12
附录二:《数据结构》实验报告格式 13
顺序线性表的基本操作
【实验目的】
1. 熟悉C语言的上机环境,进一步掌握C语言的结构特点。
2. 掌握线性表的顺序存储结构的定义及C语言的实现。
3. 掌握顺序线性表的建立、插入、删除、查找等基本操作。
【实验内容】
把从键盘输入的n个整数以顺序存储的方式建立一个线性表,然后输出该表及该表的长度;删除第m个结点后重新输出该表及长度;在表中的第k个结点后插入2个结点后重新输出该表。
【实验安排】
由于该实验是数据结构的第一个实验,建议适当多安排一些时间进行熟悉。建议课时安排如下:
课外 6学时 ,课内2学时
【实验提示】
1. 采用C语言的数组类型实现线性表的顺序存储,用C语言的结构体类型定义顺序表结点:、
#define MAXSIZE 10
typedef int elemtype; //线性表中存放整形元素
typedef struct
{ elemtype vec[MAXSIZE];
int len;
} sequenList;
2. 为了方便调试及编程,可以分析题目,将整个实验分解成若干个小的函数,最后由主函数分别调用子函数即可,建议编写下列子函数:
CreateList // 建立顺序表函数
PrintList // 输出顺序表函数
GetLenList // 顺序表长度函数
Insert // 在顺序表中插入结点函数
Delete // 在顺序表删除结点函数
3. 进行实验结果测试时,要注意分别对头结点、尾结点及空表分别进行测试,另外要对满表进行测试,看是否有溢出情况发生。
单链表的基本操作
【实验目的】
1. 掌握单链表的链式存储结构的定义及C语言的实现。
3. 掌握单链表的建立、插入、删除、查找、合并等基本操作。
【实验内容】
分别把从键盘输入的n1个整数和n2个整数以链式存储的方式建立两个单链表,然后输出两表及两表的长度;删除第1个链中的第m个结点后后重新输出该表及长度;在第2表中的第k个结点后插入2个结点后重新输出该表;最后将两个表合并后重新输出新表及长度,最后输出相邻两结点data值之和为最大的第一结点。
【实验安排】
建议课时安排如下:
课外 4学时 ,课内2学时
【实验提示】
1. 采用C语言
您可能关注的文档
最近下载
- 雅马哈s03使用说明书.pdf VIP
- 一种从荧光粉废料中回收高纯度钇铕的制备方法.doc.doc
- 部编版语文二年级上册第六单元教材解读大单元集体备课.pptx VIP
- 压实度(灌砂法)试验检测报告.docx
- 2022年地理高考真题深度剖析之自然灾害1老教材公开课.docx VIP
- 生物法还原高浓度高氯酸盐动力学及反应条件的优化.pdf
- 妇产科常见危急重症早期识别、初步处置原则和转诊时期专家讲座.pptx
- 一种多应力加速寿命试验耦合效应分析及寿命预测方法.pdf VIP
- 医疗器械软件产品相关文档模板汇总(软件描述文档模板、软件网络安全描述模板、软件开发文档等).pdf VIP
- 火电厂工艺办法流程.ppt
文档评论(0)