2012-数据结构实大纲2019实验

合集下载

2012版《数据结构A》课程实验指导书

2012版《数据结构A》课程实验指导书

2012版《数据结构A》课程实验指导书《数据结构A》课程实验指导书Data Structure Course Design课程编号:06311360 学时:15 学分:1先修课程:程序设计基础、⾯向对象程序设计适⽤专业:计算机科学与技术、⽹络⼯程、软件⼯程⼀、实验⽬的《数据结构A》课程是计算机科学与技术及其相关专业的⼀门重要的专业基础课。

在课堂教学中,⽐较全⾯、概括性地讲述数据结构学科中⼀些基础性知识、重要概念及各种算法,通过该实验教学和学⽣的上机实践,将这些基础性知识、重要概念及各种算法,在计算机上编程实现,使学⽣能够达到以下实验教学⽬标:1.掌握计算机处理数据的基本⽅法;2.了解算法的时间及空间分析⽅法;3.能够为实际应⽤所涉及的数据选择适当的逻辑结构、存储结构及相应的算法;4.通过在计算机上编程实现课程中介绍的各种算法,在程序设计能⼒⽅⾯得到提升。

⼆、上机实验总体要求1.每位同学准备⼀个实验本,上机前作好充分的准备⼯作,预习本次实验的内容,事先熟悉与实验有关的软硬件环境,编写好程序代码,供上机时使⽤。

2.实验时遵守实验室的规章制度,爱护实验设备,原则上每⼈固定实验设备,对于实验设备出现的问题,要及时向指导⽼师汇报。

3.编程序过程中要注意多存盘,避免由于死机等原因造成的不必要的重复录⼊。

4.内部⽂档要求:每个源⽂件和头⽂件都必须在⽂件⾸部的注释中注明设计者姓名,项⽬名(即我们的上机题⽬名),创建⽇期和最近⼀次修改⽇期。

包含main()函数的源⽂件必须在⾸部注释后另加⼀段注释,简要描述⼀下程序的⽬的和⽤到的主要数据结构。

⽂件注释格式如下:⽂件名称:项⽬名称:创建者:创建时间:最后修改时间:功能:⽂件中的函数名称和简单功能描述:⽂件中定义的全局变量和简单功能描述:⽂件中⽤到的他处定义的全局变量及其出处:与其他⽂件的依赖关系:◆每个类必须包含⾸部注释块,适度地描述这个类的⽬的。

类的⾸部注释应该紧挨着放在类的声明(⼀般在头⽂件⾥)前⾯。

《数据结构》实验指导书 2012最新版

《数据结构》实验指导书 2012最新版

目录实验一线性表基本操作的编程实现 (1)实验二堆栈或队列基本操作的编程实现 (8)实验三串基本操作的编程实现 (14)实验四二维数组基本操作的编程实现 (18)实验五二叉树基本操作的编程实现 (20)实验六图基本操作的编程实现 (33)实验七查找技术的编程实现 (43)实验八排序技术的编程实现 (49)附录一实验常见问题问答 (56)附录二如何准备实验 (56)附录三如何写实验报告 (57)附录四实验报告书写标准 (57)(特别提示:程序设计包含两个方面的错误。

其一是语法错误,其二是功能错误。

为了提高学生的编程和调试能力,本指导书给出的程序代码并不保证没有上述的两种错误。

并且也不保证程序的完整性,有一些语句已经故意删除,就是要求学生自己编制完成,这样才能达到我们的教学要求。

希望大家以自己所学高级语言的基本功和数据结构原理的思考点为基础,不要过于依赖给出的参考代码,这样才能有所进步。

如果学生能够根据要求完全自己编制,那就更好了。

)实验一线性表基本操作的编程实现【实验目的】线性表基本操作的编程实现要求:线性表基本操作的编程实现(2学时,验证型),掌握线性表的建立、遍历、插入、删除等基本操作的编程实现,也可以进一步编程实现查找、逆序、排序等操作,存储结构要求是链表存储结构(顺序存储结构建议作为课外实验完成),可以依次完成主要功能来体现功能的正确性,用菜单进行管理完成大部分功能,要求可以重复运行。

还鼓励学生利用基本操作进行一些更实际的应用型程序设计。

