图 (数学)

在离散数学中，图（graph）是用于表示物体与物体之间存在某种关系的结构。数学抽象后的“物体”称作节点或顶点（vertex, node, point），节点间的相关关系则称作边。在描绘一张图的时候，通常用一组点或小圆圈表示节点，其间的边则使用直线或曲线。
图中的边可以是有方向或没有方向的。例如在一张图中，如果节点表示聚会上的人，而边表示两人曾经握手，则该图就是没有方向的，因为甲和乙握过手也意味着乙一定和甲握过手。相反，如果一条从甲到乙的边表示甲欠乙的钱，则该图就是有方向的，因为“曾经欠钱”这个关系不一定是双向的。前一种图称为无向图，后一种称为有向图。
图是图论中的基本概念。1878年，詹姆斯·西尔维斯特首次使用“图”这一名词：他用图来表示数学和化学分子结构之间的关系（他称为“化学图”，chemico-graphical image）。
定义.
在图论中，图的定义有很多。下面是一些比较基本的定义方式以及与它们相关的数学结构。
图.
一张图（为了和有向图区分，也称无向图；为了和多重图区分，也称简单图）是一个二元组，其中集合中的元素称为节点，集合中的元素是两个节点组成的无序对，称为边。集合称为点集，称为边集。
一条边formula_1上的两个节点和称作这条边的顶点或端点；也说这条边连接了节点和，或这条边与和关联（incident）。一个节点可以不属于任何边，即它不与任何节点相连。由于formula_1是无序对，formula_1和formula_4表示的是同一个元素。
更一般地，多重图的定义中允许同一对节点之间存在多条不同的边。在特定语境中，多重图也可以直接称作图。此时，在上面的定义中，集合"E"应该为多重集。
有时，图的定义中允许自环（简称环，），即一条连接一个节点和其自身的边。允许自环的图也称为自环图。
点集"V"一般是有限集；这意味着边集"E"也是有限集（不考虑多重图）。相对地，中的点集可以是无限的。然而，由于有限图中的结论大多不能延伸到无穷图，无穷图通常更被视为一种特殊的二元关系。
一个点集为空集的图称为空图（因此边集也是空集）。图的阶（order）是指其中节点的数量，即。图的边数是指其边的数量，即。图的大小（size）一般也指图的边数。但在一些语境中，例如描述算法复杂度的时候，图的大小是指（否则非空图的大小也有可能是0）。节点的度（degree或valency）是指连接到该节点的边的数量；对于允许自环的图，环要算做两条边（因为两端都连接到这个节点）。
如果一个图的阶是，则其节点的度最大可能取（对于允许自环的图则是），而边最多可能有条(对于允许自环的图则是）。
在图的定义中，边的概念定义了节点上的一个对称关系，即“邻接”关系（adjacency relation）。具体地说，对于两个节点和，如果formula_1是一条边，则称它们是邻接的。一张图因此可以用其邻接矩阵"A"来表示，即一个formula_6的矩阵，其中每个元素"Aij"表示节点"i"和"j"之间的边的数量。对于一个简单图，总有formula_7，分别表示“不相连”和“相连”，而formula_8（即一条边的两个顶点不能相同）。允许自环的图上formula_9的取值可以是非负整数，而多重图则允许任何formula_10的取值都是非负整数。无向图的邻接矩阵是对称阵（formula_11）。
有向图.
边为有方向的图称作有向图（directed graph或digraph）。
有向图的一种比较严格的定义是这样的：一个二元组formula_12，其中
为了和多重图区分，这样的有向图也称为有向简单图。
在从formula_15到formula_16的边formula_17 上，节点formula_15和formula_16称作这条边的顶点，其中formula_15是起点或尾（tail），formula_16是终点或头。也说这条边连接了节点formula_15和formula_16、这条边与节点formula_15和formula_16关联。一张有向图中的节点可以不属于任何一条边。边formula_26称为边formula_17的反向边。
节点的出度（out-degree）是指起点为该节点的边的数量；节点的入度（in-degree）是指终点为该节点的边的数量。
更一般地，如果一张有向图允许多条头尾都分别相同的边，则称这样的图为有向多重图，这样的边称为多重边。一种允许多重边的有向图定义方法如下：一个有向图是这样的三元组formula_28：
自环是指一条起点和终点相同的边。前面的两个定义都不允许自环，因为若节点formula_15上有一个自环，则边formula_33存在；但这样的边不在formula_34中。因此，如果要允许自环，则上面的定义要做修改：对于有向简单图，formula_30的定义应该修改为formula_36；对于有向多重图，formula_37的定义应该修改为formula_38。为了避免定义不清，这样的图分别称作允许自环的有向简单图或允许自环的有向多重图。
在允许自环的有向简单图formula_39中，边是formula_13上的一个formula_41，称作formula_39上的邻接关系。 
对于顶点是formula_15和formula_16的边formula_17，我们说formula_15和formula_16是彼此邻接的，记作formula_48。
混合图.
边既可以有向、也可以无向的图称作混合图。混合简单图是一个多元组，而混合多重图则是多元组，其中"V"、"E"（无向边集）、"A"（有向边集）、"ϕ""E"、"ϕ""A"的定义可以参考前面的无向图和有向图定义。在此定义下，有向图和无向图是混合图的特殊情况。
赋权图.
赋权图（weighted graph，也称加权图、网络（network））是指每条边都对应有一个数字（即“权重”，weight）的图。根据具体问题，权重可以表示诸如费用、长度或容量等意义。这样的图会出现在最短路径问题和旅行商问题等问题中。
特殊的图.
正则图.
正则图是指每个节点的邻居（neighbor）数量都相同的图，即每个节点的度都相同的图。节点的度为"k"的正则图也称作"k"-正则图。
完全图.
完全图（complete graph）是指每对节点之间都有一条边相连的图。一张完全图包含简单图所有可能出现的边。
有限图.
有限图（finite graph）是指点集和边集是有限集的图。否则，则称为无限图。在不加说明的情况下，图论中讨论的图大多是有限图。
连通图.
在无向图中，如果存在"x"和"y"之间的路径，则称此两节点的无序对formula_1是连通的；否则，则称此两点是非联通的。
连通图是指每对节点都连通的无向图。否则，则称图是非连通图。
在有向图中，如果存在"x"和"y"之间的有向路径，则称此两节点的有序对formula_1是强连通的。此外，若将图中的所有边都换为无向边，得到的无向图中存在"x"和"y"之间的路径，则称此两节点是弱连通的。否则，则称此两点是非联通的。
强连通图是指每对节点都强连通的有向图。此外，弱连通图是指每对节点都弱联通的有向图。否则，则称图是非连通图。
对于一张图，若不存在大小为的点集或边集，使得从图中移除该集合后，图就变为非连通图，则称该图是'或'。"k"-点连通图通常也简称"k"-连通图。
二分图.
二分图（bipartite graph）是指这样的简单图：其点集可以被划分称两个集合"W"和"X"，其中"W"中的任意两个节点之间没有边相连，"X"中的任意两个节点之间也没有边相连。二分图是点着色色数为2的图。
若一张图的点集是两个集合"W"和"X"的无交并，使得"W"中的任意节点都和"X"中的所有节点邻接，且"W"或"X"之内没有边，则称此图是完全二分图。
平面图.
平面图是指可以将其节点和边画在平面上，而没有两边相交的图。
循环图.
阶为的循环图（cycle graph）或环形图（circular graph）是指其节点可以列为"v"1, "v"2, …, "v""n"，使得图中的边为formula_69，其中"i"=1, 2, …, "n" − 1，以及formula_70。循环图的另一种定义是所有点的度都为2的连通图。如果循环图是另一个图的子图，则它是那个图中的一个环。
树和森林.
树是指任意两点之间都有且仅有一条路径的无向图。等价地，树是一个连通无环无向图。
森林是指任意两点之间至多仅有一条路径的无向图。等价地，森林是一个无环无向图，或一组树的无交并。
其它特殊的图.
一些进阶的特殊图包括：
图运算.
图上可以进行一些运算或变换，使一个图变为另一个图：
图的推广.
在超图中，允许一条边连接多于两个节点。
无向图可以看作是由1-单纯形（边）和0-单纯形（节点）组成的单纯复形。由此，复形成为图的推广，其中允许维度更高的单纯形。
图可以看作是一种拟阵。
在模型论中，图是一个结构。这样一来，边的数量可以是任意基数。参见图极限。
在计算生物学中，推广了无向图的定义。
在地理信息系统中，为了进行道路网络或电网的时空分析而提出的的定义参考了图，并借用了许多图论的概念。