(new)《数据结构与算法》上机实验要求

合集下载

数据结构与算法数据结构与算法实验

数据结构与算法数据结构与算法实验

数据结构与算法数据结构与算法实验一、实验目的二、实验内容(1)数据结构的实现:例如,链表、栈、队列、树、图等。

学生需要实现这些数据结构的基本操作,如插入、删除、遍历等。

(2)算法设计与分析:例如,排序算法、查找算法、图算法等。

学生需要实现并分析这些算法的时间复杂度和空间复杂度。

(3)实验报告的撰写:学生需要按照实验要求撰写实验报告,包括实验目的、实验内容、实验结果等。

实验报告可以帮助学生更好地总结和理解实验过程中遇到的问题和解决方法。

三、实验要求在进行数据结构与算法实验时,学生需要注意以下几个要求:(1)合理安排时间:数据结构与算法实验需要一定时间来完成,学生需要提前规划好时间,合理安排实验的进行。

(2)认真实验:学生在进行实验时需要认真对待每一步操作,确保实验过程的准确性和完整性。

(3)作业自主完成:学生需要独立完成实验作业,只有通过自己的努力才能够真正掌握数据结构与算法的知识。

(4)及时求助:如果在实验过程中遇到问题,学生应该及时向老师或同学求助,以免耽误实验的进行。

四、实验感想数据结构与算法实验是非常有收获的一门课程。

通过实验,我不仅加深了对数据结构与算法的理解,还学会了如何应用它们来解决实际问题。

实验中我遇到了一些困难,但通过不断的思考和尝试,我最终找到了解决问题的方法。

实验报告的撰写也让我更好地总结和理解实验的过程。

通过实验,我发现数据结构与算法的学习并不是一蹴而就的,需要不断地练习和思考。

只有在实践中才能真正掌握它们。

同时,数据结构与算法实验也锻炼了我的动手能力和解决问题的能力,提高了我的编程水平和分析思维。

总而言之,数据结构与算法实验是一门非常重要和有趣的课程。

通过实验,我们可以更好地理解和应用数据结构与算法,提高自己的编程能力和解决问题的能力。

希望今后我们能够不断地学习和实践,不断提高自己的数据结构与算法水平。

《数据结构与算法实验》任务书

《数据结构与算法实验》任务书

《数据结构与算法实验》任务书《数据结构与算法实验》任务书实验一动态链表的设计与应用一、实验目的、要求1、掌握使用VC 6.0上机调试线性表的基本方法;2、掌握线性表的基本操作:插入、删除、查找以及线性表合并等运算在顺序存储结构和链式存储结构上的运算。

二、实验内容1.输入一组学生信息,建立一个单链表。

2.遍历该链表,输出学生信息。

3.查找某特定的学生,查找成功返回1,否则返回0。

4.编写在非递减有序链表中插入一个元素使链表元素仍有序的函数,并利用该函数建立一个非递减有序单向链表。

5.利用算法4建立两个非递减有序单向链表,然后合并成一个非递增链表。

*6.采用单向链表实现一元多项式的存储并实现两个多项式相加并输出结果。

7.编写一个主函数,调试上述算法。

*8.综合训练:利用链表实现一个班级学生信息管理(数据录入、插入、删除、排序、查找等,并能够实现将数据存储到文件中)三、实验说明1.存储定义#define MAXSIZE 100 //表中元素的最大个数typedef int ElemType;//元素类型typedef struct list{ElemType elem[MAXSIZE];//静态线性表int length; //表的实际长度}SqList;//顺序表的类型名2.建立顺序表时可利用随机函数自动产生数据。

四、注意问题1.插入、删除时元素的移动原因、方向及先后顺序。

2.了解不同的函数形参与实参的传递关系。

一、实验目的、要求1.掌握栈、队列的思想及其存储实现。

2.掌握栈、队列的常见算法的程序实现。

二、实验内容1.采用链式存储实现栈的初始化、入栈、出栈操作。

2.采用顺序存储实现栈的初始化、入栈、出栈操作。

3.采用链式存储实现队列的初始化、入队、出队操作。

4.采用顺序存储实现循环队列的初始化、入队、出队操作。

5.在主函数中设计一个简单的菜单,分别测试上述算法。

*6.综合训练:1)利用栈实现表达式求值算法。

《数据结构与算法设计》实验大纲及实验内容详细要求

《数据结构与算法设计》实验大纲及实验内容详细要求

《数据结构与算法设计》实验大纲及实验内容详细要求一、课程编号:040039二、课程类型:必修适用专业:通信工程实验学时:32学时三、本课程的地位、作用与任务数据结构课程的目标是使学生掌握数据的基本的逻辑结构和存储结构、一些典型的数据结构算法及程序设计方法,要求学会分析数据对象特征,掌握数据组织方法和计算机的表示方法,为数据选择适当的逻辑结构、存储结构以及相应的处理算法,要求具备算法分析的基本技术和能力,并培养良好的程序设计风格,掌握开发复杂、高效程序的技能。

在实验前要预习或者自行补充部分学时,同时进行部分代码准备,实验后要认真完成实验报告。

四、课程基本要求1.学生应根据每个实验的任务和教师所提的要求,带C语言教材和课程教材。

2.完成指定的实验任务,保存源代码并输出、记录实验结果。

3.实验结束后按时提交实验报告,对于未完成部分,应该利用课余时间补充完成。

五、实验安排本实验课程共32学时,五个实验(单元),分16次实验,每次2学时。

实验一:C程序编程、调试实验1、实验学时:4学时(学生堂下自行加4学时)2、实验目的:1)巩固复习前期所学C语言的基本数据类型和自定义数据类型等知识点,强化学习数据结构语言和编程基础。

2)巩固复习前期所学C语言的函数参数传递、指针和结构体等知识点,加强学习数据结构语言基础。

3)能够较熟练调试程序3、实验内容:1)学生信息的显示。

具体要求如下:●定义一个结构体描述学生信息(学号,姓名,性别,年龄,住址);●设计一个函数,用于显示单个学生信息,函数的参数为前面定义的结构体类型;●设计一个主函数,在主函数中输入学生的信息,并调用前面定义的函数进行显示(学生人数不少于5人)。

2)输入若干个整数存储到数组元素值,然后按输入顺序进行逆置存储,最后打印出逆置后的元素值。

要求用指针和动态内存分配方法实现。

例如输入:1023045,逆置后显示为:5430210。

3)编写扑克牌发牌程序。

在VC++的调试环境下观察数据存储位置、存储数据的变化、数据之间的逻辑次序、物理存储位置次序。

数据结构实验指导书(新版)

