数据结构 第七章 图(一)

在这里插入图片描述

🚀 【考纲要求】图的基本概念

一、图的基本概念

1.1 图的定义

图由顶点和边组成,所以我们在表示一个图的时候,使用 G = ( V , E ) G=(V,E) G=(V,E),来表示一个G图,其中的V表示G图中的顶点,E表示G图中的边;对于G图中顶点和边的表示就是采用集合的形式来表示, V = { v 1 , v 2 , v 3 ⋅ ⋅ ⋅ ⋅ } V= \{v_{1},v_{2},v_{3}···· \} V={v1,v2,v3⋅⋅⋅⋅},同样的对于边E也可以采用集合来表示出来;同时图的顶点集不可以为空,图的边集可以为空,每一条线都要连接两个节点。

在这里插入图片描述

所以根据图的定义可知,上述中第二个就不可以为图,因为B和D的两条线有没有连接上点的,最后一个也是图,顶点集不为空,边集为空,可以称之为图。

1.2有向图、无向图、带权图、简单图、多重图

①定义

有向图: 其实描述的是图中顶点和顶点的连线是有方向的连接,如下图所示,AB两个点之间的连接都是有方向的连接。

边的集合 <A,B>表示的是A可以到B,与 <B,A>是不同的,这个表示的是B可以到A。
在这里插入图片描述

无向图: 其实描述的是图中顶点和顶点的连线是没有方向的连接。

边的集合中(A,B)表示A可以到B,B也可以到A,与(B,A)是相同的。
在这里插入图片描述

②顶点的度、入度、出度

在学习入度和出度之前,我们先来看个实际的例子,对于微信好友、微博粉丝关系的存储就是使用图这种数据结构来存储的,但是对于微信好友来说,应该是使用无向图来存储的,因为一旦好友建立了,那么两个人就可以互相的通信;而对于微博粉丝的关系来说,因该使用有向图来存储,因为关注对方成为对方的粉丝是单项的;那马现在我们知道哪个人是社交达人,哪个是微博大V的话,我们该如何统计呢?这就是入度和出度的具体意义了。

在这里插入图片描述

顶点的度: 对于明星A来说该节点的度就是6,到C一个,到D一个,到E一个,到F一个,到B一个,B到A一个,所以总共6个路径可以到达A要么从A出去,所以度为6;对于路飞来说,和他连着的有6个线,但是度为 6 ∗ 2 = 12 6*2=12 62=12,因为是无向图,每一个连线既可以到达也可以出去。

入度和出度是正对于有向图来说的

入度: 进入该节点的度,对于明星A节点来说,该节点的入度是1,只有一个进入。
出度: 从该节点出去的有五个,所以该节点的出度就是5。

回到一开始的问题,入度和出度的有什么具体意义?想要知道哪个人是社交达人,只需统计每个节点的度数。想知道哪个是大V,只需统计每个节点的出度,即被关注量。

③带权图

在这里插入图片描述

1.3点到点的关系

  • 路径 从某一点到另外一点的路径是指由顶点组成的序列
  • 回路 第一个顶点和最后一个顶点相同的路径称为回路或环
  • 简单路径 路径序列中,点不重复
  • 简单回路 回路中,点不重复
  • 路径长度 经过的边的个数
  • 点到点的距离 有路径则路径长度为其距离,若无路径则为 ∞ ∞
  • 无向图的连通性、连通图 和 有向图的强连通性,强连通图
    在这里插入图片描述
    对于无向图来说,其连通性就是每个节点都有线连着,对于有向图来说,任意一个顶点可达任意一个顶点,就是具有强连通性。

1.4 图的局部

  • 子图
    在这里插入图片描述
    在这里插入图片描述

  • 连通分量——极大连通子图
    在这里插入图片描述
    将连通分量称其为极大连通子图更好理解,所谓的极大的连通子图就是要尽可能的满足让子图是最大的连通图。

  • 强连通分量——极大强连通子图

在这里插入图片描述
将强连通分量称其为极大强连通子图更好理解,所谓的极大的强连通子图就是要尽可能的满足让子图是最大的强连通图。 所以不能将节点F给划入子图,因为F的加入,F不能到达ABDCF,不为强连通图。

  • 连通无向图的生成树
    在这里插入图片描述

  • 非连通无向图的生成森林
    在这里插入图片描述

