数据结构课程实验
课程实验题目
我要吃木耳
我要吃木耳
展开
-
实验十二 内部排序比较(第16周)
实验目的:通过上机实验对各种内部排序方法进行比较。实验内容与要求:⑴现希尔排序、快速排序、堆排序这三种内部排序方法;⑵生成随机数以构造待排表;⑶记录运行结果并加以分析。#include<iostream>#include<iomanip>#include<windows.h>using namespace std;const int length = 10; //排序数量const int Size = 4; //...原创 2021-12-19 23:42:33 · 290 阅读 · 0 评论 -
实验十一 查找方法比较(第15周)
实验目的:通过上机实验对各种静态、动态查找方法进行比较。实验内容与要求:⑴实现三种以上静态或动态查找方法,查找表中的数据随机生成;⑵生成随机数,并执行查找,记录运行结果并加以分析。#include<iostream>#include<vector>#include<iomanip>#include<windows.h>#include <algorithm>#include<queue>...原创 2021-12-19 23:41:35 · 245 阅读 · 0 评论 -
实验十 图的应用(第13-14周)
实验目的:掌握图的基本应用的实现。实验内容与要求:请完成下列图的应用:⑴求无向连通网的最小生成树;⑵对有向图进行拓扑排序;⑶求AOE网的关键路径;⑷求单源点出发的最短路径。四个题目分别创建了四个类,而在visual studio c++2019中,每个类都有 .h和 .cpp两个文件,如下图所示:先贴主函数(图的应用.cpp)#include"undirected_network.h" //求无向连通网的最小生成树#include"T...原创 2021-12-03 18:49:50 · 307 阅读 · 0 评论 -
实验九 图的创建与遍历(第12周)
实验目的:通过上机实验进一步掌握图的存储结构及基本操作的实现。实验内容与要求:分别基于邻接矩阵(不用做)和邻接表存储结构实现图的基本运算,要求:⑴能根据输入的顶点、边/弧的信息建立图;⑵实现图中顶点、边/弧的插入、删除;⑶实现对该图的深度优先遍历;⑷实现对该图的广度优先遍历。#include<iostream>#include<vector>using namespace std;class Graphic {pri...原创 2021-11-26 15:40:05 · 515 阅读 · 0 评论 -
实验八 二叉树的应用(第11周)
实验目的:掌握赫夫曼二叉树的建立及赫夫曼编码的生成。实验内容与要求:根据给定的n个权值生成赫夫曼二叉树,输出赫夫曼编码及进行译码。#include<iostream>#include<vector>#include<stack>using namespace std;const int MAX = 9999;class HuffmanTree {private: struct HTnode { char name; //...原创 2021-11-19 16:12:49 · 657 阅读 · 0 评论 -
实验七 二叉树的创建与遍历(第10周)
实验目的:通过上机实验进一步掌握栈、队列、二叉树的存储结构及基本操作的实现方法。实验内容与要求:基于二叉链表存储结构实现二叉树的基本运算,要求:⑴能建立非空二叉树;⑵实现二叉树的先、中、后序递归遍历算法;⑶实现二叉树的非递归的先(或中、或后)序遍历算法及层序遍历算法;⑷记录运行结果并对递归算法和非递归算法的效率加以分析。第四点未实现。注意:在先序输入创建上述二叉树时应输入:AB##CDF##G##E##(每个叶子节点后都需两个#字符...原创 2021-11-14 21:26:17 · 894 阅读 · 0 评论 -
实验六 串的应用(第9周)
实验目的:掌握串类型的实现方法及文本模式匹配方法。实验内容:文学研究人员需要统计某篇英文小说中某些形容词出现的次数。试写一个程序实现这一目标。英文小说存于一个文本文件中,待统计的词汇集合要一次输入完毕,即统计工作要一次性完成。注意点:1.将需要读取的cpp或txt文件放在项目文件夹中,例如:2.将代码main函数里面的open函数读入该文件,例如:#include<iostream>#include<fstream>#i...原创 2021-10-31 12:24:05 · 282 阅读 · 0 评论 -
实验五 数组的运算(第8周)
实验目的:掌握稀疏矩阵的压缩存储方法及主要运算的实现。实验内容与要求:设计一个稀疏矩阵计算器,要求能够:⑴输入并建立稀疏矩阵;⑵输出稀疏矩阵(先输出三元组,再输出矩阵);⑶执行两个矩阵相加;⑷执行两个矩阵相乘;⑸求一个矩阵的转置矩阵(用快速转置);⑹(选做)求一个矩阵的逆矩阵。选做未做#include<iostream>#include <iomanip>using namespace std;const int MAXSIZE=100; /...原创 2021-10-29 11:01:00 · 203 阅读 · 0 评论 -
实验四 表达式计算(第7周)
实验目的:熟练掌握栈和队列的存储结构设计及基本操作的实现;学会分析实际问题中具有栈特点的数据结构;了解表达式的前缀、中缀、后缀等计算机内表示形式。实验内容与要求:按常规形式输入算术表达式(例如:输入2*(6-4)+8/4),要求能够:⑴生成表达式的前缀、后缀表示,并输出;⑵基于表达式的前、中、后缀表示,对该表达式求值;⑶编写一个主程序对表达式求值函数进行测试。进阶要求:表达式中数据为多位数进阶的还没写,晚点再说把#include<iostrea...原创 2021-10-20 01:45:45 · 302 阅读 · 0 评论 -
实验三 链表的实现和应用(第4-5周)
实验目的:掌握线性表的链式存储结构设计与基本操作的实现。实验内容与要求:⑴定义线性表的链式存储表示;⑵基于所设计的存储结构实现线性表的基本操作;⑶编写一个主程序对所实现的线性表进行测试;⑷线性表的应用:①设线性表L1和L2分别代表集合A和B,试设计算法求A和B的并集C,并用线性表L3代表集合C(无重复元素);②设线性表L1和L2中的数据元素为整数,且均已按值非递减有序排列,试设计算法对L1和L2进行合并,用线性表L3保存合并结果(无重复元素),要求L3中的数据元素...原创 2021-10-17 13:52:29 · 397 阅读 · 1 评论 -
实验二 顺序表的实现和应用
实验目的:⑴熟悉线性表的定义和基本操作;⑵掌握线性表的顺序存储结构设计与基本操作的实现。实验内容与要求:⑴定义线性表的顺序存储表示;⑵基于所设计的存储结构实现线性表的基本操作;⑶编写一个主程序对所实现的线性表进行测试;⑷线性表的应用:①设线性表L1和L2分别代表集合A和B,试设计算法求A和B的并集C,并用线性表L3代表集合C;②(选做)设线性表L1和L2中的数据元素为整数,且均已按值非递减有序排列,试设计算法对L1和L2进行合并,用线性表L3保存合并结果,要...原创 2021-10-04 21:17:27 · 383 阅读 · 0 评论 -
实验一 复习C或C++及简单单链表设计
实验目的:(1)复习C语言程序设计;(2)掌握指针应用,掌握链表的简单操作。实验内容与要求:(1)定义节点结构;(2)完成单链表任意节点的插入、删除及遍历功能。#include<iostream>using namespace std;struct ListNode { int value; ListNode* next;};class LinkList {private:ListNode* head; int size; //链表长度原创 2021-09-24 11:10:04 · 174 阅读 · 2 评论