数据结构实验指导书(新版)

《数据结构和算法》实验指导书实验及学时数分配序号实验名称学时数(小时)1 实验一线性表 42 实验二树和二叉树 23 实验三图 24 实验四查找 25 实验五内部排序 2合计12几点要求:一、上机前:认真预习相关实验内容,提前编写算法程序,上机时检查(未提前编写程序者,扣除平时成绩中实验相关分数)。

二、上机中:在Turbo C或VC6.0环境中,认真调试程序,记录调试过程中的问题、解决方法以及运行结果。

上机时签到;下机时验收签字。

三、下机后:按要求完成实验报告,并及时提交(实验后1周内)。

实验一线性表【实验目的】1、掌握用Turbo c上机调试线性表的基本方法;2、掌握线性表的基本操作,插入、删除、查找以及线性表合并等运算在顺序存储结构和链式存储结构上的运算;3、运用线性表解决线性结构问题。

【实验学时】4 学时【实验类型】设计型【实验内容】1、顺序表的插入、删除操作的实现;2、单链表的插入、删除操作的实现;3、两个线性表合并算法的实现。

(选做)【实验原理】1、当我们在线性表的顺序存储结构上的第i个位置上插入一个元素时,必须先将线性表中第i个元素之后的所有元素依次后移一个位置,以便腾出一个位置,再把新元素插入到该位置。

若是欲删除第i个元素时,也必须把第i个元素之后的所有元素前移一个位置;2、当我们在线性表的链式存储结构上的第i个位置上插入一个元素时,只需先确定第i个元素前一个元素位置,然后修改相应指针将新元素插入即可。

若是欲删除第i个元素时,也必须先确定第i个元素前一个元素位置,然后修改相应指针将该元素删除即可;3、详细原理请参考教材。

【实验步骤】一、用C语言编程实现建立一个顺序表,并在此表中插入一个元素和删除一个元素。

1、通过键盘读取元素建立线性表;(从键盘接受元素个数n以及n个整形数;按一定格式显示所建立的线性表)2、指定一个元素,在此元素之前插入一个新元素;(从键盘接受插入位置i,和要插入的元素值;实现插入;显示插入后的线性表)3、指定一个元素,删除此元素。

数据结构与算法-东北林业大学 《数据结构》实验指导书new

数据结构与算法-东北林业大学 《数据结构》实验指导书new

计算机科学与技术专业《数据结构》实验指导书关于实习步骤的要求和建议从以往的教学事先实习的经验来看,在初学阶段执行严格的实习步骤规范(包括上机操作规范),机时利用率会大大提高,有助于养成良好的程序编制风格,培养严谨、科学、高效的工作方式。

在以往的教学实践中,经常发现很多学生抱怨说,化了两个小时才找出一个错误,甚至一无所获。

他们不明白造成这种情况的原因,正是他们自己。

有的学生不屑于按实习步骤规范去做,甚至对于实习步骤的要求和建议看都不看一遍,认为那是浪费时间,这是及其害的。

实习步骤规范不但可以培养科学化的工作作风,而且还能有效地避免错误。

具体的步骤机规范如下:1.问题分析与系统的结构设计充分地分析和理解问题本身,弄清要求作什么,限制条件是什么。

按照以数据结构为中心的原则划分模块,即定义数据结构及其在这些结构之上的操作,使得对数据结构的存取通过这些操作加以实现。

在这个过程中,要综合考虑系统功能。

要考虑系统结构清晰、合理、简单并且易于调试。

最后写出每个子程序(过程或函数)的规格说明,列出它们之间的调用关系,可以使用调用关系图表示则更加清晰,这样便完成了系统结构设计。

2.详细设计和编码详细设计的目的是对子程序(过程或函数)的进一步求精。

用 IF 、 WHILE和赋值语句等,以及自然语言写出算法的框架。

利用自然语言的目的是避免陷入细节。

在编码是,可以对详细设计的结果进一步求精,用高级语言表示出来。

程序的每一行最好不超过 60 个字符。

每个子程序(或过程、函数)通常不要太长,以 40 行为宜。

子程序(或过程、函数)包含的程序行数太多,易于造成理解的困难。

控制IF 、WHILE 等语句的连续嵌套的深度。

程序的目的性必须明确。

对每一段程序完成的作用,除非常明显的除外(如:x = x + 1; 注释为 x 加 1,没有什么意义),都应加以注释。

这会对程序的调试提供很多方便。

另外,根据情况可以设立若干调试点,即输出若干信息,用于验证和你的设想是否一致。

算法与数据结构-上机实验大纲

算法与数据结构-上机实验大纲

《算法与数据结构》实验(上机)大纲课程名称:算法与数据结构上机学时:16学时适用专业:软件工程一、实验(上机)课程的性质、目的与任务:《算法与数据结构》是软件工程专业的一门专业必修课,是理论与实践并重的课程。

实验是该课程实践教学环节的重要环节,它的内容覆盖了算法与数据结构的各个主要部分。

通过实验可以加深对数据结构基本概念、基本理论的理解,使学生巩固和运用所学知识以解决实际的具体问题,同时提高程序设计和实际操作的能力,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。

原则上要求学生针对实际问题进行数据结构设计、算法设计、编程调试、算法测试和优化,获得运行结果,并作为课程考核内容的一部分,也为后续课程的学习打下良好的基础。

二、实验(上机)报告内容⒈问题描述:包括需求分析、实现目标、任务、条件和约束的描述。

充分地分析和理解问题本身,弄清要求做什么,包括功能要求、性能要求、设计要求和约束以及基本数据特性,数据间的联系等。

⒉设计:包括概要设计和详细设计在概要设计中,第一步先进行数据结构设计:针对要求解决的问题,考虑各种可能的数据结构,还可以根据算法的时间复杂度和空间复杂度一起考虑,以确定最合适的数据结构,主要描述逻辑结构。

第二步进行关键算法设计:对每个算法的功能及初始条件和操作结果认真分析确定,并针对模块化开发的特点,自顶向下分解成若干顺序模块,确定模块间的相互关系以及模块之间的信息交换问题。

第三步设计主控模块及功能模块层次间的结构;在详细设计中,第一步对数据结构的存储结构进行描述,对数据结构的逻辑结构和物理结构进行定义,掌握其特点和映射关系。

第二步对每个算法进行实现,包括输入、处理和输出的描述。

程序代码尽可能的多加注释,用C语言实现。

3.测试:准备典型测试数据和测试方案,对测试结果进行分析与讨论,对测试过程中遇到的主要问题及所采用的解决措施进行总结,以优化算法。

