版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验指导-数据结构 B精品文档附录综合实验1、实验目的本课程的目标之一是使得学生学会如何从问题出发,分析数据,构造求解问题的数据结构和算法,培养学生进行较复杂程序设计的能力。本课程实践性较强,为实现课程目标,要求学生完成一定数量的上机实验。从而一方面使得学生加深对课内所学的各种数据的逻辑结构、存储表示和运算的方法等基本内容的理解,学习如何运用所学的数据结构和算法知识解决应用问题的方法;另一方面,在程序设计方法、C 语言编程环境以及程序的调试和测试等方面得到必要的训练。2、实验基本要求:1)学习使用自顶向下的分析方法,分析问题空间中存在哪些模块,明确这些模块之间的关系。2)使用结构化的系统设计方
2、法,将系统中存在的各个模块合理组织成层次结构,并明确定义各个结构体。确定模块的主要数据结构和接口。3)熟练使用 C 语言环境来实现或重用模块,从而实现系统的层次结构。模块的实现包括结构体的定义和函数的实现。4)学会利用数据结构所学知识设计结构清晰的算法和程序,并会分析所设计的算法的时间和空间复杂度。5)所有的算法和实现均使用C 语言进行描述,实验结束写出实验报告。收集于网络,如有侵权请联系管理员删除精品文档3、实验项目与内容:1、线性表的基本运算及多项式的算术运算内容:实现顺序表和单链表的基本运算,多项式的加法和乘法算术运算。要求:能够正确演示线性表的查找、插入、删除运算。实现多项式的加法和乘
3、法运算操作。2、二叉树的基本操作及哈夫曼编码译码系统的实现内容:创建一棵二叉树,实现先序、中序和后序遍历一棵二叉树,计算二叉树结点个数等操作。哈夫曼编码 /译码系统。要求:能成功演示二叉树的有关运算,实现哈夫曼编码 /译码的功能,运算完毕后能成功释放二叉树所有结点占用的系统内存。3、图的基本运算及智能交通中的最佳路径选择问题内容:在邻接矩阵和邻接表两种不同存储结构上实现图的基本运算的算法,实现图的深度和宽度优先遍历算法,解决智能交通中的路径选择问题。设有 n 个地点,编号为 0n-1,m 条路径的起点、终点和代价由用户输入提供,寻找最佳路径方案(例如花费时间最少、路径长度最短、交通费用最小等,
4、任选其一即可)。要求:设计主函数,测试上述运算。4、各种内排序算法的实现及性能比较内容:验证教材的各种内排序算法。分析各种排序算法的时间复杂度。要求:使用随机数产生器产生较大规模数据集合,运行上述各种排序算法,使用系统时钟测量各算法所需的实际时间,并进行比较。收集于网络,如有侵权请联系管理员删除精品文档4、实验报告范例:实验班级 _姓名 _学号 _日期 _1. 实验目的:(扼要而准确地描述所求解的实验项目的目的。)2. 实验任务:(明确实验项目的任务和演示程序的主要功能。)3. 实验内容:(使用模块和流程图表示系统分析和设计的结果,描述各模块之间的层次结构,给出函数之间的调用关系和数据传递方式
5、,给出核心算法的C 源代码,并加上详细注释,分析主要算法的时间复杂度,必要时分析空间复杂度,给出算法分析的计算过程。)4. 实验过程描述:收集于网络,如有侵权请联系管理员删除精品文档( 列出实验所用的测试用例和相应的程序运行结果(需要程序运行结果的屏幕截图 ),总结本次实验,包括对测试结果的分析,测试和调试过程遇到问题的回顾和分析,软件设计与实现的经验和体会,进一步改进的设想。)收集于网络,如有侵权请联系管理员删除精品文档实验 1 线性表及多项式的运算一、实验目的1、掌握线性表的两种基本存储结构及其应用场合:顺序存储和链接存储。2、掌握顺序表和链表的各种基本操作算法。3、理解线性表应用于多项式
6、的实现算法。二、实验内容1、参照程序 2.12.7,编写程序,完成顺序表的初始化、查找、插入、删除、输出、撤销等操作。2、已知带表头结点单链表的类型定义如下:typedef struct nodeElemType element; /结点的数据域struct node *link;/ 结点的指针域node;typedef structstruct node * head;int n;headerList;参照程序 2.82.14,编写程序,完成带表头结点单链表的初始化、查找、插入、删除、输出、撤销等操作。3、以题 2 所示带表头结点单链表为存储结构,编写程序实现单链表的逆置操作。(原单链表为(
7、 a0,a1, ,an-1 ),逆置后为( an-1 , an-2 , ,a0),要求不引入新的存储空间) 。4、以题 2 所示带表头结点单链表为存储结构,编写程序实现将单链表排序成为有序单链表的操作。5、已知带表头结点一元多项式的类型定义如下:typedef struct pNode收集于网络,如有侵权请联系管理员删除精品文档int coef;int exp;struct pNode* link; pNode; typedef structstruct pNode *head; polynominal;编写程序实现一元多项式的创建、输出、撤销以及两个一元多项式相加和相乘的操作。收集于网络,如
8、有侵权请联系管理员删除精品文档实验 2 二叉树的基本操作及哈夫曼编码译码系统的实现一、实验目的1、掌握二叉树的二叉链表存储表示及遍历操作实现方法。2、实现二叉树遍历运算的应用:求二叉树中叶子结点个数、结点总数、二叉树的高度、交换二叉树的左右子树等。3、掌握二叉树的应用 哈夫曼编码的实现。二、实验内容1、已知二叉树二叉链表结点结构定义如下:typedef struct BinaryTreeNodeT Data;struct BinaryTreeNode * LChild , * RChild; BinaryTreeNode, * BinTree;参照程序 5.15.4,编写程序,完成二叉树的先序
9、创建、先序遍历、中序遍历、后序遍历等操作。2、以题 1 所示二叉链表为存储结构,编写程序实现求二叉树结点个数、叶子结点个数、二叉树的高度以及交换二叉树所有左右子树的操作。3、已知哈夫曼树结点结构定义如下:typedefElementType Data;/ 结点的数据域int w;/ 结点的权值int parent, lchild, rchild;/结点的双亲、左孩子、右孩子HFMTNode;编写程序,实现哈夫曼树的创建、哈夫曼编码以及解码的实现。收集于网络,如有侵权请联系管理员删除精品文档实验 3 图的基本运算及飞机换乘次数最少问题一、实验目的1、掌握图的邻接矩阵和邻接表的存储实现方法。2、实
10、现图的深度优先和宽度优先遍历运算。3、学习使用图算法解决应用问题的方法。二、实验内容1、已知图的邻接矩阵结构定义如下:typedef int ElemType;typedef structElemType *a;/邻接矩阵int n;/图的当前顶点数int e;/图的当前边数ElemType noEdge;/两顶点间无边时的值 mGraph;参照程序 9.19.5,编写程序,完成邻接矩阵的初始化、撤销、边的搜索、插入、删除等操作。2、以题 1 所示邻接矩阵为存储结构,编写程序,实现图的深度、宽度优先遍历。3、已知图的邻接表结构定义如下:typedef struct eNodeint adjVe
11、x;/任意顶点 u 相邻接的顶点ElemType w;/边的权值struct eNode* nextArc;/指向下一个边结点收集于网络,如有侵权请联系管理员删除精品文档eNode;typedef structint n;/图的当前顶点数int e;/图的当前边数eNode *a;/指向一维指针数组lGraph;参照程序 9.69.10,编写程序,完成邻接表的初始化、撤销、边的搜索、插入、删除等操作。4、以题 3 所示邻接表为存储结构,编写程序,实现图的深度、宽度优先遍历。5、编写程序,实现飞机最少换乘次数问题:设有n 个城市,编号为0n-1 ,m 条航线的起点和终点由用户输入提供。一条换乘次
12、数最少的线路方案。(提示:可以使用有向图表示城市间的航线;只要两个城市间有航班,则图中这两点间存在一条权为 1 的边;可以使用 Dijkstra 算法实现)收集于网络,如有侵权请联系管理员删除精品文档实验 4 各种内排序算法的实现及性能比较一、实验目的1、掌握各种内排序算法的实现方法。2、学会分析各种内排序算法的时间复杂度。二、实验内容1、已知待排序序列以顺序表结构实现,数据元素以及表结构定义如下:typedef struct entry/数据元素KeyType key;/排序关键字, KeyType 应该为可比较类型DataType data;/data包含数据元素中的其他数据项;typedef struct list/顺序表int n;/待排序数据元素数量EntryDMaxSize;/静态数组存储数据元素List;参照程序 10.1 10.7,编写算法,分别实现顺序表的简单选择排序、直接插入排序、冒泡排序、快速排序、两路合并排序以及堆排序。2、编写
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商标授权合同范例
- 共享服务合同的监管策略研究总结
- 购销合同管理的基本原则
- 自来水安装工程合同
- 施工质量保证书格式
- 委托加工协议书
- 补品销售合作伙伴合同
- 出租车行业服务保证指南
- 自来水管道维修施工及养护合同
- 独立承包商非正式合同
- 决策自我效能感量表
- 蒙牛数字化 营养世界
- 中药封包疗法在临床中的应用护理课件
- 水泥砼试模自校随机表
- 徐州市2023-2024学年八年级上学期期末英语试卷(含答案解析)
- 山东省枣庄市滕州市2023-2024学年七年级上学期期末数学试题(含答案)
- 北京市东城区2023-2024学年高二上学期期末考试数学
- 20马工程教材《公共财政概论》
- 如家酒店服务营销策略研究
- 部队春节文艺汇演策划方案
- 2021年直播复盘表
评论
0/150
提交评论