1.5 几种特殊形态的图

① 完全图

就是顶点之间全都互相连接
在这里插入图片描述

②稠密图、稀疏图

了解即可

在这里插入图片描述

③树、森林、有向树

N个节点够成树是需要N-1个边,所有只有多有一个边,就会产生回路。
在这里插入图片描述

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

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

相关文章

【SAP ME 35】SAP ME DEBUG模式开启

1、Debug基础参数配置 2、NWDS Debug模式开启 3、Debug模式下删除锁&#xff08;如果以上尝试无效&#xff0c;就执行删除锁&#xff09; 找到对应的锁任务进行删除&#xff01; -------------------------------------------------------------- SAP ME涉及问题较多&#…

(MATLAB)安装指南

参考链接&#xff1a;MATLAB2019a安装教程&#xff08;避坑版&#xff09;

MySQL 高级 - 第二章 | 数据库目录结构与文件系统

目录 前言一、数据库主要目录结构1.1 数据目录路径1.2 相关命令目录1.3 配置文件路径 二、数据库和文件系统的关系2.1 默认数据库2.2 数据库在文件系统中的表示2.3 数据表在文件系统中的表示2.3.1 InnoDB 存储引擎模式2.3.2 MyISAM 存储引擎模式 2.4 视图在文件系统中的表示2.5…

基于FPGA的多路彩灯控制器VHDL代码Quartus仿真

名称&#xff1a;基于FPGA的多路彩灯控制器VHDL代码Quartus仿真&#xff08;文末获取&#xff09; 软件&#xff1a;Quartus 语言&#xff1a;VHDL 代码功能&#xff1a; 多路彩灯控制器 综合训练内容要求 设计一台基于FPGA的多路彩灯控制器的设计。要求如下 1.彩灯从左…

怎样扫描二维码后看图片?图片二维码的制作方式

二维码是一种可以用来存储大量内容&#xff0c;通过扫描二维码的方式来向其他人提供内容&#xff0c;比较常见的展示内容有视频、图片、文件、文本、音频等。那么图片生成二维码的方法是什么样的呢&#xff1f;通过扫码查看图片&#xff0c;可以不下载的图片的同时快速预览内容…

工控人机交互界面编辑软件附描述(电脑软件分享)

HMI 概述&#xff1a;本文为分享型文档 本文摘要 昆仑通泰触摸屏软件分享。   给触摸屏下载程序时使用。   本人用过案例西门子s7-1200/200smart ST30与触摸屏型号“TPC1061Ti”通讯。 文章目录 本文摘要1.MCGS组态环境嵌入式版&#xff0c;大部分人用过此款&#xff0c;容…

JavaScript余数运算符

console.log(5 % 2); //5 2 * 2 1 console.log(8 % 3); //8 2 * 3 2 console.log(6 % 2); //6 2 * 3 0 console.log(7 % 2); //7 2 * 3 1● 我们可以利用这个特性来判断一个数是奇数还是偶数 const isEven n >n % 2 0 ? console.log(${n}是偶数) : console.…

麦肯锡精英高效阅读法笔记

系列文章目录 如何有效阅读一本书笔记 读懂一本书笔记 麦肯锡精英高效阅读法笔记 文章目录 系列文章目录序章 无法读书的5个理由无法读书的理由① 忙于工作&#xff0c;没时间读书无法读书的理由② 不知应该读什么无法读书的理由③ 没读完的书不断增多无法读书的理由④ 工作繁…

在2-3-4树上实现连接与分裂操作的算法与实现

在2-3-4树上实现连接与分裂操作的算法与实现 引言1. 维护2-3-4树结点的高度属性伪代码示例 2. 实现连接操作伪代码示例 3. 证明简单路径p的划分性质4. 实现分裂操作伪代码示例 C代码示例结论 引言 2-3-4树是一种平衡搜索树&#xff0c;它保证了树的高度被有效控制&#xff0c;…

GhostNetV2 Enhance Cheap Operation with Long-Range Attention 论文学习