⒋使用说明和作业小结(如果有):⑴使用说明主要描述如何使用你的程序以及使用时的主要事项;⑵在小结中说明实验过程中碰到的问题,算法的改进思想、经验和体会。

数据结构与算法上机实验报告

数据结构与算法上机实验报告

数据结构与算法B上机实验报告第1次2011-10-02 顺序表的实现和基本操作第2次2011-10-29 二叉树的实现和递归遍历第3次2011-11-23 内部排序第4次2011-12-dd 实现图从邻接矩阵到邻接表存储转化第一次线性表数据结构一、上机实习题目线性链表操作——插入、删除、合并、排序、查找二数据结构设计(算法设计)源程序(#include <iostream>#define MaxSize 100using namespace std;typedef int ElemType;class SeqList{ElemType list[MaxSize];int length;public:SeqList() {length=0;}void SeqListSort(int i,ElemType x);void SeqListCreat(int n);void SeqListInset(int i,ElemType x);void SeqListDelete(int i);void SeqListMerge();int GetLength(){return length;}int SeqListFind(ElemType x);int SeqListIsEmpty();void SeqListPrint();}Mylist1,Mylist2;//创建顺序表void SeqList::SeqListCreat(int n){ElemType x;cout<<"请输入数据元素:";for (int i=0;i<n;i++){cin>>x;list[i]=x;length++;}}//对顺序表进行排序void SeqList::SeqListSort(int i,ElemType x) {for(int k=0;k<length;k++){for(i=k+1;i<=length;i++){if(list[k]>list[i]){x=list[k];list[k]=list[i];list[i]=x;}}}}//在顺序表L中的第i个位置插入新元素x void SeqList::SeqListInset(int i,ElemType x) {int k;if(length>=MaxSize)cout<<"表已满,无法插入!"<<endl;else if(i<0||i>length)cout<<"参数i不合理!"<<endl;else{for (k=length;k>=i;k--){list[k]=list[k-1];}list[i-1]=x;length++;}}//删除第i个位置的数据元素void SeqList::SeqListDelete(int i){int k;if(!SeqListIsEmpty())cout<<"表已空,无法删除!"<<endl;else if(i<0||i>length)cout<<"参数i不合理!"<<endl;elsefor(k=i-1;k<length;k++)list[k]=list[k+1];length--;}//查找元素x在表中的位置int SeqList::SeqListFind(ElemType x) {int i=0;while(i<length&&list[i]!=x)i++;if(i>length)return -1;elsereturn i+1;}//判断顺序表是否为空int SeqList::SeqListIsEmpty(){if(length<=0)return 0;else return 1;}//将顺序表显示在屏幕上void SeqList::SeqListPrint(){if(!SeqListIsEmpty())cout<<"空表!"<<endl;elsefor(int i=0;i<length;i++)cout<<list[i]<<" ";cout<<endl;}int main(){SeqList Mylist1,Mylist2;int i,n,flag=1,select;ElemType x;cout<<"1. 建立顺序表\n";cout<<"2. 对顺序表进行排序\n";cout<<"3. 求x数值的位置\n";cout<<"4. 在第i个位置插入新元素x\n"; cout<<"5. 删除第i个位置上的数值\n"; cout<<"6. 将两个顺序表合并\n";cout<<"7. 退出\n";cout<<endl;while (flag){cout<<"请选择操作:";cin>>select;switch(select){case 1:cout<<"请输入顺序表1的长度:";cin>>n;Mylist1.SeqListCreat(n);cout<<"你所输入的顺序表1为:";Mylist1.SeqListPrint();cout<<"请输入顺序表2的长度:";cin>>n;Mylist2.SeqListCreat(n);cout<<"你所输入的顺序表2为:";break;case 2:cout<<"请选择所要排序的顺序表1或2:"; cin>>n;if(n==1){Mylist1.SeqListSort(i,x);cout<<"排序后的顺序表1为:";Mylist1.SeqListPrint();}else{Mylist2.SeqListSort(i,x);cout<<"排序后的顺序表2为:";Mylist2.SeqListPrint();}break;case 3:cout<<"请输入x的值:";cin>>x;i=Mylist1.SeqListFind(x);if(i!=-1) cout<<"x的位置为:"<<i<<endl;else cout<<"没有找到!";break;case 4:cout<<"请输入要插入的元素的位置和数值x:"; cin>>i>>x;cout<<"插入后的顺序表为:";Mylist1.SeqListPrint();break;case 5:cout<<"请输入要删除的元素的位置:";cin>>i;Mylist1.SeqListDelete(i);cout<<"删除后的顺序表为:";Mylist1.SeqListPrint();break;case 6:cout<<"合并后的顺序表为:\n";Mylist1.SeqListPrint();Mylist2.SeqListPrint();break;case 7:flag=0;break;}}}三运行结果为:四、上机环境和使用语言(计算机程序实现)Visual C++。

数据结构实验指导书(新版)

数据结构实验指导书(新版)

《数据结构与算法》实验指导书实验及学时数分配几点要求:一、上机前:认真预习相关实验内容,提前编写算法程序,上机时检查(未提前编写程序者,扣除平时成绩中实验相关分数)。

二、上机中:在Turbo C或VC6.0环境中,认真调试程序,记录调试过程中的问题、解决方法以及运行结果。

上机时签到;下机时验收签字。

三、下机后:按要求完成实验报告,并及时提交(实验后1周内)。

实验一线性表【实验目的】1、掌握用Turbo c上机调试线性表的基本方法;2、掌握线性表的基本操作,插入、删除、查找以及线性表合并等运算在顺序存储结构和链式存储结构上的运算;3、运用线性表解决线性结构问题。

【实验学时】4 学时【实验类型】设计型【实验内容】1、顺序表的插入、删除操作的实现;2、单链表的插入、删除操作的实现;3、两个线性表合并算法的实现。

(选做)【实验原理】1、当我们在线性表的顺序存储结构上的第i个位置上插入一个元素时,必须先将线性表中第i个元素之后的所有元素依次后移一个位置,以便腾出一个位置,再把新元素插入到该位置。

若是欲删除第i个元素时,也必须把第i个元素之后的所有元素前移一个位置;2、当我们在线性表的链式存储结构上的第i个位置上插入一个元素时,只需先确定第i个元素前一个元素位置,然后修改相应指针将新元素插入即可。

若是欲删除第i个元素时,也必须先确定第i个元素前一个元素位置,然后修改相应指针将该元素删除即可;3、详细原理请参考教材。

【实验步骤】一、用C语言编程实现建立一个顺序表,并在此表中插入一个元素和删除一个元素。

1、通过键盘读取元素建立线性表;(从键盘接受元素个数n以及n个整形数;按一定格式显示所建立的线性表)2、指定一个元素,在此元素之前插入一个新元素;(从键盘接受插入位置i,和要插入的元素值;实现插入;显示插入后的线性表)3、指定一个元素,删除此元素。

(从键盘接受删除元素位置i,实现删除;显示删除后的线性表)二、用C语言编程实现建立一个单链表,并在此表中插入一个元素和删除一个元素。

《数据结构》上机实验的目的和要求

《数据结构》上机实验的目的和要求

《数据结构》上机实验的目的和要求
通过上机实验加深对课程内容的理解,增加感性认识,提高软件设计、编写及调试程序的能力。

要求所编的程序能正确运行,并提交实验报告。

实验报告的基本要求为:
1、需求分析:陈述程序设计的任务,强调程序要做什么,明确规定:
(1)输入的形式和输出值的范围;
(2)输出的形式;
(3)程序所能达到的功能;
(4)测试数据:包括正确的输入输出结果和错误的输入及输出结果。

2、概要设计:说明用到的数据结构定义、主程序的流程及各程序模块之间的调用关系。

3、详细设计:提交带注释的源程序或者用伪代码写出每个操作所涉及的算法。

4、调试分析:
(1)调试过程中所遇到的问题及解决方法;
(2)算法的时空分析;
(3)经验与体会。

5、用户使用说明:说明如何使用你的程序,详细列出每一步操作步骤。

6、测试结果:列出对于给定的输入所产生的输出结果。

若有可能,测试随输入规模的
增长所用算法的实际运行时间的变化。

《数据结构与算法实验》课程教学大纲

《数据结构与算法实验》课程教学大纲
/
3
实验
/
/
四、考核方式
序号
考核环节
操作细节
总评占比
1
实验
1.本课程36个学时实验,共12次实验。
2.成绩采用百分制,根据实验完成情况评分。
3.考核学生对数据结构与算法知识的应用能力,针对12个独立的问题,能够根据题目功能和性能要求确定设计目标,从技术角度优选解决方案获得有效结果。
90%
2
考勤
随机点名、刷卡点名等
实验
/
/
11
第11题
11.任务调度(Schedule)
根据初始优先级设置,按照调度原则,预测一批计算任务的执行序列。
/
3
实验
/
/
12
第12题
12.循环移位(Cycle)
所谓循环移位是指。一个字符串的首字母移到末尾,其他字符的次序保持不变。比如ABCD经过一次循环移位后变成BCDA
给定两个字符串,判断它们是不是可以通过若干次循环移位得到彼此
/
3
实验
/
/
10
第10题
10.玩具(Toy)
ZC神自小就是这方面的天才,他往往是一只手还没揩干鼻涕,另一只手已经迅速地将处于任意状态的玩具复原至如图(a)所示的初始状态。物质极其匮乏的当年,ZC神只有一个这样的玩具;物质极大丰富的今天,你已拥有多个处于不同状态的玩具。现在,就请将它们全部复原吧。
/
3
《数据结构与算法实验》教学大纲
一、课程基本信息
课程名称
数据结构与算法实验
Data Structure and Algorithm Experiment
课程编码
CST310411015

#《数据结构与算法》实验指导书

#《数据结构与算法》实验指导书

《数据结构和算法》实验指导书郁松软件学院第一部分:《数据结构》实验步骤和实验报告规范一、《数据结构》实验步骤随着计算机性能的提高,它所面临的软件开发的复杂度也日趋增加,因此软件开发需要系统的方法。

一种常用的软件开发方法,是将软件开发过程分为分析、设计、实现和维护四个阶段。

虽然数据结构课程中的实习题的复杂度远不如实际中真正的软件系统,但为了培养一个软件工作者所应具备的科学工作的方法和作风,我们制订了如下所述完成实习的5个步骤:1、问题分析和任务定义通常,实验题目的陈述比较简洁,或者说有模棱两可的含义。

因此,在进行设计之前,首先应该充分地分析和理解问题,明确问题要求做什么,限制条件是什么。

注意:本步骤强调的是做什么,而不是怎么做。

对问题的描述应避开算法和所涉及的数据类型,而是对所需完成的任务作出明确的回答。

例如:输入数据的类型、值的范围以及输入的形式;输出数据的类型、值的范围及输出的形式;若是会话式的输入,则结束标志是什么,是否接受非法的输入,对非法输入的回答方式是什么等等。

这一步还应该为调试程序准备好测试数据,包括合法的输入数据和非法形式输入的数据。

2、数据类型和系统设计在设计这一步骤中需分逻辑设计和详细设计两步实现。

逻辑设计指的是,对问题描述中涉及的操作对象定义相应的数据类型,并按照以数据结构为中心的原则划分模块,定义主程序模块和各抽象数据类型。

详细设计则为定义相应的存储结构并写出各过程和函数的伪码算法。

在这个过程中,要综合考虑系统功能,使得系统结构清晰、合理、简单和易于调试,抽象数据类型的实现尽可能做到数据封装,基本操作的规格说明尽可能明确具体。

作为逻辑设计的结果,应写出每个抽象数据类型的定义(包括数据结构的描述和每个基本操作的规格说明),各个主要模块的算法,并画出模块之间的调用关系图。

详细设汁的结果是对数据结构和基本操作的规格说明作出进一步的求精,写出数据存储结构的类型定义,按照算法书写规范用类C语言写出过程或函数形式的算法框架。

《数据结构与算法》实验要求与指导

《数据结构与算法》实验要求与指导

《数据结构与算法》实验要求与指导(二)算法实验要求综述我们把实验要求分成四个层次, 希望学生不断往更高层次要求自己, 最终能达到本课程的实验基本要求.这四个层次的要求是:一. 以熟练使用c语言的开发环境(如TC2.0或VC6.0)为主,进行简单问题的程序设计和调试分析二. 编写主程序调用调试教材中描述并在课堂中详细讲解过的算法三. 完成习题中的算法设计题并书写实验报告四. 独立完成一个小的应用系统并规范书写实验报告,以进一步提高算法描述和算法分析的能力以上一至三层次作为本课程的基本实验要求,第四层次作为有能力的学生的提高要求。

实验辅导教师也可以根据当地学生的具体情况, 本着能提高学生两个能力(C语言的编程和调试能力, 算法设计和分析能力)的目的, 循序渐进地引导学生掌握算法和程序的上机实验, 并参考《题集》的实验报告范例书写实验报告。

按教学计划,本课程实验课时为15学时,安排6-7次实验。

由于课时数有限,要求学生在实验前作好充分准备,否则很难在两个学时内完成相关的上机与调试。

上机前的准备工作主要有两项:一是仔细阅读理解书中的相关算法,需要写解题算法的还要在纸上写好算法;二是准备好要调试算法的数据,并写好调用算法的主程序。

实验1至实验6都分为A、B两个实验。

A实验对应第二层次的能力培养训练,B实验对应第三层次的能力培养训练。

下面就每一层次的要求作如下说明。

一. 以熟练使用c语言的开发环境(如TC2.0或VC6.0)为主,进行一般问题的程序设计和调试分析该能力实际上是预修课C语言的要求,由于有相当部分学生C语言掌握不是很好, 影响了数据结构算法的描述和理解. 所以开始应该注意弥补C语言的能力. 根据经验, C语言中函数定义与调用(形参和实参的对应等), 指针, 类型定义与使用、结构的定义和使用、动态内存的申请等难点却是数据结构算法描述的重点, C语言的这些障碍严重影响了学生对数据结构与算法的理解,也影响了学习数据结构的兴趣. 所以实验指导教师在鼓励学生主动补习C语言知识的同时, 有意识安排一些符合学生基础的程序设计练习作为本课程实验的前导补充. 与本课程的相公的算法题目可以推后几周上机.本实验教学计划的预备实验(即实验0)是为完成该任务而设计的。

《 数据结构与算法》实验报告要求

《 数据结构与算法》实验报告要求

《数据结构与算法》实验报告要求《数据结构与算法》实验报告要求实验报告首先要求有一个清晰醒目的报告标题,例如:《数据结构课程设计实验一:xxxxxxxxxx》。

报告至少要求具备以下四部分内容:一、简介这一部分需简单介绍题目内容,即该实验到底要做什么。

如果涉及明确的算法,最好再简单介绍一下算法产生的背景。

基本要求:实验内容必须覆盖完备。

二、算法说明这一部分需详细描述解决问题所需要用到的算法和重要的数据结构,即该实验到底应该怎么做。

基本要求:所有处理问题中所用到的关键算法都要描述清楚,而不是仅描述主函数。

算法和数据结构用伪码和图示描述,千万不要只写源代码加注释。

这一部分的目的是让读者在短时间内对作者解决问题的整体思路有个清楚的了解,表达方式必须比源代码通俗易懂。

如果读者感觉还不如直接读源代码来得明白,这一部分就失去了意义。

三、测试结果这一部分需根据题目类型设计提供相应的测试方法和结果。

对于需要比较不同算法性能优劣的题目,应设计并填写一张性能比较表格,列出不同算法在同一指标下的性能表现。

但仅仅罗列出一堆数据是不够的,还应将数字转化为图象、曲线等,帮助读者更直观地理解测试结果。

对于需要利用某算法解决某问题的题目,应设计并填写一张测试用例表。

每个测试用例至少应包括下列内容: ? 测试输入:设计一组输入数据; ? 测试目的:设计该输入的目的在于测试程序在哪方面可能存在的漏洞; ? 正确输出:对应该输入,若程序正确,应该输出的内容; ? 实际输出:该数据输入后,实际测试得到的输出内容; ? 错误原因:如果实际输出与正确输出不符,需分析产生错误的可能原因; ? 当前状态:分为“通过”(实际输出与正确输出相符)、“已改正”(实际输出与正确输出不符,但现在已修改正确)、“待修改”(实际输出与正确输出不符,且尚未改正)三种状态。

四、分析与探讨这一部分应是整篇报告中最令读者感兴趣的部分,分为两块内容: ? 测试结果分析。

数据结构与算法实验报告

数据结构与算法实验报告

数据结构与算法实验报告数据结构与算法实验报告一、实验目的本实验旨在通过实践的方式,加深对数据结构与算法的理解与应用,并能够独立设计和实现常见的数据结构和算法。

二、实验要求1·设计并实现以下数据结构与算法:(按需列出具体数据结构与算法)2·进行性能测试,分析并总结测试结果。

3·撰写实验报告,完整记录实验过程与结果,并进行适当的分析与总结。

三、实验环境(列出实验所需环境,包括操作系统、编程语言及开发环境等)四、实验过程与方法4·1 数据结构设计与实现(首先介绍每个数据结构的功能与特点,然后给出设计思路和实现方法,包括数据结构的定义、操作方法和算法等)4·2 算法设计与实现(首先介绍每个算法的功能与特点,然后给出设计思路和实现方法,包括算法的定义、输入输出格式、算法流程图等)五、实验结果与分析5·1 数据结构性能测试结果(列出数据结构的测试用例及其输入输出,记录测试结果,包括运行时间、空间占用等方面的数据,并进行适当的分析与总结)5·2 算法性能测试结果(列出算法的测试用例及其输入输出,记录测试结果,包括运行时间、空间占用等方面的数据,并进行适当的分析与总结)六、实验总结6·1 实验成果(总结实验所达到的目标,列出已实现的数据结构和算法)6·2 实验心得(记录实验过程中的收获和体会,包括困难与解决方法、感悟和改进方向等)附件:1·实验源码(附上实验所使用的源代码文件,以供参考)2·实验数据(附上实验所用的测试数据文件或数据表格等)法律名词及注释:(列出文档中涉及的法律名词及其注释,以确保读者对相关法律法规的理解)。

《数据结构》上机实验要求

《数据结构》上机实验要求

《数据结构》课程实验内容与要求一、课程简介本课程着重讲述①线性结构、树型结构、图等典型数据结构的逻辑特点、存储结构及其相应的基本算法。

②各种查找算法③典型内部排序算法。

二、实验的作用、地位和目的数据结构是一门技术基础课,通过实验深刻理解各种逻辑结构、存储结构的特性,培养为实际问题分析其数据对象、基本操作,选择逻辑结构、存储结构灵活应用基本算法,设计出具有专业水准的应用程序的能力。

三、实验方式与要求①首先要求学生在课下完成问题分析、算法设计,基本完成程序设计。

②实验时,每位学生使用一台微机,独立调试,完成程序。

③程序调试好后,由指导教师检测运行结果,并要求学生回答相关的问题。

教师评出检查成绩。

④学生记录程序的输入数据,运行结果及源程序。

⑤在一周内完成实验报告。

四、考核方式与实验报告要求实验成绩由指导教师根据学生的实验完成情况、源程序质量、回答问题情况、实验报告质量、实验纪律等方面给分。

学生在实验后的一周内提交实验报告。

实验报告首页按学校统一印刷的实验报告模版书写。

实验报告中应包括如下内容:☐实验内容按任课教师下达的实验任务填写(具体实验题目和要求);☐实验过程与实验结果应包括如下主要内容:算法设计思路简介算法描述:可以用自然语言、伪代码或流程图等方式算法的实现和测试结果:包括算法运行时的输入、输出,实验中出现的问题及解决办法等☐源程序清单与实验结果或其它说明可打印,并装订在实验报告首页之后。

☐实验报告雷同者,本次实验成绩为0分或雷同实验报告平分得分五、实验的软硬件环境硬件环境:PⅡ以上微型计算机软件环境:Windows98/2000, VC++6.0或turbo C六、实验内容安排实验一线性表应用实验时间:2012年3月16日,7-8节(地点:7-215)实验目的:理解线性表的逻辑特点;掌握顺序表、链表存储结构,以及线性表的基本操作,如插入、删除、查找,以及线性表合并等操作在顺序存储结构和链式存储结构上的实现算法,并能够在实际问题背景下的灵活运用线性表来解决问题,实现相应算法。

数据结构与算法实训内容及要求

数据结构与算法实训内容及要求

数据结构与算法实训内容及要求Ⅰ基础题部分实训内容及要求一、顺序表操作1、显示2、插入3、查找(显示比较次数)4、删除(显示移动次数)5、排序(普通、快速,显示比较次数、移动次数)6、折半查找(显示比较次数)7、编程实现一个顺序表的就地逆置,即利用原表的存储空间将顺序表逆置。

提高题:8*、要求以较高的效率实现删除顺序表中元素值在x到y(x和y自定)之间的所有元素。

[解题思路] 在顺序表中设置两个初值为0的下标变量i和j,其中,i为比较元素的下标,j 为赋值元素的下标。

依次取顺序表中下标为i的元素与x和y比较,假若是x到y之外的元素,则赋值给下标为j的元素。

这种算法比删除一个元素后立即移动其后面的元素的效率高得多。

9*、编程实现将两个有序的顺序表进行合并,要求同样的数据元素只出现一次。

[解题思路] 由于两个顺序表中的元素呈有序排列,在进行合并的时候,依次比较,哪个顺序表的元素值小,就先将这个元素复制到新的顺序表中,若两个元素相等,则复制一个即可,这样一直到其中的一个顺序表结束,然后将剩余的顺序表复制到新的顺序表中即可。

10*、有序插入(显示比较次数、移动次数),屏幕提示后,从键盘输入一个元素值,在经过排序的线性表中插入这个元素;屏幕显示比较次数和移动次数,应有溢出判断和报告。

顺序表操作菜单如下图所示:二、单链表操作1、创建2、显示3、查找(显示比较次数)4、插入5、删除(显示比较次数)6、将链接存储线性表逆置,即最后一个结点变成第1个结点,原来倒数第2个结点变成第2个结点,如此等等。

7、生成有序的两个单链表A和B(链表的数据和个数自定),其首结点指针分别为a 和b,要求将两个单链表合并为一个有序的单链表C,其首结点指针为c,并且合并后的单链表的数据不重复。

8、将一个首结点指针为a的单链表A分解成两个单链表A和B,其首结点指针分别为a和b,使得链表A中含有原链表A中序号为奇数的元素,而链表B中含有原链表A中序号为偶数的元素,且保持原来的相对顺序。

《数据结构》实验目的和要求

《数据结构》实验目的和要求
Q- >r=0; else
Q- >r++; if(Q- >r==Q->f)
pr intf("Overflow!\n "); } front(queue *Q){
if(Q- >r==Q->f) pr intf("Underflow!\ n");
else re turn(Q->q[Q->f]);
} void deq(queue *Q){
int q[20]; int f,r; }queue; int nodelist[20][20]; queue Q; int z[20]; int a,b,n,i,j,x,y;
int finished; void enq(queue *Q,int x){
Q->q[ Q->r]=x; if(Q- >r==19)
实验包括的步骤
1.简要描述题目要求,对问题的描述应避开算法及所涉及的数据类型,只是对所需完 成的任务做出明确的 陈述,例如输 入数据的类型、 值的范围以及 输入的形式, 输出数据的 类型、值的范围以及输出的形式。
2.选定数据结构,写出算法,根据自顶向下发展算法的方法,首先描述算法的基本思 想,然后进行算法细化,再对所设计的算法的时间复杂性和空间复杂性进行简单分析。
} if(!finished )
j++; } } if (!finished) printf("There is no path.");
} } void writepath(int a,int b){
i=b;
while (i!=a){ printf("%d <- ",i); i= z[i];

数据结构与算法-东北林业大学 实验和上机指导

数据结构与算法-东北林业大学 实验和上机指导

• 四、
调试分析 • 1. 调试中遇到的问题及对问题的解决方法;
• 2. 算法的时间复杂度和空间复杂度。
• 五、
使用说明及测试结果
源程序(带注释)
ห้องสมุดไป่ตู้
《数据结构实验》教学大纲
• 一、总则 • ⒈本课程的教学目的和要求 • 数据结构是信息与计算科学专业中一门重要的专业基础
课程。当用计算机来解决实际问题时,就要涉及到数据的表 示及数据的处理,而数据表示及数据处理正是数据结构课程 的主要研究对象,通过这两方面内容的学习,为后续课程, 特别是软件方面的课程打下了厚实的知识基础,同时也提供 了必要的技能训练。因此,数据结构课程在计算机应用专业 中具有举足轻重的作用。 • 本课程的任务是:通过实践,学生对常用数据结构的基 本概念及其不同的实现方法的理论得到进一步的掌握,并对 在不同存储结构上实现不同的运算方式和技巧有所体会。
• 实验报告规范: 实验题目 • 班级 姓名 学号 • 一、 需求分析
• 1. 程序的功能; • 2. 输入输出的要求; • 3. 测试数据。
日期
• 二、
概要设计 • 1. 本程序所用的抽象数据类型的定义;
• 2. 主程序的流程及各程序模块之间的层次关系。
• 三、
详细设计 • 1. 采用c语言定义相关的数据类型; • 2. 写出各模块的伪码算法; • 3. 画出函数的调用关系图。
• 使得系统结构清晰、合理、简单和易于调试,抽象数 据类型的实现尽可能做到数据的封装,基本操作的规 格说明尽可能的明确和具体。作为逻辑设计的结果。 应写出每个抽象数据类型的定义(包括数据结构的描 述和每个基本操作的规格说明),各个主要模块的算 法,并画出模块之间的调用关系图。详细设计的结果 是对数据结构和基本操作的规格说明做出进一步的求 精,写出数据存储结构的类型定义,按照算法书写规 范用类C语言写出函数形式的算法框架。 • 2.编码实现和静态检查 • 3.上机准备和上机调试 • 4.总结和整理实习报告 • • 附:实验报告规范

《数据结构与算法》实验指导书.

《数据结构与算法》实验指导书.

《数据结构与算法》实验指导书.《数据结构与算法》实验指导书实验1 顺序表一、实验目的(1)掌握顺序表的逻辑结构、存储结构及描述方式。

(2)掌握顺序表的定位、插入、删除等操作。

二、实验要求(1)调试程序要记录调试过程中出现的问题及解决办法;(2)给出每个问题的算法或画出流程图;(3)编写程序要规范、正确,上机调试过程和结果要有记录,并注意调试程序集成环境的掌握及应用,不断积累编程及调试经验;(4)做完实验后给出本实验的实验报告。

三、实验设备、环境奔腾以上计算机,装有Turbo C 2.0或Visual C++软件四、实验步骤及内容实验步骤:1.根据题目,编写程序。

2.上机调试通过。

3.按照金陵科技学院实验报告格式,撰写各实验报告。

实验内容:(1)编写一个函数print_all_data,该函数的作用是逐个输出顺序表中所有数据元素的值。

编写主函数,从键盘输入顺序表,调用函数print_all_data,测试结果。

(2)编写顺序表定位操作函数locata,该函数的作用是在顺序表中查找是否存在数据元素的值与变量x的值相等。

如果存在满足条件的数据元素,则返回顺序表中和x值相等的第1个数据元素在表中的下标;如果不存在,则返回-1。

编写主函数,从键盘输入顺序表,以及变量x的值,调用函数locate,测试结果。

(3)编写一个函数insert,该函数的作用是在递增有序的顺序表中插入一个新结点x,要求保持顺序表的有序性,输出插入前后顺序表状态。

编写主函数,从键盘输入顺序表以及变量x的值,调用函数insert,测试结果。

(4)编写一个函数delete,该函数的作用是删除顺序表中所有等于X的数据元素。

若顺序表中没有满足条件的数据元素,则输出合适的信息。

若有满足条件的数据元素,则输出删除前后顺序表状态。

编写主函数,从键盘输入顺序表以及变量x的值,调用函数delete,测试结果。

五、讨论、思考题1、如何在排列有序的顺序表中插入新元素,而保证顺序表的有序性?2、如何在排列有序的顺序表中删除某元素,而保证顺序表的有序性?实验2 单链表一、实验目的(1)掌握单链表的逻辑结构、存储结构及描述方式。

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

《数据结构与算法》课程实验内容与要求一、 课程简介本课程着重讲述①线性结构、树型结构、图等典型数据结构的逻辑特点、存储结构及其相应的基本算法。

②各种查找算法③典型内部排序算法。

二、 实验的作用、地位和目的数据结构是一门技术基础课,通过实验深刻理解各种逻辑结构、存储结构的特性,培养为实际问题分析其数据对象、基本操作,选择逻辑结构、存储结构灵活应用基本算法,设计出具有专业水准的应用程序的能力。

三、 实验方式与要求①首先要求学生在课下完成问题分析、算法设计,基本完成程序设计。

②实验时,每位学生使用一台微机,独立调试,完成程序。

③程序调试好后,由指导教师检测运行结果,并要求学生回答相关的问题。

教师评出检查成绩。

④学生记录程序的输入数据,运行结果及源程序。

⑤在一周内完成实验报告。

四、 考核方式与实验报告要求实验成绩由指导教师根据学生的实验完成情况、源程序质量、回答问题情况、实验报告质量、实验纪律等方面给分。

学生在实验后的一周内提交实验报告。

实验报告按照附件中实验报告模版书写。

实验报告中应包括如下内容:实验内容按任课教师下达的实验任务填写(具体实验题目和要求);实验过程与实验结果应包括如下主要内容:数据结构定义算法设计思路简介算法描述:可以用自然语言、伪代码或流程图等方式算法的实现和测试结果:包括算法运行时的输入、输出,实验中出现的问题及解决办法等算法时间复杂度分析源程序清单与实验结果或其它说明可打印,并装订在实验报告之后。

实验报告雷同者,本次实验成绩为0分或雷同实验报告平分得分五、 实验的软硬件环境硬件环境:PⅡ以上微型计算机软件环境:Windows98/2000, VC++6.0或turbo C六、 实验内容安排实验一线性表应用实验时间:2017年3月9日1-2节(地点:7-219),3月10日5-6节(地点:7-215)实验目的: 理解线性表的逻辑特点;掌握顺序表、链表存储结构,以及线性表的基本操作,如插入、删除、查找,以及线性表合并等操作在顺序存储结构和链式存储结构上的实现算法,并能够在实际问题背景下的灵活运用线性表来解决问题,实现相应算法。

每位同学可从下面题目中选择至少2题实现:其中第一题为必做题1.一元稀疏多项式简单的计算器1)问题描述:用线性表表示一元稀疏多项式,设计一个一元多项式运算器2)要求: (1)采用单链表存储结构一元稀疏多项式(2)输入并建立多项式(3)输出多项式(4)实现多项式加、减运算3)分析算法时间复杂度2. 约瑟夫环问题1)问题描述:有编号为1, 2…n 的n 个人按顺时针方向围坐一圈,每人持有一个正整数密码。

