算法
Allen_BCC
.....
展开
-
prim算法最小生成树
# include<iostream># include<cstring># define inf 0x3f3f3f3fusing namespace std;const int maxn=100+5;typedef struct node{ int adj; //顶点之间的权重 }node;typedef struct graph{ int vertex...原创 2019-07-29 09:16:17 · 184 阅读 · 0 评论 -
kruskal算法(使用并查集+贪心算法)
# include<iostream># include<cstring># define inf 0x3f3f3f3fusing namespace std;const int maxn=100+5;typedef struct node{ int adj; //顶点之间的权重 }node;typedef struct graph{ int vertex...原创 2019-07-31 20:01:40 · 341 阅读 · 0 评论 -
dijsktra(邻接表实现,贪心算法)
# include<iostream># include<cstring># define inf 0x3f3f3f3f# define nil -1using namespace std;const int maxn=100+5;typedef struct arcnode{ int adjnode; int weight; arcnode *nexta...原创 2019-08-04 18:35:54 · 221 阅读 · 0 评论 -
单源最短路径(有向无环图)
1适用于有向无环图求最短路径2将算法稍微改进,即可求关键路径3运行时间与邻接表的大小呈线性关系算法思想:1:对图进行拓扑排序;2 :init_signal_source(g, s);3:按拓扑序列取出的顶点v,对与v相邻的顶点u进行relax(v,u,w);# include<iostream># include<cstring># include<...原创 2019-08-04 16:10:27 · 610 阅读 · 0 评论 -
单源最短路径(bellman算法)
# include<iostream># define inf 0x3f3f3f3f# define nil -1using namespace std;const int maxn=100+5;typedef struct arcnode{ int adjnode; int weight; arcnode *nextarc;}arcnode;typedef str...原创 2019-08-04 15:26:55 · 262 阅读 · 0 评论 -
用于不相交集合的数据结构(并查集)
一,两个重要操作:(1)找出给定元素所属的集合(2)合并两个集合二,原理:保持一组不相交的动态集合s={s1,s2,…sk}。每个集合通过一个代表来识别,代表即集合中的某个元素三,操作(1)MAKE-SET(X):建立一个新的集合,其唯一成员就是x(因各集合是不相交的,故要求x没有在其他集合中出现过)(2)UNION(X,Y):将包含x和y的动态集合合并为一个新的集合(3)FIND-S...原创 2019-07-30 22:34:53 · 337 阅读 · 0 评论 -
关键路径criticalpth(dfs)
# include<iostream># include<queue># include<cstring># include<stack># include<vector>using namespace std;const int maxn=100+5;typedef struct arcnode{ int adjnode...原创 2019-08-02 19:44:31 · 269 阅读 · 0 评论 -
关键路径criticalpath(邻接矩阵建图+bfs)
# include<iostream># include<queue># include<cstring># include<stack> # define inf 0x3f3f3f3fusing namespace std;const int maxn=50;typedef struct node{ int adj; //...原创 2019-08-02 17:49:31 · 923 阅读 · 0 评论 -
关键路径(CRITICALPATH 邻接表建图)
# include<iostream># include<queue># include<cstring># include<stack>using namespace std;const int maxn=100+5;typedef struct arcnode{ int adjnode; int weight; arcnode ...原创 2019-08-02 16:07:20 · 755 阅读 · 0 评论 -
prim算法生成最小生成树(邻接表建图)
# include<iostream># include<cstring>using namespace std;# define inf 0x3f3f3f3f# define nil -1const int maxn=100+5;typedef struct arcnode{ int adjnode; int weight; //边的权重 arc...原创 2019-07-29 15:46:11 · 1581 阅读 · 2 评论 -
01背包,完全背包,多重背包,混合背包
主要参考内容如下算法竞赛入门经典(第二版)完全&多重背包问题讲述了01背包,完全背包,多重背包之间的关系背包九讲-整合版讲述的全面,但有些细节都是默认你是知道的下面见习题1267:【例9.11】01背包问题时间限制: 1000 ms 内存限制: 65536 KB提交数: 9143 通过数: 5641 【题目描述】一个旅行者有一个最多能装 M ...原创 2019-08-22 15:15:04 · 640 阅读 · 0 评论