图论基础知识总结

2023-05-16

文章目录

    • 图的概念
    • 图的代数表示
      • 邻接矩阵
      • 可达矩阵
      • 完全关联矩阵
      • 拉普拉斯矩阵
      • 对称归一化拉普拉斯矩阵
      • 随机游走归一化拉普拉斯矩阵
    • 欧拉图与汉密尔顿图
    • 平面图
    • 对偶与着色
    • 数与生成树
        • 最小生成树算法:
    • 根树
    • 图的存储
      • 邻接矩阵
      • 邻接表
      • 十字链表
      • 邻接多重表

图的概念

图是由节点和连接节点之间的边组成的,与连线的长度,节点的位置没有关系。一个图是一个三元组<V(G), E(G), F>,其中V是一个非空的节点集合,E是边集合,F是从边集合E到节点序偶(无序偶或有序偶)集合上的函数。若图中边总是两个节点的关联,则图可简记为G=<G, E>。树可以是空树但图不能是空图。图的结点集不能为空但边集可以为空。

**无向图:**若图中所有边都是无向边,则图是无向图;
**有向图:**若所有边都是有向边,则图是有向图;
**混合图:**若图中既有无向边又有无向边则图为混合图;
**多重图:**还有平行边的任何一个图称为多重图
**简单图:**不含平行边和环的图称为简单图
**平凡图:**仅由一个孤立节点构成的图为平凡图;
**零图:**仅由孤立节点组成的图为零图;
完全图:图中每一对节点之间都有边相连则称为完全图
补图:给定一个图G,由图中所有节点和所有能使G称为完全图的
添加边
组成的图称为G相当于完全图的补图,简称G的补图。
**子图:**G=<V,E>,G’=<V’, E’>,其中V’,E’分别是V,E的子集,则G’是G的子图

注意!图G’ = <V’, E’>是图G=<V,E>的子图,若另一子图G’‘=<V’‘, E’‘>使得E’‘=E-E’,且V’‘中仅包含E’‘的边所关联的结点。则称 G’'是子图G’的相对于图G的补图。

**生成子图:G的子图包含G的所有结点则该子图为G的生成子图

**同构图:**图G=<V,E>及G’=<V’,E’>,若存在一一对应关系g,使得v->v’,e=(vi, vj) -> e’ = (g(vi), g(vj)),则称G于G’同构记作G数学公式: $ \simeq $G’.
两个图同构的充要条件是两个图的结点和边分别存在一一对应,且保持关联关系

**孤立节点:**图中不与任何节点邻接的节点
**邻接节点:**两个节点之间有边相连则这两个节点称为邻接点
**邻接边:**连接同一节点的两条边称为邻接边
**环(回路):**邻接同一节点的一条边

**度:**节点连接的边数记为节点的度
**出度:**指出节点的边数量
**入度:**指向节点的边数量

**定理一、**节点度数总和等于边数的二倍
**定理二、**度数为奇数的节点必定是偶数个
**定理三、**所有节点入度和等于所有节点出度和
**定理四、**n个节点的无向完全图 边数为n(n-1)/2

给定图G=<V, E>,设v0, v1, …vn是图中的结点,e1, e2,…en是图中的边,ei是关联结点vi-1和vi的边,则交替序列v0e1v1e2…envn为连接v0到vn的路。

**路径长度:**路中边的数目记为路径长度
**回路:**路径初始结点和终结结点相同的路
**通路:**一条路中所有的结点都不相同则该路称为通路
**迹:**一条路中所有的边都不相同则该路称为迹
**圈:**回路中除了起始和终止结点相同其他都不同的路

无向图
**连通:**无向图中,两个结点之间存在一条路则称节点间连通
**连通图:**图G中只有一个连通分支
**点割集:**假设无向图G=<V,E>为无向图,点集V1是V的子集。若删除V1的所有结点后,所得子图不连通,但是删除V1的任何真子集后所得子图是连通图则成V1是G的一个点割集。
**割点:**若点割集只有一个结点,则该结点为割点
**点连通度:**为产生一个不连通图需要在原图(非完全图)中删除结点的最小数目
**边割集:**假设无向图G=<V,E>为无向图,点集E1是E的子集。若删除E1的所有边后,所得子图不连通,但是删除E1的任何真子集后所得子图是连通图则成E1是G的一个边割集。
**割边:**若边割集只有一个边,则该边为割边,也叫桥
**边连通度:**为产生一个不连通图需要在原图(非平凡图)中删除边的最小数目

