本文主要内容为:图的定义以及基本术语

  • 图的定义

图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的更多相关文章

  1. 纸上谈兵: 图 (graph)

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 图(graph)是一种比较松散的数据结构.它有一些节点(vertice),在某些节 ...

  2. 从图(Graph)到图卷积(Graph Convolution):漫谈图神经网络模型 (二)

    本文属于图神经网络的系列文章,文章目录如下: 从图(Graph)到图卷积(Graph Convolution):漫谈图神经网络模型 (一) 从图(Graph)到图卷积(Graph Convolutio ...

  3. 从图(Graph)到图卷积(Graph Convolution):漫谈图神经网络模型 (一)

    本文属于图神经网络的系列文章,文章目录如下: 从图(Graph)到图卷积(Graph Convolution):漫谈图神经网络模型 (一) 从图(Graph)到图卷积(Graph Convolutio ...

  4. 算法与数据结构基础 - 图(Graph)

    图基础 图(Graph)应用广泛,程序中可用邻接表和邻接矩阵表示图.依据不同维度,图可以分为有向图/无向图.有权图/无权图.连通图/非连通图.循环图/非循环图,有向图中的顶点具有入度/出度的概念. 面 ...

  5. 从图(Graph)到图卷积(Graph Convolution):漫谈图神经网络模型 (三)

    本文属于图神经网络的系列文章,文章目录如下: 从图(Graph)到图卷积(Graph Convolution):漫谈图神经网络模型 (一) 从图(Graph)到图卷积(Graph Convolutio ...

  6. echart——关系图graph详解

    VueEchart组件见上一篇 <template> <VueEcharts :options="options" auto-resize /> </ ...

  7. 某种带权有向无环图(graph)的所有路径的求法

    // 讨论QQ群:135202158 最近做某个东西,最后用图实现了,这里总结一下算法. 假设有以下带权有向无环图(连通或非连通,我这里用的是非连通的): 每个节点(node)可能与其他节点有向地相连 ...

  8. 小白学Python(18)——pyecharts 关系图 Graph

    Graph-基本示例 import json import os from pyecharts import options as opts from pyecharts.charts import ...

  9. 【JZOJ6357】小ω的图(graph)

    description analysis 拆位从高位到低位贪心 对于当前位,如果把所有当前位为\(1\)的边塞入,\(1\)和\(n\)连通,则该位必须为\(1\) 这个是因为高位的\(1\)比所有低 ...

随机推荐

  1. 使用邮箱验证登录后台ssh,再也不怕被人攻击服务器了!

    目录 前言 安装教程 前言 之前写过使用用户名密码,以及扫描二维码方式验证后台登录ssh的文章:[点击跳转]. 但是这样还是不太保险,也存在被人利用的情况,因为别人破解你的后台你压根不知道.因此想到使 ...

  2. absolute与relative 的超越

    relative 超越了自身而已,所有位置的变化是相对于正常流下自身的表现而言 absolute  超越了父容器,位置信息是基于父容器的位置而言

  3. 使用Selenium爬取京东电商数据(以手机商品为例)

    进入京东(https://www.jd.com)后,我如果搜索特定的手机产品,如oppo find x2,会先出现如下的商品列表页: 如果点击进入其中一个商品会进入到如下图所示的商品详情页,可以看到用 ...

  4. python之《tkinter》

    1.创建窗口 import tkinter as tk window = tk.Tk() window.title('my window') window.geometry('300x100') -- ...

  5. mybatis insert转update,duplicate关键字的使用示例,及返回情况说明

    主键存在时又insert转为update某个关键字段,示例如下,注意,如果这条数据曾经不存在,此时执行insert返回条目是1,如果已存在,执行update返回条目是2!!!<insert id ...

  6. Oracle 集合类型

    集合类型 1. 使用条件: a. 单行单列的数据,使用标量变量 .    b. 单行多列数据,使用记录 [ 详细讲解请见: 点击打开链接 ]   c. 单列多行数据,使用集合 *集合:类似于编程语言中 ...

  7. 精尽 MyBatis 源码分析 - 整体架构

    该系列文档是本人在学习 Mybatis 的源码过程中总结下来的,可能对读者不太友好,请结合我的源码注释(Mybatis源码分析 GitHub 地址.Mybatis-Spring 源码分析 GitHub ...

  8. 新同事不讲“码”德,这SQL写得太野了,请耗子尾汁~

    今天来分享几个MySQL常见的SQL错误(不当)用法.我们在作为一个初学者时,很有可能自己在写SQL时也没有注意到这些问题,导致写出来的SQL语句效率低下,所以我们也可以自省自检一下. 1. LIMI ...

  9. c++11-17 模板核心知识(八)—— enable_if<>与SFINAE

    引子 使用enable_if<>禁用模板 enable_if<>实例 使用Concepts简化enable_if<> SFINAE (Substitution Fa ...

  10. freshclam

    1 3 * ** /usr/local/clamav/bin/freshclam 定时更新.定时杀毒