某科学的简单图论
既然说是简单图论,那就谈谈简单的东西好了。
先举一个特别简单的例子,比如说一个关系图。
我是yxc的父亲,那么我和yxc就构成了父子关系。而我又同样是xlc和cx的父亲,那么我就是他们的共同的父亲。
这样的关系图绘制出来就是一幅图。
这是一个崭新的数据结构(虽然这是第一个数据结构,竟然就是图了嘛),叫做图。
从数学的角度来解释图,图就是点边的集合。在信息学里,我们只考虑有限的图。我们将一幅图表示为G=(V,E);
V是点的集合,E是边的集合。
那么有一个问题就出现了,什么情况下要加入一条边呢?答案非常的明显,就是当两者有关系的时候加边呗。
那么接下来引出有向图和无向图的概念。
那b站up来举例子吧。
老番茄只关注了辣个变态(bushi),很多的up关注了老番茄。此时把关注当做一条边的话,那么就是由很多up连向老番茄的一条边,老番茄连向变态的那条边。这样的一幅图,就叫做“有向图”,即边是有方向的。
而我们知道,老番茄关注了变态,变态也关注了番茄。这俩是相互的关注,我们把一样相互的边称为无向边。从此我们可以知道,两条双向的有向边和一条无向边是等效的。由无向边组成的图,我们就称为“无向图”。
接下来给各位两幅图,一个是有向图,一个是无向图。
无向图:V(1,2,3,5,6) E{(1,2),(2,3),(1,5),(2,6),(5,6)}
无向图中的边的集合中,两点之间就有一条线,即(x,y)就是在x和y之间连了一条线。注意:此时(x,y)等效于(y,x)
有向图:V(1,2,3,5,6) E{(1,2),(2,3),(1,5),(2,6),(5,6)}
有向图的边的集合中,两点之间的线是存在方向的,即(x,y)是从x出发指向y的一条线,x是起点,y是终点。注意:此时(x,y)不等效于(y,x)
对于以上图的分类需要注意好,在存图的时候会用到。
图本身的概念讲完了,讲讲图相关的概念。
稠密图和稀疏图。这个概念很好理解的,把一幅图比作你的头,边就是你的头发,规定一个标准,如果e < nlogn,那就算是稀疏图,反之相反。
如果没有边,只存在点的话,就是零图。
完全图。完全图也分为有向完全图和无向完全图(一般无向完全图直接称作完全图)。
无向完全图:e = n*(n+1) / 2 时,就是一个无向完全图。
有向完全图:任何一个顶点u,v之间都有两条有向边(u,v),(v,u),那么就称作有向完全图。
(可以自己画一个或者百度一个找找感觉)
如果从一个点出发,沿着边走可以到达每一个点,就可以称作连通图(有向边要走该有向边方向),显然完全图就是连通图
度。在图中,度的概念有所不同,度是指该边能够引出的边的数目,称作度。
在有向图里,有入度和出度两个概念,入度是指以这个点为终点的有向边数量,出度是以这个点为起点的有向边数量,入度就是以这个点作为终点的有向边数量。
注意:在有向图里,只有入度和出度这两个概念,没有纯“度”的概念。
接下来介绍一下度的性质:
1.顶点度数的总和就是边数的2倍
2.有向图里,入度=出度
接下来是关于度数的统计,可以先想一想怎么实现。
首先是无向图,只用在输入这幅图的时候直接记录就行了,开一个DEG数组。
#include <iostream> using namespace std; int deg[10005]; int main() { int n, m; cin >> n >> m; for(int i = 0; i < m; i++) { int u, v; cin >> u >> v; deg[u]++; deg[v]++; } for(int i = 1; i <= n; i++) { cout << deg[i] << " "; } return 0; }
接下来是有向图,如果你看懂了无向图的度数存储方式,其实有向图只是照葫芦画瓢,注意出度入度的安排即可。
#include <iostream> using namespace std; int outdeg[105], indeg[105]; int main() { int n, m; cin >> n >> m; for (int i = 0; i < m; i++) { int u, v; cin >> u >> v; outdeg[u]++; indeg[v]++; } for(int i = 1; i <= n; i++) { cout << outdeg[i] << " " << indeg[i] <<endl; } return 0; }
到此,关于图的基本概念已经几乎结束了。
下一篇文应该就是图的存储方式了。(不过不知道什么时候写,毕竟是老鸽子了,大概在noip2020之前吧)
如果你通过这篇文章学习到了东西,或者从这篇文章明白了什么,不妨点个赞吧!你的支持就是我的最大动力。

浙公网安备 33010602011771号