开始给定一个正整数m,从第一个人按顺时针方向自1开始报数,报到m者出列,不再参加报数,这时将出列者的密码作为m,从出列者顺时针方向的下一人开始重新自1开始报数。

如此下去,直到所有人都出列。

试设计算法,输出出列者的序列。

2)要求: 采用顺序和链式两种存储结构实现3)分析算法时间复杂度3.单链表基本操作练习1)问题描述:在主程序中提供下列菜单:1…建立链表2…连接链表3…输出链表0…结束2)实验要求:算法中包含下列过程,分别完成相应的功能:CreateLinklist(): 从键盘输入数据,创建单链表ContLinklist():将前面建立的两个单链表首尾相连OutputLinklist():输出显示单链表3)分析算法时间复杂度4.单链表基本操作练习1)问题描述:已知单链表L(带头节点)是一个递增有序表,试编写算法,删除表中值大于min且小于max的节点(若表中有这样的节点),同时释放被删节点的空间。

2)实验要求:min和max是两个给定参数。

3)分析算法时间复杂度实验报告格式及要求:按附件中实验报告模版书写。

(具体要求见四)实验二栈与队列应用实验时间:2017年3月20日3-4节(地点:7-219),3月23日1-2节(地点:7-220)实验目的:1、理解栈和队列的逻辑特点;掌握栈和队列基本操作的实现,并能灵活运用栈或队列特性,综合运用程序设计、算法分析等知识解决实际问题。

