快乐图论
文章平均质量分 94
Miserable_ccf
Stay hungry ,stay foolish
展开
-
『最短路径』单源无负权值最短路径算法——Dijkstra算法(优先队列优化 + C++实现 + 例题)
『算法原理』最短路径(Shortest Path):一个结点到另一个结点的最小权值和。Dijkstra算法同时也叫单源最短路算法,其思想是——按路径长度递增的次序产生最短路的算法。通俗来讲就是,找出从源点开始通过1条边可以到达的点的最小路径,2条边可以到达的点的最小路径,....,n-1条边可以到达的点的最小路径,将权值最小的点加入到集合S中,一直更新到终点位置,找到源点和终点的最小路...原创 2020-01-29 22:09:42 · 593 阅读 · 0 评论 -
luogu P3258 [JLOI2014]松鼠的新家 —— 树上点差分
树上差分是为了解决在树上某条路径中点/边被经历的次数。题意原创 2019-10-25 21:50:29 · 233 阅读 · 0 评论 -
快乐暑假(八)——欧拉回路和哈密顿回路
欧拉回路定义欧拉回路:图G中每条边且只通过一次,并且经过每一顶点的回路欧拉通路:(欧拉路径):图G中每条边且只通过一次,并且经过每一顶点的通路欧拉图:存在欧拉回路的图半欧拉图:存在欧拉通路的图极大连通子图:在一个连通子图中,包含和顶点有关所有的边(the more the better),那就是极大连通子图。判定一个图是否是(半)欧拉图无向图:定理1:无向图G为欧拉图,当且仅当...原创 2019-08-08 23:47:39 · 568 阅读 · 0 评论 -
快乐地打牢基础(2)——强连通分量
一、定义在有向图G{G}G中,如果两个顶点u,v{u,v}u,v间尊在一条u{u}u到v{v}v的路径且也存在一条v{v}v到u{u}u的路径,则称这两个顶点u,v{u,v}u,v是强联通的(stronglyconnected)。如果有向图G{G}G是一个强连通图,有向非强连通图的极大强连通子图,称为强连通分量(strongly connected components)。极大强连通子图...原创 2019-08-14 00:11:04 · 422 阅读 · 2 评论 -
快乐地打牢基础(5)——割点和桥
一、定义点连通度:边连通度:原创 2019-08-17 00:32:23 · 2110 阅读 · 1 评论 -
数组模拟的邻接表——链式前向星
之前一直使用vector存储邻接表,但是由于一本通疯狂使用数组模拟的邻接表,加上出现了一些题目使我难受。特此整理一下这种存储图的方式。1.前向星是怎么存图的一种数据结构,以储存边的方式来存储图。构造方法如下:读入每条边的信息,将边存放在数组中,把数组中的边按照起点顺序排序,前向星就构造完了。通常用在点的数目太多,或两点之间有多条弧的时候。一般在别的数据结构不能使用的时候才考虑用前向星。...原创 2019-08-17 23:11:46 · 405 阅读 · 0 评论 -
『最小生成树』Kruskal算法——加边法 (并查集优化 + C++语言编写 + 例题)
『算法原理』 在一个连通网的所有生成树中,各边的代价之和最小的那颗生成树称为该连通网的最小代价生成树(Minimum Cost Spanning Tree),简称最小生成树(MST)。 Kruskal算法之所以叫加边法,就是因为其本质是一个边一个边地加入到最小生成树中。算法步骤如下:设有一无向连通图G,有n个顶点。a.将所有边的权值从小到大排列。...原创 2018-10-31 17:48:02 · 6257 阅读 · 1 评论 -
『最小生成树』Prim算法——加点法(优先队列/堆优化 + C++实现 + 例题)
『算法原理』 在一个连通网的所有生成树中,各边的代价之和最小的那颗生成树称为该连通网的最小代价生成树(Minimum Cost Spanning Tree),简称最小生成树(MST)。 Prim算法之所以叫加点法,就是因为其本质是一个点一个点地加入到最小生成树中。算法步骤如下:设有一无向连通图G,有n个顶点。a.初始化——任意找图中的一点作为源点,...原创 2018-11-06 13:00:00 · 3872 阅读 · 0 评论