图论基础概念(详细讲解)

今天,我们讲解一下图论的概念,首先我们知道图是一个什么东西。

图你可以理解成一个网络系统,两个节点之间可能会有边,边链接两个节点,可能是有向(就比如说a只能往b,或者b只能往c),可能是无向(就是相当于没有方向,如果a和b有一条无向边的话,a可以往b,b可以往a),一条边可能有长度,我写一些图论题目常见的用词:

1.有向边:上面说了,他是有方向的,比如说a到b的有向边不能由b到a

2.无向边:上面说了,就是只要连上了两个都能到达

3.边权:代表边的长度,有些图可能不需要考虑边长,比如说判断两点是否可达这种问题是没有边权的。

4.反向边:只对有向边有效,比如说a->b,他的反向边就是b->a

5.重边:出现了两条一模一样的边,可能会影响后面的算法,所以说要注意(不过一般来讲,基础题是保证了没有重边,不过仍然需要注意)

6.自环:自己向自己连一条边,这种情况和重边一样的,也会影响算法,甚至可能让一些算法卡住。

7.链:对于任意一个节点,他们当中没有分叉,比如说这种:1->2,2->3这种,就有点像一条直线。这种数据可能需要小心,因为有些算法会在链上退化(比如说像BST(二叉搜索树)),不过有时候骗分的时候也可以特判链的情况。

8 .环:相当于把链的首尾相接,有时候环也会卡住。

9.树:这种数据比较友好,一些图的算法不会在上面退化,反倒还容易骗分一些,定义是:由n个节点和n-1条组成的无向无环图。

10.菊花图:就是所有点都连到了一个点,形成了一朵"菊花",有些算法会在上面退化,比如说spfa算法的O(km)会在菊花图的情况下变成O(nm)(这里一定要注意这种情况,以前NOI曾经有人写了spfa被菊花图卡了)

11.蒲公英图:菊花图和链组成起来,也会让一些算法退化。

12.负权/负权边:意思说一条边的权值为负数,这回让一些算法出问题(例如dijkstra最短路),这种时候必须要spfa算法了(当然不止这些,还有一些其他的算法也会在负权边上出问题)。

13.负权回路/负环:相当于一个环里所有数为负数,为让最短路算法卡进去(包括spfa),遇到负环可能需要用spfa判断负环.

14.正权回路/正环:根负环一样的,只不过是正数,这也会让求最长路时出问题

15.连通图:图是联通的,对于任意两点,他们都有一条路径。

16.点权:有一些题目,他不是边有长度,而是经过一个点有点权(比如说我经过一个点需要支付多少钱啊这种的),一般来讲,树形dp一般是没有边权而是点权。

相关推荐
lapiii3583 小时前
图论-代码随想录刷题记录[JAVA]
java·数据结构·算法·图论
wx200411021 天前
树形dp总结
算法·深度优先·图论
小冉在学习2 天前
day60 图论章节刷题Part10(Floyd 算法、A * 算法)
算法·图论
XXXJessie2 天前
acwing算法基础03-递归,枚举
算法·深度优先·图论
chan_lay3 天前
图论导引 - 第三章 第三节:哈密顿图 - 11/11
图论
汉克老师4 天前
GESP4级考试语法知识(贪心算法(二))
开发语言·数据结构·c++·算法·贪心算法·图论·1024程序员节
yangmc044 天前
二维前缀和 子矩阵的和
c语言·数据结构·c++·git·算法·矩阵·图论
5pace4 天前
GNN系统学习:简单图论、环境配置、PyG中图与图数据集的表示和使用
学习·图论
chan_lay4 天前
图论导引 - 第三章 第二节:欧拉图 - 11/10
图论
patrickpdx5 天前
【图论】图的C++实现代码
c++·图论