【实验性质】验证性实验(学时数:2H)【实验内容】1.线性表的链表存储,实现数据插入、删除运算。

为了体现功能的正常性,同时要编制数据输入函数和遍历函数,数据输入可以用1.键盘输入 2.内部预置数据 3.计算机自动给出 4.文件读入。

最好同时提供多种方式。

2.其他建议改进的功能或细节:存储结构修改为循环链表、双向链表、双向循环链表、静态链表等。

3.实验要求带头结点,提高编程能力可以把头结点故意去掉,看看那些语句有变化,编程增加了多少工作量。

《数据结构课程实验》大纲

《数据结构课程实验》大纲

《数据结构课程实验》大纲一、《数据结构课程实验》的地位与作用“数据结构”是计算机专业一门重要的专业技术基础课程,是计算机专业的一门核心的关键性课程。

本课程较系统地介绍了软件设计中常用的数据结构以及相应的存储结构和实现算法,介绍了常用的多种查找和排序技术,并做了性能分析和比较,内容非常丰富。

本课程的学习将为后续课程的学习以及软件设计水平的提高打下良好的基础。

由于以下原因,使得掌握这门课程具有较大的难度:(1)内容丰富,学习量大,给学习带来困难;(2)贯穿全书的动态链表存储结构和递归技术是学习中的重点也是难点;(3)所用到的技术多,而在此之前的各门课程中所介绍的专业性知识又不多,因而加大了学习难度;(4)隐含在各部分的技术和方法丰富,也是学习的重点和难点。

根据《数据结构课程》课程本身的技术特性,设置《数据结构课程实验》实践环节十分重要。

通过实验实践内容的训练,突出构造性思维训练的特征, 目的是提高学生组织数据及编写大型程序的能力。

实验学时为10。

二、《数据结构课程实验》的目的和要求不少学生在解答习题尤其是算法设计题时,觉得无从下手,做起来特别费劲。

实验中的内容和教科书的内容是密切相关的,解决题目要求所需的各种技术大多可从教科书中找到,只不过其出现的形式呈多样化,因此需要仔细体会,在反复实践的过程中才能掌握。

为了帮助学生更好地学习本课程,理解和掌握算法设计所需的技术,为整个专业学习打好基础,要求运用所学知识,上机解决一些典型问题,通过分析、设计、编码、调试等各环节的训练,使学生深刻理解、牢固掌握所用到的一些技术。

数据结构中稍微复杂一些的算法设计中可能同时要用到多种技术和方法,如算法设计的构思方法,动态链表,算法的编码,递归技术,与特定问题相关的技术等,要求重点掌握线性链表、二叉树和树、图结构、数组结构相关算法的设计。

在掌握基本算法的基础上,掌握分析、解决实际问题的能力。

三、《数据结构课程实验》内容课程实验共10学时,要求完成以下五个题目:实习一约瑟夫环问题(2学时)用循环链表实现约瑟夫环问题,熟悉链表结构的使用。

《数据结构》实验大纲

《数据结构》实验大纲

《数据结构》实验教学大纲课程编号:课程总学时:72计划学时数:36实验课类型:专业基础实验面向专业:计算机科学与技术、信息与计算科学、现代教育技术、计算机应用技术、电子商务开课时间:第二学年第一学期考核方式:笔试教材:严蔚敏,吴伟民,《数据结构》(C语言版)清华大学出版社,一、目的要求:目的:数据结构是计算机科学的算法理论基础和软件设计的技术基础,主要研究信息的逻辑结构及其基本操作在计算机中的表示和实现,是计算机专业的核心课程,也是其他相关专业的热门选修课。

本课程的另一重要教学目的是训练学生进行复杂程序设计的技能和培养良好程序设计的习惯,要做到这点,上机实习是重要的。

通过完成本实验课的实验,学生应学会和掌握本课程的基本和重点知识;深刻理解逻辑结构、物理结构、算法设计之间的关系;初步学会算法分析的方法,并能在一定的算法范围内运用所掌握的分析方法进行算法分析;训练并具有进行复杂程序设计的能力,养成良好程序设计的习惯。

要求:将书中常用算法编写成程序,上机调试,验证算法的正确性,同时理解数据结构对于软件开发的意义。

