![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
袭人xzk
这个作者很懒,什么都没留下…
展开
-
oj题解-堆排序
题目描述编写程序,实现堆排序输入记录个数记录1 记录2 记录3 …,输出记录x1 记录x2 记录x3 …样例输入1042 18 35 41 90 65 49 19 53 75样例输出18 19 35 41 42 49 53 65 75 90代码如下:#include<iostream>#include<queue>#include<cmath>using namespace std;void siftDown(int* L,原创 2020-12-14 21:46:16 · 240 阅读 · 0 评论 -
oj题解-判别平衡二叉树
题目描述给定一棵二叉树的中序和层序输出,判断是否为平衡二叉树的。如果是,输出YES如果不是输出NO。输入树结点个数中序遍历序列层序遍历序列输出是否是平衡二叉树的判断结论样例输入样例1:31 2 32 1 3样例2:41 2 3 41 2 3 4样例输出样例1:YES样例2:NO代码如下:#include<iostream>#include<queue>#include<cmath>using namespace std;原创 2020-12-14 20:48:05 · 150 阅读 · 0 评论 -
oj题解-拓扑排序
题目描述以邻接矩阵给出一张以整数为结点的有向图,其中0表示不是相邻结点,1表示两个结点相连且由当前结点为初始点。利用拓扑排序判断图中是否有环,若有输出YES没有输出NO,输入结点数邻接矩阵输出YES/NO样例输入30 1 01 0 11 0 0样例输出YES代码如下#include<iostream>#include<string>#include<queue>#include<stack>#include<cstd原创 2020-12-13 16:25:54 · 652 阅读 · 0 评论 -
Kruskal最小生成树边权相同的情况
平时我们在利用Kruskal算法和优先队列解决最小生成树问题时,图的每个边权一般不相同。但要是有两个边权相同的边,这两个边的优先级怎么处理?答案是再结构体中再设置一个变量。例如:要是规定两个相同边权的边谁先进队列谁的优先级就高,则结点设置一个时间变量,具体样例代码如下:struct NodeInfo{ int from; int to; int weight; int time;//设置时间是为了如果边权相同,先进队列的优先级高 /**************原创 2020-12-09 21:52:30 · 2795 阅读 · 0 评论 -
oj解题---Prim和Kruskal最小生成树
题目描述给出一个矩阵,要求以矩阵方式单步输出最小生成树生成过程。要求先输出Prim生成过程(以点0作为起始点),再输出Kruskal,每个矩阵输出后换行。注意,题中矩阵表示无向图输入结点数矩阵输出Prim:矩阵输出Kruskal:矩阵输出样例输入30 1 31 0 23 2 0样例输出Prim:0 0 00 0 00 0 00 1 01 0 00 0 00 1 01 0 20 2 0Kruskal:0 0 00 0 00 0 00 1 01 0原创 2020-12-09 21:22:32 · 746 阅读 · 0 评论