09级《数据结构》实验指导书
09级《数据结构》实验指导书

《数据结构实验指导书》潘向辉/吴学毅编写印包学院数字媒体技术专业2011年3月实验说明【实验环境】操作系统:Microsoft Windows XP/2000。
编程语言:C语言【实验要求】1.实验前,了解实验目的、实验内容及相关的基本理论知识,并按照实验内容要求设计程序流程,书写预习报告;2.本课程实验均为单人单组,独立完成;3.实验所用计算机固定,以便实现实验之间的延续性;4.按要求完成实验内容,在实验结束后按照格式和规范撰写实验报告。
【实验项目及学时分配】1.实验报告撰写符合格式及规范要求,详见实验报告撰写格式及规范;2.本课程实验占课程总成绩的15%。
实验(一)线性表一、实验项目名称:线性表课时:4学时二、实验要求1、掌握顺序表的定义与实现,包括查找、插入、删除算法的实现;2、掌握在各种链表结构中实现线性表操作的基本方法,能在实际应用中选用适当的链表结构;三、实验环境Widows操作系统、C语言四、实验内容(1)顺序表建立一如下表所示的学生信息表使用结构体,用顺序表完成以下内容:1.初始化线性表为空;2.依次输入数据元素;(由键盘输入)3.完成数据元素的插入、删除操作;4.取第i个数据元素;5.依次显示当前线性表中的数据元素。
(2)单链表建立一个单链表,依次输入数据元素0~9。
使用结构体,用单链表完成以下内容:1.初始化单链表;2.在单链表指定位置插入一个数据元素;3.删除指定位置的一个数据元素;4.取第i个数据元素;5.查找数据元素x 是否在单链表中;6.销毁单链表;五、思考题:在什么情况下使用顺序表比链表好?实验(二)栈和队列一、实验项目名称:栈和队列课时:2学时二、实验要求1、掌握栈的顺序表示、链表表示以及相应操作的实现。
特别注意栈空和栈满的条件;2、掌握队列的顺序表示、链表表示以及相应操作的实现。
特别是循环队列中队头与队尾指针的变化情况;三、实验环境Widows操作系统、VC6.0四、实验内容分别使用顺序循环队列和堆栈以及链式队列和堆栈编写程序:判断一个字符序列是否是回文。
《数据结构》实验教学指导书.

《数据结构》实验教学指导书数据结构是计算机课程的一门重要的基础课,它的教学要求大致有三个重要方面:其一就是让学生学会分析研究计算机加工的数据对象的特性,以便为数据选择适当的物理结构和逻辑结构;其二,根据结构,选择适当的算法,并初步掌握算法的时间分析和空间分析;其三,学习复杂的程序设计。
基于以上的三点要求,在整本书中贯穿这样的中心思想:让读者通过数据结构的实验课,理论结合实践,达到这三点要求。
读者在使用这本书时,要以这三点要求为出发点,力求理解结构、掌握算法、读懂程序。
本书每个实验,都给出了明确的实验目的、简明的实验原理,限于篇幅,没有给出详细的说明,事实上也没有必要。
因为这些读者可以从课堂和书本上得到。
所以读者应该详细的读懂书上的相关部分,然后依据本书认真实验。
考虑到读者的水平的差异,本书给出了参考程序,所有的参考程序都已在TURBO C2.0上通过编译,结果正确,可以参考。
但是在上机时,应当注意避免输入参考程序了事,应当事先编写自己的程序,上机调试,参考程序只是用做参考。
另外,有些参考程序也不是最佳的,应对之进行改进处理。
实验时,还应多多考虑怎样将每一个实验应用到实际当中去,举一反三,可以不必拘泥于某一个实验,要前后贯通,注意对基本的数据结构的理解和普遍的算法的研究。
目录实验一熟悉C语言 (5)实验二线性表 (9)实验三栈 (14)实验四串 (17)实验五数组和广义表 (20)实验六树的操作(二叉树及其先序遍历) (24)实验七图的操作(邻接表的建立) (28)实验八排序 (33)数据结构课程名称:数据结构英文名称:Data Structures设置形式:非独立设课课程模块:专业核心课实验课性质:专业实验课程编号:501816课程负责人:邱秀伟大纲主撰人:邱秀伟大纲审核人:李焕勤一、学时、学分课程总学48实验学时:16课程学分:3时:二、适用专业及年级教育技术学三、课程目标与基本要求本课程学习的目的是使学生学会分析研究计算机加工的数据结构的特性,以便为应用涉及的数据选择适当的逻辑结构、存储结构及相应的算法,并初步了解对算法的时间分析和空间分析技术。
数据结构实验指导书及答案(徐州工程学院)

