76.【图】

news2025/7/13 2:43:35

  • ( 一).图的基本结构
    • (1).无序偶对.
    • (2).有序偶对
    • (3).有向图和无向图
    • (4).权
    • (5).网图
  • (二).图的基本术语
    • (1).邻接.依附
    • (2).有向完全图,无向完全图
    • (3).顶点的度,入度,出度
    • (4).路径 路径长度 回路
    • (5).简单路径 简单回路
    • (6).子图
    • (7).连通图 连通分量
    • (8).强连通图 强连通分量
  • (三).图的遍历
    • (1).深度优先遍历(相似于栈)
    • (2).广度优先遍历(相似于层序遍历)
  • (四).图的存储结构及实现
    • (1).邻接矩阵的存储结构
    • (2).邻接表的存储结构
    • (3).邻接矩阵和邻接表的比较
  • (五).最小生成树
    • (1).生成树:
    • (2).生成树的代价
    • (3).prim算法(两个集合)
    • (2).kruskal算法(一个顶点,一个集合)

( 一).图的基本结构

图是有顶点的有穷非空集合和顶点之间的组成集合,通常表示为: G=(V,E).其中,G表示一个图,E是顶点之间边的集合。

(1).无序偶对.

若顶端v1和顶端v2之间的边没有方向**,则称这条边为无向边,用无序偶对(v1,v2)表示。
在这里插入图片描述

(2).有序偶对

若顶端v1和顶端v2之间的边有方向,则称这条边为有向边(也称为弧),用有序偶对<v1,v2>表示,v1成为弧尾,v2成为弧头
在这里插入图片描述

(3).有向图和无向图

如果图的任意两个顶点之间的边都是无向边,则称这个图为无向图 否则称为有向图
在这里插入图片描述

(4).权

(weight)通常是对边赋予的有意义的数值量,在实际应用中,权可以有具体的含义。

(5).网图

:边上带权的图称为带权图或网图。eg:有向网图,无向网图。

(二).图的基本术语

(1).邻接.依附

在无向图中,对于任意两个顶点v1和v2,若存在边(v1,v2),则称为顶点v1和v2互为领接点,同时称为哦边(v1,v2)依附于顶点v1和v2.

(2).有向完全图,无向完全图

有无向图中,如果任意两个顶点之间都存在边,'则称为该图为无向完全图,含有n个顶点的无向完全图有n*(n-1)/2条边
在这里插入图片描述

在有向图中,如果两个顶点之间都存在互为反方向的弧,则称该图为有向完全图。含有n个顶点的有向完全图有n*(n-1)条边
在这里插入图片描述

(3).顶点的度,入度,出度

在无向图中,顶点v的度是指依附于该顶点的边的个数,记为TD(v),在具有n个顶点e条边的无向图中,成立 各个顶点的度之后=2*e
在这里插入图片描述

在有向图中,顶点v的入度是指以该顶点为弧头的弧的个数,记为ID(v);顶点v的出度是指以该顶点为弧尾的弧的个数,记为OD(v)在具有n个顶点e条边的有向图中成立 各个顶点的入度之和=各个顶点出度之和=e
在这里插入图片描述

(4).路径 路径长度 回路

路径上边的数目称为路径长度,第一个顶和最后一个顶点的相同路径称为回路。两个顶点之间的边就是路径

(5).简单路径 简单回路

顶点不重复出现的路径称为简单路径。除了第一个顶点和最后一个顶点之外,其余顶点不重复 出现的回路称为简单回路

(6).子图

图A中包含图B,则称为图B包含图A.

(7).连通图 连通分量

在无向图中,若顶点v1和顶点v2之间存在路径,则称为v1和v2之间是连通的,若任意顶点之间均存在路径,则称该图是连通图

非连通图的极大连通子图称为连通分量

非连通图

在这里插入图片描述

连通分量

在这里插入图片描述

(8).强连通图 强连通分量

在有向图中,对任意两个顶点,都存在路径,则称该有向图是强连通图
在这里插入图片描述