有向图
**可达:**有向图中,结点u到结点v之间有一条路,称结点u到v可达
**距离:**有向图中可达的结点间最短的路径长度(无向图亦适用)
**直径:**图中节点对之间距离最大的长度
**单侧连通:**有向图中任何一对结点间至少有一个结点到另一个结点是可达的
**强连通:**任何一对结点之间相互可达,则图强连通
**弱连通:**有向图G去掉边的方向后得到的无向图是联通的则该图是弱连通
**强分图:**有向图中具有强连通性质的最大子图称为强分图
**弱分图:**有向图中具有弱连通性质的最大子图称为弱分图
**单侧分图:**有向图中具有单侧连通性质的最大子图称为单侧分图

**定理一、**在具有n个结点的图中,若vi到vj存在一条路,则vi到vj必存在一条长度不大于n-1的路
**定理二、**图是强连通则必是单侧连通;是单侧连通则必是弱连通。
**定理三、**一个有向图是强连通的,当且仅当图中有一个回路,它至少包含每个结点一次
**定理四、**有向图中,每个结点位于且只位于一个强分图中

图的代数表示

邻接矩阵

图的邻接矩阵表示通过使用|V|*|V|大小的方阵表示,矩阵每个元素表示结点的邻接关系。
在这里插入图片描述
简单无向图的邻接矩阵是对称的。第i行值为1的元素数目等于结点i的出度,第j列值为1的元素数目是结点j的入度。
定理一、A为图的邻接矩阵,A^n中第i行第j列的元素等于结点i和结点j之间长度为n的路的数目

可达矩阵

对于一个简单有向图G,假设图中节点已排序,则方阵P为图G的可达矩阵
在这里插入图片描述
可达矩阵表明图中任意两个结点之间是否存在一条路。可达矩阵的计算通过邻接矩阵A计算。
在这里插入图片描述
将B中不为零的元素替换为1,得到的矩阵就是可达矩阵。

完全关联矩阵

给定图G,v1,v2,…vn和e1,e2,…eq分别为G中的点和边,则M为图的完全关联矩阵
无向图
在这里插入图片描述
在这里插入图片描述

有向图
在这里插入图片描述
在这里插入图片描述
完全关联矩阵中两行相加(相当于两个结点合并)
1)有向图中是两行分量的普通加法运算
2)无向图中是对应分量加法模2运算

拉普拉斯矩阵

对于具有n个节点的简单无向图,该图拉普拉斯矩阵L定义为
在这里插入图片描述
在这里插入图片描述
D为图的度矩阵,是一个n*n的对角矩阵,diag(v)是v的度

对称归一化拉普拉斯矩阵

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

随机游走归一化拉普拉斯矩阵

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

定理:
a. 拉普拉斯矩阵半正定
b. 拉普拉斯矩阵特征值非负
c. 最小非零特征值是图的代数连通度
d.特征值为0的数目是连通分量数目
e.对称归一化的拉普拉斯矩阵的特征值[0,2]

欧拉图与汉密尔顿图

**欧拉路径:**无孤立结点图中,每个边恰好只被访问一次(有向图中欧拉路叫单向欧拉路)
**欧拉回路:**一条回路,图中每条边访问且只访问一次
**欧拉图:**具有欧拉回路的图称作欧拉图
**哈密尔顿路径:**每个结点恰好只被访问一次
**哈密尔顿回路:**一条回路,每个结点恰好只被访问一次
**哈密尔顿图:**具有哈密尔顿回路的图称作哈密尔顿图
**闭包:**图G有n个结点,若将图G中度数之和至少是n的非邻接结点连接起来得图G’,对图G’重复上述步骤,直到不再有这样得结点对存在为止后得到得图称为原图G的闭包

**定理一、**无向图G具有一条欧拉路,当且仅当G是连通的,且有零个或两个奇数度结点
**推论一、**无向图G具有一条欧拉回路,当且仅当G是连通的,且所有结点度数全为偶数
**定理二、**图G有汉密尔顿回路,则结点集V的每个非空子集S均有G-S的连通分支数小于等于|S|
**定理三、**图G具有n个结点的简单图,若图中每一对结点度数之和大于等于n-1,则在G中存在一条汉密尔顿路
**定理四、**图G具有n个结点的简单图,若图中每一对结点度数之和大于等于n,则在G中存在一条汉密尔顿回路
**定理五、**当且仅当一个简单图的闭包是汉密尔顿图时,该简单图是汉密尔顿图

