c++ 图的连通分量是什么_【自考】数据结构第五章图,期末不挂科指南,第9篇

f3e916585a41a6d7ffb7aa44ae93fc0c.png

图的基本概念

首先,你要明确图是什么样子的,就是下面这个样子的

814e9e033841ec1b114c3cbdc750febf.png

图的定义与术语

有向图和无向图

直接对比图就可以看出来,有向图和无向图的区别了,这个没有什么难的。

2860da6a761a72463fb8f0dd8ea350f9.png

有向图和无向图的表示法有略微的区别,注意看 G1有箭头,有向图,表示方法是 V={V~0~,V~1~,V~2~,V~3~} E = {<V~0~,V~1~>,<V~1~,V~2~>,<V~1~,V~0~>,<V~2~,V~0~>,<V~2~,V~3~>} G2无箭头,无向图,表示方法是 V={V~0~,V~1~,V~2~,V~3~} E = {(V~0~,V~1~),(V~1~,V~2~),(V~0~,V~2~),(V~2~,V~3~)}

弧、弧头、弧尾:有向图的边称为弧。无向图叫做边。有序偶对表示有向图从v到w的一条弧,v称为弧尾或始点,w称为弧头或终点。

任何两点之间都有边的无向图称为无向完全图。 任何两点之间都有弧的有向图称为有向完全图。

权、带权图:图的边附带数值,这个数值叫权。每条边都带权的图称为带权图。

顶点的度、入度、出度: 1. 无向图中顶点v的度是与该顶点相关联的边的数目,记为D(v)。 2. 有向图中,把以顶点v为终点的弧的数目称为v的入度,记为ID(v);把以顶点v为始点的弧的数目称为v的出度,记为OD(v)。有向图顶点v的度为入度和出度之和,即D(v) = ID(v)+ OD(v)。

简单路径、回路、简单回路:序列中顶点不重复出现的路径称为简单路径。第一个顶点和最后一个顶点相同的路径称为回路。除了第一个顶点和最后一个顶点外,其余顶点不重复的回路,称为简单回路或简单环。

下面还有一些需要了解的术语

连通、连通图、连通分量、极大连通子图、强连通、强连通图、强连通分量、生成树、生成森林

如果精力足够,都看看吧

图的存储结构

图的存储结构有很多中,例如 邻接矩阵、邻接表、十字链表和邻接多重表

邻接矩阵

矩阵中标记1,有边,标记0,没有边

注意:无向图的邻接矩阵是一个对称矩阵

00b9434db325ecb2ac17ea75040b3a99.png

带权图的邻接矩阵

f216ebc6134517f94dd692af9da731a3.png

邻接矩阵自考/期末考试真题

644695fb5ebd5be98f152243bccd12d9.png

尝试着,画出无向图吧!

邻接表

邻接表是顺序存储与链式存储相结合的存储方法。

下图中,左侧是无向图,右侧是该无向图的邻接表,注意看,该符号,表示结束,没有连接的顶点了。

ca15fcde6d735e057a714ed31c6551be.png

有向图及其类似,这个就不在做图扩充

图的遍历

图的遍历是指从图的某个顶点出发,系统地访问图的每个顶点,并且每个顶点只被访问一次。 遍历图的基本方法有两种:深度优先搜索和广度优先搜索。

连通图的深度优先搜索

深度优先,就是往下走,走不动了,返回上一级在走

05c78d0f48be8952885ac5dc1017e4a4.png

连通图的广度优先搜索

顺着一个顶点,然后都遍历完。

7d747cd0286c66de811734973b4bd1a8.png

图的应用

最小生成树的概念

概念:一个图的最小生成树是图所有生成树中权总和最小的生成树

构造最小生成树的Prim算法

每次都找权值最小的

看案例

94c8fb418fb04fcabf0b7a0ee73a2e06.png

构造最小生成树的克鲁斯卡尔算法单源最短路径 这两种算法,自己看一下吧。

拓扑排序

  1. AOV网 工程或者某种流程可以分为若干个小的工程或阶段,这些小的工程或阶段就称为活动。 如果以图中的顶点来表示活动,有向边表示活动之间的优先关系,这种用顶点表示活动的有向图称为AOV网。

284ff3b70b5536cdad219bfaed8655f7.png

2. 拓扑排序 设G=(V,E) 是一个具有n个顶点的有向图,V中顶点的序列v~1~,v~2~,...,v~n~称为一个拓扑序列,当且仅当该顶点序列满足下列条件:若在有向图G中,从顶点v~i~ ~ v~j~ 有一条路径,则在拓扑序列中顶点v~i~必须排在v~j~之前。找到一个有向图的一个拓扑序列的过程称为拓扑排序。完成拓扑排序的前提条件是AOV网中不允许出现回路。

拓扑排序算法的时间复杂度为O(n+e),n是图的顶点个数,e是图的弧的数目。

