![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构学习记录
数据结构实验相关记录
亚尔蒂兰
前途似海,来日方长
展开
-
查找和排序的实现
实验目的: (1)掌握折半查找和二叉排序树两种查找方法; (2)掌握各种不同的排序方法。 实验内容: (1)编程实现两种查找方法:折半查找和二叉排序树; 若查找成功,返回元素在有序数组中的位置和查找次数; 若查找失败,返回出错标志和查找次数。 (2)从教材中选择两种排序算法进行编程实现。 实验代码: #include<iostream> using namespace std; typedef struct{ int *R; int length; }STable; int Init原创 2022-06-16 16:27:14 · 379 阅读 · 0 评论 -
关于图的操作
实验目的: (1)掌握图的邻接矩阵和邻接表存储方式; (2)掌握图的遍历算法; (3)掌握图的实际应用——最短路径算法。 实验要求: (1)采用邻接矩阵/邻接表建立图; (2)采用深度优先/广度优先搜索方式遍历图; (3)编程实现Dijkstra最短路径算法。 实验代码: #include<iostream> #include<queue> using namespace std; #define MaxInt 100 #define MVNum 100 typedef struct原创 2022-06-16 16:26:56 · 277 阅读 · 0 评论 -
二叉树的操作
实验目的: (1)掌握二叉树的二叉链表存储方式及二叉树的特征; (2)验证二叉树在二叉链表存储结构下遍历操作的实现; (3)通过该实验,使学生理解哈夫曼树的概念,掌握哈夫曼树及哈夫曼编码的构造过程,体会网络发送端和接收端编码和译码过程及其工作原理。 实验内容: 2.二叉树的基本操作 1)采用二叉链表结构建立二叉树; 2)编程实现二叉树的先序、中序、后序和层序遍历; 3)编程实现非递归中序遍历 4)编程实现:求二叉树的高度和叶子结点个数; 3.哈夫曼编码 给定报文中26个字母a-z及空格的出现频率{64, 1原创 2022-06-16 16:26:27 · 303 阅读 · 0 评论 -
栈和队列的操作
实验目的: (1)掌握栈的顺序存储结构、链式存储结构及其基本操作 (2)掌握队列的顺序存储结构、链式存储结构及其基本操作。 实验内容: (1)编程实现栈的以下基本操作:建栈,取栈顶元素,入栈,出栈。 (2)编程实现队列的以下基本操作:建队列,取队头元素,入队,出队。 实验代码: #include<iostream> using namespace std; #define MAXSIZE 100 typedef struct//顺序栈 { int *base; int *top;原创 2022-06-16 16:26:06 · 220 阅读 · 0 评论 -
单链表的操作
实验题目: 单链表的操作 实验目的: (1)掌握线性表的链式存储结构 (2)掌握单链表及其基本操作的实现。 实验要求: (1)编程实现单链表的以下基本操作:建立单链表,查找单链表,插入单链表,删除单链表。 (2)采用单链表结构编程实现:两个有序单链表的归并运算。 实验代码: #include<iostream> using namespace std; typedef struct LNode { int data; struct LNode *next; }LNode,*Li原创 2022-06-16 16:25:47 · 343 阅读 · 0 评论 -
顺序表的操作
实验代码: #include <iostream> #include<algorithm> #define MAXSIZE 10 #define OK 1 #define OVERFLOW -2 #define ERROR 0 typedef int ElemType; typedef int Status; using namespace std; typedef struct { ElemType *elem; int length; }SqList; Status Init原创 2022-04-01 08:55:24 · 192 阅读 · 0 评论