2、实验设置较高要求:理解组成递归算法的基本条件,理解递归算法与相应的非递归算法的区别,理解栈和队列的应用与作用。

具体实验题目:(任课教师根据实验大纲自己指定)每位同学从下面题目中至少选择2题实现:其中1,2题中至少选择1题,3-5题中至少选择1题 1.十进制数与N进制数据的转换1)问题描述:将从键盘输入的十进制数转换为N(如二进制、八进制、十六进制)进制数据。

2)要求: 利用顺序栈实现数制转换问题2.表达式语法判读:1)问题描述:假设表达式中允许包含3种括号:圆括号、方括号和大括号,编写一个算法判断表达式中的括号是否正确配对。

2)要求:输出信息提示表达式中括号是否匹配,属于哪类不匹配(如左括号多?右括号多)。

3. 算术表达式求值算法1)问题描述:从键盘输入一个算术表达式并输出它的结果2)要求:算术表达式可包含加、减、乘、除、十进制整数和小括号,利用栈实现4. 停车场管理问题1)问题描述:设有一个可以停放n辆汽车的狭长停车场,它只有一个大门可以供车辆进出。

车辆按到达停车场的早晚依次从停车场最里面向大门口处停放(最先到达的第一辆车放在停车场的最里面)。

如果停车场已放满n辆车,则后来的车辆只能在停车场大门外的便道上等待,一旦停车场内有车走开,则排在便道上的第一辆车就进入停车场。

