数据结构——6.1 图的基本概念

第六章 图

6.1 图的基本概念

  • 概念
  1. 图的概念:G由点集V和边集E构成,记为G=(V,E),边集可以为空,但是点集不能为空

    ·注意:线性表可以是空表,树可以是空树,但图不可以是空,即V一定是非空集

  2. 无向图与有向图

    1. 无向图

      1. 无向边(简称边)

      2. 无序对,例如(a,b)=(b,a),表示a和b两个点相连

    2. 有向图

      1. 有向边(简称弧)

      2. 有序对,例如<v,w>,称为从顶点v指向顶点w的弧,其中v称为弧尾,w称为弧头,<v,w>≠<w,v>,

  3. 简单图与多重图(数据结构课程只探讨 简单图)

    1. 简单图(包含简单有向图、简单无向图)

      1. 不存在重复边

      2. 不存在顶点到自身的边

    2. 多重图

      1. 图G中某两个结点之间的边数多于一条

      2. 允许顶点通过同一条边和自己关联

  4. 顶点的度、入度、出度

    1. 对于无向图:

      1. 顶点v的度是指依附于该顶点的边的条数,记为TD(v)

      2. 无向图每条边贡献两个度,因此n条边的无向图总度数为2n

    2. 对于有向图:

      1. 入度是以顶点v为终点的有向边的数目,记为ID(v)

      2. 出度是以顶点v为起点的有向边的数目,记为OD(v)

      3. 顶点v的度等于其入度和出度之和,即TD(v) = ID(v) + OD(v)

      4. 有向图每个边贡献一个入度和一个出度,因此有向图总出度等于总入度等于边的个数

  5. 顶点与顶点的关系

    1. 路径:

      1. 顶点a到顶点b之间的一条路径是指顶点序列,acde…fgb

      2. 有向图的路径方向必须符合有向边的方向

      3. 有向图和无向图均有不存在路径的情况:

        1. 无向图一个孤立点没有任何边——没有到这点的路径

        2. 有向图一个点没有被任何弧头指到——没有路径

    2. 回路:第一个顶点和最后一个顶点相同的路径称为回路或环

    3. 简单路径:在路径序列中,顶点不重复出现的路径称为简单路径。

    4. 简单回路:除第一个顶点和最后一个顶点外,其余顶点不重复出现的回路称为简单回路

    5. 路径长度:路径上边的数目

    6. 点到点的距离:从顶点u出发到顶点v的最短路径若存在,则此路径的长度称为从u到v的距离,若从u到v根不不存在路径,则记该距离为无穷 (∞)

    7. 无向图中,若从顶点v到顶点w有路径存在,则称v和w是连通的

    8. 有向图中,若从顶点v到顶点w和从顶点w到顶点v之间都有路径,则称这两个顶点是强连通的

    9. 连通图:若无向图G中任意两个顶点都是连通的,则称图G为连通图,否则称为非连通图。

      1. 对于n个顶点的无向图G,若G是连通图,则最少有 n-1 条边

      2. 对于n个顶点的无向图G,若G是非连通图,则最多可能有条边

    10. 强连通图:若有向图中任何一对顶点都是强连通的,则称此图为强连通图

      1. 对于n个顶点的有向图G若G是强连通图,则最少有(n)条边(形成回路)

      2. 在这里插入图片描述

  6. 图的局部

    1. 子图:设有两个图G=(V,E)和G’=(V,E),若V是V的子集,且E’是E的子集,不存在边两端的任何一端没有点的情况,则称G’是G的子图

    2. 生成子图:包含原图的所有顶点,和部分边的子图

    3. 连通分量:无向图中的极大连通子图(子图必须连通并且包含尽可能多的顶点和边)

    4. 强连通分量:有向图中的极大强连通子图(子图必须连通并且包含尽可能多的边)

    5. 生成树:连通图的生成树是包含图中全部顶点的一个极小连通子图

      1. (保持连通且边尽可能少)

      2. 若图中顶点数为n,则它的生成树含有 n-1条边。

      3. 对生成树而言,若砍去它的一条边,则会变成非连通图,若加上一条边则会形成一个回路。

      4. 应用场景:用最少的道路(边)树,连接所有地区(点)

    6. 生成森林:在非连通图中,连通分量的生成树构成了非连通图的生成森林

    7. 边的权:在一个图中,每条边都可以标上具有某种含义的数值,该数值称为该边的权值。

    8. 带权图/网:边上带有权值的图称为带权图,也称网。

    9. 带权路径长度:当图是带权图时,路径上所有边的权值之和,称为该路径的带权路径长度

  7. 几种特殊形态的图

    1. 无向完全图:无向图中任意两个顶点之间都存在边

      1. 若无向图的顶点数|V|=n,则在这里插入图片描述
    2. 有向完全图:有向图中任意两个顶点之间都存在方向相反的两条弧

      1. 若有向图的顶点数|V|=n,则在这里插入图片描述
    3. 稀疏图与稠密图:边数很少的图称为稀疏图反之称为稠密图

    4. 树:不存在回路,且连通的无向图

      1. n个顶点的树,必有n-1条边

      2. n个顶点的图,若边数大于n-1,则一定有回路

      3. 树是连通图(无向图)

    5. 有向树:1个顶点的入度为0,其余顶点的入度均1有向图,称为有向树

      1. 有向树是有向图,但不是强连通图

