资源描述:
《实验作业说明》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、实验作业说明(一)实验课基本要求1.实验课要求到课。自第五周开始,共30学时。实验时间:周五下午(8,9,10节)。实验地点:东区老图书馆北楼三层东侧机房。2.实验内容包括必做题和选做题。具体如下:序号实验项目内容类型1线性表应用:一元多项式的创建和运算必做2栈应用:表达式求值必做3二叉树:哈夫曼编码、解码器设计3、4选做一题4二叉树的创建、遍历、和应用5图的应用:遍历、最短路径、最小代价生成树5、6、7选做一题6排序算法的实现及性能比较7哈希表3.按上述要求完成4个题目(多选不限),并提交实验报告
2、(word格式)。实验报告格式模板见后。请将实验报告和源程序(只要c或c++源程序,不要有VC工程文件和可执行程序等其他文件)打包成一个文档,文件名格式为“学号+姓名+题号.rar”。例如:“PB14204003+李明+136.rar”,6月5日之前发送email到dsdblab@sina.com(一)实验报告格式在做完实验以后写实验报告,是整个实验过程的一个重要环节。报告的撰写过程实际是对整个实验的总结与回顾,有助加深对实验的理解,提高对实验的认识。下面介绍如何撰写实验报告。2.1如何撰写实验报告
3、对于每一个实验中所要求解决的问题,都应该有规范详细的报告文档,本实验要求报告的规范如下:一、问题描述1.实验题目:一般教材中会给出实验题目。2.基本要求:实验的基本要求,一般也会在教材中给出。3.测试数据:实验中要用到的测试数据,部分实验由教材提供。二、需求分析1.程序所能达到的基本可能。2.输入的形式及输入值范围3.输出的形式4.测试数据要求三、概要设计1.所用到得数据结构及其ADT2.主程序流程及其模块调用关系3.核心模块的算法伪码四、详细设计1.实现概要设计中的数据结构ADT2.实现每个操作的
4、伪码,重点语句加注释3.主程序和其他模块的伪码4.函数调用关系图五、调试分析1.设计与调试过程中遇到的问题分析、体会2.主要算法的时间和空间复杂度分析六、使用说明简要给出程序的运行和操作步骤。七、测试结果给出实验结果,包括输入和输出。八、附录带注释的源程序。2.2实验报告模板一、问题描述1.实验题目:利用有序链表表示正整数集合,实现集合的交、并和差运算。2.基本要求:有用户输入两种整数分别作为两个集合元素,由程序计算它们的交、并和差,并输出结果。3.测试数据:S1={3,5,6,9,12,27,35
5、}S2={5,8,10,12,27,31,42,51,55,63}运行结果应为:S1∪S2={3,5,6,8,9,10,12,27,31,35,42,51,55,63}S1∩S2={5,12,27}S1-S2={3,6,9,35}二、需求分析1.本程序用来求出任意两个正整数集合的交、并、差。2.程序运行后显示提示信息,提示用户输入两组整数,程序需自动顾虑重复的整数和负数。3.用户输入完毕后,程序自动输出运算结果。三、概要设计为了实现上述功能,应以有序链表表示集合,因此需要有序表和集合两个抽象数据类型
6、。1.有序表抽象数据类型定义:ADTOrderedList{数据对象:D={ai
7、ai∈ElemType,i=1,2...,n,n≥0}数据关系:R={
8、ai-1,ai∈D,ai-1≤ai,i=2,...,n}基本操作:InitList(&L);//构造空线性表DestroyList(&L);//销毁线性表ClearList(&L);//将L置空ListEmpty(L);//检查L是否为空ListLength(L);//返回L中元素个数GetElem(L,i,&e);//返回L中第
9、i个元素赋予eLocatePos(L,e);//返回L中e的位置InsertElem(&L,e);//在L中插入eDeleteElem(&L,i);//删除L中第i个元素ListTravers(L);//依次输出L中元素。}ADTOrderedList2.集合的抽象数据类型定义:ADTset{数据对象:D={ai
10、ai∈ElemType,且各不相同,i=1,2...,n,n≥0}数据关系:R=φ基本操作:CreateNullSet(&T);DestroySet(&T);AddElem(&T,e);D
11、elElem(&T,e);Union(&T,S1,S2);Intersection(&T,S1,S2);Difference(&T,S1,S2);PrintSet(T);}ADTset3.本程序保护模块:主程序模块集合单元模块:实现集合的抽象数据类型有序表单元模块:实现有序表抽象数据类型调用关系:主函数模块à集合单元模块à有序表单元模块四、详细设计1.元素类型、结点类型和结点指针类型:typedefintElemType;typedefstructNodeType{E