离散数学--图论

目录

1.简单概念

2.握手定理

3.点割集

4.边割集

5.点连通度和边连通度

6.Dijstra算法&&最短路径

7.有向图的连通性

8.图的矩阵表示

9.欧拉图问题

10.哈密尔顿图


1.简单概念

(1)这个里面的完全图比较重要,完全图是例如k3,k5这样的表示方法,角标表示的就是图上面的节点的个数;

(2)完全图定义是这个图上面的任何一个节点和其他的节点之间都有连接,但是这个节点自己没有形成环,在矩阵的表示上面矩阵对角线上面的元素是0,其他的元素都是1,这个0表示的就是节点自己没有形成环,1表示的就是节点和其他节点之间有一条连接边;

(3)图的同构:充要条件就是节点和边之间存在一一对应的关系,但是这个充要条件我们一般不是使用,因为这个充要条件还是无法进行判断两个图之间是否是同构的;

(4)在判断图的同构问题上面,我们使用的就是这个必要条件,就是两个图的节点的数量是相同的,边数也是相同的,度数相等的节点的数量也是相同的,因此我们在考试时候进行判断时,只需要这个判断节点数量和边的数量是否一样,一样的话看看读书相同的节点的数量是否是一样的,例如两个图1和2,图1和图2的节点数和边数都一样,我们就看看度数相同的节点的个数,如果图1和图2都是有3个5度的节点和2个3度的节点,这两个图就是同构的;

但是如果图1有一个3度的节点,但是图2的节点都是2度的,说明对于3度的节点而言,两个图的节点个数不相同,一个是1个,还有一个是0个,这个就不满足必要条件,这个时候的图1和图2就是不同构的;

2.握手定理

(1)节点的度数的和是这个图的边数的2被,例如这个图16个节点,我们就可以推断出来这个这个图有8条边;

(2)这个推论是经过证明的,所以我们可以直接进行使用,这个推论就是主要用来判断一串度数序列是否可以构成无向图 ,这个要求解释奇数度节点个数是偶数个;

大概就是说这个,例如1 3 5 7 6这个序列,是否可以构成无向图,奇数度节点个数就是1 3 5 7这四个节点,上面的1 3 5 7表示的是节点的度,表示这个图有5个节点,这五个节点的度分别是1 3 5 7 6,因为这里的奇数度结点个数是4,是偶数个,所以这个序列就可以构成这个无向图;

但是像1 3 9 6这样的序列,技术度节点只有3个,所以这个序列就无法构成无向图,所以我们通过这个握手定理的推论是可以进行一些直观的判断的;

3.点割集

(1)点割集实际上就是一个集合,里面可以有多个元素;

(2)简单的理解就是对于一个具有连通性的图,删除掉某个节点或者某些节点之后这个图就不联通,我们称这个节点或者这些节点就是点割集;

(3)示例图片的图割掉v3之后就不联通,所以v3就是一个点割集,割掉v5之后也不联通,v5也是一个点割集;

需要注意的就是这个割掉某个点之后,和这个节点相连的所有的边就会消失,割掉v2和v4之后,这个图就不会联通了,所以这个v2,v4在一起的这个集合就是点割集;

但是如果仅仅割掉v2或者v4可以发现这个图依然是联通的,这个时候我们就可以说单独的v2或者v4这个集合就不是点割集,只有v2,v4在一起的这个集合才是一个点割集;

4.边割集

(1)这个边割集和点割集都一样,就是一个普通的集合,删除这个集合里面的元素之后这个图就不再联通了;

(2)点割集和边割集的不同点就在于这个点割集删去的是点,边割集删去的是边,其他的规则就本上都是一样的;

(3)在数学符号语言里面,通常使用的是 V大写代表的是点(Vertex),使用大写的E代表边(Edge)这个为了记住这个表示方法,我们可以使用英文单词进行辅助记忆;

5.点连通度和边连通度

(1)删除某个或某些节点之后就不在连通的点,我们称之为点割集,这个过程中,可能在某些图里面,我们删除一个点就可以让这个图不再连通,可能我们要删除2个3个或者更多的点才能让这个图不再具有连通性;

