图论例题解析

1.图论基础概念

概念

(注意连通非连通情况,+1节点)
无向图: 两倍(没有入度和出度的概念)
在这里插入图片描述
1.完全图: 假设一个图有n个节点,那么任意两个节点都有则为完全图
2.连通图:是指任意两个结点之间都有一个路径相连。
3.区别: n个顶点的完全图有n(n-1)/2条边;而连通图则不一定,但至少有n-1条边。举个例子,四个顶点的完全图有6条边,也就是四条边加上2条对角线;而连通图可以只包含周围四条边就可以了。
4.强连通图:
你到我有路径,我到你有路径——>最少边数为n(环),至多边数为n(n-1);
有向图G中,如果两个顶点vi,vj间(vi>vj)有一条从vi到vj的有向路径,同时还有一条vj到vi的有向路径,则称两个顶点强连通(strongly connected)。如果有向图G的每两个顶点都强连通,称G是一个强连通图

在这里插入图片描述
5.连通分量:

  1. 子图相通
  2. 子图极大
    与连通图对应,一般书上说的都是特指无向图!!
    首先要知道分量,分量其实就是子图,只不过说的高大尚罢了。但连通分量不是简单的子图连通,他还除了要求子图连通,还要求该连通子图极大。说白了,无向图极大连通子图就是连通分量。到这里先往下看极大连通子图再回来看
    在这里插入图片描述

6.极大连通分量:
从5我们知道他首先是连通子图,并且该连通子图是极大的,主要是这里的极大很不好理解。这里我画图举例
在这里插入图片描述
7.极小连通分量:
在这里插入图片描述
7.生成树:
连通图的生成树是包含图中全部顶点的一个极小连通子图
在这里插入图片描述
8.生成森林:
在这里插入图片描述
9.有向树
一个顶点的入度为0,其余顶点入度为1的有向图为有向树

例题

1.
在这里插入图片描述
2.
答案选B:
无向图:是没有方向的,而强连通图 强调的是有方向的图
有回路,也不一定正确,可能会出现以下情况:访问不到其余节点
一棵树
,只有从根节点出发才能访问所有节点
在这里插入图片描述
在这里插入图片描述
3.
1.子图的概念:
**子图:**假设有两个图G=(V,{E})和g=(v,{e}),如果v⊆V,e⊆E,则称g为G的子图;

    例:假设有图G=(V,{E}),顶点集A⊆V,B⊆E,则A和{B}构成G的子图。

    答:错误,因为A和B未必能构成图。定义中g是G的子图,是因为给条件时已经明确g是图

2.无向完全图和有向完全图的概念:
无向完全图:每个节点之间都有边,为1/2(n(n-1));
有向完全图:任意两个顶点之间都存在方向相反的两条弧。n(n-1);
在这里插入图片描述
3.
强连通图的概念:
有方向,有边,但是强连通图不能保证任何顶点到其他所有顶点都有弧,可能只与其中之一之间有弧
图的入度和出度:
图的入度和出度不一定相等,入读可能为0
有向完全图:
有边且方向为双向,边数为
n
(n-1)
,故有向完全图一定为强连通图 (有边有方向)
有向图边集的子集和顶点的子集不一定能够构成子图:除非明确给出这个子集构成了个图
在这里插入图片描述

5.
注意非连通的情况
在这里插入图片描述
6.
对于强连通有向图,成一个环,三个节点三条边
你到我有路径,我到你有路径——>最少边数为n(环),至多边数为n(n-1);
在这里插入图片描述
7.
在这里插入图片描述
8.
n个顶点最多n-1条边,算入度出度,2*(n-1)

在这里插入图片描述
10.
五个顶点的完全图基础之上再加一个顶点使其为连通图
在这里插入图片描述
11.
可以知道的是树一定是一个连通图——>所以符合n个节点n-1条边

  1. 生成树指的是最小连通子树,而连通分量指的是极大连通子树
  2. 生成树确实是无环的
  3. 生成树与最下连通子树相关
    在这里插入图片描述
    12.
    n个顶点,成为一个环,有n个边,n个边有n颗生成树(也可以从度方面思考)
    在这里插入图片描述
    13.
    设森林中有s棵树,再用n-1条边就能把所有的树连接成一棵树,此时,边数+1=顶点数,即e+(x-1)+1=n => x=n-e
    在这里插入图片描述
    14.
    有向图中,顶点的度入度与出度之和n个顶点的有向图中,任一顶点最多还可以与其他n—1个顶点有一对边相连。 2(n-1)*