同时又能复习C语言(c++语言)的重点与难点,熟悉vc++6.0调试环境,掌握一个完整程序的构成,为今后软件设计打下基础。

二、实验项目情况汇总:三、实验成绩考核办法通过课堂上启发式讲解实验要求和任务、学生实验前自创性的准备工作、上机实验时的验证和反馈,来帮助学生理解计算机的基本原理,熟悉和掌握一些常用软件的使用,为以后的课程打下基础。

采用平时成绩和考试成绩相结合的评定方法。

每个实验都根据学生的动手能力及实验报告成绩进行综合评分。

四、主要使用的仪器设备计算机及VC++6.0软件。

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

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

《数据结构》实验教学大纲(Data Structure)课程代码:0610009实验学时:25学时先修课程:《C语言程序设计》、《离散数学》一、目的要求目的:通过实验,可使学生深刻理解各种逻辑结构、存储结构的特性,培养通过实际问题分析其数据对象、基本操作,选择逻辑结构、存储结构灵活应用基本算法,并设计出具有专业水准的应用程序的能力。

要求:熟悉VC++的编程和调试环境,根据实验内容和要求,认真完成程序编写、上机调试、运行结果分析,书写实验报告。

二、实验项目内容及学时分配实验一、单链表的建立、删除和插入(2学时)1. 实验目的要求熟悉C语言的上机环境,进一步掌握C语言的结构特点。

掌握线性表的链式存储结构——单链表的定义及C语言实现。

2. 实验主要内容实现线性表在链式存储结构——单链表中的各种基本操作。

3. 实验类别:专业基础4. 实验类型:验证5. 实验要求:必做6. 主要仪器:微型计算机或相应的设备实验二、栈的建立、插入和删除(2学时)1. 实验目的要求掌握栈的顺序表示和结构特点,描述方法及有关概念。

2. 实验主要内容实现顺序栈的建立、插入、删除的操作算法。

3. 实验类别:专业基础4. 实验类型:验证5. 实验要求:必做6. 主要仪器:微型计算机或相应的设备实验三、队列的建立、插入和删除(2学时)1. 实验目的要求掌握队列的表示和结构特点,描述方法及有关概念。

2. 实验主要内容实现队列的建立、插入、删除的操作算法。

3. 实验类别:专业基础4. 实验类型:验证5. 实验要求:必做6. 主要仪器:微型计算机或相应的设备实验四、模式串的匹配(3学时)1. 实验目的要求掌握串的结构特点和各种基本操作。

2. 实验主要内容实现串的模式匹配算法。

3. 实验类别:专业基础4. 实验类型:验证5. 实验要求:必做6. 主要仪器:微型计算机或相应的设备实验五、稀疏矩阵的转置(2学时)1. 实验目的要求掌握稀疏矩阵的结构特点,描述方法及有关概念。

数据结构实验大纲

数据结构实验大纲

数据结构实验大纲数据结构实验大纲1·实验目的1·1 熟悉数据结构的基本概念和算法1·2 掌握数据结构在实际问题中的应用1·3 培养分析和解决问题的能力2·实验环境2·1 编程语言:C/C++2·2 开发环境:Visual Studio/Xcode/Dev-C++ 3·实验内容3·1 实验一:线性表3·1·1 顺序表的基本操作3·1·2 单链表的基本操作3·1·3 循环链表的基本操作3·1·4 双向链表的基本操作3·2 实验二:栈与队列3·2·1 栈的基本操作3·2·2 队列的基本操作3·2·3 使用栈实现表达式求值3·2·4 使用队列实现约瑟夫环3·3 实验三:串与数组3·3·1 串的基本操作3·3·2 数组的基本操作3·3·3 字符串的模式匹配算法3·3·4 多维数组的应用3·4 实验四:树与图3·4·1 二叉树的基本操作3·4·2 二叉树的遍历算法3·4·3 霍夫曼树与哈夫曼编码3·4·4 图的存储结构与基本操作 3·4·5 图的遍历算法4·实验要求4·1 完成实验指导书中的所有实验内容4·2 书写实验报告,包括实验目的、实验环境、实验过程、实验结果分析和总结4·3 实验报告要求有清晰的实验步骤和相应截图或代码4·4 实验报告中需对实验结果进行说明和评价5·实验评分5·1 实验报告(60%)5·2 实验代码(40%)5·3 完成以上要求并提交实验报告和代码截图,得到及格分数6·附件6·1 实验指导书6·2 实验代码示例7·法律名词及注释●数据结构:指计算机中用于组织和存储数据的一种方式,它定义了数据之间的关系和操作。