这个多种途径里面,我们把这个删除最少的点就可以破坏连通性的点的个数称之为点连通度;点连通度使用K进行表示;

(2)一些推论

非连通图,因为这个图本来就不是连通的 ,所以我们规定非连通图的点连通度是0;

完全图的点连通度是n-1,n表示的就是这个完全图里面的节点的个数;

存在割点的图的点连通度是1,因为我们只要删去这个割点就可以破坏这个图的连通性;

(3)边连通度的定义和推论,类似于点连通度,边连通度使用λ进行表示;

(4)图的最小度表示的就是这个图的所有节点的度里面最小值,最小度是使用德塔(输入法无法敲打);

一般这个点连通度和边连通度和这个最小度 之间的关系就是点连通度<=边连通度<=最小度;

6.Dijstra算法&&最短路径

(1)这个图论的算法在许多的领域里面都是有这个应用的,在这个离散数学里面学习的图论,我们在计算机的核心课程数据结构里面的图也是大同小异的,包括这个算法迪杰斯特拉算法在这个数学建模的比赛里面也是经常使用的,所以我们在这里是有必要介绍一下的;

(2) 这个算法的本质就是这个贪心算法,简单的讲就是只会顾及眼前的利益,而不会去管这个后面的结果,在这个常规的算法介绍里面,通常都是这个使用两个集合来不断的更新(这个就是我第一次学习的时候看网上的博主讲的),但是这个我感觉很难理解,下面介绍一种新的方式(这个方式是从数学建模的角度);

(3)单源最短路径的子路径都是这个最短路径,我们这个实例是使用的1到3的最短路径,到底应该如何理解这个迪杰斯特拉算法呢?我们首先选取这个1节点作为源节点,1可以直接到达的节点就是2,5节点,到其他节点都是无法直接到达的,所以我们记作无穷大,12距离就是10,15距离就是5,然后我们找出这个里面的最短路径,就是1---5的5这个距离,然后在这个左边画上一个小图,表示1------5的情况;

(4)接下来,我们以15作为这个新的起始区域,相当于是把这个15看作为一个整体,把他们捆绑在了一起,这个整体可以直接到达的节点就是243节点,152长度是8,153长度是14,154长度是7,这个里面最短的就是7了,再把这个新的路径进行更新,补充在右边的这个小图上面;

(5)接下来就是把这个154捆绑在一起,作为一个新的整体,这个时候就出现了初学者们肯能会不理解的问题,就是在这个里面,154整体可以直接到达的就是23了,到达2的话,就是这个152,路径的长度就是8,到达3的话,就是这个153或者是1543这两条路径分别是14,13,总上来看最短路径长度就是8,这个时候我们就会添加上2这个节点;

(6)接下来就是把这个1542作为一个新的整体,然后找到这个整体到达3这个节点的最短距离,通过比较我们就可以发现这个1523就是这个最短的路径距离,我们就结束了这个整个的查找的过程,这个时候我们想要的1到3的最短路径就已经呼之欲出了,我们不仅找到了13之间的最短路径,这个路径上面的任意的子路径都是最短路径;

7.有向图的连通性

(1)这个里面我们会分别介绍一下这个强连通图,单向连通图,弱连通图这三种类型的图;

(2)这个强连通的意思就是这个图上面的任意的两个节点之间都是可以双向奔赴的,就是我有办法沿着有向的路径找到你 ,你有办法沿着有向的路径找到我,这个就是强连通性;

(3)单向连通实际上就是一个简单的中间状态,要求可能没有那么的苛刻,就是对于一个图里面的任意的两个节点,只要我们两个之间可以单向的找到就可以了,例如中间的这个图里面的13节点,1可以找到3,但是3没有办法找到1,1可以找到4,但是4没有办法找到1,5可以找到3,但是3可以找到5(这样肯定就会更好了),因为我们的要求是只要有一种方式找到对方,就满足这个单向连通的定义了,这个两个双向奔赴的情况肯定是单连通的,这样的图就属于单向的连通关系;

