《数据结构》实验指导书(C语言版)
《数据结构》课程实验指导
《数据结构》实验教学大纲
课程代码:0806523006 开课学期:3 开课专业:信息管理与信息系统 总学时/实验学时:64/16 总学分/实验学分:3.5/0.5
一、课程简介
数据结构是计算机各专业的重要技术基础课。在计算机科学中,数据结构不仅是一般程序设计的基础,而且是编译原理、操作系统、数据库系统及其它系统程序和大型应用程序开发的重要基础。数据结构课程主要讨论各种主要数据结构的特点、计算机内的表示方法、处理数据的算法以及对算法性能的分析。通过对本课程的系统学习使学生掌握各种数据结构的特点、存储表示、运算的原理和方法,学会从问题入手,分析研究计算机加工的数据结构的特性,以便为应用所涉及的数据选择适当的逻辑结构、存储机构及其相应的操作算法,并初步掌握时间和空间分析技术。另一方面,本课程的学习过程也是进行复杂程序设计的训练过程,通过对本课程算法设计和上机实践的训练,还应培养学生的数据抽象能力和程序设计的能力。
二、实验的地位、作用和目的
数据结构是一门实践性较强的基础课程,本课程实验主要是着眼于原理和应用的结合,通过实验,一方面能使学生学会把书上学到的知识用于解决实际问题,加强培养学生如何根据计算机所处理对象的特点来组织数据存储和编写性能好的操作算法的能力,为以后相关课程的学习和大型软件的开发打下扎实的基础。另一方面使书上的知识变活,起到深化理解和灵活掌握教学内容的目的。
三、实验方式与基本要求
实验方式是上机编写完成实验项目指定功能的程序,并调试、运行,最终得出正确结果。具体实验要求如下:
1. 问题分析
充分地分析和理解问题本身,弄清要求,包括功能要求、性能要求、设计要求和约束,以及基本数据特性、数据间联系等等。
2. 数据结构设计
针对要解决的问题,考虑各种可能的数据结构,并且力求从中选出最佳方案(必须连同算法实现一起考虑),确定主要的数据结构和全程变量。对引入的每种数据结构和全程变量要详细说明其功用、初值和操作的特点。
3. 算法设计
算法设计分概要和详细设计。概要设计着重解决程序的模块设计问题,这包括考虑如何把被开发的问题程序自顶向下分解成若干程序模块,并决定模块的接口,即模块间的相互关系以及模块之间的信息交换问题。详细设计则要决定每个模块内部的具体算法,包括输入、处理和输出。
4. 测试用例设计
准备典型测试数据和测试方案。测试数据要有代表性、敏感性。测试方案包括模块测试
1
和模块集成测试。
5. 上机调试
对程序进行编译,纠正程序中可能出现的语法错误。调试前,先运行一遍程序看看究竟将会发生什么。如果情况很糟,则根据事先设计的测试方案并结合现场情况进行错误跟踪,包括打印执行路径或输出中间变量值等手段。
6. 程序性能分析
在运行结果正确的前提下再分析程序中主要算法是否具有较好的时间复杂度和空间复杂度。如果没有,则通过改变数据结构或操作方法使编写的程序性能达到最佳。
7. 实验总结
每个实验完成后要认真书写实验报告,对程序运行的结构,要认真分析,总结每次实验项目的体会与收获。
四、报告与考核
每个实验都要求学生根据上机内容写出实验报告,报告要求包括以下七个方面的内容: 1.实验目的; 2.实验内容; 3.实验要求; 4.算法设计; 5.详细程序清单; 6.程序运行结果;
7.实验心得体会。 考核方式:
每个实验项目根据以下两个方面进行考核:
1.指导教师随堂抽查学生的实验过程(包括实验预习、实验出勤、实验结果的测试),并根据抽查结果评定学生成绩,此成绩占此实验总成绩的70%;
2.学生编写课程设计实验报告,每位学生按照实验报告的内容和要求编写详细的实验报告并打印上交给指导老师,由指导老师根据每位学生的完成情况评定成绩,此成绩占实验总成绩的30%。
五、设备及器材材料配置
硬件:奔腾以上PC机 软件:TURBO C、C++或Java
六、实验指导书及主要参考书
[1]朱蓉.数据结构实验指导书
[2]张铭.数据结构与算法. 高教出版社.2008.6
[3]张铭.数据结构与算法--学习指导与习题解析. 高教出版社.2009 [4]耿国华等 数据结构-C语言描述. 高教出版社.2005.7 [5]刘怀亮. 数据结构(C语言描述) .冶金出版社.2005.2
[6]刘怀亮. 数据结构(C语言描述)习题与实验指导导.冶金出版社.2005.2 [7]蔡子经,施伯乐.数据结构教程.上海:复旦大学出版社.1994 [8]严蔚敏,吴伟民.数据结构(C语言版).北京:清华大学出版社.1999;
2
[9]严蔚敏,吴伟民.数据结构题集(C语言版).北京:清华大学出版社.1999; [10]徐孝凯.数据结构课程实验.北京:清华大学出版社.2002;
[11]孟佳娜,胡潇琨.算法与数据结构实验与习题.北京:机械工业出版社.2004.
七、实验项目与内容提要 序号 1 实验名称 顺序表的基本操作 2 3 链表的基本操作 栈的基本操作 目的要求、内容提要 (限20字) 熟悉并完成顺序表上基本操作的算法及其应用问题的编程实现。 熟悉并完成单链表和双向链表基本操作算法的编程实现。 熟悉并完成顺序栈和链栈基本操作算法及其应用问题的编程实现 4 队列的基本操作 5 6 二叉树的操作 静态查找表的查找操作 7 二叉排序树的查找操作 8 9 10 哈希表上的查找操作 排序操作 图的遍历 熟悉并完成循环顺序队列和循环链队列基本操作算法及其应用问题的编程实现。 熟悉并完成二叉树遍历算法及其应用问题的编程实现。。 熟悉并完成静态查找表上的顺序查找、二分查找和索引查找算法的编程实现 熟悉并完成在二叉排序树上进行查找、插入和删除操作的编程实现。 熟悉并完成哈希表的建立、查找和插入操作的编程实现 熟悉并完成几种主要排序操作的编程实现。 熟悉并完成图的遍历、最小生成树及其应用问题的编程实现 1个班 1个班 1个班 2 设计 选做 2 设计 必做 2 设计 选做 1个班 2 设计 选做 1个班 1个班 2 设计 必做 2 设计 必做 1个班 2 设计 必做 1个班 1个班 2 设计 必做 2 设计 必做 每组人数 1个班 实验学时 2 实验类型 设计 必做 选做 必做 所在实验分室
3
实验B01: 顺序表的操作实验
一、实验名称和性质
所属课程 实验名称 实验学时 实验性质 必做/选做 数据结构 顺序表的操作 2 □验证 □综合 √设计 √必做 □选做 二、实验目的
1.掌握线性表的顺序存储结构的表示和实现方法。 2.掌握顺序表基本操作的算法实现。 3.了解顺序表的应用。 三、实验内容 1.建立顺序表。
2.在顺序表上实现插入、删除和查找操作(验证性内容)。 3.删除有序顺序表中的重复元素(设计性内容)。
4.完成一个简单学生成绩管理系统的设计(应用性设计内容)。 四、实验的软硬件环境要求
硬件环境要求:
PC机(单机)
Windows环境下的TurboC2.0以上或VC++等 。 使用的软件名称、版本号以及模块: 五、知识准备
前期要求熟练掌握了C语言的编程规则、方法和顺序表的基本操作算法。 六、验证性实验 1.实验要求
编程实现如下功能:
(1)根据输入顺序表的长度n和 …… 此处隐藏:3008字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [资格考试]机械振动与噪声学部分答案
- [资格考试]空调工程课后思考题部分整合版
- [资格考试]电信登高模拟试题
- [资格考试]2018年上海市徐汇区中考物理二模试卷(
- [资格考试]坐标转换及方里网的相关问题(椭球体、
- [资格考试]语文教研组活动记录表
- [资格考试]广东省2006年高应变考试试题
- [资格考试]LTE学习总结—后台操作-数据配置步骤很
- [资格考试]北京市医疗美容主诊医师和外籍整形外科
- [资格考试]中学生广播稿400字3篇
- [资格考试]CL800双模站点CDMA主分集RSSI差异过大
- [资格考试]泵与泵站考试复习题
- [资格考试]4个万能和弦搞定尤克里里即兴弹唱(入
- [资格考试]咽喉与经络的关系
- [资格考试]《云南省国家通用语言文字条例》学习心
- [资格考试]标准化第三范式
- [资格考试]GB-50016-2014-建筑设计防火规范2018修
- [资格考试]五年级上册品社复习资料(第二单元)
- [资格考试]2.对XX公司领导班子和班子成员意见建议
- [资格考试]关于市区违法建设情况的调研报告
- 二0一五年下半年经营管理目标考核方案
- 2014年春八年级英语下第三次月考
- 北师大版语文二年级上册第十五单元《松
- 2016国网江苏省电力公司招聘高校毕业生
- 多渠道促家长督导家长共育和谐 - 图文
- 2018 - 2019学年高中数学第2章圆锥曲线
- 竞争比合作更重要( - 辩论准备稿)课
- “案例积淀式”校本研训的实践与探索
- 新闻必须客观vs新闻不必客观一辩稿
- 福师大作业 比较视野下的外国文学
- 新编大学英语第二册1-7单元课文翻译及
- 年产13万吨天然气蛋白项目可行性研究报
- 河南省洛阳市2018届高三第二次统一考试
- 地下车库建筑设计探讨
- 南京大学应用学科教授研究方向汇编
- 2018年八年级物理全册 第6章 第4节 来
- 毕业论文-浅析余华小说的悲悯性 - 以《
- 2019年整理乡镇城乡环境综合治理工作总
- 广西民族大学留学生招生简章越南语版本
- 故宫旧称紫禁城简介