数据结构实验2012

数据结构实验2012

数据结构实验第一节概述一、实验目的实验是对学生的一种全面综合训练,是与课堂听讲、自学和练习相辅相成的必不可少的一个教学环节。

通常,实验题中的问题比平时的练习题要复杂,也更接近实际。

实验的目的是旨在使学生进一步巩固课堂上所学的理论知识;深化理解和灵活掌握教学内容;培养学生算法设计的能力和解决实际问题的程序设计的能力。

本实验指导书仅列出一个实验项目下一个实验题存储结构、算法;供其他实验题作为参考。

二、实验名称与学时分配三、实验考核每次实验结束后,均应上交实验报告。

实验成绩占数据结构课程结业成绩的20%。

实验报告应包括如下内容:1、问题描述:简述题目要解决的问题是什么。

2、设计:包括存储结构设计、主要算法设计等。

用类C语言或用框图描述。

3、调试报告:调试过程中遇到的问题是如何解决的;对设计和编码的讨论和分析。

4、算法分析与改进:算法的时间复杂度和空间复杂度分析;算法改进的设想。

5、经验和体会附源程序清单和运行结果。

源程序要加注释。

如果题目规定了测试数据,则结果要包含这些测试数据和运行输出,当然还可以含有其它测试数据和运行输出(有时需要多组数据)。

四、实验时间安排16学时。

五、选题安排实验1,5,6必做,实验2和实验3两题选作1题,实验报告上交4个实验。

其余题选作。

第二节线性表算法设计及应用一、目的与要求(一)目的了解线性表及在计算机中的两类不同的存储结构;熟练掌握线性表的查找、插入和删除等算法并灵活运用这些算法。

(二)要求用C语言编写程序,实现多项式求值或求解约瑟夫问题。

二、示例1、题目报数问题编号为1,2,···,n的n个人围坐在一圆桌旁,从第s个人开始报数,报到第m的人退席,下一个人又重新从1开始报数,依此重复,直至所有的人都退席。

例如,设s=1,m=4,n=8,则退席的人的编号依次为4,8,5,2,1,3,7,6。

2、存储结构(1)以顺序表为存储结构int p[n]; // n—常量(2)以循环链表为存储结构typedef struct lnode{int data;struct lnode *next;} lnode;3、算法设计(1)void josephus_1(int p[], int m, int n) {int i,j,t;for(i=0;i<=n-1;i++) p[i]=i+1; //p[0]..p[n-1]:n个人t=0; //第一次报数的位置 (第一人的位置)for(i=n;i>=1;i--) {t=(t+m-1)%i ; // t:定位于第m人,i:当前圆桌上的人数,%:实现环(圆桌)的处理cout<<p[t]<<" "; // 输出第m人信息(第m人报数)for (j=t+1;j<=i-1;j++)p[j-1]=p[j]; //元素前移(第m人退席,删除第m人)}}(2)void josephus_2 (lnode *r, int m, int n) {//r:(不带头结点的)单向循环链表的尾指针Lnode *p=r;//p:指向尾指针for (i=1;i<=n;++i) {for (j=1;j<=m-1;++j) p=p->next; //p后移m-1次,定位于m-1处(要退席的人之前)s=p->next; //s定位于m人(要退席的人)cout<<s->data<<" "; //第m人报数p->next=s->next; delete s ; //第m人退席,删除第m人}}4、小结线性表是软件设计中最基础的数据结构。

2012级数据结构实训指导书(2013年12月)

2012级数据结构实训指导书(2013年12月)

《数据结构课程设计》指导书说明:本指导书适用于2012级1-4班一、课程设计的目的、要求和任务本课程设计是为了配合《数据结构》课程的开设,通过设计完整的程序,使学生掌握数据结构的应用、算法的编写、类C语言的算法转换成程序并用上机调试的基本方法。