(4)弱连通就是,以上面的右边的图片为例,对于1这个节点,任何节点想要到达他都是不可能能的,因为这个节点只有初度,没有入度,这样的图就是这个弱连通图,其实判断弱连通图我们就可以观察这个图上面是不是有某个节点只有初度没有入度(1节点),或者只有入度但是没有初度(2节点),但是去掉方向之后这个图依然是连通的,这个时候我们就可以说这个图就是一个弱连通图

(5)通过上面的阐述相信你也发现了,强连通图一定是这个单向的连通图,单向的连通图一定是弱连通图;

8.图的矩阵表示

(1)邻接矩阵

就是两个节点之间如果有联系就是用n(n表示的就是这个路径的个数)进行标记,否则用0进行标记;

(2)邻接矩阵运用

这个定理是很重要的,首先我们看一下这个第一条,讲的就是这个路的个数,实际上就是通路的个数,在下面的图里面,画出了对应的邻接矩阵,12节点之间有2条路径 ,所以这个第一行第二列的矩阵元素就是2;

为了方便观察这个邻接矩阵,我们可以在这个矩阵的外面加上这个1234,分别表示的就是这个图上面的4个节点,这样我们就可以直观的看到每个矩阵元素表示的意义;

实际上面涉及到的路和回路,都涉及到矩阵的乘法,我们下面是以一个矩阵的4次方作为例子,这个新的矩阵里面,我们可以得到哪些有用的信息?

对角线元素除外,任何一个位置的矩阵元素表示的就是这个节点之间通路个数,这个矩阵肯定还是4行4列,因为这个矩阵本来就是一个方阵,24(表示2行4列)这个位置矩阵元素假设计算完之后就是5,那么这个就表示这个24节点之间的长度为4的通路数有5条;

对角线上面的元素,例如22(表示两行两列),假设这个位置的数据就是8,表示2这个节点回路数量就是8条;

题目一般是让你求两个节点之间的这个回路或者通路长度是n的数量,我们根据这个题目的要求确定要对于这个邻接矩阵进行几次方的操作。

9.欧拉图问题

(1)欧拉图问题的起源就是这个著名的哥尼斯堡七桥问题,当时就是有很多的人去求借这个问题,最后欧拉证明这个问题没有正确的答案,可见有的时候证明一个问题的解的存在性比求解这个问题本身更加重要;

(2) 下面就是欧拉图的一些基本的概念,例如这个欧拉路,欧拉回路,欧拉图,半欧拉图,单向欧拉路,其实看似这个概念很多,其实理解起来并不是很困难;

欧拉路就是存在一条路经过所有的边,成为欧拉路,每条边只可以经过一次,这样的我们就称之为欧拉路(对于无向图而言的);如果是有向图满足这样的条件,我们就可以称之为这个单向的欧拉路,如果这个过程中最后又可以回到原点,我们就称之为这个欧拉回路;

具有欧拉回路的图我们就称之为欧拉图,具有欧拉路但是没有回路的图叫做半欧拉图;

(3)无向图里面有一条欧拉路,当且仅当这个G是联通的,有0个或者2个奇数度的节点;(平凡图就是只有一个节点的图,平凡图是一定满足这个定理的)

(4)欧拉图&半欧拉图判定定理(无向图)

欧拉图要求这个图是连通的而且是没有奇度数顶点;

半欧拉图要求这个图是连通的而且这个图里面拥有2个奇度数顶点; 

(5)欧拉图&半欧拉图判定定理(有向图)

有向图是欧拉图要求每个顶点的入度等于初度,

是半欧拉图要求这个恰好有两个奇度数顶点,一个是入度比初度大1,一个是初度比入度大1,其他的顶点的入度都等于初度;

10.哈密尔顿图

(1)哈密尔顿图的定义:其实和欧拉图很像,但是不完全一样,因为这个说的是一次性经过所有的顶点,欧拉图说的是一次性经过所有的边,两者是有差别的;

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

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

相关文章

JMETER工具:以录制手机app为例

