- 1、本文档共36页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构实验指导书重要参考
前 言
《数据结构》是计算机相关专业的一门核心基础课程,也是很多高校考研专业课之一。它主要介绍线性结构、树型结构、图状结构三种逻辑结构元素的存储实现,在此基础上介绍一些典型算法效率分析。这门课程的主要任务是培养学生的算法设计能力及良好的程序设计习惯。通过学习,要求学生能够掌握典型算法的设计思想及程序实现,能够根据实际问题选取合适的存储方案设计出简洁、高效、实用的算法,为后续课程的学习及软件开发打下良好的基础。学习这门课程,习题和实验是两个关键环节。学生理解算法,上机实验是最佳的途径之一。因此,实验环节的好坏是学生能否学好《数据结构》的关键。为了更好地配合学生实验,特编写试验指导书;同时,为每个主要的知识点配有精选的典型习题。希望学生对习题要注意理解。
一、实验目的
更好的理解算法的思想、培养编程能力。
二、实验要求
每次实验前学生必须根据试验内容认真准备实验程序及调试时所需的输入数据。
在指导教师的帮助下能够完成实验内容,得出正确的实验结果。
实验结束后总结实验内容、书写实验报告。
遵守实验室规章制度、不缺席、按时上、下机。
实验学时内必须做数据结构的有关内容,不允许上网聊天或玩游戏,如发现上述现象,取消本次上机资格,平时成绩扣10分。
实验报告有一次不合格,扣5分,两次以上不合格者,平时成绩以零分记。
三、实验环境
Turbo C或VC++6.0
四、说明
本实验的所有算法中元素类型可以根据实际需要选择。
实验题目中带*者为较高要求,学生可自选;其余部分为基本内容,应尽量完成(至少完成70%,否则实验不合格)。
数据结构是很多高校的硕士研究生入学考试的专业课之一,希望有志于考研的学生能够在学习过程中注意各种算法的理解,以便为考研做一定的准备。
五、实验报告的书写要求
明确实验的目的及要求;
记录实验的输入数据和输出结果;
说明实验中出现的问题和解决过程;
写出实验的体会和实验过程中没能解决的问题;
六、成绩考评办法
期末考试占80分,闭卷。
平时考评占20分。其中实验环节占15分(实验准备、上机、报告、考试等);平时占5分(出勤,作业,测验等)
七、参考书目
《数据结构》(C语言版) 严蔚敏等 清华大学出版社
《数据结构题集》 (C语言版) 严蔚敏等 清华大学出版社
《DATA STRUCTURE WITH C++》 William Ford,William Topp清华大学出版社(影印版)
实验一 线性表的顺序存储结构
实验学时 2学时
背景知识:顺序表的插入、删除及应用。
目的要求:
1.掌握顺序存储结构的特点。
2.掌握顺序存储结构的常见算法。
实验内容
1.输入一组整型元素序列,建立顺序表。
2.实现该顺序表的遍历。
3.在该顺序表中进行顺序查找某一元素,查找成功返回1,否则返回0。
4.判断该顺序表中元素是否对称,对称返回1,否则返回0。
5.实现把该表中所有奇数排在偶数之前,即表的前面为奇数,后面为偶数。
6.输入整型元素序列利用有序表插入算法建立一个有序表。
7.利用算法6建立两个非递减有序表并把它们合并成一个非递减有序表。
8.编写一个主函数,调试上述算法。
* 9.综合训练:利用顺序表实现一个班级学生信息管理(数据录入、插入、删除、排序、查找等)
实验说明
1.算法1至算法7可以以头文件的方式存储,主函数实现该头文件的包含即可调用
2.存储定义
#define MAXSIZE 100 //表中元素的最大个数
typedef int ElemType;//元素类型
typedef struct list{
ElemType elem[MAXSIZE];//静态线性表
int length; //表的实际长度
}SqList;//顺序表的类型名
3.建立顺序表时可利用随机函数自动产生数据。
注意问题
插入、删除时元素的移动原因、方向及先后顺序。
解不同的函数形参与实参的传递关系。
实验二 链式存储结构(一)----单向链表的有关操作
实验学时 2学时
背景知识:单向链表的插入、删除及应用。
目的要求
1.掌握单向链表的存储特点及其实现。
2.掌握单向链表的插入、删除算法及其应用算法的程序实现。
实验内容
1.随机产生或键盘输入一组元素,建立一个带头结点的单向链表(无序)。
2.遍历单向链表。
3.把单向链表中元素逆置(不允许申请新的结点空间)。
4.在单向链表中删除所有的偶数元素结点。
5.编写
文档评论(0)