论文地址&#xff1a;https://arxiv.org/abs/2211.12905 代码地址&#xff1a;https://github.com/huawei-noah/Efficient-AI-Backbones/tree/master/ghostnetv2_pytorch 解决了什么问题&#xff1f; 在计算机视觉领域&#xff0c;深度神经网络在诸多任务上扮演着重要角色。为…

机器学习实践:超市商品购买关联规则分析

第2关&#xff1a;动手实现Apriori算法 任务描述 本关任务&#xff1a;编写 Python 代码实现 Apriori 算法。 相关知识 为了完成本关任务&#xff0c;你需要掌握 Apriori 算法流程。 Apriori 算法流程 Apriori 算法的两个输人参数分别是最小支持度和数据集。该算法首先会生成所…

【最大公约数 并集查找 调和级数】1998. 数组的最大公因数排序

本文涉及知识点 最大公约数 并集查找 调和级数 LeetCode1998. 数组的最大公因数排序 给你一个整数数组 nums &#xff0c;你可以在 nums 上执行下述操作 任意次 &#xff1a; 如果 gcd(nums[i], nums[j]) > 1 &#xff0c;交换 nums[i] 和 nums[j] 的位置。其中 gcd(nums…

面试经验分享 | 蓝队面试经验

关于蓝队面试经验 1.自我介绍能力 重要性 为什么将自我介绍能力放在第一位&#xff0c;实际上自我介绍才是面试中最重要的一点&#xff0c;因为护网面试并没有确定的题目&#xff0c;让面试官去提问 更多是的和面试官的一种 “交谈” &#xff0c;面试的难易程度也自然就取决…

三维点云处理-模型拟合

以直线拟合为例&#xff0c;模型拟合常用的方法有Least Square&#xff08;最小二乘&#xff09;、Hough Transform&#xff08;霍夫变换&#xff09;、Random Sample Consensus&#xff08;RANSAC&#xff09;等。那么该如何区分和使用这几种方法呢&#xff1f; 情况1&#x…

基于springboot实现夕阳红公寓管理系统项目【项目源码+论文说明】

基于springboot实现夕阳红公寓管理系统演示 摘要 如今社会上各行各业&#xff0c;都在用属于自己专用的软件来进行工作&#xff0c;互联网发展到这个时候&#xff0c;人们已经发现离不开了互联网。互联网的发展&#xff0c;离不开一些新的技术&#xff0c;而新技术的产生往往是…

深入理解Java虚拟机(JVM)

引言&#xff1a; Java虚拟机&#xff08;JVM&#xff09;是Java平台的核心组件&#xff0c;它负责将Java字节码转换成平台特定的机器指令&#xff0c;并在相应的硬件和操作系统上执行。JVM的引入使得Java语言具有“一次编写&#xff0c;到处运行”的跨平台特性。本文将深入探…

W801学习笔记二十一:英语背单词学习应用——上

英语背单词是比较常见的学习APP&#xff0c;参考唐诗宋词应用&#xff0c;本章做一个类似的应用。 一、单词数据清洗及格式转换 诗词数据的获取渠道很多&#xff0c;一般可以按照年级来分文件。如一到九年级&#xff0c;四六级&#xff0c;雅思等等。 1、先从网上某某地方下载…

【计算机科学速成课】笔记一

文章目录 写在前面1.计算机的早期历史2.电子计算机3.布尔运算和逻辑门4.二进制5.算术逻辑单元-ALU6.寄存器和内存 写在前面 所有的一切源于这样一个网站——CS自学指南。 这是新手小白入门计算机科学必要了解的知识——【计算机科学速成课】[40集全/精校] - Crash Course Comp…

HTML_CSS学习:尚硅谷——尚品汇

一、index.html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>荣耀</title> <!-- 引入页签图标--><link rel"shortcut icon" href"./HONOR%20.ico" type&qu…

navicat premium16.3.9重置

软件下载 官网地址&#xff1a;https://navicat.com.cn/products/ # 准备脚本 1、建一个txt 2、复制以下代码 3、修改文件格式为bat 4、运行bat文件 5、重新打开navicat&#xff0c;试用期重置为14 经测试16.2.3以上版本均可用 echo off set dnInfo set dn2ShellFolder set r…