图的初识·基本概念

news2024/11/27 0:50:11

文章目录

  • 基本概念
    • 图有两种基本形式
      • 无向图的表示
      • 有向图的表示

基本概念

  • 图结构也是数据结构的一部分。而且还有一点小难。
  • 图是由多个结点链接而成的,但是一个结点可以同时连接多个其他结点,多个节点也可以同时指向一个节点。【多对多的关系】
    在这里插入图片描述
  • 图结构是任意两个数据对象之间都有可能存在某种特点关系的数据结构。
    在这里插入图片描述
  • 图(Graph)一般由两个集合共同构成
    • 一个是非空但是有限的顶点集合V(Vertex)
    • 另一个是描述顶点之间连接关系的边集合日(Edge,边集合可以为空集【一个节点的情况】)
  • ***一个图实际上正是由结点(顶点)和对应的边组成的。***因此,图的表示为: G = ( V , E ) G=(V,E) G=(V,E)
  • 结点的度:就是与其连接的边数

图有两种基本形式

无向图的表示

  • 无向图仅仅是连接,并不指明方向
  • 集合 V = A , B , C , D , E V={A,B,C,D,E} V=A,B,C,D,E集合KaTeX parse error: Expected '}', got 'EOF' at end of input: …,D),(D,A),(C,A)
    在这里插入图片描述

有向图的表示

  • 有向图标记明了方向
  • 集合 V = A , B , C , D , E V={A,B,C,D,E} V=A,B,C,D,E集合 E = < A , B > , < B , C > , < C , D > , < D , A > , < C , A > E={<A,B>,<B,C>,<C,D>,<D,A>,<C,A>} E=<A,B>,<B,C>,<C,D>,<D,A>,<C,A>
    在这里插入图片描述
  • 邻接点无向图存在一条边(A,B),就称A,B互为邻接点。如果是有向图的一条边<A,B>,就称起点A邻接到终点B。
  • 出度:与顶点相连且指向该顶点的边的个数。
  • 入度:与顶点相连且指向邻接顶点的边的个数。
  • 简单图:图中不存在回路或重边。
  • 非简单图:图中存在贿回路或者重边。
    在这里插入图片描述
  • 无向完全图:在一个无向图中,任意两个顶点都有一条边相连。
    在这里插入图片描述
  • 有向完全图:在有向图中,任意两顶点之间都有由方向互为相反的两条边连接。
    在这里插入图片描述
  • 顶点连通:在一个无向图中,存在一个顶点到另一个顶点的路径。
  • 连通图:一个无向图中任意两点都是连通的。
  • 强连通图:一个有向图中任意顶点A和B,存在两者之间相互的带方向路径。
  • 子图:对于图 G = ( V , E ) G=(V,E) G=(V,E) G ′ = ( V ′ , E ′ ) G'=(V',E') G=(V,E),若满足 V ′ V' V V ′ V' V的子集。
    在这里插入图片描述
  • 极大连通子图:连通子图是原图的子图,并且子图也是连通图,同时具有最大的顶点数。即在加入原图中,其他顶点会导致子图不连通。拥有极大顶点数的同时也要包含。依附于这点顶点所有的边。
  • 连通分量:无向图的极大连通子图
  • 强连通分量:有向图的极大连通子图
    在这里插入图片描述

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

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

相关文章

iPhone升级iOS 16后出现提示“面容ID不可用”怎么办?

最近&#xff0c;很多用户在苹果社区反馈&#xff0c;iPhone升级iOS 16后Face ID不能用了&#xff0c;尝试重置Face ID时&#xff0c;系统会弹窗提示“面容ID不可用&#xff0c;稍后尝试设置面容ID。” 如果你的iPhone在没有摔落手机或是手机进水的情况下出现这个弹窗&#xff…

电脑游戏录屏哪个好用免费?这2款录屏软件,用过都说好!

​相信很多小伙伴都有过在游戏中的精彩操作吧。有些小伙伴想要把自己在游戏中的精彩操作分享给朋友&#xff0c;可是却不知道有什么好用免费的游戏录屏软件&#xff0c;能够将自己游戏里的亮眼表现录制下来。那么电脑游戏录屏哪个好用免费&#xff1f;接下来小编分享2款永久免费…

PyQt5 窗口数据传递

PyQt5 窗口数据传递单一窗口数据传递多窗口数据传递&#xff1a;调用属性多窗口数据传递&#xff1a;信号与槽开发应用程序时&#xff0c;若只有一个窗口则只需关心这个窗口里面的各控件之间如何传递数据。如果程序有多个窗口&#xff0c;就要关心不同的窗口之间是如何传递数据…

History、Location

History、Location 学习路线&#xff1a;JavaScript_BOM->Window对象->confirm()、setInterval()、setTimeout()->History、Location->闪烁的灯泡 History History 对象是 JavaScript 对历史记录进行封装的对象。 History 对象的获取 使用 window.history获取&a…

云小课|云小课教您如何选择Redis实例类型

阅识风云是华为云信息大咖&#xff0c;擅长将复杂信息多元化呈现&#xff0c;其出品的一张图(云图说)、深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云。更多精彩内容请单击此处。 摘要&#xff1a;购买Redis实例时&#xff0c;实例类型有单机、主备、Pr…

vmware安装openEuler20.03

一&#xff0c;直接看图。 点击创建虚拟机。 这里如果是21.03版本的话&#xff0c;版本需要选择Linux5.x内核64位。 20.03选择Linux4.x的内核。 2个或者4个都行。 内存不要小于4G。 官方推荐不要小于32G。 直接下一步即可。 然后等待&#xff0c;进入配置。 安…

