图论例题解析

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的节点们,放入,然后继续遍历)
在这里插入图片描述
邻接矩阵的遍历:
注意遍历的唯一性
在这里插入图片描述

例题

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

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

相关文章

【MySQL】SQL 优化

MySQL - SQL 优化 1. 在 MySQL 中,如何定位慢查询? 1.1 发现慢查询 现象:页面加载过慢、接口压力测试响应时间过长(超过 1s) 可能出现慢查询的场景: 聚合查询多表查询表数据过大查询深度分页查询 1.2 通…

错误笔记:Anaconda 错误(闪退、无法安装等) + Pycharm 错误(无法启动)+ python 报错

Anaconda 错误 1、导航器启动中发生-- 闪退 方法一: Windows下: 1)使用管理员运行:conda prompt 2)执行命令 conda update anaconda-navigator 方法二: 重置Anaconda配置:anaconda-navigator…

C语言第三十四弹---动态内存管理(下)

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】 动态内存管理 1、动态内存经典笔试题分析 1.1、题目1 1.2、题目2 1.3、题目3 1.4、题目4 2、柔性数组 2.1、柔性数组的特点 2.2、柔性数组的使用 2.3、…

5.STL源码解析-算法、仿函数、适配器

算法 STL算法总览 仿函数与适配器 C标准模板库(STL)是C程序员的得力工具,提供了许多强大而高效的数据结构和算法。在STL中,仿函数(Functor)和适配器(Adapter)是两个重要的概念…

【C++精简版回顾】17.io流,流中提供的函数

1.流含义 2.流类 3.流对象 4.流对象的函数 举例&#xff1a; 要求&#xff1a;数据结构中经常需要对齐输出数据&#xff0c;应该怎么做&#xff1f; 1.头文件 #include<iomanip> 2.创建表格头 cout << setiosflags(ios::left) << setw(8) << "姓名…

BUGKU 网站被黑

打开环境&#xff0c;什么都没发现&#xff0c;使用蚁剑扫描一下&#xff0c;发现shell.php&#xff0c;打开 使用BP抓包&#xff0c;进行爆破 得到密码&#xff1a;hack 进去得到flag

每日一类:QLabel深入解析

QLabel是Qt中用于显示文本或图像的控件&#xff0c;属于Qt Widgets模块。它是展示静态内容的理想选择&#xff0c;支持富文本格式&#xff0c;使得文本可以包含不同的字体、颜色和链接。QLabel也可以用来显示图像&#xff0c;包括动态图像。此外&#xff0c;它还支持文本和图像…

【考研数学】汤家凤1800题什么水平?

我觉得汤家凤基础武忠祥强化这个组合非常的不错 汤家凤老师的讲课风格 汤家凤老师的基础课程是大家公认的讲的详细&#xff0c;并且非常照顾基础不好的学生&#xff0c;会把基础知识点掰开揉碎的讲给大家听&#xff0c;在上课过程中&#xff0c;还会把知识点写在A4纸上&#…

R750 install AMD MI210GPU

一、 查看服务器GPU卡信息 可以首先在服务器上check 当前GPU的详细信息是否匹配 二、安装 Ubuntu22.04操作系统 服务器CHECK 安装的AMD GPU 是否被系统识别 #lspci | grep AMD 查看GPU信息 可以看到已经识别成功 三、安装AMD GPU驱动 https://rocm.docs.amd.com/projec…

智能驾驶规划控制理论学习05-车辆运动学规划案例分析

目录 案例一——Hybrid A*&#xff08;基于正向运动学&#xff09; 1、基本思想 2、 实现流程 3、启发函数设计 4、分析扩张&#xff08;Analytic Expansions&#xff09; 5、分级规划&#xff08;Hierarchical planning&#xff09; 案例二——State Lattice Planning&…

子矩阵的和 刷题笔记 {二维前缀和}

