摘要: 图的DFS遍历 邻接矩阵 节点个数小于1000时一般使用邻接矩阵 const int MAXV = 1000;//最大顶点数 const int INF = 1000000000; //邻接矩阵 int n, G[MAXV][MAXV];//n为顶点数 MAXV为最大顶点数 bool vis[MAX 阅读全文
posted @ 2021-09-05 15:02 小帆敲代码 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 使用优先队列的哈夫曼树 #include<iostream> #include<stdio.h> #include <vector> #include<queue> using namespace std; priority_queue<long long, vector<long long>, g 阅读全文
posted @ 2021-09-05 10:23 小帆敲代码 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 定义 堆 堆是一棵完全二叉树 树中每个结点的值均不大于(或不小于)左右孩子结点的值 一般使用优先队列实现 向下调整 因为向下调整默认调整的节点后面的都是排好序的,所以在使用向下调整时,都是从后往前 //向下调整:把欲调整结点与子节点比较 void downAdjust(int low,int hig 阅读全文
posted @ 2021-09-05 10:04 小帆敲代码 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 定义 使用father[i]表示i的父节点,当father[i]=i时,i为根节点。同一个集合仅有一个根节点,并将其作为根节点的标识 初始化 //初始化 //for (int i = 0; i < n; i++) //{ // father[i] = i; //} 查找 返回x所在集合的根节点 // 阅读全文
posted @ 2021-09-05 08:48 小帆敲代码 阅读(10) 评论(0) 推荐(0) 编辑