当前位置: 首页 > news >正文

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

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

图你可以理解成一个网络系统,两个节点之间可能会有边,边链接两个节点,可能是有向(就比如说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一般是没有边权而是点权。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 保证 WebSocket 连接之前的身份验证过程的安全性
  • 《A++ 敏捷开发》- 10 二八原则
  • go语言处理特定格式的时间 例如打印出来2024-07-12 12:22:22 -2024-07-12 12:52:22
  • 【Linux网络】数据链路层【下】{MAC/MTU/ARP/ICMP/NAT/PING/代理服务器原理}
  • MFC常用数据类型类:CRect
  • [论文笔记]涨点近5%! 以内容中心的检索增强生成可扩展的级联框架:Pistis-RAG
  • Python函数 之 匿名函数
  • 目前分布式光纤测温系统的主流架构有哪些?
  • MyBatis(35)如何在 MyBatis 中实现软删除
  • 初识影刀:EXCEL根据部门筛选低值易耗品
  • 【算法】代码随想录之链表(更新中)
  • std::filesystem::current_path().generic_string()的bug
  • Cuda环境及Pytorch环境安装
  • 翻译语音识别在线的软件,分享4款实用的软件!
  • 3D工艺大师快速生成装配动画,驱动汽车工业装配流程革新
  • [分享]iOS开发-关于在xcode中引用文件夹右边出现问号的解决办法
  • 【前端学习】-粗谈选择器
  • 002-读书笔记-JavaScript高级程序设计 在HTML中使用JavaScript
  • codis proxy处理流程
  • gcc介绍及安装
  • Git学习与使用心得(1)—— 初始化
  • Java Agent 学习笔记
  • javascript从右向左截取指定位数字符的3种方法
  • JS专题之继承
  • Linux各目录及每个目录的详细介绍
  • maven工程打包jar以及java jar命令的classpath使用
  • Rancher-k8s加速安装文档
  • sublime配置文件
  • Vue 2.3、2.4 知识点小结
  • 第2章 网络文档
  • 分布式熔断降级平台aegis
  • 经典排序算法及其 Java 实现
  • 聊聊redis的数据结构的应用
  • 前端面试题总结
  • 一起来学SpringBoot | 第三篇:SpringBoot日志配置
  • 异常机制详解
  • 因为阿里,他们成了“杭漂”
  • 如何在 Intellij IDEA 更高效地将应用部署到容器服务 Kubernetes ...
  • ​​​​​​​​​​​​​​Γ函数
  • ​​​【收录 Hello 算法】10.4 哈希优化策略
  • #70结构体案例1(导师,学生,成绩)
  • #if等命令的学习
  • (~_~)
  • (12)Hive调优——count distinct去重优化
  • (145)光线追踪距离场柔和阴影
  • (4)STL算法之比较
  • (arch)linux 转换文件编码格式
  • (MonoGame从入门到放弃-1) MonoGame环境搭建
  • (办公)springboot配置aop处理请求.
  • (笔记)M1使用hombrew安装qemu
  • (补充)IDEA项目结构
  • (苍穹外卖)day03菜品管理
  • (附源码)springboot太原学院贫困生申请管理系统 毕业设计 101517
  • (回溯) LeetCode 40. 组合总和II
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例