首页 > 其他分享 >带你认识各种图(易懂)

带你认识各种图(易懂)

时间:2022-11-17 20:35:31浏览次数:45  
标签:连通 各种 认识 子图 无向 有向图 顶点 易懂 分量



相关视频——https://www.bilibili.com/video/BV1jW411K7yg?p=55

相关书籍——《大话数据结构》

我的小站——半生瓜のblog,同步更新哦。


  • 图按照有无方向分为无向图和有向图。
  • 无向图由定点和边构成。

带你认识各种图(易懂)_完全图

  • 有向图由定点和弧构成,弧有弧尾和弧头之分。

带你认识各种图(易懂)_有向图_02

  • 如果任意两个顶点之间都存在边叫做完全图
  • 无向的叫做无向完全图
  • 带你认识各种图(易懂)_数据结构_03

  • 有向的叫做有向完全图

带你认识各种图(易懂)_数据结构_04

  • 图按照边或弧的多少分为稀疏图和稠密图。
  • 都是相对而言的多少。
  • 若无重复的变到自身的边叫做简单图
    反例:下面这两个图都不是简单图。
  • 带你认识各种图(易懂)_子图_05

带你认识各种图(易懂)_子图_06

  • 图和顶点之间有邻接点、依附的概念。
  • 无向图顶点的边数叫做度,有向图顶点分入度和出度。
    (入度:有几个箭头指向这个顶点,出度:指向几个顶点。)
  • 图上的边或弧上带权则称为网。

带你认识各种图(易懂)_子图_07

  • 图中顶点间存在路径,两顶点存在路径则说明是连通的。
  • 例如:由B到D在无向图上有四种不同的路径。

带你认识各种图(易懂)_子图_08

  • 在有向图上由B到D有两种路径。
  • 带你认识各种图(易懂)_子图_09

  • 如果路径最终回到起始点则称为环,当中不重复叫简单环。
  • 简单环
  • 带你认识各种图(易懂)_子图_10

  • 不是简单环,顶点C重复了。
  • 带你认识各种图(易懂)_数据结构_11

  • 若任意两顶点都是连通的,则图就是连通图

带你认识各种图(易懂)_有向图_12

  • 不连通图

带你认识各种图(易懂)_有向图_13

  • 有向则称为强连通图。

带你认识各种图(易懂)_完全图_14

带你认识各种图(易懂)_数据结构_15

(结合上面的有向完全图,我们不难发现,有向完全图就是强连通图,因为它任意两个定点间都有是连通的,但是强连通图不一定是有完全向图,因为有向完全图需要任意两个顶点间有相反的两条路径。)

  • 连通分量强调:
  • 要是子图;
  • 子图是连通的;
  • 连通子图含有极大顶点数;极大顶点数就是最大连通子图上的顶点数量。
  • 具有极大顶点数的连通子图包含依附于这些顶点的所有边。
  • 无向图中的极大连通子图称为连通分量,有向的则称为强连通分量
  • 非连通图的连通分量。

带你认识各种图(易懂)_子图_16

它的连通分量

带你认识各种图(易懂)_有向图_17

  • 有向但是非强连通图的(极大)强连通分量。

带你认识各种图(易懂)_子图_18

它的强连通分量。

带你认识各种图(易懂)_完全图_19

  • 连通生成树。
  • 所谓的连通图的生成树是一个极小的连通子图,它含有图中全部的n个顶点,但只有足以构成一个树的n-1条边。
  • 无向图的连通生成树。

带你认识各种图(易懂)_完全图_20

  • 有向图恰**有一个顶点的入度为0,其余顶点的入度为1,**则是一棵有向树。
    例如下面这两棵有向树。
  • 带你认识各种图(易懂)_完全图_21


  • 带你认识各种图(易懂)_数据结构_22

  • 一个有向图由若干棵有向树构成生成森林
  • 一个有向图的生成森林由若干棵有向树组成,含有图中全部顶点,但只有足以构成若干棵不相交的有向树的弧
  • 例如:一下三张图,图1是一棵有向图。去掉一些弧之后,它可以分解为两课有向树,如图2和图3,这两棵就是图1有向图的生成森林。

带你认识各种图(易懂)_子图_23

带你认识各种图(易懂)_数据结构_24

带你认识各种图(易懂)_子图_25


标签:连通,各种,认识,子图,无向,有向图,顶点,易懂,分量
From: https://blog.51cto.com/u_15333750/5866141

相关文章

  • 各种Maven打包
    1、引言目前遇到了Maven打包的问题,这玩意不用记,每次网上查一下就可以,但是网上的答案大都是模棱两可,要不就是细节不清楚,并且不同的Maven打包需求不一样,有时候需要打可运行j......
  • 类的各种方法和属性
    ......
  • 关于软件常用的各种配置文件YAML、JSON、ini、XML比较
    如果我们的程序没有任何配置文件时,这样的程序对外是全封闭的,一旦程序需要修改一些参数必须要修改程序代码本身并重新编译,这样很不好,所以要用配置文件,让程序出厂后还能根据需......
  • 如何理解Java中眼花缭乱的各种并发锁?
    在互联网公司面试中,很多小伙伴都被问到过关于锁的问题。今天,我给大家一次性把Java并发锁的全家桶彻底讲明白。包括互斥锁、读写锁、重入锁、公平锁、悲观锁、自旋锁、偏向......
  • 通俗易懂的React事件系统工作原理
    前言React为我们提供了一套虚拟的事件系统,这套虚拟事件系统是如何工作的,笔者对源码做了一次梳理,整理了下面的文档供大家参考。在React事件介绍中介绍了合成事件对象以......
  • 认识 MySQL OPTIMIZER_TRACE--转
    手把手教你认识OPTIMIZER_TRACE前 言我们在日常维护数据库的时候,如果遇到慢语句查询的时候,我们一般会怎么做?执行EXPLAIN去查看它的执行计划? ......
  • 看懂影片标题,各种电影视频格式标题的含义
    一、资源片源解析根据命名,可以知道资源的来源,从而判断资源画质的好坏。1.CAM(枪版)——珍爱生命,远离枪版 CAM通常是用数码摄像机从电影院盗录。有时会使用小三角架,但大......
  • 认识asyncio
    单事件循环#事件循环+回调(驱动生成器)+epoll(IO多路复用)#asyncio是python用于解决异步io编程的一整套解决方案importtimeimportasyncioasyncdefget_html(u......
  • 重新认识Spring Boot
    SpringBoot的特性方便的创建可独立运行的Spring应用程序直接内嵌Tomcat、Jetty或Undertow简化了项目的构建配置为Spring及第三方库提供自动配置提供生产级特性无需生成代......
  • 如何理解Java中眼花缭乱的各种并发锁?
    在互联网公司面试中,很多小伙伴都被问到过关于锁的问题。今天,我给大家一次性把Java并发锁的全家桶彻底讲明白。包括互斥锁、读写锁、重入锁、公平锁、悲观锁、自旋锁、偏向......