跳转至

简单图

图的定义及其相关概念

简介

图是用于表示对象之间存在某种关系的数据结构。在图中,对象称作节点或者顶点(Vertex),对象之间的关系称作边(Edge)。

图中的边可以是有方向或没有方向的。例如在一张图中,如果节点表示聚会上的人,而边表示两人曾经握手,则该图就是没有方向的,因为甲和乙握过手也意味着乙一定和甲握过手。如果一条从甲到乙的边表示甲欠乙的钱,则该图就是有方向的,因为“欠钱”这个关系不一定是双向的。前一种图称为无向图,后一种称为有向图。

在计算机科学数据结构中,可以认为无向图是一种特殊的有向图。

有向图的定义

有向图是一个二元组 G=(V,E),其中

  • V 是节点的集合;
  • E{(x,y)|(x,y)V2} 是边的集合。

(x,y) 表示节点 x 到节点 y 的边,节点 x 称为边的起点,节点 y 称为边的终点。

多重图

如果图中存在多条起点和终点均分别相同的边,这样的图为多重图,这样的边称为多重边。

自环

图中起点和终点为相同节点的边称为自环,即形如 (x,x) 的边。

简单图

不含多重边和自环的图称为简单图。

节点的度

有向图中的节点有出度和入度之分。节点的出度是指起点为该节点的边的数量;节点的入度是指终点为该节点的边的数量。

无向图不区分出度和入度。

若把图的所有顶点的度数按照非递增顺序排成一个序列,称该序列为这个图的度序列。同构图具有相同的度序列。

Havel–Hakimi算法 (根据度序列判定是否可图)

图的同构

必要条件:

  1. 边数相同,顶点数相同
  2. 度数相同的顶点数目相等,即度序列相同

加权图

加权图也称赋权图(weighted graph),指每条边都对应一个数字(即权重,weight)的图。在实际应用中,权重可以表示诸如费用、距离、容量等意义。这样的图经常出现在最短路问题和旅行商问题等问题中。

子图和生成子图

对于图 G 和 图 G,若 V(G)V(G)E(G)E(G),则称 GG 的子图。

生成子图是满足条件 V(G)=V(G)G 的子图 G

连通图

强连通图

有向无环图

二分图

欧拉图

欧拉路径

哈密尔顿图等。

图的邻接矩阵存储

图的邻接表存储


最后更新: 2021-09-14
Back to top