停车场内如有某辆车要开走,在它之后进入停车场的车都必须先退出停车场为它让路,待其开出停车场后,这些车辆再依原来的次序进场。

每辆车在离开停车场时,都应根据它在停车场内停留的时间长短交费。

如果停留在便道上的车未进停车场就要离去,允许其离去,不收停车费,并且仍然保持在便道上等待的车辆的次序。

编写程序模拟该停车场的管理。

2)要求:要求程序输出每辆车到达后的停车位置(停车场或便道上),以及某辆车离开停车场时应缴纳的费用和他在停车场内停留的时间3)实现提示:以栈模拟停车场,以队列模拟便道,按照从终端读入的车辆“到达”“离开”信息模拟停车场管理5、迷宫问题:1)问题描述:设计算法完成迷宫问题求解,输出迷宫中所有路径的求解。

2)要求:使用递归算法和非递归两种方法实现实验报告格式及要求:按附件中实验报告模版书写。

(具体要求见四)实验三二叉树操作实验时间:2017年4月20日1-2节(地点:7-220),4月21日5-6节(地点:7-220)实验目的:理解二叉树的逻辑特点和二叉树的性质;掌握二叉树的二叉链表存储结构,掌握二叉树的创建算法、遍历算法的递归与非递归实现。

具体实验题目:(任课教师根据实验大纲自己指定)第1题为必做题,第2题为选做题目:1.每位同学按下述要求实现相应算法:以二叉链表为存储结构,实现二叉树的创建、遍历算法1)问题描述:在主程序中提供下列菜单:1…建立树2…前序遍历树3…中序(非递归)遍历树4…后序遍历树0…结束2)实验要求:①定义下列过程:CreateTree(): 按从键盘输入的前序序列,创建树PreOrderTree():前序遍历树(递归)InOrderTree():中序(非递归)遍历树LaOrderTree(): 后序遍历树(递归)②每位同学在实验过程中要单步运行程序,跟踪二叉树的创建过程与前序遍历的递归过程。

