数据结构——6.1 图的基本概念

第六章 图

6.1 图的基本概念

  • 概念
  1. 图的概念:G由点集V和边集E构成,记为G=(V,E),边集可以为空,但是点集不能为空

    ·注意:线性表可以是空表,树可以是空树,但图不可以是空,即V一定是非空集

  2. 无向图与有向图

    1. 无向图

      1. 无向边(简称边)

      2. 无序对,例如(a,b)=(b,a),表示a和b两个点相连

    2. 有向图

      1. 有向边(简称弧)

      2. 有序对,例如<v,w>,称为从顶点v指向顶点w的弧,其中v称为弧尾,w称为弧头,<v,w>≠<w,v>,

  3. 简单图与多重图(数据结构课程只探讨 简单图)

    1. 简单图(包含简单有向图、简单无向图)

      1. 不存在重复边

      2. 不存在顶点到自身的边

    2. 多重图

      1. 图G中某两个结点之间的边数多于一条

      2. 允许顶点通过同一条边和自己关联

  4. 顶点的度、入度、出度

    1. 对于无向图:

      1. 顶点v的度是指依附于该顶点的边的条数,记为TD(v)

      2. 无向图每条边贡献两个度,因此n条边的无向图总度数为2n

    2. 对于有向图:

      1. 入度是以顶点v为终点的有向边的数目,记为ID(v)

      2. 出度是以顶点v为起点的有向边的数目,记为OD(v)

      3. 顶点v的度等于其入度和出度之和,即TD(v) = ID(v) + OD(v)

      4. 有向图每个边贡献一个入度和一个出度,因此有向图总出度等于总入度等于边的个数

  5. 顶点与顶点的关系

    1. 路径:

      1. 顶点a到顶点b之间的一条路径是指顶点序列,acde…fgb

      2. 有向图的路径方向必须符合有向边的方向

      3. 有向图和无向图均有不存在路径的情况:

        1. 无向图一个孤立点没有任何边——没有到这点的路径

        2. 有向图一个点没有被任何弧头指到——没有路径

    2. 回路:第一个顶点和最后一个顶点相同的路径称为回路或环

    3. 简单路径:在路径序列中,顶点不重复出现的路径称为简单路径。

    4. 简单回路:除第一个顶点和最后一个顶点外,其余顶点不重复出现的回路称为简单回路

    5. 路径长度:路径上边的数目

    6. 点到点的距离:从顶点u出发到顶点v的最短路径若存在,则此路径的长度称为从u到v的距离,若从u到v根不不存在路径,则记该距离为无穷 (∞)

    7. 无向图中,若从顶点v到顶点w有路径存在,则称v和w是连通的

    8. 有向图中,若从顶点v到顶点w和从顶点w到顶点v之间都有路径,则称这两个顶点是强连通的

    9. 连通图:若无向图G中任意两个顶点都是连通的,则称图G为连通图,否则称为非连通图。

      1. 对于n个顶点的无向图G,若G是连通图,则最少有 n-1 条边

      2. 对于n个顶点的无向图G,若G是非连通图,则最多可能有条边

    10. 强连通图:若有向图中任何一对顶点都是强连通的,则称此图为强连通图

      1. 对于n个顶点的有向图G若G是强连通图,则最少有(n)条边(形成回路)

      2. 在这里插入图片描述

  6. 图的局部

    1. 子图:设有两个图G=(V,E)和G’=(V,E),若V是V的子集,且E’是E的子集,不存在边两端的任何一端没有点的情况,则称G’是G的子图

    2. 生成子图:包含原图的所有顶点,和部分边的子图

    3. 连通分量:无向图中的极大连通子图(子图必须连通并且包含尽可能多的顶点和边)

    4. 强连通分量:有向图中的极大强连通子图(子图必须连通并且包含尽可能多的边)

    5. 生成树:连通图的生成树是包含图中全部顶点的一个极小连通子图

      1. (保持连通且边尽可能少)

      2. 若图中顶点数为n,则它的生成树含有 n-1条边。

      3. 对生成树而言,若砍去它的一条边,则会变成非连通图,若加上一条边则会形成一个回路。

      4. 应用场景:用最少的道路(边)树,连接所有地区(点)

    6. 生成森林:在非连通图中,连通分量的生成树构成了非连通图的生成森林

    7. 边的权:在一个图中,每条边都可以标上具有某种含义的数值,该数值称为该边的权值。

    8. 带权图/网:边上带有权值的图称为带权图,也称网。

    9. 带权路径长度:当图是带权图时,路径上所有边的权值之和,称为该路径的带权路径长度

  7. 几种特殊形态的图

    1. 无向完全图:无向图中任意两个顶点之间都存在边

      1. 若无向图的顶点数|V|=n,则在这里插入图片描述
    2. 有向完全图:有向图中任意两个顶点之间都存在方向相反的两条弧

      1. 若有向图的顶点数|V|=n,则在这里插入图片描述
    3. 稀疏图与稠密图:边数很少的图称为稀疏图反之称为稠密图

    4. 树:不存在回路,且连通的无向图

      1. n个顶点的树,必有n-1条边

      2. n个顶点的图,若边数大于n-1,则一定有回路

      3. 树是连通图(无向图)

    5. 有向树:1个顶点的入度为0,其余顶点的入度均1有向图,称为有向树

      1. 有向树是有向图,但不是强连通图

