图 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\)比所有低 ...
随机推荐
- IO流读写数据简单示例
常用的字节输入流有:InputStream ,FileInputStream,BufferedInputStream 常用的字节输出流有:OutputStream,FileOutputStream,B ...
- python_socket登陆验证_明文
client.py import socket import struct sk=socket.socket() sk.connect(('127.0.0.1',9005)) while True: ...
- kafak ack应答机制
ack 应答机制 对于某些不太重要的数据,对数据的可靠性要求不是很高,能够容忍数据的少量丢失, 所以没必要等 ISR 中的 follower 全部接收成功. 所以 Kafka 为用户提供了三种可靠性级 ...
- 阻塞队列的take、offer、put、add的一些比较
LinkedBlockingQueue的put,add和offer的区别 最近在学习<<Java并发编程实践>>,有很多java.util.concurrent包下的新类.Li ...
- rhel8/centos8网络网卡设置ping不通,连接不上,各种问题
[解决问题]: 1-ping不通宿主机 2-ping不通外网 3-ping不通网关 4-网络中心VMnet8 VMnet1 VMnet0 不见了 5-rhel8网络设置全攻略 环境:win10宿主机+ ...
- Python_爬虫_BeautifulSoup网页解析库
BeautifulSoup网页解析库 from bs4 import BeautifulSoup 0.BeautifulSoup网页解析库包含 的 几个解析器 Python标准库[主要,系统自带;] ...
- c++11-17 模板核心知识(八)—— enable_if<>与SFINAE
引子 使用enable_if<>禁用模板 enable_if<>实例 使用Concepts简化enable_if<> SFINAE (Substitution Fa ...
- 深度分析:Java虚拟机类加载机制、过程与类加载器
虚拟机类加载机制是把描述类的数据从 Class 文件加载到内存,并对数据进行校验.转换解析和初始化,最终形成可以被虚拟机直接使用的 Java 类型. 需要注意的是 Java 语言与其他编译时需要进 ...
- 换系统之后为什么iMindMap会提示“许可证使用的次数过多”
iMindMap是一款十分受欢迎的思维导图软件,随着12版本的上线,iMindMap新增了很多新用户,最近小编发现有不少新用户在群里反映:"为什么购买iMindMap时说可以支持换机,但是在 ...
- u盘插电脑没反应的三大原因,以及解决方法
相信大家在使用U盘的过程中免不了会遇到这样的情况:u盘虽然与电脑连接,但是插上后却没有反应.很多小伙伴都摸不着头脑不知道到底是哪里出了错.其实大家也不用过于心急,只要找到了原因便可很快得到解决. u盘 ...