![](https://img-blog.csdnimg.cn/20201028230043832.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构
数据结构(用面向对象方法与c++语言描述)
二甲醚
这个作者很懒,什么都没留下…
展开
-
多种排序算法集合
1.快速排序#include <iostream>#include <vector>using namespace std;vector <int> Array;void myswap(int a,int b){ int temp=Array[a]; Array[a]=Array[b]; Array[b]=temp;}int getseperate(int left,int right){ int seperate=原创 2020-12-10 12:32:51 · 120 阅读 · 0 评论 -
图的深度广度优先遍历
题目描述给定一个图的邻接矩阵,给出一张以整数编号为顶点的图,其中0表示不相连,1表示相连。按深度和广度优先进行遍历,输出全部结果。要求,遍历时优先较小的顶点。如,若顶点0与顶点2,顶点3,顶点4相连,则优先遍历顶点2.输入顶点个数邻接矩阵输出DFS深度遍历输出(从0开始的节点遍历路径)WFS广度遍历输出(从0开始的节点遍历路径)代码如下:具体注释有空再加,懂得都懂,有手就行。#include <iostream>#include <queue>#inclu原创 2020-11-12 14:35:46 · 532 阅读 · 0 评论 -
树的括号表示法
题目描述先将根结点放入一对圆括号中,然后把它的子树按由左而右的顺序放入括号中,而对子树也采用同样方法处理:同层子树与它的根结点用圆括号括起来,同层子树之间用逗号隔开,最后用闭括号括起来。例如下图可写成如下形式(a(b,c,d,e))a/ | | b c d e现在给定一个多叉树的括号表示法,要求你创建多叉树,并按层序序列输出。输入多叉树的括号表示法:字符串输出层序输出多叉树简单投机法://未完成树的建立,仅仅根据遇到一个左括号所出现的字母层数加一//遇到右原创 2020-11-03 19:01:45 · 752 阅读 · 0 评论 -
拓扑排序
题目描述以邻接矩阵给出一张以整数为结点的有向图,其中0表示不是相邻结点,1表示两个结点相连且由当前结点为初始点。利用拓扑排序判断图中是否有环,若有输出YES没有输出NO,输入结点数邻接矩阵输出YES/NO题解懒得介绍了,好困,自己看,关键就是想要判断有向图是否有环,拓扑排序成功即无环。每次删除入度为0的节点以及他所发射出的出度,若最后还有剩余节点,但是没有入度为0的节点即为有环。#include <iostream>#include <queue>#inclu原创 2020-11-19 23:45:27 · 563 阅读 · 0 评论 -
Prim和Kruskal最小生成树
题目描述给出一个矩阵,要求以矩阵方式单步输出最小生成树生成过程。要求先输出Prim生成过程(以点0作为起始点),再输出Kruskal,每个矩阵输出后换行。注意,题中矩阵表示无向图输入结点数邻接矩阵输出Prim:矩阵输出Kruskal:矩阵输出题解将以下代码全部合并即为正确答案//运行程序所需要完成的结构体和类定义以及函数#include <iostream>#include <queue>#include <map>using names原创 2020-11-19 23:38:39 · 1115 阅读 · 1 评论 -
Huffman树 编码
题目描述对输入的英文大写字母进行统计概率 然后构建哈夫曼树,输出是按照概率降序排序输出Huffman编码。输入大写字母个数 n第一个字母 第二个字母 第三个字母 … 第n个字母。输出字母1 出现次数 Huffman编码字母2 出现次数 Huffman编码字母3 出现次数 Huffman编码…字母n 出现次数 Huffman编码//有手就行吧#include <iostream>#include <queue> //存放优先级队列,也就是最大最小堆,以及层序原创 2020-11-07 18:50:56 · 527 阅读 · 0 评论 -
由中序与先序序列重新构建二叉树,并进行后序层序输出
题目描述给定一个树的先序和中序的遍历结果,构建一棵树,并输出这个棵树的层序遍历和后序遍历结果。注:这棵树的结点是由整数描述输入树结点总数m先序输出序列中序输出序列输出层序输出序列后续输出序列...原创 2020-10-28 15:51:17 · 610 阅读 · 0 评论 -
建立顺序方式存储完全二叉树,并进行输出
由顺序方式存储的完全二叉树进行重建按顺序方式存储的一棵完全二叉树的结点记录,结点个数为n。根据所输入的顺序结构的结点记录建立二叉树,输出树的先序,中序和后序遍历结果。注:数字“0”表示不存在此结点,没有孩子结点。输入:树结点个数n顺序方式存储的完全二叉树输出:先序遍历输出中序遍历输出后序遍历输出#include <iostream>using namespace std;class binTree{private: int *data; int le原创 2020-10-27 18:36:19 · 1787 阅读 · 0 评论 -
回溯法求迷宫路径(栈)
#include <iostream>using namespace std;int maze[1000][1000];typedef struct node{ int x; int y;} node;class Stack{public : node* bottom; node* top; void StackInit() { bottom=new node[100000]; top=bottom原创 2020-10-27 15:11:21 · 313 阅读 · 2 评论 -
广度搜索求迷宫最短路径(队列)
#include <iostream>#include <queue>int m=0,n=0,num=0;using namespace std;typedef struct node{ int x; int y;} node;typedef struct last{ node past; node cur;} last;last pre[1212];bool judge[100][100]= {{false}};bool co原创 2020-10-16 22:35:40 · 254 阅读 · 3 评论