在这里插入图片描述

  • 理解
  1. 连通图:连起来就行,最少的马路连通最多的村子

  2. 完全图:每个点,都除他以外的所有点,完全连接

  • 技巧
  1. 当有n个点,若边数等于n-1,则无环连通,但若边数超过n-1,则有环未必连通

  2. 有n个顶点的无向图,边数v的几个临界值:

    1. 如果v<n-1,一定不是连通图

    2. 如果n-1≤v< C n − 1 2 + 1 C_{n - 1}^{2} + 1 Cn12+1,则可能是连通图,也可能不是

    3. 如果v> C n − 1 2 + 1 C_{n - 1}^{2} + 1 Cn12+1,则一定是连通图(确保n个顶点连通的思路:n-1个顶点形成完全图,再加上一个边,那么一定连通)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

《动手学深度学习(PyTorch版)》笔记8.5

注&#xff1a;书中对代码的讲解并不详细&#xff0c;本文对很多细节做了详细注释。另外&#xff0c;书上的源代码是在Jupyter Notebook上运行的&#xff0c;较为分散&#xff0c;本文将代码集中起来&#xff0c;并加以完善&#xff0c;全部用vscode在python 3.9.18下测试通过&…

基于Linux操作系统的Docker容器安装MySQL随笔

1、在Linux上安装Docker容器 cd /etc/yum.repos.d/ curl -O https://download.docker.com/linux/centos/docker-ce.repo sed -i s/$releasever/8/g docker-ce.repo yum install -y docker-ce 2、修改Docker默认镜像仓库&#xff0c;然后启动Docker容器 sudo mkdir -p /etc/do…

栈和队列(Stack、Queue)

目录 前言&#xff1a; 栈&#xff1a; 栈的方法&#xff1a; 栈的源码&#xff1a; 队列&#xff1a; Queue和Deque接口&#xff1a; 队列的一些方法&#xff1a; Queue源码&#xff1a; 双端队列&#xff1a; 总结&#xff1a; 前言&#xff1a; 栈其实就是吃了吐…

ChatGPT4 教你如何完成SQL的实践应用

对数据库的各项应用与操作都离不开SQL来对数据进行增删改查。 例如 &#xff1a; 有一张某公司职员信息表如下&#xff1a; 需求1&#xff1a;在公司职员信息表中&#xff0c;请统计各部门&#xff0c;各岗位下的员工人数。 如果这个SQL语句不会写或者不知道怎么操作可以交给…

蓝桥杯2023年真题(1)

1.分糖果 #include <iostream> using namespace std; int a 9, b 16, c 7, d 2, e 5; int ans 0; //u是当前第几个分糖果的小朋友&#xff0c;x和y是还剩的糖果 void dfs(int u, int x, int y){if(u > c){//如果都为0&#xff0c;就是已经分完了if(!x &&…

【MySQL】—— 学习日期函数计算员工入职时间并进行倒排

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​&#x1f4ab;个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-Rry9CmFGqnDVdoiQ {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…

vue之elementUi的el-select同时获取value和label的两种方法

一、通过ref的形式&#xff08;推荐&#xff09; <template><div class"root"><el-selectref"optionRef"v-model"value"placeholder"请选择"style"width: 250px"><el-optionv-for"item in optio…

Java:集合以及集合进阶 --黑马笔记

一、集合概述和分类 1.1 集合的分类 除了ArrayList集合&#xff0c;Java还提供了很多种其他的集合&#xff0c;如下图所示&#xff1a; 我想你的第一感觉是这些集合好多呀&#xff01;但是&#xff0c;我们学习时会对这些集合进行分类学习&#xff0c;如下图所示&#xff1a;…

Spring AI - 使用向量数据库实现检索式AI对话

