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最新版
目录实验一线性表基本操作的编程实现 (1)实验二堆栈或队列基本操作的编程实现 (8)实验三串基本操作的编程实现 (14)实验四二维数组基本操作的编程实现 (18)实验五二叉树基本操作的编程实现 (20)实验六图基本操作的编程实现 (33)实验七查找技术的编程实现 (43)实验八排序技术的编程实现 (49)附录一实验常见问题问答 (56)附录二如何准备实验 (56)附录三如何写实验报告 (57)附录四实验报告书写标准 (57)(特别提示:程序设计包含两个方面的错误。
其一是语法错误,其二是功能错误。
为了提高学生的编程和调试能力,本指导书给出的程序代码并不保证没有上述的两种错误。
并且也不保证程序的完整性,有一些语句已经故意删除,就是要求学生自己编制完成,这样才能达到我们的教学要求。
希望大家以自己所学高级语言的基本功和数据结构原理的思考点为基础,不要过于依赖给出的参考代码,这样才能有所进步。
如果学生能够根据要求完全自己编制,那就更好了。
)实验一线性表基本操作的编程实现【实验目的】线性表基本操作的编程实现要求:线性表基本操作的编程实现(2学时,验证型),掌握线性表的建立、遍历、插入、删除等基本操作的编程实现,也可以进一步编程实现查找、逆序、排序等操作,存储结构要求是链表存储结构(顺序存储结构建议作为课外实验完成),可以依次完成主要功能来体现功能的正确性,用菜单进行管理完成大部分功能,要求可以重复运行。
还鼓励学生利用基本操作进行一些更实际的应用型程序设计。
【实验性质】验证性实验(学时数:2H)【实验内容】1.线性表的链表存储,实现数据插入、删除运算。
为了体现功能的正常性,同时要编制数据输入函数和遍历函数,数据输入可以用1.键盘输入 2.内部预置数据 3.计算机自动给出 4.文件读入。
最好同时提供多种方式。
2.其他建议改进的功能或细节:存储结构修改为循环链表、双向链表、双向循环链表、静态链表等。
3.实验要求带头结点,提高编程能力可以把头结点故意去掉,看看那些语句有变化,编程增加了多少工作量。
数据结构实验指导书
数据结构实验指导书一、实验目的数据结构是计算机科学中的重要基础课程,通过实验,旨在帮助学生更好地理解和掌握数据结构的基本概念、原理和算法,提高学生的编程能力和问题解决能力。
具体而言,实验的目的包括:1、加深对常见数据结构(如数组、链表、栈、队列、树、图等)的理解,掌握其特点和操作方法。
2、培养学生运用数据结构解决实际问题的能力,提高算法设计和程序实现的能力。
3、增强学生的逻辑思维能力和调试程序的能力,培养学生的创新意识和团队合作精神。
二、实验环境1、操作系统:Windows 或 Linux 操作系统。
2、编程语言:C、C++、Java 等编程语言中的一种。
3、开发工具:如 Visual Studio、Eclipse、Code::Blocks 等集成开发环境(IDE)。
三、实验要求1、实验前,学生应认真预习实验内容,熟悉相关的数据结构和算法,编写好实验程序的代码框架。
2、实验过程中,学生应独立思考,认真调试程序,及时记录实验过程中出现的问题及解决方法。
3、实验完成后,学生应撰写实验报告,包括实验目的、实验内容、实验步骤、实验结果、问题分析与解决等。
四、实验内容(一)线性表1、顺序表的实现与操作实现顺序表的创建、插入、删除、查找等基本操作。
分析顺序表在不同操作下的时间复杂度。
2、链表的实现与操作实现单链表、双向链表的创建、插入、删除、查找等基本操作。
比较单链表和双向链表在操作上的优缺点。
(二)栈和队列1、栈的实现与应用实现顺序栈和链式栈。
利用栈解决表达式求值、括号匹配等问题。
2、队列的实现与应用实现顺序队列和链式队列。
利用队列解决排队问题、广度优先搜索等问题。
(三)树1、二叉树的实现与遍历实现二叉树的创建、插入、删除操作。
实现二叉树的前序、中序、后序遍历算法,并分析其时间复杂度。
2、二叉搜索树的实现与操作实现二叉搜索树的创建、插入、删除、查找操作。
分析二叉搜索树的性能。
(四)图1、图的存储结构实现邻接矩阵和邻接表两种图的存储结构。
2012级算法与数据结构实验指导书18
《算法与数据结构》实验指导书实验课程类别:课程内实验实验课程性质:必修适用专业、年级:2012级计算机大类开课院、系:计算机科学与工程学院学时:18编写依据:《算法与数据结构》实验教学大纲修订时间:2014年2月《算法与数据结构》课程实验指导书(以下简称:指导书)是针对计算机学院所开设的对应课程的上机实验而编写的教学文件,供学生上机实验时使用。
上机的工作环境要求:Windows 2000或以上操作系统、VC++ 6.0或者其它高级程序设计语言。
学生应按指导教师的要求独立完成实验,并按要求撰写实验报告。
每一个实验,编程上机调试并且提交电子文档实验报告,以学号姓名作为文件名上传。
报告内容至少包含如下内容:1、学生基本情况:专业班级、学号、姓名2、实验题目、实验内容3、设计分析4、源程序代码5、测试用例(尽量覆盖所有分支)6、实验总结一.实验内容与学时分配序次实验题目实验类型基本技能训练学时一线性结构综合应用基础性(1)掌握线性结构的常用操作;(2)能够应用线性结构解决比较简单的问题。
10二非线性结构综合应用设计性(1)掌握树形、图形结构的插入、删除、查找等算法;(2)能够应用二叉树解决比较简单的问题。
4三查找技术综合应用设计性(1)熟练掌握查找的常用算法;(2)设计和应用查找算法解决简单的实际问题。
2四排序技术综合应用基础性(1)熟练掌握常用的排序方法,并掌握用高级语言实现排序算法的方法;(2)深刻理解排序的定义和各种排序方法的特点,并能加以灵活应用;(3)了解各种方法的排序过程及其依据的原则,并掌握各种排序方法的时间复杂度的分析方法。
2二.实验说明实验一、线性结构综合应用(一)顺序表的应用1、实验目的:(1)掌握用VC++上机调试线性表的基本方法;(2)掌握顺序表的存储结构以及基本运算的实现。
2、实验内容约瑟夫环问题:设编号为1,2,3,……,n的n(n>0)个人按顺时针方向围坐一圈,m为任意一个正整数。
数据结构课程实验指导书
《数据结构》实验指导书第一部分前言一、实验的目的《数据结构》是计算机学科一门重要的专业基础课程,也是计算机学科的一门核心课程。
本课程的另一重要教学目的是训练学生进行复杂程序设计的技能和培养良好程序设计的习惯,要做到这一点,上机实习是必须的。
数据结构实验是对学生的一种全面综合训练,是与课堂听讲、自学和练习相辅相成的必不可少的一个教学环节。
通常,实验课题中的问题比平时的习题复杂得多,也更接近实际。
实验着眼于原理与应用的结合点,使学生学会如何把书上学到的知识用于解决实际问题,训练学生实际动手进行程序设计和调试程序的能力,加深对数据结构相关概念和算法的理解。
通过完成本实验课程的实验,学生应学会并掌握本课程的基本和重点知识,深刻理解逻辑结构、物理结构和算法设计之间的关系,初步学会算法分析的方法,并能在一定范围内运用所掌握的分析方法进行算法分析,培养软件工作所需要的动手能力和作为一个软件工作者所应具备的科学工作方法和作风。
二、实验前的准备工作1.每个学生需配备一台计算机,操作系统需Windows2000/XP以上版本,软件需Visual C++6.0以上版本。
2.实验前要求学生按实验要求编写好相关实验程序,准备上机调试运行。
三、实验的步骤(一)建立一个文件夹,如“数据结构”,用来存放自己的所有实验程序,在该文件夹中建立子目录用来存放每个项目(一个子目录一个项目),如“顺序表”,项目中需要的所有文件都存在该文件夹中。
(二)新建一个项目文件1.双击Visual C++ 6.0快捷图标,进入Visual C++ 6.0集成开发环境;或者点击“开始”→“程序”→“Microsoft Visual Studio 6.0”→“Microsoft Visual C++ 6.0”进入Visual C++ 6.0集成开发环境。
2.单击“File”菜单,选择“New”命令3.创建一个项目文件并保存在项目所在文件夹中;3. 创建源程序文件并保存在项目所在文件夹中;4.输入源程序;5.单击“保存”按钮保存源程序。
数据结构课程设计
《数据结构》课程设计实践指导书一、实践的目的和任务《数据结构》课程设计是计算机科学技术专业集中实践性环节之一,是学习完《数据结构》课程后进行的一次全面的综合练习。
开设本课程设计实践的主要目的就是要达到理论与实际应用相结合,提高学生的动手能力,完成计算机应用能力的培养;主要任务是通过对给定问题的求解,使学生在运用《数据结构》、程序设计以及其它所学课程中的各种基本技术和理论,在建立问题模型、构造求解算法、设计数据结构、编程及上机调试等方面得到全面的锻炼,从而能更深刻地理解《数据结构》的精髓,为后续软件课程的学习及软件设计能力的提高奠定良好的基础。
二、实践的内容和要求(一)实践内容实践内容为数据结构课程完成后,运用《数据结构》、程序设计以及其它所学课程中的知识和技术来解决实际的问题。
在解决实际应用性问题时,按照计算机解决问题的步骤进行以下几个方面的工作:采用简明、严格的问题描述,建立模型,设计求解方法,用计算机实现求解方法,最后进行测试和文档制作。
1、建立模型许多问题的最初描述既不精确又不简练,还有一些问题不可能简单而精确地用计算机可求解的形式来描述,即使有些可用计算机求解的问题,也需要在很大范围内确定问题的参数,而那些合理的参数值只有通过实验才能确定。
因此,要用计算机解决问题,必须首先要以简明、严格的方式将问题描述清楚。
数学或其它科学中的几乎所有分支都可作为某一类具体问题的抽象模型。
例如,在涉及到若干对象及其相互间关系的问题时所用的数学模型为图论;数值计算问题中常用的数学模型为线性方程组(用于求解电路的电流强度或结构中的应力)或微分方程(用于预报人口增长情况或化学反应速度等);在符号与文本处理问题时常用字符串及形式语法作为模型(如编译系统)。
《数据结构》课程中所介绍的各种结构均可作为一种模型。
2、构造算法对问题建立了适当的数学模型后,就可以依据这一模型求解。
最初的目标是给出一个算法形式的解法,这是设计的核心部分。
数据结构课程设计指导书(2012)
《数据结构》课程设计指导书一、课程设计目的《数据结构》是一门实践性较强的软件基础课程,为了学好这门课程,必须在掌握理论知识的同时,加强上机实践。
课程设计是加强学生实践能力的一个强有力手段。
本课程设计的目的就是要达到理论与实际应用相结合,使学生深化理解书本知识,获取上机实践经验,使学生能够根据数据对象的特性,学会数据组织的方法,能把现实世界中的实际问题在计算机内部表示出来,并培养软件工作者所需的动手能力、独立解决问题的能力。
该课程设计侧重软件设计的综合训练,包括问题分析、总体结构设计、用户界面设计、程序设计基本技能和技巧,以至一整套软件工作规范的训练和科学作风的培养。
通过该课程设计的操作与实践,使学生真正掌握数据结构相关算法的实现及应用方法,在一定程度上提高使用数据结构相关算法的综合设计能力,具体掌握的基本能力如下:1.了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;2.初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;3.提高综合运用所学的理论知识和方法独立分析和解决问题的能力;4.训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。
二、课程设计要求学生必须仔细阅读《数据结构》课程设计方案,认真主动完成课程设计的要求。
通过设计一个完整的程序,使学生掌握数据结构的应用,算法的编写。
要求如下:1.做好上机准备:要充分认识课程设计对自己的重要性,认真做好设计前的各项准备工作。
每次上机前,要事先编制好准备调试的程序,认真想好调试步骤和有关环境的设置方法,准备好有关的文件。
2.既要虚心接受老师的指导,又要充分发挥主观能动性。
结合课题,独立思考,努力钻研,勤于实践,勇于创新。
充分利用时间,安排好课程设计的时间计划,并在课程设计过程中不断检测自己的计划完成情况,及时向教师汇报。
3.独立思考,独立完成:课程设计中各项任务的设计和调试要求独立完成,遇到问题可以讨论,但不可以拷贝。
数据结构实验指导书及其答案pdf
引言概述正文内容
1.实验环境配置
1.1硬件要求
计算机硬件配置要求
操作系统要求
附加硬件设备要求(如虚拟机等)
1.2软件要求
编程语言要求(如C/C++、Java等)开发环境配置(如IDE、编译器等)1.3实验库和工具
实验需要使用的库文件和工具
如何获取和配置实验库和工具
2.实验内容介绍
2.1实验目标和背景
数据结构实验的作用和意义
实验背景和相关应用领域介绍
2.2实验概述
实验内容的大致流程和步骤
实验中可能遇到的问题和挑战
2.3实验要求
对学生实验流程和实验结果的要求
实验过程中需要注意的事项和技巧
3.实验步骤
3.1实验准备
配置实验环境
获取实验所需数据和文件
3.2实验具体步骤
根据实验要求将数据结构知识应用到具体问题中根据实验要求实现相应的算法和数据结构
3.3实验示例代码
提供示例代码以供学生参考和学习
解析示例代码中的关键步骤和实现细节
4.实验答案
4.1实验题目
实验题目及相关说明
确定实验的具体要求和目标
4.2实验答案解析
对实验答案的具体实现进行解析
对实验中可能遇到的问题和错误进行分析和解决4.3实验答案示例
提供实验答案的示例代码
解析实验答案中的关键实现步骤和说明
5.实验总结
5.1实验成果评估
对学生实验成果进行评估
分析实验结果的优点和不足
5.2实验心得
学生对本次实验的收获和感想
学生对未来实验的建议和展望
总结。
数据结构实验指导2012
数据结构实验指导本部分为读者设置了九个实验,读者可根据需要选做。
每个实验都分为两部分内容:实验内容和实验题目,实验内容是引导读者有效地掌握相关章节的算法,而实验题目则要求读者独立完成。
本书中所有结构的数据域部分均以整型数据或字符型示例,读者可根据需要自己调整实际数据类型。
一、实验要求(1)上实验以前应该明确当次实验的目的,阅读实验内容,写好实验题目程序清单。
(2)实验环境可用Turboc2.0或者Turboc3.0,要求读者事先复习好编译环境的使用方法,在实验时把主要精力放在算法设计上,而不是放在程序调试上。
(3)实验结束要书写实验报告。
(4)充分利用上机时间,提高上机效率。
二、实验报告的内容实验报告要包括以下几部分:(5)实验目的。
(6)实验内容。
(7)实验题目清单及必要的注释。
(8)程序的运行结果。
(9)实验总结(实验结果的分析,自己的经验及不足等)。
实验一线性结构的操作实验1.1 顺序表的插入和删除的实现一、实验目的:掌握线性表的顺序存储结构的实现方法,能够实现顺序表插入和删除的程序。
二、实验内容:建立一个顺序表(有n个数据结点),输入n个数据值,并能够完成在第i个结点之前插入数据e的操作。
1进入visual c++6.0集成环境。
2书写程序清单。
注意如下问题。
插入函数的实现。
插入之后线性表如何输出,插入成功与否如何表示。
3调试程序,运行,输入数据。
注意应输入一些边界数据和一些非法数据以证明算法的健壮性。
三、实验题目:参照实验内容的方法,实现顺序表的删除。
附:实验内容的程序清单。
#include "stdio.h"typedef int status;typedef struct{int *elem;int length;int listsize;}Sqlist;status Create_sq(Sqlist *L,int n){int i;L->elem=(int *)malloc(100*sizeof(int));if(!L->elem) return 0;for(i=0;i<n;i++)scanf("%d", &(L->elem[i]));/*输入n个数据值*/L->length=n;L->listsize=100;return 1;}status Listinsert_sq(Sqlist *L,int i,int e){int *q,*p, *newbase;if(i<1||i>L->length+1) return 0;if(L->length>=L->listsize){newbase=(int *)realloc(L->elem,(L->listsize+10)*sizeof(int));if(!newbase) exit(-2);L->elem=newbase;L->listsize+=10;}q=&(L->elem[i-1]);for(p=&(L->elem[L->length-1]);p>=q;--p)*(p+1)=*p;*q=e;++L->length;return 1;}main(){Sqlist L1;int j,n,a;int i,e;printf("\n please input the number of data:\n");scanf("%d",&n);if(Create_sq(&L1,n)==1){scanf("%d%d",&i,&e);/*输入i为插入位置,e为要插入元素的数值)*/ a=Listinsert_sq(&L1,i,e);if(a==1)printf("insert success\n");elseprintf("insert false\n");printf("the list elements are:\n");for(i=1;i<=L1.length;i++){printf("%d\t",L1.elem[i-1]);}}}实验1.2 单链表插入和删除的实现一、实验目的:掌握线性表的链式存储结构的实现方法,能够实现单链表插入和删除的程序。
数据结构课程实验指导书
数据结构实验指导书一、实验目的《数据结构》是计算机学科一门重要的专业基础课程,也是计算机学科的一门核心课程。
本课程较为系统地论述了软件设计中常用的数据结构以及相应的存储结构与实现算法,并做了相应的性能分析和比较,课程内容丰富,理论系统。
本课程的学习将为后续课程的学习以及软件设计水平的提高打下良好的基础。
由于以下原因,使得掌握这门课程具有较大的难度:1)理论艰深,方法灵活,给学习带来困难;2)内容丰富,涉及的知识较多,学习有一定的难度;3)侧重于知识的实际应用,要求学生有较好的思维以及较强的分析和解决问题的能力,因而加大了学习的难度;根据《数据结构》课程本身的特性,通过实验实践内容的训练,突出构造性思维训练的特征,目的是提高学生分析问题,组织数据及设计大型软件的能力。
课程上机实验的目的,不仅仅是验证教材和讲课的内容,检查自己所编的程序是否正确,课程安排的上机实验的目的可以概括为如下几个方面:(1)加深对课堂讲授内容的理解实验是对学生的一种全面综合训练。
是与课堂听讲、自学和练习相辅相成的必不可少的一个教学环节。
通常,实验题中的问题比平时的习题复杂得多,也更接近实际。
实验着眼于原理与应用的结合点,使学生学会如何把书上学到的知识用于解决实际问题,培养软件工作所需要的动手能力;另一方面,能使书上的知识变"活",起到深化理解和灵活掌握教学内容的目的。
不少学生在解答习题尤其是算法设计时,觉得无从下手。
实验中的内容和教科书的内容是密切相关的,解决题目要求所需的各种技术大多可从教科书中找到,只不过其出现的形式呈多样化,因此需要仔细体会,在反复实践的过程中才能掌握。
(2)培养学生软件设计的综合能力平时的练习较偏重于如何编写功能单一的"小"算法,而实验题是软件设计的综合训练,包括问题分析、总体结构设计、用户界面设计、程序设计基本技能和技巧,多人合作,以至一整套软件工作规范的训练和科学作风的培养。
数据结构实验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级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天。
数据结构课程设计指导书(2012)
〃參计駅工貌一单«豪实A《数据结构》课程设计指导书一、课程设计U 的《数据结构》是一门实践性较强的软件基础课程,为了学好这门课程,必须在掌握理论 知识的同时,加强上机实践。
课程设i|是加强学生实践能力的一个强有力手段。
本课程设计 的目的就是要达到理论与实际应用相结合,使学生深化理解书本知识,获取上机实践经验, 使学生能够根据数据对象的特性,学会数据组织的方法,能把现实世界中的实际问题在计算 机内部表示出来,并培养软件工作者所需的动手能力、独立解决问题的能力。
该课程设计侧重软件设计的综合训练,包括问题分析、总体结构设计、用户界面设计、 程序设汁基本技能和技巧,以至一整套软件工作规范的训练和科学作风的培养。
通过该课程 设il •的操作与实践,使学生真正掌握数据结构相关算法的实现及应用方法,在一立程度上提 高便用数据结构相关算法的综合设计能力,具体掌握的基本能力如下:了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力: 初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能:3.4.训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的 科学的工作方法和作风。
二、课程设计要求学生必须仔细阅读《数据结构》课程设计方案,认真主动完成课程设计的要求。
通过设 讣一个完整的程序,便学生掌握数据结构的应用,算法的编写。
要求如下:A 做好上机准备:要充分认识课程设计对自己的重要性,认真做好设计前的^$项准备 工作。
每次上机前,要事先编制好准备调试的程序,认貞想好调试步骤和有关环境的设置方 法,准备好有关的文件。
纟 既要虚心接受老师的指导,又要充分发挥主观能动性。
结合课题,独立思考,努力 钻研,勤于实践,勇于创新。
充分利用时间,安排好课程设计的时间计划,并在课程设让过 程中不断检测自己的计划完成情况,及时向教师汇报。
M 独立思考,独立完成:课程设计中齐项任务的设计和调试要求独立完成,遇到问题 可以讨论,但不可以拷贝。
数据结构实验指导书(2012.9)
1.2实验报告(文档)书写规范实验报告(文档)应包括以下7个方面的内容:1、问题分析根据对实验任务的理解,以无歧义的陈述说明程序设计的任务,强调的是程序要做什么。
指出解决问题的关键步骤,如果问题复杂,应将问题分解成若干个子问题。
明确规定:(1)本实验的任务以及程序所能达到的功能;(2)完成该任务需要解决的关键问题;(3)程序设计中输入数据的类型、形式及输入值的范围;(4)设置测试数据:包括正确的输入及预计的输出结果和含有错误的输入及预计输出结果。
2.概要设计针对问题分析中提出的关键问题进行分析(可以列举实例进行分析),从而总结出关键问题的解决思路,给出解决关键问题的算法思想。
说明本程序中用到的所有程序模块、各程序模块之间的层次(调用)关系以及主程序的流程,各程序模块使用中文名称即可。
3.详细设计根据概要设计中提出的关键问题的解决思路,设计本程序中用到的所有数据结构,要求做到:(1)在所设计的数据结构下分析关键问题的具体解决方案和步骤,给出相应的用类C 语言描述的算法;(2)分析设计程序中需要用到的变量、全局变量及其数据类型定义;(3)设计程序中的所有模块(自定义函数和主函数),通过分析定义函数的类型、描述函数参数、说明函数名称,并给出相应类C语言描述的算法(类C语言算法达到的详细程度建议为:按照该算法可以直接写出高级程序设计语言程序);(4)画出函数和过程的调用关系图。
4.调试分析程序调试主要实现程序的语法错误检查和功能性错误检查。
调试最好分模块进行,自底向上,即先调试低层过程或函数。
在实验报告中应有如下内容:(1)记录调试过程中遇到的问题及其解决方案,如果由此反映出程序设计的不足,应对设计与实现进行回顾讨论和分析,并修正;(2)算法的时空分析(包括基本操作和其他算法的时间复杂度和空间复杂度的分析)和改进设想;(3)经验和体会等。
5.测试结果将程序的测试结果截图,展示出你的测试过程和结果,包括输入和输出。
《数据结构》实验指导书
《数据结构》实验指导书实验指导书课程名称:数据结构计算机科学与工程系《数据结构》课程组目录前言 .................................... 1 一、实验的作用和目的 ..................... 2 二、实验方式与考核方式................... 2 三、实验要求 ............................. 3 四、实验报告要求......................... 4 五、实验内容 .. (5)实验一线性表应用 (5)实验二栈与队列应用 (10)实验三二叉树的操作 (14)实验四图的遍历 ................................................18 实验五查找算法应用 (21)六、选做实验内容 (24)实验六排序 ................................................ ....24 实验七数组和广义表 (26)实验八串 ................................................ . (27)前言《数据结构》数据结构是计算机科学与技术及相关专业的一门重要专业基础课,它主要介绍线性结构、树型结构、图状结构三种逻辑结构元素的存储实现,在此基础上介绍一些典型算法,以及算法的时间、空间效率分析。
这门课程的主要任务是培养学生的算法设计能力及良好的程序设计习惯。
通过本课程的学习,使学生熟练地掌握数据结构的内在逻辑关系及其在计算机中的表示方法,以及相关基本操作的算法实现;掌握典型算法的设计思想及程序实现;熟悉各种数据结构在计算机科学中的基本应用;培养和训练学生结合实际应用,根据实际问题选取合适的数据结构、存储方案设计出简洁、高效、实用的算法;并为学习《操作系统》、《编译原理》、《数据库原理》等后续课程和研制开发各种系统和应用软件打下扎实的理论与实践基础。
《数据结构A》实验指导书2012版_马春江要点
HUBEI UNIVERSITY OF AUTOMOTIVE TECHNOLOGY数据结构A实验指导书马春江撰写付勇智审核电气与信息工程学院计算机工程系2013年12月前言数据结构课程开设8个必做的实验:1、线性表基本操作的编程实现(2学时,验证型),掌握线性表的建立、遍历、插入、删除等基本操作的编程实现,也可以进一步编程实现查找、逆序、排序等操作,存储结构可以在顺序结构或链接结构中任选,也可以全部实现,用菜单进行管理。
也鼓励学生利用基本操作进行一些应用的程序设计。
2、堆栈和队列基本操作的编程实现(2学时,验证型),掌握堆栈和队列的建立、进栈、出栈、进队、出队等基本操作的编程实现,存储结构可以在顺序结构或链接结构中任选,也可以全部实现,用菜单进行管理。
也鼓励学生利用基本操作进行一些应用的程序设计。
3、串基本操作的编程实现(2学时,验证型),掌握串的建立、遍历、插入、删除等基本操作的编程实现,也可以进一步编程实现查找、合并、剪裁等操作,存储结构可以在顺序结构或链接结构、索引结构中任选,也可以全部实现,用菜单进行管理。
也鼓励学生利用基本操作进行一些应用的程序设计。
4、二维数组基本操作的编程实现(2学时,验证型),掌握数组的建立、读取数据、压缩存储等基本操作的编程实现,存储结构可以在顺序结构或链接结构中任选,也可以全部实现,用菜单进行管理。
也鼓励学生利用基本操作进行一些应用的程序设计。
5、二叉树基本操作的编程实现(2学时,验证型),掌握二叉树的建立、遍历、插入、删除等基本操作的编程实现,也可以进一步编程实现查找等操作,存储结构主要采用链接结构,用菜单进行管理。
也鼓励学生利用基本操作进行一些应用的程序设计。
6、图基本操作的编程实现(2学时,验证型),掌握图的建立、遍历、插入、删除等基本操作的编程实现,也可以进一步编程实现查找等操作,存储结构可以在顺序结构或链接结构中任选,也可以全部实现,用菜单进行管理。
2012数据结构实验指导书
《数据结构》实验报告书写要求一、实验报告的基本要求:一般性、较小规模的上机实验题,必须遵循下列要求。
养成良好的习惯。
(1)姓名班级学号日期(2)题目:内容叙述(3)程序清单(带有必要的注释)(4)调试报告:实验者必须重视这一环节,否则等同于没有完成实验任务。
这里可以体现个人特色、或创造性思维。
具体内容包括:测试数据与运行记录;调试中遇到的主要问题,自己是如何解决的;经验和体会等。
二、实验报告的提高要求:阶段性、较大规模的上机实验题,应该遵循下列要求。
养成科学的习惯。
(1)需求和规格说明描述问题,简述题目要解决的问题是什么。
规定软件做什么。
原题条件不足时补全。
(2)设计a.设计思想:存储结构(题目中限定的要描述);主要算法基本思想。
b.设计表示:每个函数的头和规格说明;列出每个函数所调用和被调用的函数,也可以通过调用关系图表达。
c.实现注释:各项功能的实现程度、在完成基本要求的基础上还有什么功能。
(3)用户手册:即使用说明。
(4)调试报告:调试过程中遇到的主要问题是如何解决的;设计的回顾、讨论和分析;时间复杂度、空间复杂度分析;改进设想;经验和体会等。
实验1 线性表的基本操作一.实验目的1、掌握线性表的基本运算2、掌握顺序存储及链式存储的概念,学会对两种存储结构进行操作。
3、进一步培养学生解决实际问题的编程能力。
二.实验内容1、基础题(1)编写顺序表基本操作函数InitList_SqGetElem_ SqInsertList_ SqDeleteList_ SqOutputList_ Sq(2)编写线性链表基本操作函数InitList_LGetElem_LInsertList_LDeleteList_LOutputList_L(3)调用上述函数初始化线性表调用插入函数建立一个非空线性表在线性表中获取指定位置的元素在线性表中删除指定位置的元素遍历并输出线性表2、设计题分别用两种结构编程实现将两个有序的线性表进行合并,要求同样的数据元素只出现一次。
数据结构A实验指导书1
目录实验规则 (2)实验环境 (2)实验报告要求 (3)实验一单链表 (4)实验二栈 (5)实验三迷宫求解 (6)实验四最短路径 (7)实验五哈希表 (8)实验六内部排序 (9)实验七综合实验 (10)实验规则为了顺利完成实验教学任务,确保人身、设备的安全,培养严谨、踏实、实事求是的科学作风和爱护国家财产的优良品质,特制定以下实验规则:1、实验前必须充分预习,完成指定的预习任务。
预习要求如下:(1)认真阅读指导书,进行必要的设计与计算。
(2)熟悉实验内容。
(3)预先复习,并按要求编写程序。
(4)未完成预习任务者不得进入实验室。
2、遵守以下纪律:(1)在实验室不得做和实验无关的事情。
(2)进行任课老师指定内容以外的实验,必须经指导教师同意。
(3)遵守纪律,不迟到。
(4)保持实验室内安静、整洁,爱护公物,不许乱写乱画。
实验环境本实验在386以上的微机上进行,运行环境为TurboC。
实验报告要求1、实验题目2.实验目的3.实验环境4.实验内容与完成情况(可以附上自主设计的源程序)5.出现的问题6.对问题的解决方案7.实验思考:(学生对本次实验的收获的总结)实验一单链表一、实验目的掌握线性表的链式存储结构及其基本操作。
二、预习要求1、看懂书上的算法,深入理解链表的物理存储模式和逻辑模式。
2、根据要求,编写程序准备上机调试。
三、实验内容实现一个简单的学生信息管理系统,该系统的功能有:1、利用单链表建立学生基本信息表2、浏览每个学生的信息3、根据学号查询某个学生的基本信息4、添加学生信息到单链表中5、删除一个学生的信息四、实现提示设计结点的结构体类型,包括学生的学号、姓名、年龄、性别;要求设计一个简单的菜单界面,根据需要选择所要进行的操作;构造函数,每一个函数实现上述的一个功能。
五、思考题1、如何用用带表头结点的单链表作为多项式的存储表示,实现两个多项式的相加?2、约毖夫环的实现。
3、如何利用文件实现学生信息的存取。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据结构A》课程实验指导书Data Structure Course Design课程编号:学时:15 学分:1先修课程:程序设计基础、面向对象程序设计适用专业:计算机科学与技术、网络工程、软件工程一、实验目的《数据结构A》课程是计算机科学与技术及其相关专业的一门重要的专业基础课。
在课堂教学中,比较全面、概括性地讲述数据结构学科中一些基础性知识、重要概念及各种算法,通过该实验教学和学生的上机实践,将这些基础性知识、重要概念及各种算法,在计算机上编程实现,使学生能够达到以下实验教学目标:1.掌握计算机处理数据的基本方法;2.了解算法的时间及空间分析方法;3.能够为实际应用所涉及的数据选择适当的逻辑结构、存储结构及相应的算法;4.通过在计算机上编程实现课程中介绍的各种算法,在程序设计能力方面得到提升。
二、上机实验总体要求1.每位同学准备一个实验本,上机前作好充分的准备工作,预习本次实验的内容,事先熟悉与实验有关的软硬件环境,编写好程序代码,供上机时使用。
2.实验时遵守实验室的规章制度,爱护实验设备,原则上每人固定实验设备,对于实验设备出现的问题,要及时向指导老师汇报。
3.编程序过程中要注意多存盘,避免由于死机等原因造成的不必要的重复录入。
4.内部文档要求:每个源文件和头文件都必须在文件首部的注释中注明设计者姓名,项目名(即我们的上机题目名),创建日期和最近一次修改日期。
包含main()函数的源文件必须在首部注释后另加一段注释,简要描述一下程序的目的和用到的主要数据结构。
文件注释格式如下:文件名称:项目名称:创建者:创建时间:最后修改时间:功能:文件中的函数名称和简单功能描述:文件中定义的全局变量和简单功能描述:文件中用到的他处定义的全局变量及其出处:与其他文件的依赖关系:◆每个类必须包含首部注释块,适度地描述这个类的目的。
类的首部注释应该紧挨着放在类的声明(一般在头文件里)前面。
类的注释格式如下:类名称:定义该类的目的:类属性:类中函数及功能:与其他类的关系(调用/被调用哪类对象中的什么函数):◆每个函数必须有首部注释块,描述该函数的简要功能,每个参数的逻辑含义(包括它是输入还是输出或者输入/输出),函数调用之前的预备条件,返回后的处理,返回值(如果有的话),该函数要调用到的函数列表(如果有)。
这些函数头注释可能和函数原型或函数实现放在一起。
应该注意到:这项要求不仅适合于单独的函数,同样适合于类的成员函数。
函数的注释格式如下:函数名称:函数功能描述:函数调用之前的预备条件:返回后的处理:返回值(如果有的话):函数的输入参数:函数的输出参数:函数的抽象算法(伪码):函数与其他对象中函数的调用和被调用关系:◆所有局部变量或常量的声明后应该简要说明一下他们的含义和用途。
◆主要的控制结构,例如循环或分支结构,应该在前面注明将要完成什么功能。
◆采用清晰一致的缩进格式和其他格式化风格(例如括号的定位)来提高代码可读性。
5.过程代码要求◆标识符名称(常量、变量、函数、类等等)应该具有描述性,便于理解。
◆要用到某个常数时,最好设置一个常量来代替这个数字。
◆采用枚举类型来表示内部标签和状态的分类。
◆任何情况下都不要用全局或文件范围变量。
但是允许采用全局范围内的类型定义(包括类定义)。
◆采用适当的途径传递函数参数。
当被调用函数需要修改实参的值时一般只采用引用传参。
当被调用函数只需改变形参(调用内部)而保持实参不变时采用传值传参。
◆采用string对象来存储字符串数据(除了单个字符),而不用字符数组来表示。
◆采用I/O流代替C风格的I/O。
6.面向对象的代码要求◆尽量采用类。
不要用成员函数来实现结构类型。
◆一般来讲,建议采用类模板来表示容器型结构,如列表、树等,以提高可重用性。
◆设计类时,每个类都具有比较好的完整性(即该类的数据成员和函数成员具有比较好的内聚性和一致性,不要把不相干的东西凑合在一起,也不要把相关的东西生生拆散)。
◆类的所有数据成员都应该是私有的。
◆很多情况下,类的某些成员函数应该也是私有的。
视情况而定。
◆所有访问型指针都尽可能加const修饰(以区别于引用型指针)。
◆如果一个类数据成员是一个指向动态分配内存的指针,要求写出析构函数来释放内存;并写出一个用于复制对象的构造函数(copy constructor),而且写出赋值操作的重载运算(assignment operator overload)。
◆仅当有必要时才采用继承机制。
◆尽量少使用MFC库中的类,可以适当地使用STL的类(但是,如果同学们对于最基本的数据结构,例如栈、队列等还不熟悉的情况下,还是尽量自己来编写基本类)。
如果要编图形界面,请尽量把与编译环境(如VC、C++ Builder)有关的类限制在少数几个文件中。
也就是说,尽量把算法部分和界面部分的源程序分割开来。
当然,string类例外,大多数情况下同学们可以用它来替代chat *类型。
三、上机实验报告提交要求按时完成各个实验,实验结束后应完成实验报告,并以打印或电子文档的形式提交。
实习报告内容参见各实验。
实验报告提交时打一个zip(或rar)压缩包,zip(或rar)压缩包文件名统一采用以下格式命名:班级-学号-姓名-实验题号-版本号.zip(或为:班级-学号-姓名-实验题号-版本号.rar)例:计算机科学与技术专业2002级1班学号为03的姓名是王三的学生的第4个实验的第1个版本的文件名为:jsj021-03-王三-4-1.zip(或为j021-03-王三-4-1.rar)。
各专业对应的缩写如下:(1)计算机科学与技术—jsj(2)信息安全—xa(3)网络工程—wl(4)软件工程—rjzip(或rar)压缩包中应含有:(1)readme.txt文件,把你的程序运行环境、编译运行步骤、程序功能等等简单说明一下。
(2)附加了足够注释的源程序以及相关的项目和资源文件。
四、实验安排实验一单链表操作(一)实验内容单链表的创建、合并和输出。
(二)实验目的1.熟悉用Visual C++进行程序设计的方法。
2.掌握单链表的创建、查找、插入和合并等运算。
(三)实验题目本实验要求实现以下功能:1.从键盘输入顺序任意的5个整数,按有序插入的要求生成第一个有序单链表,将该链表输出显示。
2.再从键盘输入顺序任意的5个整数,按有序插入的要求生成第二个有序单链表,将该链表输出显示。
3.将这两个有序单链表合并成一个有序单链表,要求使用两个单链表的原有空间进行合并,将生成的有序单链表输出显示。
【测试数据】输入第一组整数:23 45 11 78 34输出的有序单链表应为:11,23,34,45,78输入第二组整数:90 13 45 66 10输出的有序单链表应为:10,13,45,66,90合并两个单链表,输出合并后的结果应为:10,11,13,23,34,45,45,66,78,90(四)实验报告1.实验题目。
2.程序中使用的数据结构及符号说明。
3.程序的主要流程图。
4.程序主要模块的功能说明。
5.程序运行时的初值和运行结果。
6.源程序并附上注释。
7.收获及体会。
实验二二叉树操作(一)实验内容二叉树的建立和遍历。
(二)实验目的1.进一步掌握指针变量的使用。
2.掌握二叉树的结构特征以及各种存储结构的特点及使用范围。
3.掌握用指针类型描述、访问和处理二叉树的运算。
4.掌握栈或队列的使用。
(三)实验题目本实验要求实现以下功能:1.按前序次序建立一棵二叉树,以‘#’表示空。
2.中序、后序遍历该二叉树,输出遍历序列。
3.求出该二叉树的深度并输出,或求出该二叉树的叶子数目并输出。
4.试以栈为辅助存储结构实现二叉树的前序非递归算法或以队列为辅助存储结构实现二叉树的层次遍历算法。
【测试数据】输入以下字符串,建立二叉树:ABC##DE#G##F###输出中序遍历序列应为:CBEGDFA输出后序遍历序列应为:CGEFDBA输出二叉树的深度应为:5输出二叉树的叶子数目应为:3(四)实验报告1.实验题目。
2.程序中使用的数据结构及符号说明。
3.程序的主要流程图。
4.程序主要模块的功能说明。
5.程序运行时的初值和运行结果,画出该二叉树的形态。
6.源程序并附上注释。
7.收获及体会。
实验三图的操作(一)实验内容图的生成和图的遍历。
(二)实验目的1.掌握图的基本存储方法——邻接表和邻接矩阵。
2.熟练掌握图的两种遍历方法。
(三)实验题目本实验要求实现以下功能:1.以邻接矩阵或邻接表作为存储结构建立一个无向图。
2.按深度优先遍历该无向图,输出遍历序列。
3.按广度优先遍历该无向图,输出遍历序列。
【测试数据】无向图如下所示。
1.实验题目。
2.程序中使用的数据结构及符号说明。
3.程序的主要流程图。
4.程序主要模块的功能说明。
5.程序运行时的初值和运行结果,画出该无向图的形态,写出其邻接矩阵或邻接表。
6.源程序并附上注释。
7.收获及体会。
实验四查找操作(一)实验内容二叉排序树的建立、二叉排序树中结点的查找(二)实验目的1.熟悉二叉排序树的定义。
2.理解二叉排序树的建立过程。
3.掌握二叉排序树中查找结点的算法。
(三)实验题目本实验要求实现以下功能:1.对从键盘输入的顺序任意的若干个正整数建立一颗二叉排序树,以-1作为结束。
2.按先序、中序和后序遍历该二叉排序树,输出每种遍历的结果。
3.从键盘输入一个整数,在二叉排序树中查找,给出是否查找成功的结果。
【测试数据】输入序列:67 13 11 88 45 9 60 20 -1输出先序遍历序列应为:67 13 11 9 45 20 60 88输出中序遍历序列应为:9 11 13 20 45 60 67 88输出后序遍历序列应为:9 11 20 60 45 13 88 67输入要查找的整数:45输出查找结果:查找成功输入要查找的整数:55输出查找结果:查找失败1.实验题目。
2.程序中使用的数据结构及符号说明。
3.程序的主要流程图。
4.程序主要模块的功能说明。
5.程序运行时的初值和运行结果,画出该二叉排序树的形态。
6.源程序并附上注释。
7.收获及体会。
实验五内部排序操作(一)实验内容快速排序。
(二)实验目的1.熟悉各种内部排序算法的思想。
2.理解快速排序算法。
(三)实验题目本实验要求实现以下功能:对从键盘输入的顺序任意的8个正整数,通过快速排序使之成为有序的序列。
输出每一趟排序的结果。
【测试数据】输入序列:49 38 65 97 76 13 50 27输出的每一趟排序的结果应为:初始序列: 49 38 65 97 76 13 50 27第1趟结果: 27 38 13 49 76 97 50 65第2趟结果: 13 27 38 49 76 97 50 65第3趟结果: 13 27 38 49 65 50 76 97第4趟结果:13 27 38 49 50 65 76 97(四)实验报告1.实验题目。