JMETER工具&#xff1a;以录制手机app为例子 JMETER安装和环境配置 pc需要安装jdk&#xff0c;并进行jdk的环境配置&#xff0c;安装好jdk并配置好后&#xff0c;通过命令行输入java –version出现以下界面就表示安装成功&#xff1a; &#xff08;对应的jdk版本不可太低&…

selenium环境安装和web自动化基础

webUI自动化背景 因为web页面经常会变化&#xff0c;所以UI自动化测试的维护成本很高。不如接口的适用面广&#xff0c;所以大部分公司会做接口自动化测试&#xff0c;但是未必会做UI自动化测试&#xff1b; UI自动化测试要做也是覆盖冒烟测试&#xff0c;不会到很高的覆盖率&a…

Flink常见面试题总结

文章目录 1. 简单介绍一下Flink2. Flink 的运行必须依赖Hadoop组件吗?3. Flink 和 Spark Streaming 的区别&#xff1f;4. Flink集群角色5. Flink核心概念5.1 并行度5.2 算子链&#xff08;Operator Chain&#xff09;5.3 任务槽&#xff08;Task Slots&#xff09;5.4 任务槽…

掌握Go语言中的net/http包:编写高性能Web服务

掌握Go语言中的net/http包&#xff1a;编写高性能Web服务 引言HTTP服务器构建基础服务器设置路由与处理函数中间件使用高级配置&#xff08;如TLS/SSL&#xff09; HTTP客户端开发创建与使用HTTP客户端处理响应 高级客户端特性 处理JSON与表单数据接收与解析JSON接收与解析表单…

实现一个自定义 hook,用于强制刷新当前组件

写在前面 在 react 中&#xff0c;如果 state 数据发生变化&#xff0c;我们知道&#xff0c;会重新渲染该组件。 但是这个前提是我们需要依赖 state 数据的变化&#xff0c;那比如我们并不想定义 state&#xff0c;又或者说我们的操作不能引起 state 的变化&#xff0c;此时…

无人机行业招投标技术详解

一、招标流程与原则 无人机行业的招投标流程通常包括招标公告发布、招标文件购买与审查、投标单位资格预审、投标书编制与递交、开标评标、中标公示与合同签订等步骤。在此过程中&#xff0c;必须遵循公开、公平、公正的原则&#xff0c;确保所有符合要求的投标单位都能获得平…

SpringBoot Bean

配置优先级 Bean的管理 从IOC容器中获取Bean对象&#xff1a;注入IOC容器对象 bean的作用域 Bean对象默认在容器启动时实例化 Lazy在第一次使用时初始化 Bean的管理&#xff1a;第三方Bean 引入依赖&#xff0c;每次解析创建新对象&#xff0c;浪费资源 将第三方对象交给…

如何搭建springBoot项目中的全局异常处理和自定义异常处理

目录 1 什么是异常 2 异常的种类 3 解决异常的方式 4 全局异常处理器和自定义异常处理器 5 测试异常处理 1 什么是异常 异常&#xff08;Exception&#xff09;是在程序执行过程中出现的一种特殊情况或错误。它可以是由于程序逻辑错误、运行环境问题、用户输入错误等原因…

【AI基础】反向传播

文章目录 1. 先写出第一步2.将其封装成函数3. pytorch版 1. 先写出第一步 # 定义输入值和期望输出 x_1 40.0 x_2 80.0 expected_output 60.0 初始化# 定义权重 w_1_11 0.5 w_1_12 0.5 w_1_13 0.5 w_1_21 0.5 w_1_22 0.5 w_1_23 0.5w_2_11 1.0 w_2_21 1.0 w_2_31 1…

基于 vLLM 搭建 DeepSeek-V2 Chat 服务

直奔主题。 安装vLLM 官方实现的代码还没有 merge 到 vLLM 主分支&#xff0c;所以直接 git clone DeepSeek 的分支。 git clone https://github.com/zwd003/vllm.git cd vllm pip install -e .源码安装大概耗时 10 分钟。 OpenAI 接口规范启动 官方 Github 放的是单条推理…

通过短信群发平台拓客引流营销的效果好不好?