数据结构学习:Trie树

Trie一、概念二、代码实现三、Tire树的时间复杂度和空间复杂度四、Tire树的优势一、概念 Trie树,也叫"字典树",顾名思义,是一种专门处理字符串匹配的树形结构,用来解决在一组字符串集合中快速找到某个字符串类似于这种字符串匹配问题,可以使用RF暴力匹配、RK哈希匹配…

RabbitMQ 快速入门七种简单模式

RabbitMQ 快速入门七种简单模式起步七种模式项目依赖1、"Hello World!"(1) Connection 方式(2) RabbitTemplate 方式2、Work Queues生产者消费者3、Publish/Subscribe关系绑定生产者消费者4、Routing消费者生产者5. Topics消费者生产者6、RPC7、Publisher Confirms起…

面试又卡在多线程?那就来分享几道 Java 多线程高频面试题,面试不用愁

多线程中的忙循环是什么?忙循环就是程序员用循环让一个线程等待&#xff0c;不像传统方法 wait()、 sleep() 或 yield()&#xff0c;它们都放弃了 CPU 控制&#xff0c;而忙循环不会放弃 CPU&#xff0c;它就是在运行一个空循环。 这么做的目的是为了保留 CPU 缓存&#xff0c…

用于大规模 MIMO 检测的近似消息传递 (AMP)(Matlab代码实现)

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

【二开】mattermos扩展第三方登录

目录 前景提要明确目标开始动手部署开发环境找到项目入口梳理登录流程修改请求地址前景提要 公司准备使用mattermost,项目进行任务管理,我们需要让已有系统能够对接该系统的登录。 明确目标 前端webApp项目独立部署使用第三方Token可以通过使用第三方Token登录mattermost平…

因子模型:套利定价理论APT

本文是Quantitative Methods and Analysis: Pairs Trading此书的读书笔记。 因子模型(factor models)用来解释资产的风险或者回报的特点。在CAPM模型中&#xff0c;资产的回报几乎就是由市场决定的&#xff0c;每个资产对市场的敏感程度可以用beta来描述。因而&#xff0c;在C…

RabbitMQ系列【18】对象序列化机制

有道无术&#xff0c;术尚可求&#xff0c;有术无道&#xff0c;止于术。 文章目录前言发送对象接收对象使用Jackson 序列化前言 使用RabbitMQ原生API&#xff0c;发送消息时&#xff0c;发送的是二进制byte[]数据。 void basicPublish(String var1, String var2, byte[] var4…

1.2 监督学习

1.2 监督学习监督学习的定义监督学习的相关概念监督学习流程图监督学习的定义 监督学习(Supervised Learning&#xff09;是指从标注数据中学习预测模型的机器学习问题&#xff0c;其本质是学习输入到输出的映射的统计规律。 输入空间 (Input Space&#xff09;&#xff1a;输…

11.29总结

目录 一.连续子数组最大和 方法2动态规划 二.查找最小的k对数字 一.从先序遍历还原二叉树 二.完全二叉树 三.判断对称二叉树 四 回文 五.连续子数组最大和 六.TopK问题 思路一如果数据特别大.排序的时间复杂度会很大 思路二:用大根堆或者小根堆然后分别弹出. 思路三…

CANoe-vTESTstudio之State Diagram编辑器(功能介绍)

1. 阶段 State Diagram从测试设计到测试执行,分为4个阶段: Test Design 在测试设计期间,测试设计人员使用图形元素和分配的测试代码来对要测试的SUT的状态和转换进行建模。这个阶段的结果是生成状态图 Evaluation 在评估期间,将验证各个元素及其关系并创建路径。评估产…

SpringBoot中如何实现业务校验,这种方式才叫优雅!

大家好&#xff0c;在日常的接口开发中&#xff0c;为了保证接口的稳定安全&#xff0c;我们一般需要在接口逻辑中处理两种校验&#xff1a; 参数校验 业务规则校验 首先我们先看看参数校验。 参数校验 参数校验很好理解&#xff0c;比如登录的时候需要校验用户名密码是否为…

Opencv边缘检测、轮廓发现、绘制轮廓

Opencv边缘检测、轮廓发现、绘制轮廓 提取图像轮廓的2个步骤 1、 findContours函数找轮廓&#xff0c; 2、 drawContours函数画轮廓 轮廓的查找——cv::findContours() 函数cv::findContour是从二值图像中来计算轮廓的&#xff0c;它可以使用cv::Canny()函数处理的图像&am…

【华为上机真题 2022】字符串分隔

&#x1f388; 作者&#xff1a;Linux猿 &#x1f388; 简介&#xff1a;CSDN博客专家&#x1f3c6;&#xff0c;华为云享专家&#x1f3c6;&#xff0c;Linux、C/C、云计算、物联网、面试、刷题、算法尽管咨询我&#xff0c;关注我&#xff0c;有问题私聊&#xff01; &…

Java---线程详解(并发并行,Thread类,Runnable接口,同步机制,线程死锁......)

目录 一、概念 1、进程 2、线程 &#xff08;1&#xff09;单线程 &#xff08;2&#xff09;多线程 &#xff08;3&#xff09;并发 &#xff08;4&#xff09;并行 二、线程基本使用 1、创建线程的两种方式 &#xff08;1&#xff09;继承Thread类 &#xff08;2&am…