平面图

**平面图:**图G是一个无向图,若把G的所有结点和边画在平面上,且使得任何两条边除了端点外没有其它交点,称该图是一个平面图
**面:**G是一连通平面图,图中边包围的区域内没有结点和边,该区域叫G的一个面
**边界:**包围面的边构成的回路叫该面的边界
**2度结点内同构:**若两个图同构或者通过反复插入或删除度为2的结点后同构,则称两个图在2度结点内同构

**定理一、**一个有限平面图,面的次数之和等于其边数的两倍
**定理二、**欧拉定理,一个连通的平面图,v个结点e条边和r个面,欧拉公式:v-e+r=2
**定理三、**G是一个有v个结点e条边的连通简单平面图,若v>=3,则e<=3v-6

对偶与着色

对偶图:给定平面图G=<V, E>,它具有面F1, F2,…Fn,若图G=<V, E>满足一下条件则陈G是G的对偶图。
a. 图G任意一个面Fi,内部有且仅有一个结点v
i属于V

b. 图G的面Fi, Fj公共边界ek,存在且仅存在一条边ek,使ek=(vi, vj),且ek与ek相交
c. 当且仅当ek只是一个面Fi的边界时,v
i存在一个环e*k和ek相交。
在这里插入图片描述

**自对偶图:**图G的对偶图同构于G,则G是自对偶图
着色:给定一平面图,对每个结点着色使相邻结点颜色不同。着色用了n种颜色则图称为n色的。

韦尔奇。鲍威尔法对图着色:
a. 将图G种结点按照度数递增次序进行排列
b. 用第一种颜色对第一点着色,并按照排列次序,对前面着色不相邻的结点着相同颜色
c. 用第二种颜色对未着色点重复b操作,第三种颜色继续此法,直到所有结点都着上

**定理一、**对于n个结点的完全图Kn,着色数为n
**定理二、**一个至少具有三个结点的连通平面图,则G中必有一个结点u使得deg(u)<=5
**定理三、**任意平面图最多是5色的

数与生成树

**树:**连通无回路的无向图
**森林:**无回路的无向图,其每个连通分图是树
**树叶:**树种度为1的结点
**分支点:**树中度数大于1的结点
**生成树:**图的生成子图是棵树,则该树是图的生成树
**最小生成树:**图中所有生成树中树权(所有边权和)最小的生成树
**弦:**图G中不在生成树中的边称作弦
**补:**弦的集合

最小生成树算法:

a) Kruskal算法(边)
对图中边按照权值升序排序
选取权值最小的边,判断加入该边后生成的树是否产生回路,若没有就加入,若有则舍弃
重复步骤2,直到所有点都加入
b)Prim算法(点)
定义一个顶点集合S和边集合E,初始都为空
选取任意顶点X加入S
选取权值最小的边(X,Y),X在S中Y不在S中,将Y并如S,边并入E
重复步骤3直到所有点都加入S

**定理一、**任一棵树至少有两片树叶
**定理二、**连通图至少有一棵生成树
**定理三、**一条回路和任何一棵生成树的补至少有一条公共边
**定理四、**一个边割集和任何生成树至少有一条公共边

根树

**有向树:**当有向图不考虑边方向时是一棵树,该有向图称为有向树
**根树:**有向树种只有一个结点入度为0,其余结点入度为1。其中入度为0的结点叫根,出度为0的结点叫叶
**m叉树:**根树中每个结点出度小于等于m
**完全m叉树:**根树中每个结点出度恰好等于m或0
**正则m叉树:**所有树叶层次相同
**通路长度:**从树根到该结点的通路中的边数。分支点的通路长度称为内部通路长度,树叶的通路长度称为外部通路长度
**最优树:**同最小生成树

**定理一、**有完全m叉树,树叶数为t,分支点数为i,则(m-1)i = t-1
**定理二、**完全二叉树有n个分支点,且内部通路长度总和为I,外部通路长度总和为E则E=I+2n

图的存储

邻接矩阵

图的邻接矩阵通过使用|V|*|V|大小的方阵表示,矩阵每个元素表示结点的邻接关系。
在这里插入图片描述
在这里插入图片描述

简单无向图的邻接矩阵是对称的。第i行值为1的元素数目等于结点i的出度,第j列值为1的元素数目是结点j的入度。对于带权图,则矩阵的元素表示边的权重。