Spring AI - 使用向量数据库实现检索式AI对话 Spring AI 并不仅限于针对大语言模型对话API进行了统一封装&#xff0c;它还可以通过简单的方式实现LangChain的一些功能。本篇将带领读者实现一个简单的检索式AI对话接口。 一、需求背景 在一些场景下&#xff0c;我们想让AI根据…

【python】网络爬虫与信息提取--requests库

导学 当一个软件想获得数据&#xff0c;那么我们只有把网站当成api就可以 requests库:自动爬取HTML页面&#xff0c;自动网络请求提交 robots协议&#xff1a;网络爬虫排除标准&#xff08;网络爬虫的规则&#xff09; beautiful soup库&#xff1a;解析HTML页面 工具&…

【安装记录】安装 netperf 和 perf

这是一篇发疯随笔X.X 我的环境是虚拟机debian12&#xff0c;出于种种原因&#xff0c;之前直接使用apt-get install netperf apt-get install perf指令直接安装&#xff0c;报错找不到包 然后上网搜了一堆教程&#xff0c;有说下载netperf源码编译的&#xff0c;那些教程里面有…

SPSS双变量相关分析

双变量相关分析通过计算皮尔逊简单相关系数、斯皮尔曼等级相关系数、肯德尔等级相关系数及其显著性水平展开。其中皮尔逊简单相关系数是一种线性关联度量&#xff0c;适用于变量为定量连续变量且服从正态分布、相关关系为线性时的情形。如果变量不是正态分布的&#xff0c;或具…

Windows安全中心显示页面不可用

2024年2月过年当天重装电脑之后&#xff0c;第二天&#xff08;还是第三天&#xff09;安全中心开始提示如标题所示的问题。 问题环境 Windows 11 家庭中文版23H2安装日期2024/‎2/‎10 我解决之前没有截图&#xff0c;所以此处放一个别人的图做示例。 实际解决方式 搜索了…

假期刷题打卡--Day29

1、MT1224棋盘 求一个N*N棋盘中的方块总数。 格式 输入格式&#xff1a; 输入整型N 输出格式&#xff1a; 输出整型 样例 1 输入&#xff1a; 2输出&#xff1a; 5备注 考虑到取值范围&#xff0c;可用long整型定义变量 分析过程 这个题目的意思是&#xff0c;在这…

失去中国市场的三星仍是全球第一,但中国手机无法失去海外市场

随着2023年分析机构公布全球手机市场和中国手机市场的数据&#xff0c;业界终于看清中国市场早已没有以前那么重要&#xff0c;三星、苹果这些国际品牌对中国市场的依赖没有他们想象的那么严重&#xff0c;相反中国手机对海外市场比以往任何时候都要更依赖了。 三星在2023年被苹…

【Linux】模块参数

&#x1f525;博客主页&#xff1a;PannLZ &#x1f38b;系列专栏&#xff1a;《Linux系统之路》 &#x1f94a;不要让自己再留有遗憾&#xff0c;加油吧&#xff01; 模块参数 像用户程序一样&#xff0c;内核模块也可以接受命令行参数。首先应该声明用于保存命令行参数值的变…

Spring Native 解放 JVM

一、Spring Native 是什么 Spring Native可以通过GraalVM将Spring应用程序编译成原生镜像&#xff0c;提供了一种新的方式来部署Spring应用。与Java虚拟机相比&#xff0c;原生镜像可以在许多场景下降低工作负载&#xff0c;包括微服务&#xff0c;函数式服务&#xff0c;非常…

一、西瓜书——绪论

第一章 绪论 1.独立同分布 通常 假设 样本空间 中 全 体样 本 服 从 一 个 未 知 “ 分 布 ” ( d i s t r i b u t i o n ) D , 我们获得的每个样本都是独立地从这个分布上采样获得的&#xff0c; 即 “ 独 立同 分布 ” ( i n d e p e n d e n t a n d i d e n t ic a …

配置VMware实现从服务器到虚拟机的一键启动脚本

正文共&#xff1a;1666 字 15 图&#xff0c;预估阅读时间&#xff1a;2 分钟 首先祝大家新年快乐&#xff01;略备薄礼&#xff0c;18000个红包封面来讨个开年好彩头&#xff01; 虽然之前将服务器放到了公网&#xff08;成本增加了100块&#xff0c;内网服务器上公网解决方案…

二叉树和堆(优先队列)

前言&#xff1a; 本章会讲解二叉树及其一些相关练习题&#xff0c;和堆是什么。 二叉树&#xff1a; 二叉树的一些概念&#xff1a; 一棵二叉树是有限节点的集合&#xff0c;该集合可能为空。二叉树的特点是每一个节点最多有两个子树&#xff0c;即二叉树不存在度大于2的节点…