图 Graph
本文主要内容为:图的定义以及基本术语
- 图的定义
- 图
图G的组成:由 数据元素的集合E 和 数据间的关系集合E 组成,记作:G = <V, E>
顶点 (vertex):数据元素,V就是顶点的有穷非空集合
边 (edge): 顶点的序偶对,例如 (v1, v2),E就是边的集合
- 子图
定义:设 G=<V, E> 是一个图,E' 是 E 的子集,V' 是 V 的子集,且 E' 中的边权 仅与 V' 中的顶点相关联,
则 G' = <V', E'> 称为 图G 的子图
特殊的子图:空图,只有一个顶点,图G本身
- 无向图
定义:代表一条边的顶点的序偶是无序的(即该边无方向)
表示:无序的序偶对用圆括号表示,例如 (v1, v2) 和 (v2, v1) 是代表同一条边
- 有向图
定义:代表一条边的顶点的序偶是有序的(即该边有方向)
表示:有序的序偶对用尖括号表示,例如 <v1, v2> 和 <v2, v1> 是代表不同的边
弧:有向图的边的别称
弧尾 / 始点:边的起点,例如 <v1, v2> 中的 v1
弧头 / 终点:边的终点,例如 <v1, v2> 中的 v2
- 带权图
定义:图的每条边边或弧都附带权(weight)
权的作用:可以用于表示从一个顶点到另一个顶点的距离,费用,代价等等
- 稀疏图:边比较少的图
- 稠密图:边比较多的图
- 完全图:任何两个顶点间都有边相关联的图
- 图的基本术语
- 无向图顶点 v 的度:与该顶点相关的边的数目,记作 D(v)
- 有向图顶点 v 的入度:以顶点 v 为终点的弧的数目,记作 ID(v)
- 有向图顶点 v 的出度:以顶点 v 为起点的弧的数目, 记作 OD(v)
- 终端顶点 / 叶子:出度为 0 的顶点
- 路径:从一个顶点到另一个顶点,中间允许经过其他顶点,有向图的路径也是有向的
- 路径长度:路径上的 边 或 弧 * 权重 之和
- 回路 / 环:路径的起点和终点是同一个顶点的路径
- 图的根:从该顶点有路径可以到达图的其他所有顶点
- 连通图:无向图的任意两个顶点有路径
- 强连通图:有向图的任意两个顶点之间有来回路径
- 连通分量:无向图中的极大连通子图
- 强连通分量:有向图强连通的极大子图
- 网络:带权的连通图
- 图的相关计算
n:表示图中顶点的数目
e:表示图中边的数目
- 无向图 e 的取值范围:[0,n(n - 1) / 2]
- 有向图 e 的取值范围:[0, n(n - 1)]
图 Graph的更多相关文章
- 纸上谈兵: 图 (graph)
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 图(graph)是一种比较松散的数据结构.它有一些节点(vertice),在某些节 ...
- 从图(Graph)到图卷积(Graph Convolution):漫谈图神经网络模型 (二)
本文属于图神经网络的系列文章,文章目录如下: 从图(Graph)到图卷积(Graph Convolution):漫谈图神经网络模型 (一) 从图(Graph)到图卷积(Graph Convolutio ...
- 从图(Graph)到图卷积(Graph Convolution):漫谈图神经网络模型 (一)
本文属于图神经网络的系列文章,文章目录如下: 从图(Graph)到图卷积(Graph Convolution):漫谈图神经网络模型 (一) 从图(Graph)到图卷积(Graph Convolutio ...
- 算法与数据结构基础 - 图(Graph)
图基础 图(Graph)应用广泛,程序中可用邻接表和邻接矩阵表示图.依据不同维度,图可以分为有向图/无向图.有权图/无权图.连通图/非连通图.循环图/非循环图,有向图中的顶点具有入度/出度的概念. 面 ...
- 从图(Graph)到图卷积(Graph Convolution):漫谈图神经网络模型 (三)
本文属于图神经网络的系列文章,文章目录如下: 从图(Graph)到图卷积(Graph Convolution):漫谈图神经网络模型 (一) 从图(Graph)到图卷积(Graph Convolutio ...
- echart——关系图graph详解
VueEchart组件见上一篇 <template> <VueEcharts :options="options" auto-resize /> </ ...
- 某种带权有向无环图(graph)的所有路径的求法
// 讨论QQ群:135202158 最近做某个东西,最后用图实现了,这里总结一下算法. 假设有以下带权有向无环图(连通或非连通,我这里用的是非连通的): 每个节点(node)可能与其他节点有向地相连 ...
- 小白学Python(18)——pyecharts 关系图 Graph
Graph-基本示例 import json import os from pyecharts import options as opts from pyecharts.charts import ...
- 【JZOJ6357】小ω的图(graph)
description analysis 拆位从高位到低位贪心 对于当前位,如果把所有当前位为\(1\)的边塞入,\(1\)和\(n\)连通,则该位必须为\(1\) 这个是因为高位的\(1\)比所有低 ...
随机推荐
- 内网安装python第三方包
内网快速安装python第三方包 内网安装包是一个很麻烦的问题,很多时候,内网的源会出现问题,导致无法安装. 这里给出一种快速在内网中安装第三方包,无需使用内网的源. 外网操作 1.根据开发环境下的所 ...
- absolute与relative 的超越
relative 超越了自身而已,所有位置的变化是相对于正常流下自身的表现而言 absolute 超越了父容器,位置信息是基于父容器的位置而言
- IDEA安装leetcode editor插件
leetcode > https://leetcode-cn.com/ 本地idea刷题可以直接同步提交,测试等相关操作 需要安装leetcode editor插件 1.idea setting ...
- JsonPath在接口自动化中的应用
我理解jsonpath于json而言,就像是xpath在XML中的作用.用来确定json中某部分数据的语言.我更喜欢叫jsonpath表达式,因为这样好像是数学问题. 以前和小伙伴一起写接口自动化的时 ...
- tensorflow的tfrecord操作代码与数据协议规范
tensorflow的数据集可以说是非常重要的部分,我认为人工智能就是数据加算法,数据没处理好哪来的算法? 对此tensorflow有一个专门管理数据集的方式tfrecord·在训练数据时提取图片与标 ...
- LVM划分磁盘及扩容缩容
lvm:logical volume monitor 逻辑卷管理器 作用: 采用lvm划分磁盘:磁盘空间不够时,方便扩展磁盘.物理卷加到卷组时被划分等大的pe,即pv是由众多pe构成.pe是卷组的最小 ...
- 常见MFC函数
1.MFC常用函数:WinExec()ExitWindowsEx()GlobalMemoryStatus()GetSystemInfo()GetSystemDirectory()GetWindowsD ...
- Natapp内网穿透服务工具
在做微信开发的时候,调用微信接口成功之后,微信会回调我们事先配置好的一个接口.由于微信的服务是在外网的,所以这个回调接口也只能是外网,而且微信要求回调接口只能是通过ICP备案的域名,不能使用IP,所以 ...
- django清理migration终极解决办法
1.django生成数据表结构的过程 在我们设计好models以后,我们可以通过以下命令生成将要同步给数据库的数据结构文件 python manage.py makemigrations 生成的文件在 ...
- C#6,C#7,V#8,C#9 的新特性总结
看了一下,下图的所有我都有用过,感觉越高的版本越好用. C# 6.0 特性 C# 7.0 Vs2017 C# 8.0 .net core 3.0+ C#9.0 .net5 C#的各种语法糖, ...