非强连通图的极大强连通图子图成为强连通分量
在这里插入图片描述

强连通分量

在这里插入图片描述

(三).图的遍历

(1).深度优先遍历(相似于栈)

深度优先遍历的主要思想: 新进后出:
(1).访问顶点v。
(2).从v的未被访问的邻接点选取一个顶点w,然后从w深度优先遍历。
(3).如果访问途中没有遇到未被访问的顶点,那么就先进的后出()
(4).重复上诉步骤,直至所有顶点被访问完毕。

在这里插入图片描述

(2).广度优先遍历(相似于层序遍历)

以顶点v为起始点,有近到远,一次访问和v有路径相通且路径长度为12..的
顶点,为了使先被访问顶点的邻接点"先于"后被访问顶点的邻接点"被访问"

在这里插入图片描述

在这里插入图片描述

(四).图的存储结构及实现

(1).邻接矩阵的存储结构

图的邻接矩阵存储也称数组表示法,用一个一维数组存储图中的顶点,用一个二维
数组存储图中的边(即个顶点之间的邻接关系),存储顶点之间的邻接关系的二维数组
称为邻接矩阵,设图G=(V,E)有n个顶点,则邻接矩阵是一个n*n的方阵

无向图
在这里插入图片描述
在这里插入图片描述

1.无向图的邻接矩阵一定是对称矩阵,而有向图的矩阵不一定对称。
2.在无向图,顶点i的度等于邻接矩阵中第i行(或第i列)非零元素的个数。
3.对于有向图,顶点i的出度等于邻接矩阵中第i行非零元素的个数;顶点
i的入度等于邻接矩阵中第i列非零元素的个数
4.判断顶点 i 和 j 之间是否存在边,只需要测试邻接矩阵中相应位置的元素
edge[i][j],若其值为1,则有边;否则,顶点 i 和 j
之间不存在边
5.查找顶点i的所有邻接点,扫描邻接矩阵的第i行,若edge[i][j]的值为1,则顶点j是顶点i 的邻接点
在这里插入图片描述
在这里插入图片描述

(2).邻接表的存储结构

邻接表是一种顺序存储与链式存储相结合的存储方法,像极了孩子表示法
顶点表:存储边表头指针的数组和存储顶点的数组构成了邻接表的表头数组。
1.vertex为数据域,存储顶点信息。
2.firstEdge为指针域,指向边的第一个结点。
3.adjvex为邻接点域,存放该顶点的邻接点在顶点表中的下标
4.next为指针域,指向边表的下一个结点
在这里插入图片描述
无向图
在这里插入图片描述
在这里插入图片描述
有向图
在这里插入图片描述
在这里插入图片描述

1.对于无向图,顶点i的度等于顶点i的边表中的节点个数
2.对于有向图,顶点 i 的出度等于顶点 i 的出边表中的结点个数。
3.顶点 i 的入读等于所有出边表中以顶点 i 为邻接点的结点个数
4.判断从顶点到顶点j是否存在边,只需要测试顶点 i 的边表中是否存在临接点域为 j 的结点
5.查找顶点 i 的所有邻接点,只需要遍历顶点i的边表,该边表中的所有结点都是顶点的邻接点。

(3).邻接矩阵和邻接表的比较

(五).最小生成树

(1).生成树:

连通图的生成树是否包含图中全部顶点的一个极小连通图。在生成树中添加一条属于原图中的边必定会产生回路。
在这里插入图片描述

(2).生成树的代价

无向连通网的生成树上个边的权值之和称为该生成树的代价,在途中的所有生成树中,代价最小的生成树称为最小生成树。

(3).prim算法(两个集合)

在这里插入图片描述

(2).kruskal算法(一个顶点,一个集合)

在这里插入图片描述

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

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

相关文章

改进粒子滤波的无人机三维航迹预测方法(基于Matlab代码实现)

&#x1f468;‍&#x1f393;个人主页&#xff1a;研学社的博客 &#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜…