2. 树的转换:我们都知道用“孩子兄弟”表示法可以将一棵一般的树转换为二叉树。

请设计算法将一棵树用这种方法转换为二叉树,并输出转换前和转换后树的前序遍历序列。

实验报告格式及要求:按附件中实验报告模版书写。

(具体要求见四)实验四图的深度优先与广度优先遍历实验时间:2017年5月11日,1-2节(地点:7-215),5月12日5-6节(地点:7-216)实验目的:理解图的逻辑特点;掌握理解图的两种主要存储结构(邻接矩阵和邻接表),掌握图的构造、深度优先遍历、广度优先遍历算法。

具体实验题目:(任课教师根据实验大纲自己指定)第1题为必做题,第2题为选做题目:1. 每位同学按下述要求实现相应算法: 根据从键盘输入的数据创建图(图的存储结构可采用邻接矩阵或邻接表),并对图进行深度优先搜索和广度优先搜索1)问题描述:在主程序中提供下列菜单:1…图的建立2…深度优先遍历图3…广度优先遍历图0…结束2)实验要求:图的存储可采用邻接表或邻接矩阵;定义下列过程:CreateGraph(): 按从键盘的数据建立图DFSGrahp():深度优先遍历图BFSGrahp():广度优先遍历图2. 拓扑排序:给出一个图的结构,输出其拓扑排序序列(顶点序列用空格隔开),要求在同等条件下,编号小的顶点在前。

