数学建模——图与网络(2)——图与网络的基本概念

一、无向图

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

  1. 星形表示法邻接表表示法在实际算法实现中都是经常采用的。
    • 星形表示法的优点是占用的存储空间较少,并且对那些不提供指针类型的语言(如 FORTRAN 语言 等)也容易实现。
    • 邻接表表示法对那些提供指针类型的语言(如 C 语言等)是方便的, 且增加或删除一条弧所需的计算工作量很少,而这一操作在星形表示法中所需的计算工作量较大(需要花费 O(m)的计算时间)。有关“计算时间”的观念是网络优化中需要考虑的一个关键因素。
  2. 当网络不是简单图,而是具有平行弧(即多重弧)时,显然此时邻接矩阵表示法是不能采用的。其他方法则可以很方便地推广到可以处理平行弧的情形。
  3. 下列方法可以很方便地推广到可以处理无向图的情形,但由于无向图中边没有方向,因此可能需要做一些自然的修改。

* 关于网络图表示法的相关说明2

  1. 为了在计算机上实现网络优化的算法,首先我们必须有一种方法(即数据结构在计算机上来描述图与网络。一般来说,算法的好坏与网络的具体表示方法,以及中间结果的操作方案是有关系的
  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. 定义

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

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 间存在道路,则称uv 连通(connected)。 v,u 间的最短轨的长叫做 v,u 间的距离。记作d(u,v).
  • 连通图:若图G的任意两个顶点均连通,则称G是连通图。
  • 两个结论:
    • 图P是一条的充要条件是P是连通的,且有两个度为1的顶点其余顶点的度为2
    • 图C是一个的充要条件是C是各顶点的度均为2连通图
发布了16 篇原创文章 · 获赞 28 · 访问量 8917

猜你喜欢

转载自blog.csdn.net/NoBuggie/article/details/103163902