骨传导耳机贴不紧咋办,推荐五款佩戴最稳固的骨传导蓝牙耳机

很多小伙伴都在反馈&#xff0c;骨传导耳机在佩戴时戴不稳&#xff0c;这关乎于耳机的材质有很大的关系&#xff0c;下面就给大家推荐几款佩戴十分牢固的骨传导耳机&#xff0c;不调人群使用哦~看看有没有自己喜欢的吧~ 1、南卡Runner Pro4骨传导蓝牙耳机 &#xffe5;1498 南…

图与图的深度优先遍历、广度优先遍历

文章目录&#x1f6a9;图的理解&#x1f341;无向图&#x1f341;有向图&#x1f341;完全图&#x1f341;常用性质&#x1f6a9;图的数据结构搭建&#x1f341;邻接矩阵&#x1f341;邻接表&#x1f341;邻接矩阵式存储的代码实现&#x1f341;邻接矩阵造图测试&#x1f341;邻…

从零开始打造一款基于SpringBoot+SpringCloud的后台权限管理系统

随着 Spring Boot 和 Spring Cloud 的诞生和流行&#xff0c;集智慧于大成的 Spring 技术体系成为行业开发的首选之一。市场代表需求&#xff0c;技术代表能力。显而易见&#xff0c;在当今开发领域中&#xff0c;谁能更好地掌握这些主流开发技术&#xff0c;谁就能在跟别人竞争…

SecXOps 技术体系

核心能力 为了加快安全分析能力更全面、更深入的自动化 &#xff0c;SecXOps 的目标在于创建一个集成的用于 Security 的 XOps 实践&#xff0c;提升安全分析的场景覆盖率和运营效率。SecXOps 技术并不 015 SecXOps 技术体系 是 Ops 技术在安全领域的简单加和&#xff0c;SecXO…

含分布式电源的配电网日前两阶段调度模型matlab程序(粒子群算法)

含分布式电源的配电网日前两阶段调度模型matlab程序&#xff08;粒子群算法&#xff09; 参考文献&#xff1a;含分布式电源的配电网日前两阶段优化调度模型 摘要&#xff1a;在电力市场环境下&#xff0c;供电公司通过对接入配电网的分布式电源(distributed generation&#…

MyBatis基础

一什么是MyBatis 1 什么是myBatis MyBatis框架也被称之为ORM&#xff08;Object/Relation Mapping&#xff0c;即对象关系映射&#xff09;框架。所谓的ORM就是一种为了解决面向对象与关系型数据库中数据类型不匹配的技术&#xff0c;它通过描述Java对象与数据库表之间的映射关…

Node.js 入门教程 6 V8 JavaScript 引擎

Node.js 入门教程 Node.js官方入门教程 Node.js中文网 本文仅用于学习记录&#xff0c;不存在任何商业用途&#xff0c;如侵删 文章目录Node.js 入门教程6 V8 JavaScript 引擎6.1 其他 JS 引擎6.2 追求性能6.3 编译6 V8 JavaScript 引擎 V8 是驱动 Google Chrome 的 JavaScrip…

【小5聊】纯javascript实现图片放大镜效果

实现图片放大镜效果&#xff0c;其实就是一个比例放大的效果 以下通过纯javascript方式对图片进行等比例放大&#xff0c;等比倍数和出界判断可自行实现 文章后面会附上全部代码 放大镜效果 1、 放大镜组成 1&#xff09;目标图片&#xff0c;一般是小图 2&#xff09;鼠标移…

【雷丰阳-谷粒商城 】【分布式基础篇-全栈开发篇】【01】分布式基础概念_环境搭建_Docker的使用

持续学习&持续更新中… 学习态度&#xff1a;守破离 【雷丰阳-谷粒商城 】【分布式基础篇-全栈开发篇】【01】分布式基础概念微服务集群&分布式&节点远程调用负载均衡服务注册/发现&注册中心配置中心服务熔断&降级API网关虚拟机环境搭建安装vagrant和virt…

gcc编译器