实验报告格式及要求:按附件中实验报告模版书写。

(具体要求见四)实验五查找算法应用实验时间:2016年6月1日1-2节(地点:7-215),6月2日5-6节(地点:7-216)实验目的:理解二叉排序树、AVL树的查找、插入、删除、建立算法的思想及程序实现;掌握散列存储结构的思想,能选择合适散列函数,实现不同冲突处理方法的散列表的查找、建立。

散列表等查找算法解决实际问题。

具体实验题目:(任课教师根据实验大纲自己指定)每位同学可从下面题目中选择1-2题实现:1.哈希表查找1)问题描述:针对某个集体的“人名”构造哈希表,解决按“人名”进行查找的索引结构。

2)实验要求:要求表的平均查找长度不超过R(R可以从键盘输入确定),完成相应的建表和查表程序。

2.构造二叉排序树,并进行中序遍历1)问题描述:从键盘读入一串整数构造一棵二叉排序树,并对得到的二叉排序述进行中序遍历,得到有序序列。

2)实验要求:该二叉排序树以二叉链表存储3. 拼写检查1)问题描述:现在有一些英语单词需要做拼写检查,你的工具是一本词典。

需要检查的单词,有的是词典中的单词,有的与词典中的单词相似,你的任务是发现这两种情况。

单词A与单词B相似的情况有三种:①删除单词A的一个字母后得到单词B;②用任意一个字母替换单词A的一个字母后得到单词B;③在单词A的任意位置增加一个字母后得到单词B。

2)实验要求:发现词典中与给定单词相同或相似的单词。

实验报告格式及要求:按附件中实验报告模版书写。

(具体要求见四)。

相关文档
最新文档