《数据结构实验》实验指导书及答案信电工程学院计算机科学和技术教研室编2011.12数据结构实验所有代码整理作者郑涛声明:在这里我整理了数据结构实验的所有代码,希望能对大家的数据结构实验的考试有所帮助,大家可以有选择地浏览,特别针对一些重点知识需要加强记忆(ps:重点知识最好让孙天凯给出),希望大家能够在数据结构实验的考试中取得令人满意的成绩,如果有做的不好的地方请大家谅解并欢迎予以指正。
实验一熟悉编程环境实验预备知识:1.熟悉本课程的语言编译环境(TC或VC),能够用C语言编写完整的程序,并能够发现和改正错误。
2.能够灵活的编写C程序,并能够熟练输入C程序。
一、实验目的1.熟悉C语言编译环境,掌握C程序的编写、编译、运行和调试过程。
2.能够熟练的将C程序存储到指定位置。
二、实验环境⒈硬件:每个学生需配备计算机一台。
⒉软件:Windows操作系统+Turbo C;三、实验要求1.将实验中每个功能用一个函数实现。
2.每个输入前要有输入提示(如:请输入2个整数当中用空格分割:),每个输出数据都要求有内容说明(如:280和100的和是:380。
)。
3.函数名称和变量名称等用英文或英文简写(每个单词第一个字母大写)形式说明。
四、实验内容1.在自己的U盘中建立“姓名+学号”文件夹,并在该文件夹中创建“实验1”文件夹(以后每次实验分别创建对应的文件夹),本次实验的所有程序和数据都要求存储到本文件夹中(以后实验都按照本次要求)。
2.编写一个输入某个学生10门课程成绩的函数(10门课程成绩放到结构体数组中,结构体包括:课程编号,课程名称,课程成绩)。
3.编写一个求10门成绩中最高成绩的函数,输出最高成绩和对应的课程名称,如果有多个最高成绩,则每个最高成绩均输出。
4.编写一个求10门成绩平均成绩的函数。
5.编写函数求出比平均成绩高的所有课程及成绩。
#include<stdio.h>#include<conio.h>struct subject{int subject_id;char subject_name[20];double subject_grades;};struct subject sub[10];void input(){int i;printf("please input:\n");for(i=0;i<10;i++){scanf("%d %s %lf",&sub[i].subject_id,&sub[i].subject_name,&sub[i].subject_g rades);}printf("you just input:\n");for(i=0;i<3;i++){printf("%d %s %lf\n",sub[i].subject_id,sub[i].subject_name,sub[i].subject_g rades);}}void subject_max(){int i,flag;double max=sub[0].subject_grades;for(i=0;i<10;i++){if(sub[i].subject_grades>max)max=sub[i].subject_grades;flag=i;}printf("The high score of subjectis %s %lf\n",sub[flag].subject_name,max);}void subject_average(){int i;double average,sum=sub[0].subject_grades;for(i=1;i<10;i++){sum+=sub[i].subject_grades;}average=sum/10;printf("subject's average is %lf\n",average);}void subjct_gtaverage(){int i,flag;double average,sum=sub[0].subject_grades;for(i=1;i<10;i++){sum+=sub[i].subject_grades;}average=sum/10;for(i=0;i<10;i++){if(sub[i].subject_grades>average){flag=i;printf("subject greater than average is %s %lf\n",sub[flag].subject_name,sub[flag].subject_grades);}}}int main(){input();subject_max();subject_average();subjct_gtaverage();return 0;}实验二顺序表的基本操作实验预备知识:1.熟练运用数组进行程序设计,掌握数组名和指针作为函数参数。
测绘2009数据结构指导书(实验一)

