图-概念和定理, 2022-07-01

(2022.07.01 Fri)

概念

图G由顶点(vertices)集合V和连接V中顶点的边(edge)的集合E组成。有些书上成顶点为nodes,称边为arcs。

  • 有向(directed):图中的边或者有向或者无向(undirected)。如果两个顶点u和v的连接是有序的,从u指向v,则称该边(u, v)有向。如果u和v无序,则边(u, v)无向。无向边有时被表示成{u, v},但为了简单常使用(u, v)表示。对于无向边(u, v),等价于(v, u)。无向边的两个顶点对称(symetric),有向边的两顶点非对称(asymetric)。如果图中的所有边都是无向边,称该图为无向图;相应的,所有边有向,称之为有向图(digraph)。如果图中有的边有向有的边无向,称之为混合图(mixed graph)。
  • 边的两个端点被称为边的end vertices/endpoints。如果边有向,则第一个endpoint称为源点(origin),另一个endpoint称为终点(destination)。
  • 相邻(adjacent):如果两个顶点u和v是一个边的两个顶点,则称u和v相邻。
  • 附带(incident):如果一个顶点是一条边的终点,则称这条边附带于(be incident to)这个顶点
  • 出发(outgoing)/进入(incoming)边:当一个顶点是有向边的起点,称该边是顶点的出发边;当一个顶点是一条有向边的终点,称该边是该顶点的进入边。
  • 度(degree):顶点v的度,标记为deg(v),是该顶点附带边的个数。顶点的进度(in-degree)和出度(out-degree)分别是该点的进入边数和出发边数,分别标记为indeg(v)outdeg(v)
  • 并行边(parallel edges)/多边(multiple edges):两个无向边共享相同的顶点,或两个有向边共享相同的起点和终点,比如飞机航线,两个城市之间有来往两个航班
  • 自环(self-loop):如果一条有向或无向边的两个顶点为同一点,则称该边self-loop。
  • 简单图(simple):没有并行边或自环的图称为简单图。因此简单图的边可以表示为顶点对(vertex pair)的集(set)。
  • 路径(path):路径是顶点和边交替的一个序列,该序列始于一个顶点终于一个顶点,其中每个边都是附带于其predecessor和successor顶点。如果该路径中的节点互不重复,则称该路径简单(simple)。有向路径(directed path)是路径中的边都是有向边,且沿着各边的方向行进。
  • 环(cycle):是以同一个点为起点和终点的路径,并至少包括一条边。如果该环中除了起点和终点,其他点都互不重复,则称该环简单。有向图概念类似有向边。
  • 无环(acyclic):有向图如果没有有向环,则称为无环。
  • 可达(reachable):有向图中,如果从顶点u到顶点v有有向路径,则称u到达(reaches)v,或v从u可达(v is reachable from u)。在无向图中,可达性是对称的,u可达v则v可达u。在有向图中,很可能出现u到达v但v不能到达u的情况。
  • 联通(connected):如果一个图中任意两点都有路径连接,则称该图联通。一个有向图是强联通的,如果任何两点都能到达对方。
  • 子图(subgraph):一个图如果其顶点和边是另一个图的子集,则称该图为另一个图的子图。
  • 生成子图(spanning subgraph):一个图是另一个图G的子图,且包含G的所有顶点,则该图是G的生成子图。如果图G不联通,则它的最大联通子图被称为联通分量(connected components of G)。
  • 森林(forest):没有环的图成为森林。
  • 树(tree):联通的树,即无环的联通图称为树。
  • 生成树(spanning tree):图的生成树是树形生成子图。

定理

  • 图G中有m条边,顶点集V,则有

    说明:在计算度时,每条边都会被它的两个顶点计算一次,所以顶点度的和是边数的2倍。
  • 有向图G有m条边,和顶点集合V,有
  • 图G是简单图,含有n个顶点和m条边,若G无向,则有,如果G有向,则有。即,n个顶点的图,其边数为。
    说明:用排列、组合的思路解决。
  • 图G是无向图,有n个顶点和m条边
    • 如果G联通,则
    • 如果G是树,则
    • 如果G是森林,则

Reference

1 Goodrich and etc., Data Structures and Algorithms in Python

你可能感兴趣的:(图-概念和定理, 2022-07-01)