文章目录
一、无向图
1.定义
2. 相关概念
- V(G):顶点集或节点集,其中的元素vi为一个顶点或节点。
- E(G):边集,其中的元素ek=(vi, vj) 为一条从vi到 vj的边。
- 端点
- 关联
- 顶点相邻、边相邻
- 赋权无向图(无向网络):边上赋权的无向图。我们对图和
网络不作严格区分,因为任何图总是可以赋权的。 - 有限图:一个图称为有限图,如果它的顶点集和边集都有限。图G 的顶点数用符号| V |或ν (G)表示,边数用| E |或ε (G)表示。
当讨论的图只有一个时,总是用G 来表示这个图。从而在图论符号中我们常略去字母G ,例如,分别用V, E, ν 和 ε 代替V (G),E(G),ν (G)和ε (G)。 - 环:端点重合为一点的边称为环(loop)。
- 简单图:一个图称为简单图(simple graph),如果它既没有环也没有两条边连接同一对顶点。
二、有向图
1. 定义
2. 相关概念
- V:顶点集或节点集,其中的每一个元素vi称为该图的一个顶点或节点;
- A:弧集(arc set),其中的每一个元素ak=(vi, vj) ,被称为一条从vi到 vj的弧(arc);
- 尾、头、出弧、入弧
- 基础图:对应于每个有向图D,可以在相同顶点集上作一个图G,使得对于D的每条弧,G有一条有相同端点的边与之相对应。这个图称为D的基础图。
- 定向图:给定任意图G,对于它的每个边,给其端点指定一个顺序,从而确定一条弧,由此得到一个有向图,这样的有向图称为G的一个定向图。
三、完全图、二分图
1. 定义
2. 相关概念
- 完全图
- 二分图
- 完全二分图
四、子图
1. 定义
2. 相关概念
- 子图
- 母图
- 支撑子图(生成子图)
五、顶点的度
1. 定义
2. 相关概念
- 度
- 奇顶点
- 偶顶点
- 所有边的度之和是边数的2倍
- 任意一个图的奇顶点的个数是偶数
六、图与网络的数据结构
* 关于网络图表示法的相关说明1
- 星形表示法和邻接表表示法在实际算法实现中都是经常采用的。
- 星形表示法的优点是占用的存储空间较少,并且对那些不提供指针类型的语言(如 FORTRAN 语言 等)也容易实现。
- 邻接表表示法对那些提供指针类型的语言(如 C 语言等)是方便的, 且增加或删除一条弧所需的计算工作量很少,而这一操作在星形表示法中所需的计算工作量较大(需要花费 O(m)的计算时间)。有关“计算时间”的观念是网络优化中需要考虑的一个关键因素。
- 当网络不是简单图,而是具有平行弧(即多重弧)时,显然此时邻接矩阵表示法是不能采用的。其他方法则可以很方便地推广到可以处理平行弧的情形。
- 下列方法可以很方便地推广到可以处理无向图的情形,但由于无向图中边没有方向,因此可能需要做一些自然的修改。
* 关于网络图表示法的相关说明2
- 为了在计算机上实现网络优化的算法,首先我们必须有一种方法(即数据结构)在计算机上来描述图与网络。一般来说,算法的好坏与网络的具体表示方法,以及中间结果的操作方案是有关系的。
- 在下面数据结构的讨论中,我们首先假设G = (V, A)是一个简单有向图,| V |= n, | A |= m,并假设V中的顶点用自然数1, 2, …, n表示, A中的弧用自然数1,2,… ,m表示。对于有多重边或无向网络的情况,我们只是在讨论完简单有向图的表示方法之后,给出一些说明。
1. 邻接矩阵表示法
1. 定义
2. 重点内容
- 定义:邻接矩阵表示法是将图以邻接矩阵的形式存储在计算机中。
- 如何表示?:如果两节点之间有一条弧,则邻接矩阵中对应的元素为 1;否则为0。
- 优点:该表示法简单、直接。
- 缺点:在邻接矩阵的所有n2个元素中,只有m个为非零元。如果网络比较稀疏,这种表示法浪费大量的存储空间,从而增加了在网络中查找弧的时间。
- 权重邻接矩阵(无向图和有向图的权重邻接矩阵):对于网络中的权,也可以用类似邻接矩阵的n × n矩阵表示。只是此时一条弧所对应的元素不再是1,而是相应的权而已。如果网络中每条弧赋有多种权,则可以用多个矩阵表示这些权。
3. 无向图的权重邻接矩阵
4. 有向图的权重邻接矩阵
2. 关联矩阵表示法
1. 定义
扫描二维码关注公众号,回复:
10814503 查看本文章
2. 重点内容
- 定义:关联矩阵表示法是将图以关联矩阵(incidence matrix)的形式存储在计算机中
- 如何表示?:在关联矩阵中,每行对应于图的一个节点,每列对应于图的一条弧。如果一个节点是一条弧的起点,则关联矩阵中对应的元素为1;如果一个节点是一条弧的终点,则关联矩阵中对应的元素为−1;如果一个节点与一条弧不关联,则关联矩阵中对应的元素为 0。对于简单图,关联矩阵每列只含有两个非零元(一个+1,一个−1)。
- 优点:该表示法简单、直接。
- 缺点:在关联矩阵的所有nm个元素中,只有2m个为非零元。如果网络比较稀疏,这种表示法也会浪费大量的存储空间。
- 关联矩阵有许多特别重要的理论性质,因此它在网络优化中是非常重要的概念。
- 对于网络中的权,也可以通过对关联矩阵的扩展来表示。例如,如果网络中每条弧有一个权,我们可以把关联矩阵增加一行,把每一条弧所对应的权存储在增加的行中。如果网络中每条弧赋有多个权,我们可以把关联矩阵增加相应的行数,把每一条弧所对应的权存储在增加的行中。
3. 弧表表示法
1. 定义
2. 重点内容
- 定义:弧表表示法将图以弧表(arc list)的形式存储在计算机中。所谓图的弧表,也就是图的弧集合中的所有有序对。
- 如何表示?:弧表表示法直接列出所有弧的起点和终点,共需2m个存储单元,因此当网络比较稀疏时比较方便。
4. 邻接表表示法
1. 定义
2.重点内容
- 定义:邻接表表示法将图以邻接表(adjacency lists)的形式存储在计算机中。
- 图的邻接表,也就是图的所有节点的邻接表的集合。对每个节点,它的邻接表就是它的所有出弧。
- 如何表示?:邻接表表示法就是对图的每个节点,用一个单向链表列出从该节点出发的所有弧,链表中每个单元对应于一条出弧。为了记录弧上的权,链表中每个单元除列出弧的另一个端点外,还可以包含弧上的权等作为数据域。图的整个邻接表可以用一个指针数组表示。
5. 星形表示法
1. 前向星形表示法与反向星形表示法
2.重点内容
- 前向星形表示法有利于快速检索每个节点的所有出弧,但不能快速检索每个节点的所有入弧。
- 反向星形表示法能够快速检索每个节点的所有入弧。
- 在前向星形表示法中 表2的起始地址point(i)对应于表3的弧编号,表2的节点号对应于表3的起点;在反向星形表示法中 表4的起始地址rpoint(i)对应于表5的弧编号,表4的节点号对应于表5的终点。
七、轨与连通
1.定义
2. 相关概念
- 道路
- 迹:若道路W的边互不相同,则W称为迹(trail)。
- 轨:若道路W的顶点互不相同,则W称为轨(path)。
- 圈:起点和终点重合的轨叫做圈(cycle)。
- 连通、距离:若图G的两个顶点v,u 间存在道路,则称u 和v 连通(connected)。 v,u 间的最短轨的长叫做 v,u 间的距离。记作d(u,v).
- 连通图:若图G的任意两个顶点均连通,则称G是连通图。
- 两个结论:
- 图P是一条轨的充要条件是P是连通的,且有两个度为1的顶点,其余顶点的度为2;
- 图C是一个圈的充要条件是C是各顶点的度均为2的连通图。