1)问题描述
链表的基本运算主要包括:创建链表、查找、插入、删除等操作。试编程实现链表的这 些基本运算。
2)基本要求
实现链表的每个运算要求用一个函数实现。
3)算法描述
在设计链表的各种运算之前,最重要的准备工作是定义链式存储(即链表)的结点类型, 最简单的单链表的结点类型可由数据域 data 和指针域 next 两部分组成。然后再分别设计各 种运算的具体函数。最后在主函数中实现链表的各种运算时,分别调用相应的函数即可。
//表长度 //数组尺寸
} SqList; //-------- 线性表的基本运算 ----------------------------//运算 1:初始化空顺序表 L Status InitList(SqList *L) {// 算法 2.3
L->elem = (ElemType *)malloc(LIST_INIT_SIZE*sizeof(ElemType)); //分配数组空间 if (!L->elem) return OVERFLOW; //若分配失败,函数结束(返回值=-2) L->length=0; //表长度初值为 0
if(i<1||i>L->length) return ERROR; //若 i 值不合法,则退出函数 e=L->elem[i-1]; for(int j=i-1; j<L->length -1; j++) L->elem[j]=L->elem[j+1]; L->length--; // 表长减 1 return OK; } void main(void) { SqList q, *L; ElemType e; L=&q; InitList(L); //此处省略……
数据结构实验指导书(2009)

《数据结构与算法》实验指导书马晓波秦俊平刘利民编内蒙古工业大学信息工程学院计算机系2009年3月1日《数据结构与算法》实验教学大纲三、实验目的、内容与要求实验一线性表的创建与访问算法设计(4学时)(一)实验目的数据结构于算法实验是计算机类本科学生计算机软件知识重要的实验环节,它将使学生从实践上学会用高级语言程序设计、实现复杂的数据结构,为大型软件设计奠定基础。
本实验以某种线性表的创建与访问算法设计作为实验内容,举一反三,全面、深刻掌握线性结构的实现方法,培养解决问题的能力。
(二)实验内容1、编写生成线性表的函数,线性表的元素从键盘输入;2、编写在线性表中插入元素的函数;3、编写在线性表中删除元素的函数;4、编写输出线性表的函数;5、编写主函数,调用以上各函数,以便能观察出原线性表以及作了插入或删除后线性表的屏幕输出。
方案一采用顺序存储结构实现线性表。
方案二采用单链表结构实现线性表。
(三)实验要求1、掌握线性结构的机器内表示;2、掌握线性结构之上的算法设计与实现;3、列表对比分析两种数据结构的相应操作的时间复杂度、空间复杂度,阐明产生差异的原因。
实验二二叉树的创建与访问算法设计(4学时)(一)实验目的本实验以二叉树的创建与访问算法设计作为实验内容,掌握树型结构的实现方法,培养解决负责问题的能力。
(二)实验内容1、编写生成二叉树的函数,二叉树的元素从键盘输入;2、编写在二叉树中插入元素的函数;3、编写在二叉树中删除元素的函数;4、编写遍历并输出二叉树的函数。
方案一采用递归算法实现二叉树遍历算法。
方案二采用非递归算法实现二叉树遍历算法。
(三)实验要求1、掌握树型结构的机器内表示;2、掌握树型结构之上的算法设计与实现;3、列表对比分析两种数据结构的相应操作的时间复杂度、空间复杂度,阐明产生差异的原因。
实验三图的创建与访问算法设计(4学时)(一)实验目的本实验以图的创建与访问算法设计作为实验内容,掌握图型结构的实现方法,培养解决负责问题的能力。
数据结构课程实验指导书