拓扑排序算法的基本步骤如下:

  1. 图中选择一个入度为0的顶点,输出该顶点
  2. 从图中删除该顶点及相关联的弧,调整被删弧的弧头结点的入度(入度减1);
  3. 重复执行上述两个步骤,直到所有的入度为0

好好理解一下拓扑排序算法吧

自考/数据结构期末考试真题

d72d3146289a217ac89787b640117cee.png

画图说明步骤 更多图示: https://dwz.cn/r4lCXEuL

f0f091f537c2e15220a149d5a3bf9b18.png

拓扑排序不唯一~

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

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

相关文章

编程时程序无错却崩溃_人间真实:程序员的 60 个崩溃瞬间!

源 / 程序员最幽默(ID&#xff1a;humor1024)程序员&#xff0c;你是否曾经历过这些令你分分钟崩溃或啼笑皆非的绝望瞬间&#xff1f;前方高能预警&#xff0c;这不是演习&#xff01;1. 公司实习生找 Bug2. 在调试时&#xff0c;将断点设置在错误的位置3. 当我有一个很棒的调试…

【学习笔记】第五章——I/O(设备分类、控制方式、软件层次结构、假脱机、缓冲)

文章目录一. 设备分类与控制方式1&#xff09;设备分类2&#xff09;控制方式1. 程序直接控制方式2. 中断驱动方式3. DMA 方式4. 通道控制方式总结二. 软件层次结构与假脱机1&#xff09;软件层次结构2&#xff09;脱机 - 假脱机三. 缓冲&#xff08;重点&#xff09;1&#xf…

3d打印光固化好还是热固化好_UV专利一览(71) —天啦噜!3D打印上太空!

《光固化技术专利一览》为大家集合更新光固化行业技术专利申请情况一览表&#xff0c;实时关注行业动态&#xff0c;了解最新技术发展&#xff0c;敬请关注哟~ 下面就是第七十一期的内容&#xff0c;请收下用于光固化3D打印的树脂槽及三维打印装置公开(公告)号&#xff1a;公开…

yii2 调用未定义函数_Python 函数(三) 使用规则

​一、调用函数使用规则python函数的应用一般需要&#xff1a;先定义、后调用 &#xff0c;否则将报错提示【name * is not defined】未定义名称。但进行函数定义时调用函数不受此限制。错误示例&#xff1a;先调用&#xff0c;后定义&#xff0c;提示【未定义名称】。函数定义…

电脑配置清单_2020年4月最新高性价比电脑配置清单放送,装机不迷路

2019年10月&#xff0c;世界军运会在武汉成功举行&#xff0c;让全世界不少人知道中国有武汉这座美丽的城市。但紧紧过去不到2个月&#xff0c;全世界的人都知道武汉这座城市。因为武汉出现了疫情&#xff0c;一场新的“战争”出现了。随后&#xff0c;武汉直接“封城”了。一直…

【LeetCode笔记】958. 二叉树的完全性检验(Java、二叉树、BFS)

文章目录题目描述思路 && 代码层级遍历法BFS二刷题目描述 考察对完全二叉树性质的理解 思路 && 代码 层级遍历法 一开始试了自底向上的DFS&#xff0c;过了90%的用例&#xff0c;还是考虑得不够全 层级遍历&#xff1a;代码比较多&#xff0c;但是总体效…

【学习笔记】结合代码理解设计模式 —— 代理模式(静态代理、动态代理、延伸)

文章目录什么是代理模式一. 代理模式简介二. 静态代理模式三. 动态代理模式万能模版前言&#xff1a;笔记基于狂神设计模式视频、《大话设计模式》观后而写 &#xff08;最近一直在更新之前的刷题博客&#xff0c;今天久违地更新一篇新博客啦&#xff5e;&#xff09; 什么是代…

js 正则 长度不超过50_如何花不超过50元人民币,拍抖音网红海马体照片?

前段时间&#xff0c;抖音上的海马体-网红照一夜间爆发&#xff01;火了&#xff01;海马体照相馆又一次被推上了时尚潮流的打卡风口&#xff0c;深受年轻群体的青睐。其中当然也包括我~这个风我还是特别想要跟一波的。但是想必大家都知道&#xff0c;海马体照相馆生意一直火爆…

多核处理器_英特尔十代酷睿i5-10400大战R5 3600,到底谁是千元处理器一霸?

Hello大家好&#xff0c;我是兼容机之家的小牛。要说英特尔十代酷睿中最走量的处理器&#xff0c;莫过于i5 10400这颗千元神U了。最近我们兼容机之家推出了几款搭载i5 10400等十代酷睿CPU的主机&#xff0c;性价比非常不错&#xff0c;小伙伴可以翻看一下我们往期的文章。今天就…

项目日报模板_第一届全国技能大赛现场直击:混凝土建筑项目全场最“高”

大洋网讯 混凝土建筑项目的比赛场馆位于室外&#xff0c;高达12米&#xff0c;让这个项目成为全场最“高”项目。“在现代化大型工地&#xff0c;都是用泵车浇灌混凝土&#xff0c;我们这里比赛也模拟了这一个工地的现实场景&#xff0c;让选手使用泵车浇灌混凝土。泵车的手臂要…

【LeetCode笔记】51. N 皇后(DFS、经典题)

文章目录题目描述思路 && 代码题目描述 经典题了…但是大一敲过后就再没碰过了。结果面试还是会问 &#xff0c;今天补一下&#xff5e; 思路 && 代码 还是挺清晰的&#xff0c;要点如下&#xff1a; 使用 DFS&#xff0c;找到一个了再继续找对每一行&…

表格c1等于a1加b1_中国最牛驾照,C1、B1、B2、A1、A2随便开,被称为万能的驾照!...

导读&#xff1a;中国最牛驾照&#xff0c;C1、B1、B2、A1、A2随便开&#xff0c;被称为万能的驾照&#xff01;现在社会上的汽车越来越多了&#xff0c;而车主们&#xff0c;想要行车上路&#xff0c;除了要有车&#xff0c;还要有一样必须的东西&#xff0c;那就是驾照。驾照…

【LeetCode笔记】117.填充每个节点的下一个右侧节点指针 II(二叉树、DFS)

文章目录题目描述思路 && 代码题目描述 很烦…面试被这题干碎了&#xff0c;赶紧给查漏补缺一波&#xff01; 思路 && 代码 主要思路&#xff1a;先右&#xff0c;再左&#xff08;因为左边依赖右边&#xff01;&#xff09;getNext()&#xff1a;当前节点…

r720支持多少频率的内存吗_电脑基础知识:内存条知识大全,看完小学生都了解...

一、基础知识如果你不了解内存条&#xff0c;如果你只知道内存容量越大越好&#xff0c;如果你想更加了解内存条&#xff0c;不妨来看看这里&#xff0c;今天给大家分享那些最简单也是最容易理解的内存条知识。1、定义、作用内存条又叫随机存取存储器&#xff0c;是一种存储技术…

关键词堆砌生成器_网络推广软件的使用和24种关键词挖掘方法

第398-399期网络推广学习&#xff0c;主讲课程&#xff1a;推广软件的使用和24种关键词的挖掘方法。具体内容如下&#xff1a;一、商务卫士&#xff08;宣传易&#xff09;主要的功能&#xff1a;1.商情推广2&#xff0c;产品添加&#xff08;20个以上&#xff09;3.百宝箱>…

【LeetCode笔记】299. 猜数字游戏 (Java、偏数学)

文章目录题目描述思路 && 代码题目描述 顶级阅读题&#xff01;今天的每日一题&#xff0c;感觉评论区大佬的写法挺值得记录的&#xff0c;就又水了一篇答题文&#xff5e; 思路 && 代码 O(n)、O(1)核心代码&#xff1a;Case 2 的两个 if 处理&#xff0c;…

currenthashmap如何实现线程安全_什么是多线程?如何实现多线程?

什么是进程&#xff1f;电脑中时会有很多单独运行的程序&#xff0c;每个程序有一个独立的进程&#xff0c;而进程之间是相互独立存在的。比如下图中的QQ、酷狗播放器、电脑管家等等。什么是线程&#xff1f;进程想要执行任务就需要依赖线程。换句话说&#xff0c;就是进程中的…

【LeetCode笔记 - 每日一题】375. 猜数字游戏 II (Java、DFS、动态规划)

文章目录题目描述思路 && 代码DFS动态规划新系列&#xff5e;用于区分开高频题和每日一题&#xff5e; 题目描述 一眼二分&#xff0c;但是实际上并不是这题让我想到社团的猜数字游戏…但是给钱是真过分了 思路 && 代码 DFS 自底向上进行递归。Math.max(…

【LeetCode笔记 - 每日一题】318. 最大单词长度乘积(Java、位运算)

文章目录题目描述思路 && 代码题目描述 挺不错&#xff01;有bitmap的感觉了。 思路 && 代码 思路好想&#xff1a;两两对比&#xff0c;无公共判断&#xff0c;维护 res那么&#xff0c;如何进行公共判断&#xff1f;这个是主要的问题给每个字符串&#x…

技术交底软件_【干货分享】软件类产品如何进行专利挖掘与技术交底书撰写?...

“导读&#xff1a;在很多人的认知里&#xff0c;软件著作权是软件著作权&#xff0c;专利是专利&#xff0c;两者并没有太多关联。甚至有的人认为&#xff0c;软件产品只能申请软件著作权保护&#xff0c;不能申请专利保护。但是&#xff0c;当有人抄袭你的软件设计理念&#…