1.课程的目的(1)使学生进一步理解和掌握课堂上所学各种基本抽象数据类型的逻辑结构、存储结构和操作实现算法,以及它们在程序中的使用方法。

(2)使学生掌握软件设计的基本内容和设计方法,并培养学生进行规范化软件设计的能力。

(3)使学生掌握使用各种计算机资料和有关参考资料,提高学生进行程序设计的基本能力;2.课程的基本要求与任务(1)巩固和加深对数据结构基本知识的理解,提高综合运用课程知识的能力。

(2)培养学生自学参考书籍,查阅手册、图表和文献资料的能力。

(3)通过实际课程设计,初步掌握简单软件的分析方法和设计方法。

(4)了解与课程有关的工程技术规范,能正确解释和分析实验结果。

(5)题目具有足够的工作量。

二、课程设计的一般步骤:1.选题与搜集资料:每人选择一题(每题有几个同学选),进行课程设计课题的资料搜集。

2.分析与概要设计:根据搜集的资料,进行程序功能与数据结构分析,并选择合适的数据结构、并在此基础上进行实现程序功能的算法设计。

3.程序设计:运用掌握C/C++语言编写程序,分工实现各个模块功能。

4.调试与测试:调试程序,并记录测试情况。

5.完成课程设计报告。

6.验收与评分:指导教师对每个同学的开发的系统进行综合验收,并由学院考核小组进行随机抽查评分。

三、课程设计成果的规范(详见文档模板)课程设计成果应包括如下3个部分:1.一个小组一份《设计文档》,其中包括:a) 系统功能模块图(有流程图附上)b) 系统定义的数据结构;c) 系统设计的主要功能函数及功能简介d) 项目组成员的分工情况2. 每个同学一份《实训报告》,其中包括:a) 问题描述b) 基本要求c) 系统分析与设计d) 测试数据及结果e) 总结3. 附录:源程序清单四、成绩评定标准学生成绩由以下几个方面进行评定:1.学生编写的实际软件和运行结果,占总成绩50%;2.设计报告,占总成绩30%3.答辩,占总成绩10%4.出勤,占总成绩10%五、实习过程项目实训过程分为以下六个阶段,各阶段如下:1、功能分析(0.25天)2、模块划分及总体设计(0.75天)3、数据结构定义、详细设计(0.5天)4、编码(2.5天)5、测试修订(1天)6、答辩(1天)合计6天。

《数据结构课程设计》实验大纲[1]

《数据结构课程设计》实验大纲[1]

《数据结构课程设计》课程实验大纲一、课程名称:数据结构课程设计二、课程性质:其他实践教学环节三、实验学时:36学时四、课程类型:独立设课五、课程适用专业:计算机科学技术专业、计算机科学与技术专业(实验班)、软件工程专业六、教学目的:了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;提高综合运用所学的理论知识和方法独立分析和解决问题的能力;训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。

七、实验教学项目表八、选题要求:在上面实验项目1、2、5中选一个小题做,在实验项目3、4中选择一个小题做,即一共需要完成两个小题。

九、课程设计报告要求:每个实验应该有相应的课程设计报告,包含如下内容:(1)问题描述及分析(2)功能模块及数据结构描述(3)主要算法流程描述(4)使用说明如何运行,如何输入测试数据,会出现的输出结果等,给出实例。

(5)实验及总结调试过程中遇到的主要问题有哪些?如何解决的。

有何结论?课程设计报告的格式要求1.字体设置要求为:(1)标题:黑体小四(2)正文内容:宋体小四号(3)表题与图题宋体五号(4)参考文献:宋体五号2.表格每个表格应有表序和表题,表序和表题应写在表格上方正中,表序后空一格书写表题。

3.插图插图必须精心制作,线条粗细要合适,图面要整洁美观。

每幅插图应有图序和图题,图序和图题应放在图位下方居中处。

4.各类参考文献的书写格式如下:连续出版物:[序号]作者.书名.刊名,年,卷号(期号):起~止页码专(译)著:[序号]作者.书名.(译者).出版地:出版者,出版年.起~止页码论文集:[序号]作者.文章名.文集名.会议地点,年.起~止页码学位论文:[序号]姓名.学位论文题目:[XX学位论文],授予单位所在地:授予单位,授予年十、课程设计成绩评定:准确评定成绩是课程设计的重点。

