数据结构——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个顶点形成完全图,再加上一个边,那么一定连通)

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

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

相关文章

Pr教程1-8节笔记

第一课 认识PR以及PR的学习方法 学习任务&#xff1a; 1、熟练掌握PR软件&#xff0c;同时掌握剪辑技术以及常用于制作特效的效果器。 2、认识PR软件的名称、主要功能以及用途作用。 3、明白学习PR我们能做些什么以及PR的学习方法。 知识内容&#xff1a; 1、PR是专门用于视…

Linux 基础/子目录分配/文件路径

在Linux系统中&#xff0c;整个系统只具有一个根目录“/”&#xff0c;用斜杠表示。根目录是整个文件系统的顶层目录&#xff0c;在他下面可以创建其他的目录和文件。 Linux中的子目录分配&#xff1a; /bin - 基本命令的二进制文件&#xff0c;这些命令可供所有用户使用&am…

(10)Hive的相关概念——文件格式和数据压缩

目录 一、文件格式 1.1 列式存储和行式存储 1.1.1 行存储的特点 1.1.2 列存储的特点 1.2 TextFile 1.3 SequenceFile 1.4 Parquet 1.5 ORC 二、数据压缩 2.1 数据压缩-概述 2.1.1 压缩的优点 2.1.2 压缩的缺点 2.2 Hive中压缩配置 2.2.1 开启Map输出阶段压缩&…

详解 Redis 实现数据去重

✨✨ 欢迎大家来到喔的嘛呀的博客✨✨ &#x1f388;&#x1f388;希望这篇博客对大家能有帮助&#x1f388;&#x1f388; 目录 言 一. Redis去重原理 1. Redis Set 数据结构 2. 基于 Set 实现数据去重 3. 代码示例 4. 总结 …

【正点原子STM32】TIMER 定时器(软件定时原理、定时器定时原理、分类和特性、基本定时器(影子寄存器和U事件和UI中断))

一、定时器概述 1.1、软件定时原理1.2、定时器定时原理1.3、STM32定时器分类1.4、STM32定时器特性表1.5、STM32基本、通用、高级定时器的功能整体区别 二、基本定时器 2.1、基本定时器简介2.2、基本定时器框图2.3、定时器计数模式及溢出条件2.4、定时器中断实验相关寄存器2.…

C语言第二十五弹---字符函数和字符串函数(上)

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】 目录 1、字符分类函数 2、字符转换函数 3、strlen的使用和模拟实现 4、strcpy 的模拟实现 5、strcat 的模拟实现 6、strcmp 的模拟实现 7、strncpy 函数的使用 总结…

[word] word怎么取消隐藏文字 #职场发展#微信

word怎么取消隐藏文字 Word有很多实用的技巧&#xff0c;学会了可以节省大量的时间在编辑上。今天就给大家分享下word怎么取消隐藏文字这个小技能。 1.选中内容设置 首先先显示段落符号标记(快捷鍵Ctrl Shift8)&#xff0c;之后选中文本内容。 2.设置取消隐藏的文字 点击开始…

基于 InternLM 和 LangChain 搭建你的知识库(三)

基于 InternLM 和 LangChain 搭建你的知识库 大模型开发范式 Finetune 在大型语言模型中&#xff0c;Finetune&#xff08;微调&#xff09;是一种技术&#xff0c;用于调整预训练的模型以提高其在特定任务或数据集上的表现。这种方法通常涉及以下步骤&#xff1a; 预训练模…

FreeRTOS 延迟中断处理

采用二值信号量同步 二值信号量可以在某个特殊的中断发生时&#xff0c;让任务解除阻塞&#xff0c;相当于让任务与中断 同步。这样就可以让中断事件处理量大的工作在同步任务中完成&#xff0c;中断服务例程(ISR) 中只是快速处理少部份工作。如此&#xff0c;中断处理可以说是…

【自然语言处理】:实验1布置,Word2VecTranE的实现

清华大学驭风计划 因为篇幅原因实验答案分开上传&#xff0c;答案链接http://t.csdnimg.cn/5cyMG 如果需要详细的实验报告或者代码可以私聊博主 有任何疑问或者问题&#xff0c;也欢迎私信博主&#xff0c;大家可以相互讨论交流哟~~ 实验1&#xff1a; Word2Vec&TranE的…

【动态规划】【C++算法】1563 石子游戏 V

作者推荐 【数位dp】【动态规划】【状态压缩】【推荐】1012. 至少有 1 位重复的数字 本文涉及知识点 动态规划汇总 LeetCoce:1563 石子游戏 V 几块石子 排成一行 &#xff0c;每块石子都有一个关联值&#xff0c;关联值为整数&#xff0c;由数组 stoneValue 给出。 游戏中…

java 宠物在线商城系统Myeclipse开发mysql数据库web结构jsp编程servlet计算机网页项目

一、源码特点 java 宠物在线商城系统是一套完善的java web信息管理系统 servletdaobean mvc模式&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S 模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发&…