邻接表

图的邻接矩阵的空间复杂度巨大,通常是稀疏的。对于无向图可以采用压缩矩阵的方式存储但是对于有向图会存在大量空间浪费,因此人们设计了邻接表的方式存储。
邻接表方式主要由顺序存储和链表存储两种方式构成。图中所有结点采用顺序存储方式,对于每个结点对应一条边表(单链表),表示该结点邻接的所有结点,对于有向图而言,边表则是有向边指向的所有结点。
在这里插入图片描述
邻接表中有两个基本数据结构,顶点表结点和边表结点。顶点表结点主要存放节点的属性信息和指向第一个表边结点的指针信息。边表结点存放着边另一头结点的Id等信息(代表一条边)和指向下一个边表结点的指针。值得注意的是,同一个图,对应邻接表不一定唯一。因为根据构造顺序的不同,结果不同。

十字链表

邻接表表示有向图时,每个结点对应的边表表示结点的出度信息,无法表示入度信息。可以采用逆邻接矩阵的方式表示出度信息但不能表示入度信息,因此,考虑将邻接表与逆邻接表结合同时表示有向图的出入度信息,得到十字链表的表示方式。
在这里插入图片描述
十字链表是邻接表的加强版,是在邻接表的基础上同时考虑出入度信息。十字链表同样包含两个数据结构即顶点表结点和边表结点。顶点表结点包含三个部分分别是结点的属性信息,出度域和入度域。出度域指向该结点的所有出边构成的边表,入度域指向以该结点为终点的所有边结点构成的边表。边结点上包含着该有向边的头尾所连的结点和同头同尾的指针域,这样,弧头相同的会连在同一链表上,弧尾相同的会连在同一链表上。十字链表中有多少结点,结点表就有多少项,有多少边,边表就有多少项。
在这里插入图片描述
在这里插入图片描述

邻接多重表

邻接表表示无向图时会存在大量边信息的冗余,因为邻接表中每条边用两个结点表示的。为了降低冗余,邻接多重表用一个边结点表示边来降低冗余。具体结构如图,其中边结点存放着该边两端的结点标号,ilink指向下一条依附于顶点ivex的边;jlink指向下一条依附于顶点jvex的边。
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

图论基础知识总结 的相关文章