15.
图为环,则度最少为2

在这里插入图片描述
16.
与上述类似,一个无向图若要有七个节点,要保证它是连通的,说明六个节点的时候是完全图,所以边数为6*(5)/2,但因为要将其变为连通图,所以需要+1条边
在这里插入图片描述

17.邻接矩阵:
非对称的邻接矩阵,说明为有向图,(因为无向图一定是对称的),各顶点的度依次是=入度+出度,为3423
如果是无向图就要/2;

在这里插入图片描述

2.图的存储

邻接矩阵

无向图的邻接矩阵是唯一的;邻接表是唯一的
在这里插入图片描述

邻接表

**前提:**因为邻接矩阵较为稀疏,所以我们用邻接表法减少空间的消耗

  1. 有向图,无向图都能够存储

  2. 邻接表存储有向图时,顶点的出度个数单链表中的节点个数

  3. 无向图中,邻接表不唯一,若无向图中有n个顶点e条边,则其邻接表需要n个头结点2e个表结点。适宜存储稀疏图。

  4. 在这里插入图片描述
    在这里插入图片描述

  5. 无向图和有向图存储空间的比较
    **无向图:**顶点数+2*边数;**有向图:**定点数+边数
    在这里插入图片描述

图的遍历

深度优先DFS:
从上至下遍历,如果到顶了(已经走过的路就不走了),就返回上一步节点
在这里插入图片描述

广度优先BFS:
从左到右一层一层遍历,放入(找当前节点距离为1的节点们,放入,然后继续遍历)
在这里插入图片描述
邻接矩阵的遍历:
注意遍历的唯一性
在这里插入图片描述

例题

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Mysql列子查询

目录 列子查询数据准备 列子查询 子查询返回的结果是一列(可以是多行),这种子查询称为列子查询。 常用的操作符: 操作符描述IN在指定的集合范围之内,多选一NOT IN不在指定的集合范围之内 案例:查询"教研部"和"…

【UE 材质】冰冻效果

效果 步骤 1. 打开“Quixel Bridge” 下载冰的纹理 2. 新建一个材质,这里命名为“M_Frozen” 打开“M_Frozen”,添加如下节点,此时我们可以通过控制参数“偏移”来改变边界的偏移 此时预览效果如下 如果增加参数“偏移”的默认值效果如下 3.…

Transformer中的自注意力机制计算过程分析

目录 1 什么是自注意力机制 2 自注意力的计算过程 1 什么是自注意力机制 自注意力机制(Self-Attention)顾名思义就是关注单个序列内部元素之间的相关性,不仅可以用于 seq2seq 的机器翻译模型,还能用于情感分析、内容提取等场景…

Doris实战——美联物业数仓

目录 一、背景 1.1 企业背景 1.2 面临的问题 二、早期架构 三、新数仓架构 3.1 技术选型 3.2 运行架构 3.2.1 数据模型 纵向分域 横向分层 数据同步策略 3.2.2 数据同步策略 增量策略 全量策略 四、应用实践 4.1 业务模型 4.2 具体应用 五、实践经验 5.1 数据…

Spring Boot项目中不使用@RequestMapping相关注解,如何动态发布自定义URL路径

一、前言 在Spring Boot项目开发过程中,对于接口API发布URL访问路径,一般都是在类上标识RestController或者Controller注解,然后在方法上标识RequestMapping相关注解,比如:PostMapping、GetMapping注解,通…

Java项目:30 基于SpringBoot自习室座位预定系统

作者主页:源码空间codegym 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 功能设计 管理员 1、用户管理 管理员可以新增、删除管理员 管理员可以删除学生 2、自习室管理 管理员可以新增自习室、设置自习室的座位…

关于福彩历史数据采集器和体彩历史数据采集器的下载安装说明

前段时间因为研究基于人工神经网络(深度学习,所谓的“AI”算法)对3D开奖数据进行预测,开发了两款浏览器插件----“福彩历史数据采集器”和“体彩历史数据采集器”。之所以开发这两款插件,是因为不管是基于什么样的方式…

机器学习:集成学习(Python)