在这里插入图片描述

  • 理解
  1. 连通图:连起来就行,最少的马路连通最多的村子

  2. 完全图:每个点,都除他以外的所有点,完全连接

  • 技巧
  1. 当有n个点,若边数等于n-1,则无环连通,但若边数超过n-1,则有环未必连通

  2. 有n个顶点的无向图,边数v的几个临界值:

    1. 如果v<n-1,一定不是连通图

    2. 如果n-1≤v< C n − 1 2 + 1 C_{n - 1}^{2} + 1 Cn12+1,则可能是连通图,也可能不是

    3. 如果v> C n − 1 2 + 1 C_{n - 1}^{2} + 1 Cn12+1,则一定是连通图(确保n个顶点连通的思路:n-1个顶点形成完全图,再加上一个边,那么一定连通)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/678448.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

leetcode:63.不同路径二

dp数组含义&#xff1a;由初始位置到最终位置路径个数 递推公式&#xff1a;如果没有障碍再进行递推公式 初始化&#xff1a;1.若起始位置和终止位置有障碍路径个数为0 2.dp[i][0] 1和dp[0][j] 1的for循环条件都需要加上一个and dp[i][0] 0和and dp[0][j] 0. 3.遍历顺序…

案例:三台主机实现 级联复制

介绍&#xff1a;级联复制架构 级联复制架构 是一种特殊的主从结构&#xff0c;之前聊到的几种主从结构都只有两层&#xff0c;但级联复制架构中会有三层&#xff0c;关系如下&#xff1a; 也就是在级联复制架构中&#xff0c;存在两层从库&#xff0c;这实际上属于一主多从架…

Deepin基本环境查看(九)【被封印的创世神】

文章目录 - 相关文章目录1、概述2、Deepin中的创世神和管理员1&#xff09;创世神root2&#xff09;root被封印原因3&#xff09;其他的神灵【管理员】 3、神殿管理【su与sudo】1&#xff09;su&#xff08;Switch User&#xff09;2&#xff09;sudo&#xff08;Superuser Do&…

Open CASCADE学习|环形弹簧建模

目录 Draw Test Harness&#xff1a; C&#xff1a; 环形弹簧&#xff0c;也称为弓簧&#xff0c;是由拉伸弹簧和连接弹簧构成的。在结构上&#xff0c;环形弹簧通常包括端环、外环和内环&#xff0c;其主要参数包括弹簧的内径、外径和自由高度。环形弹簧的一个显著特点是&am…

计算机毕业设计SSM基于的冷链食品物流信息管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; vue mybatis Maven mysql5.7或8.0等等组成&#xff0c;B…

网络原理(一)

&#x1f495;"Echo"&#x1f495; 作者&#xff1a;Mylvzi 文章主要内容&#xff1a;网络原理(一) 一. 应用层 应用层是和程序员联系最密切的一层,对于应用层来说,程序员可以自定义应用层协议,应用层的协议一般要约定好以下两部分内容: 根据需求,明确要传输哪些信…

[算法学习]

矩阵乘法 只有当左矩阵列数等于右矩阵行数&#xff0c;才能相乘N*M的矩阵和M*K的矩阵做乘法后矩阵大小为N*k矩阵乘法规则&#xff1a;第一个矩阵A的第 i 行与第二个矩阵的第 j 列的各M个元素对应相乘再相加得到新矩阵C[i][j]的值 整除 同余 同余的性质 线性运算&#xff0c;…

Android:Cordova,JavaScript操作设备功能

Cordova学习 Cordova提供了一组设备相关的API,通过这组API,移动应用能够以JavaScript访问原生的设备功能,如摄像头、麦克风等。 Cordova还提供了一组统一的JavaScript类库,以及为这些类库所用的设备相关的原生后台代码。 Cordova是PhoneGap贡献给Apache后的开源项目,是从…

最适合新手的SpringBoot+SSM项目《苍穹外卖》实战—(一)项目概述