1. GCC工具 GCC编译器&#xff1a; GCC&#xff08;GNU Compiler Collection&#xff09;是由 GNU 开发的编程语言编译器。 GCC最初代表“GNU C Compiler”&#xff0c;当时只支持C语言。 后来又扩展能够支持更多编程语言&#xff0c;包括 C、Fortran 和 Java 等。 因此&#…

网站页面模仿学习

一、代码部分 <!DOCTYPE html> <html> <head><meta charset"utf-8"><title>cdcas</title> </head> <style>*{margin: 0;padding: 0;}.container{text-align: center;}.top{margin: auto;text-align: center;}.nav{…

pdf编辑器软件,分享一款考编用的pdf软件,挺合适的!

对于大部分人来说&#xff0c;最好的工作莫过于公务员、事业单位、国企&#xff0c;此类所谓的金饭碗、铁饭碗。工资收入处于中上水平&#xff0c;且朝九晚五。 不过想要获得这样的编制绝非易事&#xff0c;需要参加统考&#xff0c;经过层层选拔。很多年轻人感叹苦海无编&…

现代密码学导论-17-伪随机函数

目录 3.5.1伪随机函数的非正式定义 |Func_n| 有多大&#xff1f; DEFINITION 3.24 伪随机函数的正式定义 Example 3.25 一个不安全的反例 3.5.1伪随机函数的非正式定义 伪随机函数&#xff08;PRFs&#xff09;推广了伪随机发生器的概念。 F : {0, 1}∗ {0, 1}∗→ {0, 1…

Linux进程管理【进程的相关介绍片、ps、 kill 、pstree】【详细整理】

目录进程相关介绍显示系统执行的流程 psps 详解![请添加图片描述](https://img-blog.csdnimg.cn/cd9f10bf36684b419f2f94068afb9a03.png)案例终止进程kill 和 killall基本语法常见选型案例查看进程数pstreepstree [选项]&#xff0c;可以更加直观的来查看进程信息进程相关介绍 …

【无线传感器】使用 Mamdani 模糊推理系统改进无线传感器网络路由和数据包传递附Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;修心和技术同步精进&#xff0c;matlab项目合作可私信。 &#x1f34e;个人主页&#xff1a;Matlab科研工作室 &#x1f34a;个人信条&#xff1a;格物致知。 更多Matlab仿真内容点击&#x1f447; 智能优化算法 …

【语音去噪】谱减法+维纳滤波语音去噪(带面板+信噪比)【含GUI Matlab源码 1661期】

⛄一、简介 1 维纳滤波法 维纳滤波法(wiener filter)也是一个比较经典的传统做法&#xff0c;它的本质是估计出一个线性滤波器&#xff0c;也就是一个向量&#xff0c;这个滤波器会对不同的频段进行不同程度的抑制&#xff0c;其保真效果会比谱减法要好一些。 我们这里不会讲…

8.4 数据结构——选择排序

8.4.1 简单选择排序 基本思想&#xff1a;在待排序的数据中选出最大&#xff08;小&#xff09;的元素放在其开始的位置。 基本操作&#xff1a; &#xff08;1&#xff09;首先通过n-1次关键字比较&#xff0c;从n个记录中找出关键字最小的记录&#xff0c;将它与第一个交换…

Pytorch 中Label Smoothing CrossEntropyLoss实现

一. 前言 一般情况下我们都是直接调用Pytorch自带的交叉熵损失函数计算loss&#xff0c;但涉及到魔改以及优化时&#xff0c;我们需要自己动手实现loss function&#xff0c;在这个过程中如果能对交叉熵损失的代码实现有一定的了解会帮助我们写出更优美的代码。 其次是标签平…

Day13--自定义组件-封装自定义属性和click事件

提出问题&#xff1a; 当前我们search搜索框的背景颜色和圆角边框都是写死的&#xff0c;使用者没有办法修改器背景颜色和圆角尺寸。那么为了让这个组件更加通用性强一些。 ***********************************************************************************************…