• 图是一种点与点之间多对多关系所组成的数据结构

  • 图中的点称为顶点

  • 点与点所具有的关系称为边

  • 如果用数学语言描述,图就是顶点集合和边集合的一种二元关系,描述方法为 \(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
posted @ 2021-05-15 10:07  ICtiger  阅读(245)  评论(0)    收藏  举报