黑马程序员最新Java项目实战《苍穹外卖》&#xff0c;最适合新手的SpringBootSSM的企业级Java项目实战。 项目简介 《苍穹外卖》项目的定位是一款为餐饮企业&#xff08;餐厅、饭店&#xff09;定制的软件产品。该项目是一个在线外卖订购系统&#xff0c;顾客可以通过网站或者…

Java安全 CC链1分析(Lazymap类)

Java安全 CC链1分析 前言CC链分析CC链1核心LazyMap类AnnotationInvocationHandler类 完整exp&#xff1a; 前言 在看这篇文章前&#xff0c;可以看下我的上一篇文章&#xff0c;了解下cc链1的核心与环境配置 Java安全 CC链1分析 前面我们已经讲过了CC链1的核心ChainedTransf…

TestNG基础教程

TestNG基础教程 一、常用断言二、执行顺序三、依赖测试四、参数化测试1、通过dataProvider实现2、通过xml配置&#xff08;这里是直接跑xml&#xff09; 五、testng.xml常用配置方式1、分组维度控制2、类维度配置3、包维度配置 六、TestNG并发测试1、通过注解来实现2、通过xml来…

Makefile编译原理 make 中的路径搜索_2

一.make中的路径搜索 VPATH变量和vpath关键字同时指定搜索路径。 实验1 VPATH 和 vpath 同时指定搜索路径 mhrubuntu:~/work/makefile1/18$ tree . ├── inc │ └── func.h ├── main.c ├── makefile ├── src1 │ └── func.c └── src2 └── func.c mak…

【正在更新】从零开始认识语音识别:DNN-HMM混合系统语音识别(ASR)原理

摘要 | Abstract TO-BE-FILLED 1.前言 | Introduction 近期想深入了解语音识别(ASR)中隐马尔可夫模型(HMM)和深度神经网络-隐马尔可夫(DNN-HMM)混合模型&#xff0c;但是尽管网络上有许多关于DNN-HMM的介绍&#xff0c;如李宏毅教授的《深度学习人类语言处理》[1]&#xff0c;…

火车可视化调车系统

列车在调车作业时&#xff0c;当机车头在尾部推动车厢时&#xff0c;司机室一人操控机车&#xff0c;车厢前端配备两名挂梯随车运行调车员&#xff0c;调车员人为分析行车方向是否有障碍、轨道行人等紧急情况&#xff0c;通过对讲机通知司机控制停车。由于司机无法直观观察列车…

逆向实战29——某度 某家号2024旋转验证码识别

前言 本文章中所有内容仅供学习交流&#xff0c;抓包内容、敏感网址、数据接口均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff0c;若有侵权&#xff0c;请联系我立即删除&#xff01; 目标网站 aHR0cHM6Ly9hd…

Linux下的文件权限与访问控制:守护你的数据宝藏

引言 在Linux这片广袤的领域中&#xff0c;文件权限与访问控制犹如守护宝藏的魔法阵&#xff0c;它们确保你的系统安全、数据不被窥探。对于初学者而言&#xff0c;了解并掌握这些魔法阵的奥秘&#xff0c;是成为一名合格Linux巫师的必经之路。那么&#xff0c;就让我们一起揭…

Redis核心技术与实战【学习笔记】 - 28.Redis 6.0新特性(多线程、客户端缓存与安全)

简述 Redis 6.0 新增了几个关键新特性&#xff0c;分别是面向网络处理的多 IO 线程、客户端缓存、细粒度的权限控制&#xff0c;以及 RESP 3 协议的使用。 其中&#xff0c;面向网络处理的多 IO 线程可以提高网络请求处理的速度&#xff0c;而客户端缓存可以让应用直接在客户…

fast.ai 深度学习笔记(二)

深度学习 2&#xff1a;第 1 部分第 4 课 原文&#xff1a;medium.com/hiromi_suenaga/deep-learning-2-part-1-lesson-4-2048a26d58aa 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 来自 fast.ai 课程的个人笔记。随着我继续复习课程以“真正”理解它&#xff0c;这…

【机器学习300问】22、什么是超参数优化?常见超参数优化方法有哪些?

在之前的文章中&#xff0c;我主要介绍了学习率 η和正则化强度 λ 这两个超参数。这篇文章中我就主要拿这两个超参数来进行举例说明。如果想在开始阅读本文之前了解这两个超参数的有关内容可以参考我之前的文章&#xff0c;文章链接为你放在了这里&#xff1a; 【机器学习300…

kvm qemu 优化 windows 虚拟机速度

主要优化磁盘 io 和网络 io 都选为 virtio windows 驱动下载 https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.185-2/virtio-win-0.1.185.iso I also had incredibly slow performance with my virtual HDD. The followin…