[入门必看]数据结构6.1:图的基本概念

news2024/11/20 21:22:38

[入门必看]数据结构6.1:图的基本概念

  • 第六章 图
  • 6.1 图的基本概念
    • 知识总览
      • 6.1.1 图的基本概念
    • 6.1.1 图的基本概念
      • 图的定义
      • 图逻辑结构的应用
      • 无向图、有向图
      • 简单图、多重图
      • 顶点的度、入度、出度
      • 顶点-顶点的关系描述
      • 连通图、强连通图
      • 研究图的局部——子图
      • 连通分量
      • 强连通分量
      • 生成树
      • 生成森林
      • 边的权、带权图/网
      • 带权图的应用举例
      • 几种特殊形态的图
  • 知识回顾与重要考点
    • 6.1.1 图的基本概念


第六章 图

小题考频:33
大题考频:11


6.1 图的基本概念

难度:☆☆☆☆

知识总览

6.1.1 图的基本概念

在这里插入图片描述


6.1.1 图的基本概念

图的定义

在这里插入图片描述

A、B、C……这些元素的集合就是顶点集V,图G中顶点个数也成为图G的阶;
连接各个顶点的边的集合就是边集E

注意。图里面的一条边,连接的u,v两个顶点必须是刚才给出的顶点集中的顶点,边的两头必须连着顶点。

一个图的顶点集不可以为空,边集可以为空


图逻辑结构的应用

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


无向图、有向图

在这里插入图片描述

无向边,简称边;有向边,简称弧。

无向边(v,w)=(w,v)这两种表述方式是等价的;
有向边<v,w>≠<w,v>是不等价的,方向刚好相反。
有向边<v,w>,v称为弧尾,w称为弧头,弧尾是没有箭头的这一边,弧头是有箭头的这一边

用集合的方式表示左边的无向图:
在这里插入图片描述
此处用圆括号表示一条边
 
用集合的方式表示右边的有向图:
在这里插入图片描述
此处用尖括号表示弧,如果弧的两个元素位置互换,表示两个相反的弧


简单图、多重图

在这里插入图片描述

简单图:不存重复边和顶点连向自身的边
数据结构教程中默认探讨“简单图”

因为绝大多数问题都可以用简单图来解决:
在这里插入图片描述

思考,如何描述社交达人、微博大V、吃瓜指数呢?

研究连接一个结点的边有多少条是一个有现实意义的事情。


顶点的度、入度、出度

在这里插入图片描述

无向图:
顶点v的度:依附于顶点v的边的条数
 
有向图:
入度:以v为终点的有向边的条数
出度:以v为起点的有向边的条数
顶点v的度:入度和出度之和

无向图:
全部顶点度之和=边数2倍
 
有向图:
入度之和=出度之和=弧的条数


顶点-顶点的关系描述

在这里插入图片描述

路径:两个顶点之间的路径,指的就是顶点序列。有向图中路径方向要与弧的方向一致。
回路:第一个顶点和最后一个顶点相同的路径称为回路或环。
简单路径:路径序列中,顶点不重复出现。
简单回路:除第一个顶点和最后一个顶点外,其余顶点不重复出现。
路径长度:路径上边的数目
点到点的距离:最短路径称为距离,若不存在路径记距离为无穷(∞)

无向图中,若从顶点v到顶点w有路径存在,则称v和w是连通的
有向图中,若从顶点v到顶点w和从顶点w到顶点v之间都有路径(有正向也有逆向),则称这两个顶点是强连通的


连通图、强连通图

在这里插入图片描述

对于n个顶点的无向图G,
若G是连通图,则最少有 n − 1 n-1 n1条边
若G是非连通图,则最多可能有 C n − 1 2 C_{n-1}^{2} Cn12条边,如果多加一条边,该图就会变为连通图。

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


研究图的局部——子图

在这里插入图片描述

子图首先是一个图
生成子图:包含子图中所有顶点的子图

在这里插入图片描述


连通分量

在这里插入图片描述

无向图中的极大连通子图称为连通分量
连通:每一个连通分量都是原图的一个子图,并且这些子图都是连通的。
极大:子图中包含尽可能多的顶点和尽可能多的边

在这里插入图片描述


强连通分量

在这里插入图片描述

有向图中的极大强连通子图称为强连通分量
连通:每一个强连通分量都是原图的一个子图,并且这些子图都是强连通的。
极大:子图中包含尽可能多的顶点和尽可能多的边


生成树

在这里插入图片描述

生成树:无向图中包含全部顶点的一个极小连通子图,边尽可能地少。
顶点树为n


生成森林

在这里插入图片描述

将非连通图生成连通分量

在这里插入图片描述

将连通分量生成对应的生成树

生成树的应用:修路,给多种方案选最好的。

哪个最好?看每条路的成本……


边的权、带权图/网

在这里插入图片描述

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

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


带权图的应用举例

在这里插入图片描述


几种特殊形态的图

在这里插入图片描述