通过短信群发平台进行营销拓客引流的效果可以是非常显著的&#xff0c;但具体效果会受到多种因素的影响&#xff0c;如目标受众的选择、短信内容的吸引力、发送时间和频率的合理性等。 以下是一些短信群发平台营销拓客引流的优势&#xff1a; 1.广泛覆盖&#xff1a;短…

噪声条件分数网络——NCSN原理解析

1、前言 本篇文章&#xff0c;我们讲NCSN&#xff0c;也就是噪声条件分数网络。这是宋飏老师在2019年提出的模型&#xff0c;思路与传统的生成模型大不相同&#xff0c;令人拍案叫绝&#xff01;&#xff01;&#xff01; 参考论文&#xff1a; ①Generative Modeling by Es…

cesium圆形扩散扫描效果封装

效果 封装类 优化了着色器代码&#xff1b;增加了边框大小调整参数&#xff0c;增加了清除效果方法 注&#xff1a;在页面销毁时需要调用清除方法 CircleDiffusion.clear()/*** circleDiffusion&#xff1a;圆扩散特效封装类**/// 圆扩散 class CircleDiffusion {viewer;last…

docker容器安装nexus3以及nexus3备份迁移仓库数据

一、安装步骤 1.搜索nexus3镜像 docker search nexus3 2.拉取镜像 docker pull sonatype/nexus3或者指定版本 docker pull sonatype/nexus3:3.68.0 3.查看拉取的镜像 docker images | grep "nexus3" 4.启动nexus服务 直接启动 docker run -d --name nexus3 -…

怎么查看公网IP?

在网络通信中&#xff0c;每个设备都会被分配一个IP地址&#xff0c;用于在互联网上进行唯一标识和通信。公网IP是指可以被公开访问的IP地址&#xff0c;可以用来建立远程连接或者进行网络访问等操作。怎么查看公网IP呢&#xff1f;下面将介绍几种常用的方法。 使用命令行查询公…

LabVIEW高温往复摩擦测试系统中PID控制

在LabVIEW开发高温往复摩擦测试系统中实现PID控制&#xff0c;需要注意以下几个方面&#xff1a; 1. 系统建模与参数确定 物理模型建立: 首先&#xff0c;需要了解被控对象的物理特性&#xff0c;包括热惯性、摩擦系数等。这些特性决定了系统的响应速度和稳定性。实验数据获取…

吉时利Keithley 2010数字万用表7.5 位

Keithley 2010数字万用表&#xff0c;7.5 位 吉时利 2010 数字万用表、7.5 位、低噪声万用表将高分辨率与生产应用所需的高速度和高准确度相结合&#xff0c;例如测试精密传感器、换能器、A/D 和 D/A 转换器、调节器、参考、连接器、开关和继电器。2010 基于与吉时利 2000、20…

人工智能应用-实验6-卷积神经网络分类minst手写数据集

文章目录 &#x1f9e1;&#x1f9e1;实验内容&#x1f9e1;&#x1f9e1;&#x1f9e1;&#x1f9e1;代码&#x1f9e1;&#x1f9e1;&#x1f9e1;&#x1f9e1;分析结果&#x1f9e1;&#x1f9e1;&#x1f9e1;&#x1f9e1;实验总结&#x1f9e1;&#x1f9e1; &#x1f9…

521源码-在线客服-CRMChat网页版客服系统 UNIAPP 全方位在线客服系统源码与管理体系平台

CRMChat客服系统&#xff1a;基于Swoole4Tp6RedisVueMysql构建的高效沟通桥梁 CRMChat是一款独立且高性能的在线客服系统&#xff0c;它结合了Swoole4、Tp6、Redis、Vue以及Mysql等先进技术栈&#xff0c;为用户提供了卓越的在线沟通体验。该系统不仅支持在Pc端、移动端、小程…

列表页9大样式,保准你看了就能掌握。

上文&#xff1a;一张图集齐B端列表页的16大组件&#xff0c;召唤神龙&#xff0c;看后恍然大悟。 普通列表/基础列表/常规列表 不适合移动端展示 复杂列表 加入了统计 适合移动端 项目列表 适合移动端 应用列表 适合移动端 多级列表 复杂的多级结构&#xff0c;下图展示了…