《数据结构》实验指导书第一部分前言一、实验的目的《数据结构》是计算机学科一门重要的专业基础课程,也是计算机学科的一门核心课程。
本课程的另一重要教学目的是训练学生进行复杂程序设计的技能和培养良好程序设计的习惯,要做到这一点,上机实习是必须的。
数据结构实验是对学生的一种全面综合训练,是与课堂听讲、自学和练习相辅相成的必不可少的一个教学环节。
通常,实验课题中的问题比平时的习题复杂得多,也更接近实际。
实验着眼于原理与应用的结合点,使学生学会如何把书上学到的知识用于解决实际问题,训练学生实际动手进行程序设计和调试程序的能力,加深对数据结构相关概念和算法的理解。
通过完成本实验课程的实验,学生应学会并掌握本课程的基本和重点知识,深刻理解逻辑结构、物理结构和算法设计之间的关系,初步学会算法分析的方法,并能在一定范围内运用所掌握的分析方法进行算法分析,培养软件工作所需要的动手能力和作为一个软件工作者所应具备的科学工作方法和作风。
二、实验前的准备工作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、掌握线性表的链式存储结构的实现及其基本操作的算法设计;3、掌握算法转化为C程序的方法。
二、实训内容1、根据线性表L=(a,b,c,d,e,f),编写程序建立其顺序存储结构并完成插入或删除操作。
2、根据线性表L=(a,b,c,d,e,f),编写程序建立其链式存储结构并完成插入或删除操作。
三、实训步骤1、根据算法设计编写源程序;2、输入并编辑源程序;3、运行并分析程序;四、实训总结与体会[根据本次实训过程,总结你对线性表基本操作算法设计的基本体会]实训二栈和队列基本操作的算法设计一、实训目的与要求1、掌握栈的基本操作算法设计的实现;2、掌握队列的基本操作算法设计的实现。
二、实训内容1、根据栈S=(a,b,c,d,e),建立其顺序存储结构或链式存储结构,并完成对该栈的进栈或出栈操作;2、根据队列Q=(a,b,c,d,e),建立其顺序存储结构或链式存储结构,并完成对该队列的进队或出队操作;三、实训步骤1、根据算法编写源程序;2、输入并编辑源程序;3、调试、分析程序。
四、实训总结[根据本次实训内容和过程,总结你对栈、队列的基本操作算法设计的体会]实训三二叉树的遍历算法设计一、实训目的与要求1、掌握二叉树的链式存储结构的算法实现;2、掌握遍历二叉树的算法实现。
二、实训内容1、根据算法编写程序建立下图所示二叉树的链式存储结构(建立二叉链表);2、根据算法编写程序完成对该二叉树的中序遍历(或先序遍历、后序遍历)。
三、实训步骤1、根据算法编写程序;2、输入并编辑程序;3、运行并分析程序。
四、实训总结与体会【根据本次实训内容及过程,简述对二叉树存储结构的实现及遍历二叉树算法设计的体会】实训四图的存储及遍历算法设计一、实训目的与要求1、掌握图的邻接矩阵、邻接表存储结构的算法实现;2、掌握图的遍历算法设计。
数据结构实验指导书及其答案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实验心得
学生对本次实验的收获和感想
学生对未来实验的建议和展望
总结。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据结构实验指导书》
潘向辉/吴学毅编写
印包学院数字媒体技术专业
2011年3月
实验说明
【实验环境】
操作系统:Microsoft Windows XP/2000。
编程语言:C语言
【实验要求】
1.实验前,了解实验目的、实验内容及相关的基本理论知识,并按照实
验内容要求设计程序流程,书写预习报告;
2.本课程实验均为单人单组,独立完成;
3.实验所用计算机固定,以便实现实验之间的延续性;
4.按要求完成实验内容,在实验结束后按照格式和规范撰写实验报告。
【实验项目及学时分配】
【实验报告及考核】
1.实验报告撰写符合格式及规范要求,详见实验报告撰写格式及规范;2.本课程实验占课程总成绩的15%。
实验(一)线性表
一、实验项目
名称:线性表课时:4学时
二、实验要求
1、掌握顺序表的定义与实现,包括查找、插入、删除算法的实现;
2、掌握在各种链表结构中实现线性表操作的基本方法,能在实际应
用中选用适当的链表结构;
三、实验环境
Widows操作系统、C语言
四、实验内容
(1)顺序表
建立一如下表所示的学生信息表
使用结构体,用顺序表完成以下内容:
1.初始化线性表为空;
2.依次输入数据元素;(由键盘输入)
3.完成数据元素的插入、删除操作;
4.取第i个数据元素;
5.依次显示当前线性表中的数据元素。
(2)单链表
建立一个单链表,依次输入数据元素0~9。
使用结构体,用单链表完成以下内容:
1.初始化单链表;
2.在单链表指定位置插入一个数据元素;
3.删除指定位置的一个数据元素;
4.取第i个数据元素;
5.查找数据元素x 是否在单链表中;
6.销毁单链表;
五、思考题:
在什么情况下使用顺序表比链表好?
实验(二)栈和队列
一、实验项目
名称:栈和队列课时:2学时
二、实验要求
1、掌握栈的顺序表示、链表表示以及相应操作的实现。
特别注意栈
空和栈满的条件;
2、掌握队列的顺序表示、链表表示以及相应操作的实现。
特别是循
环队列中队头与队尾指针的变化情况;
三、实验环境
Widows操作系统、VC6.0
四、实验内容
分别使用顺序循环队列和堆栈以及链式队列和堆栈编写程序:
判断一个字符序列是否是回文。
回文是指一个字符序列以中间字符为基准,两边字符完全相同。
如:“ABCDEDCBA”。
字符串长度小于等于80,用于判断回文的字符串不包括字符串的结束标记符。
基本要求:
(1)字符序列可由用户从键盘随意输入;
(2)可以连续测试多个字符序列,由用户决定退出测试程序;
算法思想:
判断回文的算法思想是:把字符串中的字符逐个分别存入队列和堆栈中,然后逐个出队列和退栈并比较出队列的数据元素和退栈的数据元素是否相等,若全部相等则该字符序列为回文,否则就不是回文。
基本操作:
回文判断操作主要包括入栈和入队列、退栈和出队列操作。
在对堆栈以及队列进行操作之前,必须对队列以及堆栈进行初始化。
若使用链式堆栈和链式队列,操作结束后必须销毁链表。
五、思考题:
1、栈有哪些特点及与一般线性表有哪些区别?
2、队列有哪些特点及于一般线性表有哪些区别?
实验(三)二叉树的构建、基本操作和遍历
一、实验项目
名称:二叉树的构建、基本操作和遍历 课时:4学时
二、实验要求
1、熟练掌握二叉树的结构特性,熟悉二叉树的各种存储结构的特点及适用范围;
2、熟练掌握二叉树的遍历方法及遍历算法;
3、掌握建立哈夫曼树和哈夫曼编码的方法及带权路径长度的计算。
三、实验环境
Widows 操作系统、VC6.0
四、实验内容
(1)二叉树
建立如下图所示的二叉树:
要求:1、建立带头结点的二叉树,将二叉树初始化为空; 2、依次将二叉树的所有结点插入,建立上图所示的二叉树; 3、用户可由键盘输入数据实现对二叉树各结点的插入、删除等操作; 4、打印二叉树;
5、对二叉树实现前序、中序、后序遍历; 算法思想:
建立一棵只有头结点的二叉树,并通过调用插入左子树和插入右子树操作,依次将上图中的结点插入二叉树中,利用二叉树的特殊中序遍历方法将该树以凹入表示法打印显示。
最后,调用二叉树的前序、中序、后序遍历函数对二叉树进
A
B
C D
E
F
G
行遍历,并显示遍历结果。
(2)、哈夫曼树
设有字符集{A、B、C、D},各字符在电文中出现的次数集为{1,3,5,7},设计各字符的哈夫曼编码。
要求:
1、构造字符集的哈夫曼树,其结点数据结构如下:
2、由哈夫曼树构造哈夫曼编码,输出权值及其对应的编码。
算法思想:
首先,由给定的n个权值构造有2n-1个结点的哈夫曼树。
在哈夫曼树中,其叶结点的权值为相应的给定权值,非叶结点的权值为其孩子结点的权值之和。
哈夫曼树构造过程如下:
1. 根据给定的 n 个权值 {w1,w2,…,w n},构成的 n 棵二叉树的森林 F
= {T1,T2,…,T n},其中每棵二叉树 T i 中只有一个权值为 w i 的结点,
其左、右子树均为空;
2. 在 F 中选取根结点的权值最小和次小的两棵树作为左、右子树构造一棵
新的二叉树,且置新二叉树的根结点的权值为其左、右子树上根结点的权值
之和;
3. 在 F 中删除这两棵二叉树,并将新二叉树加入到 F 中;
4. 重复 2 和 3,直到 F 中只含一棵树为止。
这棵树就是哈夫曼树。
其次,对n个结点的哈夫曼树进行不等长编码。
保证任何一个字符的哈夫曼编码不为另一字符的哈夫曼编码的前缀。
五、思考题:
已知一棵二叉树的层序序列是ABCDEFGHIJ,中序序列是DBGEHJACIF,试画出此二叉树。
实验(四)图的建立、基本操作以及遍历
一、实验项目
名称:图的建立、基本操作以及遍历课时:4学时
二、实验要求
1、熟练掌握图的结构特性,熟悉图的各种存储结构的特点及适用范围;
2、熟练掌握几种常见图的遍历方法及遍历算法;
三、实验环境
Widows操作系统、VC6.0
四、实验内容
选用任一种图的存储结构,建立如下图所示的带权有向图:
要求:1、建立边的条数为零的图;
2、依次将图的边以及相应的权值插入,建立如上图所示的图,并将结点
集合和权值集合输出;
3、对所建立的图进行深度优先搜索或广度优先搜索,输出图的遍历序列;算法思想:
首先,选定所使用的图的存储结构(邻接矩阵存储或邻接表存储),建立图的结构体定义。
根据所选用的结构建立边条数为零的图,依次插入图的结点和图的各有向边以及权值wei ght;再次,将图的结点集合以及权值集合输出,以验证所建立图的正确性;最后,调用图的遍历函数,实现图的深度优先遍历或广度优先遍历,并输出遍历序列。
五、思考题:
1、采用邻接表存储的图的深度优先遍历算法类似于二叉树的哪种遍历?
2、采用邻接表存储的图的广度优先遍历算法类似于二叉树的哪种遍历?
实验(五)排序与查找算法实现
一、实验项目
名称:排序与查找算法实现课时:2学时
二、实验要求
1、熟练掌握几种常见的排序方法及优缺点;
2、熟练掌握几种常见的查找方法及其性能的评价;
3、上机完成常见排序与查找功能的程序。
三、实验环境
Widows操作系统、VC6.0
四、实验内容
编写程序实现任一排序和查找功能。
要求:
1、数据元素个数n可由用户随意确定,且有0<n<80;
2、可连续测试多组数据元素;
3、数据元素由键盘输入;
4、将输入的数据元素进行排序后,实现任意查找功能;若查找成功,
则返回数据元素在数组中的下标和数据元素本身,若查找不成功,
则输出查找失败信息;
5、最后,将经过排序的数据元素输出,用以验证。
五、思考题:
在待排序的元素序列基本有序的前提下,哪种排序方法效率最高?
附录A
附录A
西安理工大学实验报告
课程__________实验名称__________第页共页系别________________ 实验日期年月日专业班级________组别_____ 实验报告日期年月日姓名________________学号_____________
实验报告内容
验证性实验
一、预习准备:实验目的
实验环境
实验原理
实验内容和要求
二、实验过程:程序流程图
实验中的关键语句
编写及调试程序中遇到的问题及解决方法
三、实验总结:实验结果及分析
实验总结
思考题
设计性实验:
一、预习准备:实验目的
实验环境
实验内容和实验方案
程序流程图
二、实验过程:实验中的关键语句
编写及调试程序中遇到的问题及解决方法
三、实验总结:实验结果及分析
实验总结
思考题。