数据结构实验报告实验1

数据结构实验报告实验1

数据结构实验报告实验1一、实验目的本次实验的主要目的是通过实际操作和编程实现,深入理解和掌握常见的数据结构,如线性表、栈、队列等,并能够运用所学知识解决实际问题。

二、实验环境本次实验使用的编程环境为Visual Studio 2019,编程语言为C++。

三、实验内容与步骤(一)线性表的实现与操作1、顺序表的实现定义一个固定大小的数组来存储线性表的元素。

实现插入、删除、查找等基本操作。

2、链表的实现定义链表节点结构体,包含数据域和指针域。

实现链表的创建、插入、删除、遍历等操作。

(二)栈的实现与应用1、栈的实现使用数组或链表实现栈的数据结构。

实现入栈、出栈、栈顶元素获取等操作。

2、栈的应用利用栈实现表达式求值。

(三)队列的实现与应用1、队列的实现使用循环数组或链表实现队列。

实现入队、出队、队头元素获取等操作。

2、队列的应用模拟银行排队系统。

四、实验结果与分析(一)线性表1、顺序表插入操作:在指定位置插入元素时,需要移动后续元素,时间复杂度为 O(n)。

删除操作:删除指定位置的元素时,同样需要移动后续元素,时间复杂度为 O(n)。

查找操作:可以直接通过索引访问元素,时间复杂度为 O(1)。

2、链表插入操作:只需修改指针,时间复杂度为 O(1)。

删除操作:同样只需修改指针,时间复杂度为 O(1)。

查找操作:需要遍历链表,时间复杂度为 O(n)。

(二)栈1、表达式求值能够正确计算简单的四则运算表达式,如 2 + 3 4。

对于复杂表达式,如(2 + 3) 4,也能得到正确结果。

(三)队列1、银行排队系统模拟了客户的到达、排队和服务过程,能够反映出队列的先进先出特性。

五、实验中遇到的问题及解决方法(一)线性表1、顺序表的空间浪费问题问题描述:当预先分配的空间过大而实际使用较少时,会造成空间浪费。

解决方法:可以采用动态分配空间的方式,根据实际插入的元素数量来调整存储空间。

2、链表的指针操作错误问题描述:在链表的插入和删除操作中,容易出现指针指向错误,导致程序崩溃。

《数据结构》课程实验大纲

《数据结构》课程实验大纲

《数据结构》课程课内上机大纲课内上机学时:2 课程总学时:64适用专业:计算机科学与技术(考试)实验项目数:1、软件工程(考试)、教育技术学(考试)、网络工程(考试)、通信工程(考试)开课教研室:计算机工程大纲执笔人:朱战立一、本课内上机课的基本理论和目的数据结构是计算机学科的核心专业基础课程,是计算机程序设计的重要理论和实践基础。

本课程讨论了软件设计中经常遇到的线性表、堆栈、队列、串、数组、二叉树、图等典型数据结构的设计方法以及各种典型排序和查找算法的性能和设计方法,并介绍了各种典型数据结构的应用。

数据结构课程是一门理论和实践相结合的课程。

课内上机是为训练学生的实际程序设计能力安排的、包含在教学课时内的教学内容。

课内上机目的是:(1)进一步深入理解相关部分的基本概念和授课内容。

(2)进一步提高实际动手进行程序设计的能力。

二、本课内上机课的基本要求(1)认真阅读掌握和课内上机相关的教材内容。

(2)自己编程,可以参考别人的程序设计方法,但不得抄袭别人的程序。

(3)程序有错误时,尽量先自己调试,在自己能力达不到时,可请教同学或询问老师。

(4)及时完成课内上机报告。

三、设置的课内上机项目、课内上机内容和学时分配实验一顺序表的基本操作和简单程序(2学时)课内上机内容如下:(1)阅读教材上顺序表的算法代码,并自己键入这些代码。

(2)设计一个使用顺序表的应用程序。

(3)分析应用程序的运行情况。

四、本课内上机课的考核方法与评分方法本课内上机不是单独开课,是附属于数据结构课程的课内上机,因此,不单独考试。

