图
-
图是一种点与点之间多对多关系所组成的数据结构
-
图中的点称为顶点
-
点与点所具有的关系称为边
-
如果用数学语言描述,图就是顶点集合和边集合的一种二元关系,描述方法为 \(G=(V,E)\) 。其中\(V\)为图\(G\)的点集,\(E\)为图\(G\)的边集。
-
对于无向图\(G=(V,E)\)而言,当\(|E|=|V|(|v|-1)/2\)时,则意味着任意两个点都有一条无向边连接;对于有向图\(G=(V,E)\)而言,当\(|E|=|V|(|v|-1)\)时,则意味着任意两个点都有一条有向边连接,我们称这样的图为\({\color{red}{完全图}}\)。简单来说,一个图中,任意一对顶点间都有边或弧相连,则这个图为\({\color{red}{完全图}}\)。
-
在无向图中,与顶点相关联的边数,称为顶点的\({\color{red}{度}}\)。
-
图的总度数=边数(或弧数)*2
-
对于两个图G和G· , 如果G·的点集和边集都是G的点集和边集的子集,那么G·是G的子图。
-
一张图G,选择一个点集,以及所有以该点集为端点构成的边所构成的图,称为图G的导出子图。
-
对于两个图G和G',如果顶点集相同,边集没有交集,并且并集为完全图的边集。则G和G·互为补图。
存储方法
邻接表:
vector<int> g[MAXN];
g[i].push_back(j);
实现代码:
struct edge{
int to;
int w;
}
vector<edge> G[MAXN];
G[i].push_back((edge){i,j});
邻接矩阵:
| G[i][j] | 有边 | 没有边 |
|---|---|---|
| 有权图 | 权值 | ∞ |
| 无权图 | 1 | 0 |
ICtiger's Blog
求关注
$e^{ix}=cosx+isinx$