一、Adaboost算法 1.1 Adaboost分类算法 adaboost_discrete_c.py import numpy as np import copy from ch4.decision_tree_C import DecisionTreeClassifierclass AdaBoostClassifier:"""adaboost分类算法:既可以做二分类、也可以做多分类&#…

缓存相关问题:雪崩、穿透、预热、更新、降级的深度解析

✨✨祝屏幕前的小伙伴们每天都有好运相伴左右✨✨ 🎈🎈作者主页: 喔的嘛呀🎈🎈 目录 引言 1. 缓存雪崩 1.1 问题描述 1.2 解决方案 1.2.1 加锁防止并发重建缓存 2. 缓存穿透 2.1 问题描述 2.2 解决方案 2.2.1 …

Ubuntu下安装Scala

前言 弄了一下终于成功装上了,这里对此进行一下总结 安装虚拟机 VMware虚拟机安装Ubuntu(超详细图文教程)_vmware安装ubuntu-CSDN博客https://blog.csdn.net/qq_43374681/article/details/129248167Download Ubuntu Desktop | Download | …

FinalShell连接Linux

远程连接linux 我们使用VMware可以得到Linux虚拟机,但是在/Mware中操作Linux的命令行页面不太方便,主要是: 内容的复制、粘贴跨越VMware不方便 文件的上传、下载跨越VMware不方便 不方便也就是和Linux系统的各类交互,跨越VMwar 到Linux操作系…

win11 更多网络适配器选项

win11更多网络适配器选项查找路径:控制面板→网络和共享中心→更改适配器设置

计算机二级Python刷题笔记------基本操作题23、33、35、37(考察字符串)

文章目录 第二十三题(字符串替换:replace(old,new))第三十三题(字符串遍历)第三十五题(字符串与列表)第三十七题(拼接字符串) 第二十三题(字符串替换&#xf…

Ubuntu进入python时报错:找不到命令 “python”,“python3” 命令来自 Debian 软件包 python3

一、错误描述 二、解决办法 进入”/usr/bin”目录下,查看/usr/bin目录中所有与python相关的文件和链接: cd /usr/bin ls -l | grep python 可以看到Python3指向的是Python3.10,而并无指向python3的软连接 只需要在python与python3之间手动…

2024.03.02蓝桥云课笔记

1.scanf与printf取消分隔符的限制方法 示例代码: int main() { char s[10];scanf("%d[^\n]",s);printf("%s",s);return 0; } 运行: 输入:Hello World 输出:Hello World 注:其中[]中是一个正则…

YTM32的同步串行通信外设SPI外设详解(Master Part)

YTM32的同步串行通信外设SPI外设详解(Master Part) 文章目录 YTM32的同步串行通信外设SPI外设详解(Master Part)IntroductionFeatures引脚信号时钟源其它不常用功能 Pricinple & Mechinism基于FIFO的命令和数据管理机制锁定配…

19. 学习人工智能如何从阅读论文中获取一手信息,并推荐一些技术论文

本文为 「茶桁的 AI 秘籍 - BI 篇 第 19 篇」 文章目录 Hi,你好。我是茶桁。 上节课给大家预告了,今天这节课咱们来看一篇论文。我们之前几节课中讲解的内容其实是在一些论文里面有使用到的。 我们先看一下论文的内容,讲讲 ALS。 就像我上节…

unsubscribe:Angular 项目中常见场景以及是否需要 unsubscribe

本文由庄汇晔同学编写~ 在 Angular 项目中,经常会使用到 observable subscribe,但是 subscribe 读取了数据之后,真的就是万事大吉了吗?这个问题的答案或许是,或许不是。有些 observable 需要 unsubscribe,…

【研发日记】Matlab/Simulink技能解锁(四)——在Simulink Debugger窗口调试

前言 见《【研发日记】Matlab/Simulink技能解锁(一)——在Simulink编辑窗口Debug》 见《【研发日记】Matlab/Simulink技能解锁(二)——在Function编辑窗口Debug》 见《【研发日记】Matlab/Simulink技能解锁(三)——在Stateflow编辑窗口Debug》 Block断点 前文在Simulink编辑窗口…

嵌入式Linux中GPIO设置的一些基本指令和步骤

一、GPIO的介绍 嵌入式Linux中的GPIO(General Purpose Input/Output,通用输入/输出)是一种常用的接口,允许开发者直接控制硬件设备的某些引脚,进行诸如LED控制、传感器读取、设备状态监测等任务。 二、设置步骤和示例…