其成绩和数据结构课程考试结合起来综合评分。

审定人:批准人:。

《数据结构》实验大纲

《数据结构》实验大纲

《数据结构》课程实验教学大纲一、实验课名称:中文名:数据结构英文名:Data Structure二、实验课性质:非独立设课三、适用专业:计算机科学与技术、网络工程、信息工程、软件工程、信息管理与系统四、采用教材及参考书:[1] 严蔚敏,吴伟民著.《数据结构(C语言版)》(第二版). 北京:清华大学出版社,2007[2] 苏仕华, 数据结构课程设计, 北京:机械工业出版社,2005.5[3] 李春葆,数据结构教程上机实验指导,北京:清华大学出版社,2005.7五、学时学分:课程总学时:54+18 ;课程总学分: 3.5 ;实验课总学时:0.5;六、实验项目名称和学时分配七、实验教学的目的和要求通过上机实践,使学生总体上掌握常用数据结构的基本概念及其不同的实现方法,理解在不同存储结构上实现不同的运算方式的意义,体会其中的编程技巧和规律。

通过本次实验课程,有助于学生熟练使用C、C++和Visual C++语言上机环境、提高高级语言编写、调试程序的能力,养成良好的程序设计风格,编写规范的文档报告,为后续的编译原理、软件工程、数据库原理等课程奠定基础。

八、实验项目的内容和要求1 实验一(1)实验项目名称:线性表的基本操作(2)实验内容:a.输入一组整型元素序列,建立线性表。

b.实现该线性表的遍历。

c.在该线性表中查找某一元素,查找成功显示查找元素,否则显示查找失败。

d.在该线性表中删除或插入指定元素。

(3)实验要求:了解线性表的基本概念,掌握线性表的两种存储结构——顺序存储和链式存储,掌握在两种存储结构上实现线性表的基本操作,掌握用C或C++或Visual C++上机调试线性表操作的基本方法。

(4)应配备的主要设备名称和台件数2 实验二(1)实验项目名称:队列的应用——舞伴配对问题(2)实验内容:利用循环队列模拟舞伴配对问题:在舞会上,男、女各自排成一队。

舞会开始时。

依次从男队和女队的队头各出一人配成舞伴。

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

“数据结构”实验教学大纲
Data Structures
实验项目中文名称:单链表
实验项目英文名称:Single linked list
实验项目编码:1
实验学时:5
适用专业:信息与计算科学、数学与应用数学
所属课程:数据结构
开课学院:理学院
开课学期:第5学期
教材及实验指导书:
耿国华主编,《数据结构—(第三版)》,电子工业出版社,2011年
一、实验目的或任务
通过指导学生上机实践,对常用数据结构的基本概念及其不同的实现方法的理论得到进一步的掌握,并对在不同存储结构上实现不同的运算方式和技巧有所体会。

二、实验教学基本要求
1.了解实验目的及实验原理;
2.编写程序,并附上程序代码和结果图;
3.总结在编程过程中遇到的问题、解决办法和收获。

三、实验教学的内容或要求
1.编写函数,实现随机产生或键盘输入一组元素,建立一个带头结点的单链表(无序)
2.编写函数,实现遍历单链表
3.编写函数,实现把单向链表中元素逆置
4.编写函数,建立一个非递减有序单链表
5.编写函数,利用以上算法,建立两个非递减有序单链表,然后合并成一个非递减链表。

6.编写函数,在非递减有序单链表中插入一个元素使链表仍然有序
7.编写函数,实现在非递减有序链表中删除值为x的结点
8.编写一个主函数,在主函数中设计一个简单的菜单,分别调试上述算法
四、实验类型或性质
验证性
五、实验开出要求
必做
六、实验所需仪器设备
1.计算机
2.相关软件(如C,C++,PASCAL,VC,DELPHI等等)
七、实验所用材料
计算机耗材
实验项目中文名称:栈与队列
实验项目英文名称:Stack and queue
实验项目编码:2
实验学时:5
适用专业:信息与计算科学、数学与应用数学
所属课程:数据结构
开课学院:理学院
开课学期:第5学期
教材及实验指导书:
耿国华主编,《数据结构—(第三版)》,电子工业出版社,2011年
一、实验目的或任务
通过指导学生上机实践,对常用数据结构的基本概念及其不同的实现方法的理论得到进一步的掌握,并对在不同存储结构上实现不同的运算方式和技巧有所体会。