随机推荐

  • visualsvn server 无法访问url

    IIS 发布网站 本机能访问 其它人访问不了 看一下服务端 VisualSVN Server 的服务有没有启动 x A 34 H g6 L N s 管理 服务 VisualSVN Server 备注 做为开发机子 手动优化自己的电脑吧 否则
  • JS日期加减,日期运算

    因为是转载文章 在此标明出处 xff0c 以前有文章是转的没标明的请谅解 xff0c 因为有些已经无法找到出处 xff0c 或者与其它原因 如有冒犯请联系本人 xff0c 或删除 xff0c 或标明出处 因为好的文章 xff0c 以前只想收
  • jQuery easyui 选中特定的tab

    获取选中的 Tab 1 获取选中的 tab panel 和它的 tab 对象 2 var pp 61 39 tt 39 tabs 39 getSelected 39 3 var tab 61 pp panel 39 options 39 t
  • Server Error in '/' Application. 解决办法

    Server Error in 39 39 Application Access to the path 39 E NetWeb2 Content upFile BClientExcel 大客户部通讯录导入 xlsx 39 is denie
  • easyui-datagrid 数据出不来(样式引起的bug)

    今天任务是需要从另一个项目中将某几个功能页面移植到现有的项目中 这是比较繁琐的功能 理解要移植功能的逻辑 xff08 业务逻辑 xff0c 涉及到的表和存储过程 xff09 页面样式 这么是我遇到的一个问题之一 xff1b 我需要展现一个e
  • c#切割字符串几种方法

    1 xff0c 按单一字符切割 string s 61 34 abcdeabcdeabcde 34 string sArray 61 s Split 34 c 34 oreach string i in sArray Console Wri
  • 动态链接库与静态链接库的区别

    静态链接库与动态链接库都是共享代码的方式 xff0c 如果采用静态链接库 xff0c 则无论你愿不愿意 xff0c lib 中的指令都全部被直接包含在最终生成的 EXE 文件中了 但是若使用 DLL xff0c 该 DLL 不必被包含在最终
  • ssm——小学期实训总结

    实训总结 经过这两个星期短暂的学习 xff0c 我学习了ssm的框架搭建与web前端设计基础 在第一个星期 xff0c 老师着重为我们讲了框架的原理 搭建与运用 xff1b 而在第二个星期 xff0c 重点则转移到了小组对项目的开发与研究上
  • 节点中心性

    文章目录 度中心性 Degree Centrality 特征向量中心性 Eigenvector Centrality Katz中心性 Katz Centrality Katz index PageRank中心性PageRank算法 接近中心
  • 机器学习面试知识点总结

    文章目录 计算学习理论过拟合与欠拟合过拟合欠拟合 偏差与方差最大似然估计与贝叶斯估计极大似然估计贝叶斯决策论贝叶斯估计 特征工程与特征选择特征工程逐层归一化特征选择 模型融合融合策略 评估方法与评价指标评估方法评价指标 优化算法正则化深度模
  • Multi-view graph convolutional networks with attention mechanism

    摘要 传统的图卷积网络关注于如何高效的探索不同阶跳数 hops 的邻居节点的信息 但是目前的基于GCN的图网络模型都是构建在固定邻接矩阵上的即实际图的一个拓扑视角 当数据包含噪声或者图不完备时 xff0c 这种方式会限制模型的表达能力 由于
  • An Empirical Study of Graph Contrastive Learning

    摘要 图对比学习在图表示学习领域树立了新的范式 xff0c 不需要人工标注信息 但对GCL的分析却寥寥无几 本文通过分析一般化的GCL范式的各个部分包括增强函数 xff0c 对比模式 xff0c 对比目标和负采样技术 xff0c 然后分析各
  • Data Augmentation

    自监督深度学习模型的精确性严重依赖于训练时数据的多样性和数据量 模型要想在更复杂任务上有较好的效果一般会有大量的隐藏单元 一般在训练过程中训练隐藏单元越多需要的数据越多 xff0c 即任务复杂度与参数量与需要的数据量成正比 由于训练复杂任务
  • Semi-Supervised and Self-Supervised Classification with Multi-View Graph Neural Networks

    摘要 图神经网络在图结构数据中取得了很好的效果但是大多数的模型使用的还是叫浅层的结构 xff0c 当模型层数加深时很容易过平滑 本文基于多视图来聚合更多的信息 我们首先设计两个互补的视图来描述全局结构和节点特征相似性 xff0c 然后使用注
  • GCC: Graph Contrastive Coding for Graph Neural Network Pre-Training

    摘要 目前图表示学习在许多任务上取得了很好的效果但是都是关注于具体领域的并不具有迁移性 本文借鉴预训练思想 xff0c 设计了一个自监督图神经网络框架来在多个网络中捕获一般化的网络拓扑结构属性 我们设计的预训练任务是在多个网络之间判别子图实
  • Graph Contrastive Learning with Adaptive Augmentation

    摘要 对比学习在无监督图表示学习中取得了很好的效果 xff0c 大部分图对比学习首先对输入图做随机增强生成两个视图然后最大化两个视图表示的一致性 其中 xff0c 图上的增强方式是非常重要的部分鲜有人探索 我们认为数据增强模式应该保留图固有
  • A Survey on Graph Structure Learning: Progress and Opportunities

    文章目录 摘要引言预备知识GSL pipline Graph Structure ModelingMetric based ApproachesNeural ApproachesDirect Approaches Postprocessin
  • 图构造总结-Graph‑based semi‑supervised learning via improving the quality of the graph dynamically

    前言 本博文主要对论文中提到的图构造方法进行梳理 xff0c 论文自己提出的模型并未介绍 xff0c 感兴趣的可以阅读原文 摘要 基于图的半监督学习GSSL主要包含两个过程 xff1a 图的构建和标签推测 传统的GSSL中这两个过程是完全独
  • 超图构造综述,Hypergraph Learning: Methods and Practices

    文章目录 摘要引言基础知识Hypergraph GenerationDistance based hypergraph generationRepresentation based hypergraph generationAttribut
  • 图论基础知识总结

    文章目录 图的概念路图的代数表示邻接矩阵可达矩阵完全关联矩阵拉普拉斯矩阵对称归一化拉普拉斯矩阵随机游走归一化拉普拉斯矩阵 欧拉图与汉密尔顿图平面图对偶与着色数与生成树最小生成树算法 xff1a 根树图的存储邻接矩阵邻接表十字链表邻接多重表