首先我们的目标是让 s[i][j]表示为其左方和上方形成的矩阵所有元素的和 加上s[i-1][j]和s[i][j-1]后 s[i-1][j-1]部分重复了所以减去 最后加上a[i][j]即可完成目标 s[i][j]s[i-1][j]s[i][j-1]-s[i-1][j-1]a[i][j]; 然后看题目要求 要求x1,y1,x2,y2围成的小正方形内的元素和…

C/C++工程师面试题(数据库篇)

索引的优缺点 索引是一种支持快速查找特定行的数据结构&#xff0c;如果没有索引&#xff0c;就需要遍历整个表进行查找。用于提高数据检索的速度和效率。 好处&#xff1a; 提高检索速度&#xff1a; 索引可以加快数据的检索速度&#xff0c;因为它们允许数据库系统直接定位到…

Revit-二开之立面视图创建FilledRegion-(3)

在上一篇博客中介绍了FilledRegion的创建方法,这种方法通常只在平面视图中适用,在三维视图中也是无法创建的(目前研究的是这样的,如果有其他方法,请赐教)。 本片文章介绍一个下在立面视图中创建FilledRegion的方法,主要操作是在立面视图中拾取一个点,然后以该点为原点,…

YOLOv5 项目:推理代码和参数详细介绍(detect)

1、前言 本章将介绍yolov5项目的推理函数&#xff0c;关于yolov5的下载和配置环境&#xff0c;参考上一篇文章&#xff1a; YOLOv5 项目&#xff1a;环境配置-CSDN博客 pycharm 中打开的推理模块如红框中所示 pycharm将conda新建的虚拟环境导入&#xff0c;参考 &#xff1a;…

简单实现Transformer的自注意力

简单实现Transformer的自注意力 关注{晓理紫|小李子}&#xff0c;获取技术推送信息&#xff0c;如感兴趣&#xff0c;请转发给有需要的同学&#xff0c;谢谢支持&#xff01;&#xff01; 如果你感觉对你有所帮助&#xff0c;请关注我。 源码获取&#xff1a;VX关注并回复chatg…

二叉树的右视图,力扣

目录 题目&#xff1a; 我们直接看题解吧&#xff1a; 快速理解解题思路小建议&#xff1a; 审题目事例提示&#xff1a; 解题方法&#xff1a; 解题分析&#xff1a; 解题思路&#xff1a; 代码实现(DFS)&#xff1a; 代码1&#xff1a; 补充说明&#xff1a; 代码2&#xff1…

AI:148-开发一种智能语音助手,能够理解和执行复杂任务

🚀点击这里跳转到本专栏,可查阅专栏顶置最新的指南宝典~ 🎉🎊🎉 你的技术旅程将在这里启航! 从基础到实践,深入学习。无论你是初学者还是经验丰富的老手,对于本专栏案例和项目实践都有参考学习意义。 ✨✨✨ 每一个案例都附带关键代码,详细讲解供大家学习,希望…

[技巧]Arcgis之图斑四至点批量计算

前言 上一篇介绍了arcgis之图斑四至范围计算&#xff0c;这里介绍的图斑四至点的计算及获取&#xff0c;两者之间还是有差异的。 [技巧]Arcgis之图斑四至范围计算 这里说的四至点指的是图斑最东、最西、最南、最北的四个地理位置点坐标&#xff0c;如下图&#xff1a; 四至点…

STM32进阶笔记——复位、时钟与滴答定时器

本专栏争取每周三更新直到更新完成&#xff0c;期待大家的订阅关注&#xff0c;欢迎互相学习交流。 目录 一、复位1.1 软件复位1.2 低功耗管理复位 二、时钟2.1 系统时钟(SYSCLK)选择2.2 系统时钟初始化 三、滴答定时器&#xff08;Systick&#xff09;3.1 SysTick部分寄存器3.…

部署bpmn项目实现activiti流程图的在线绘制

本教程基于centos7.6环境中完成 github开源项目: https://github.com/Yiuman/bpmn-vue-activiti软件&#xff1a;git、docker 1. 下载源代码 git clone https://github.com/Yiuman/bpmn-vue-activiti.git2. 修改Dockerfile文件 声明基础镜像&#xff0c;将项目打包&#xff…