二、实验教学基本要求
1.了解实验目的及实验原理;
2.编写程序,并附上程序代码和结果图;
3.总结在编程过程中遇到的问题、解决办法和收获。

三、实验教学的内容或要求
1.编写函数,采用链式存储实现栈的初始化、入栈、出栈操作
2.编写函数,采用顺序存储实现栈的初始化、入栈、出栈操作
3.编写函数,采用链式存储实现队列的初始化、入队、出队操作
4.编写函数,采用顺序存储实现队列的初始化、入队、出队操作
5.编写一个主函数,在主函数中设计一个简单的菜单,分别调试上述算法
四、实验类型或性质
验证性
五、实验开出要求
必做
六、实验所需仪器设备
1.计算机
2.相关软件(如C,C++,PASCAL,VC,DELPHI等等)
七、实验所用材料
计算机耗材
实验项目中文名称:二叉树的遍历
实验项目英文名称:Binary tree traverse
实验项目编码:3
实验学时:5
适用专业:信息与计算科学、数学与应用数学
所属课程:数据结构
开课学院:理学院
开课学期:第5学期
教材及实验指导书:
耿国华主编,《数据结构—(第三版)》,电子工业出版社,2011年
一、实验目的或任务
通过指导学生上机实践,对常用数据结构的基本概念及其不同的实现方法的理论得到进一步的掌握,并对在不同存储结构上实现不同的运算方式和技巧有所体会。

二、实验教学基本要求
1.了解实验目的及实验原理;
2.编写程序,并附上程序代码和结果图;
3.总结在编程过程中遇到的问题、解决办法和收获。

三、实验教学的内容或要求
1.编写函数,输入字符序列,建立二叉树的二叉链表
2.编写函数,实现二叉树的中序递归遍历算法。

3.编写函数,实现二叉树的中序非递归遍历算法
4.编写函数,借助队列实现二叉树的层次遍历算法
5.编写函数,求二叉树的高度
6.编写函数,求二叉树的结点个数
7.编写函数,求二叉树的叶子个数
8.编写函数,交换二叉树每个结点的左子树和右子树
9.编写一个主函数,在主函数中设计一个简单的菜单,分别调试上述算法
四、实验类型或性质
验证性
五、实验开出要求
必做
六、实验所需仪器设备
1.计算机
2.相关软件(如C,C++,PASCAL,VC,DELPHI等等)
七、实验所用材料
计算机耗材
实验项目中文名称:查找
实验项目英文名称:Search
实验项目编码:4
实验学时:5
适用专业:信息与计算科学、数学与应用数学
所属课程:数据结构
开课学院:理学院
开课学期:第5学期
教材及实验指导书:
耿国华主编,《数据结构—(第三版)》,电子工业出版社,2011年
一、实验目的或任务
通过指导学生上机实践,对常用数据结构的基本概念及其不同的实现方法的理论得到进一步的掌握,并对在不同存储结构上实现不同的运算方式和技巧有所体会。

二、实验教学基本要求
1.了解实验目的及实验原理;
2.编写程序,并附上程序代码和结果图;
3.总结在编程过程中遇到的问题、解决办法和收获。

三、实验教学的内容或要求
1.编写函数,建立有序表,采用折半查找实现某一已知的关键字的查找(采用顺序表存储结构)
2.编写函数,随机产生一组关键字,利用二叉排序树的插入算法建立二叉排序树
3.编写函数,在以上二叉排序树中删除某一指定关键字元素
4.编写一个主函数,在主函数中设计一个简单的菜单,分别调试上述算法
四、实验类型或性质
验证性
五、实验开出要求
必做
六、实验所需仪器设备
1.计算机
2.相关软件(如C,C++,PASCAL,VC,DELPHI等等)
七、实验所用材料
计算机耗材
附:教学实验基本信息汇总表
大纲制定者:安晓钢(执笔)
大纲校对者:张洲平
大纲审定者:白云霄
教学实验基本信息汇总表。

相关文档
最新文档