无向完全图:无向图中任意两个顶点之间都存在边
若无向图的顶点数|V|=n,则 |E| ∈ [ 0 , C n 2 0, C_{n}^{2} 0,Cn2 ] = [ 0, n(n–1)/2 ]

有向完全图:有向图中任意两个顶点之间都存在方向相反的两条弧
若有向图的顶点数|V|=n,则|E| ∈ [ 0 , 2 C n 2 0,2C_{n}^{2} 0,2Cn2 = [ 0, n(n–1) ]

在这里插入图片描述

一般来说|E| < |V|log|V|时,可以将G视为稀疏图

在这里插入图片描述

树:不存在回路,且连通无向图
若|E|>n-1,则一定有回路

有向树:一个顶点的入度为0(根结点)、其余顶点的入度均为1的有向图 ,称为有向树。


知识回顾与重要考点

6.1.1 图的基本概念

在这里插入图片描述

常见考点:
对于n个顶点的无向图G,

  • 所有顶点的度之和=2|E|
  • 若G是连通图,则最少有n-1条边(树),
    若|E|>n-1,则一定有回路
  • 若G是非连通图,则最多可能有 C n − 1 2 C_{n-1}^{2} Cn12条边
  • 无向完全图共有 C n 2 C_{n}^{2} Cn2条边

对于n个顶点的有向图G,

  • 所有顶点的出度之和=入度之和=|E|
  • 所有顶点的度之和=2|E|
  • 若G是强连通图,则最少有n条边(形成回路)
  • 有向完全图共有条 2 C n 2 2C_{n}^{2} 2Cn2

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

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

相关文章

西门子物联网网关 IOT2050 杭州乐芯生态合作版 LX-IOT2050

西门子物联网网关 IOT2050 乐芯生态合作版 LX-IOT2050 •基于 IOT2050 硬件基础上安装了乐芯科技数据采集引擎&#xff0c; 提供开箱即用的物联网解决方案。 •硬件&#xff1a;基于西门子工业的高品质硬件&#xff0c;完善的国际认证资质 &#xff0c; 欧盟CE、UL、CCC认证。…

零基础小白怎么入门网络安全(黑客)?看这篇就够啦

前言 我刚入门网络安全&#xff0c;该怎么学&#xff1f;要学哪些东西&#xff1f;有哪些方向&#xff1f;怎么选&#xff1f; 不同于Java、C/C等后端开发岗位有非常明晰的学习路线&#xff0c;网路安全更多是靠自己摸索&#xff0c;要学的东西又杂又多&#xff0c;难成体系。…

会话跟踪cookie和session

什么是会话跟踪技术 会话&#xff1a;用户打开浏览器&#xff0c;访问web服务器的资源&#xff0c;会话建立&#xff0c;直到有一方断开连接&#xff0c;会话结束。在一次会话中可能包含多次请求和响应。 会话跟踪&#xff1a;一种维护浏览器状态的方法&#xff0c;服务器需…

【无标题】 Vue 路由库Router 【重点】 - 安装 - 基本使用 - 路由配置 - 路由模式 - 路由传递参数 - 路由内置对象 - 路由守卫

0.0 课程介绍 Vue 路由库Router 【重点】 安装基本使用路由配置路由模式路由传递参数路由内置对象路由守卫 Vue的内置API 【掌握】 ref Vue.set Vue.nextTick Vue.filter Vue.component Vue.use Vue.directive 1.0 Vue的路由Router 【重点】 1.1 路由作用 进行页面…

Doris---数据表设计

表的基本概念 1 Row & Column 一张表包括行&#xff08;Row&#xff09;和列&#xff08;Column&#xff09;&#xff1b; Row 即用户的一行数据。Column 用于描述一行数据中不同的字段。 doris中的列分为两类&#xff1a;key列和value列 key列在doris中有两种作用&…

【Android】【Java】播放多段视频切换时出现的短暂黑屏现象处理

逻辑描述 当A视频正在播放中&#xff0c;点击A视频跳过A视频剩余内容并加载B视频 Bug描述 在切换视频时&#xff0c;显示短暂黑屏&#xff0c;如下图所示&#xff1a; 解决思路 当看到这个bug出现时&#xff0c;第一反应是第二段视频在初始化视频时有一定的延时&#xff…

关于C语言杂记7

文章目录 关于数组二级指针字符串字符串的输入与输出字符串函数1、字符数组的输入和输出&#xff1a;2、5种相关函数&#xff1a; 关于数组 char *fruits[LEN] { // 定义一个字符指针数组&#xff0c;包含LEN个元素"apple", // 初始化第1个元素为字符串"a…

【C++】unordered_map和unordered_set的使用

文章目录 前言一、unordered_map的使用及性能测试二、unordered_set的使用 1.习题练习总结 前言 unordered 系列关联式容器 &#xff1a; 在 C98 中&#xff0c; STL 提供了底层为红黑树结构的一系列关联式容器&#xff0c;在查询时效率可达到O&#xff08;logN&#xff09; &a…

SDN — Google B4 SDN WAN 网络架构

目录 文章目录 目录Google B4 SDN WAN 网络B4 网络架构物理设备层局部网络控制层全局控制层Hybrid SDN 模式Google B4 SDN WAN 网络 Google 的 WAN 有 2 张网络(Two Backbones): B2(I-Scale Network):数据中心互联 Internet(POP)的网络,用于面向 Internet 用户访问,…

大象转身只需点点鼠标,爆火 DragGAN 原理浅析

出品人&#xff1a;Towhee 技术团队 作者&#xff1a;张晨 DragGAN介绍 合成满足用户需求的视觉内容往往需要对生成对象的姿势、形状、表情和布局进行灵活和精确的控制。 现有方法通过手动注释的训练数据或先前的 3D 模型获得生成对抗网络 (GAN) 的可控性&#xff0c;这通常缺乏…

保姆级教程:手把手教你拿下雅思写作7分

在留学路上&#xff0c;雅思考试是绕不开的一道坎。然而&#xff0c;众所周知&#xff0c;雅思学习热度高&#xff0c;学习难度大&#xff0c;而且很多人找不到合适的学习方法。在这里&#xff0c;我们以雅思写作中的大作文为例&#xff0c;从大作文的结构拆解、学习的任务拆分…

SSM编程---Day 02

目录 一、核心配置文件 二、junit介绍 三、自定义java注解 四、自定义注解 五、添加log4j的支持 六、sql映射文件的介绍 一、核心配置文件 1、核心配置文件中需要注意顺序 2、根节点 <!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN"…

数据结构-最小生成树Prim算法的实现

目录 一、前言 二、最小生成树 三、Prim算法 四、Prim算法的实现 一、前言 在计算机科学中&#xff0c;数据结构是一种组织和存储数据的方式&#xff0c;以便于访问和修改。数据结构是计算机科学的基础&#xff0c;它是算法的基础。在数据结构中&#xff0c;最小生成树是一…

Python调用腾讯云函数传递json数据

前言 有些时候有一些公共的方法&#xff0c;需要放在服务器上&#xff0c;在不同的电脑上使用。但是我们有没有自己的服务器&#xff0c;所以考虑将公共的方法放在腾讯云、华为云、阿里云、百度云等云平台上&#xff0c;方便在不同的电脑上复用。 我们这里使用的是腾讯云&#…

AMD Software Adrenalin Edition 23.5.1驱动发布,快速获取驱动

AMD新驱动赶在五月天发布&#xff01;AMD Software Adrenalin Edition 23.5.1驱动 &#xff0c;为部分游戏带来支持&#xff0c;以及为重要的软件带来修复。驱动人生带大家一览AMD WHQL 23.5.1驱动的优化内容。 游戏方面&#xff0c;AMD WHQL 23.5.1主要为游戏《指环王&#x…

详解MVCC相关知识点

前言&#xff1a;学习前&#xff0c;先叙述mysql相关基础知识&#xff0c;一步步了解mysql底层机制。 1.Mysql的隔离级别&#xff1a; 数据库事务的隔离级别有4个&#xff0c;由低到高依次为Read uncommitted 、Read committed、Repeatable read 、Serializable &#xff0c;这…

23种设计模式之观察者模式(Observer Pattern)

前言&#xff1a;大家好&#xff0c;我是小威&#xff0c;24届毕业生&#xff0c;在一家满意的公司实习。本篇文章将23种设计模式中的观察者模式&#xff0c;此篇文章为一天学习一个设计模式系列文章&#xff0c;后面会分享其他模式知识。 如果文章有什么需要改进的地方还请大佬…

计算机视觉与OpenCV算法学习内容总结,太详细了!

计算机视觉是一项基于数字图像和视频处理的前沿技术&#xff0c;在人工智能领域中得到了广泛应用。而OpenCV&#xff08;开源计算机视觉库&#xff09;是一款以C语言为主的跨平台计算机视觉库&#xff0c;被广泛认可为业界最优秀的计算机视觉库之一。 相比于传统的图像处理技术…

【selenium自动化测试入门】 python unittest单元测试框架

unittest又名PyUnit&#xff0c; Python单元测试框架&#xff08;The Python unit testing framework&#xff09;&#xff0c;简称为PyUnit。自从 Python 2.1 版本后&#xff0c;PyUnit成为 Python标准库的一部分。 为什么需要使用unittest单元测试框架&#xff1f; 当我们写…

老油条感叹:现在00后真的太卷了....

最近内卷严重&#xff0c;各种跳槽裁员&#xff0c;相信很多小伙伴也在准备今年的金九银十的面试计划。 在此展示一套学习笔记 / 面试手册&#xff0c;年后跳槽的朋友可以好好刷一刷&#xff0c;还是挺有必要的&#xff0c;它几乎涵盖了所有的软件测试技术栈&#xff0c;非常珍…