图的基本概念
图的定义
图G由顶点集V和边集E组成,记为G=(V, E),其中V(G)表示图G中顶点的有限非空集;E(G)表示图G中顶点之间的关系(边)集合。若V={v?,v2,…,vn},则用IV表示图G中顶点的个数,E={(u,v)|u∈V,v∈V},用回表示图G中边的条数。
注意:线性表可以是空表,树可以是空树,但是图不可以是空图。
V一定非空,但E可以为空,此时图中只有顶点而没有边。
图逻辑结构的应用
图G | 顶点集V | 边集E |
---|---|---|
铁路网络 | 车站 | 铁路 |
公路交通地图 | 路口 | 道路 |
微信好友关系(无向图) | 用户 | 加了好友有边(无方向的边) |
微博粉丝关系(有向图) | 用户 | 关注则有边(有方向的边) |
无向图、有向图
1.有向图
若E是有向边(也称弧)的有限集合,则图G为有向图。弧是顶点的有序对,记为<v,w>,
其中v,w是顶点,v称为弧尾,w称为弧头,<v,w>称为从v到w的弧,也称v邻接到w。
2.无向图
若E是无向边(简称边)的有限集合,则图G为无向图。边是顶点的无序对,记为(v, w)或
(w,v)。可以说w和v互为邻接点。边(v,w)依附于w和v,或称边(v,w)和v,w相关联。
3.简单图和多重图
一个图G若满足:①不存在重复边;②不存在顶点到自身的边,则称图G为简单图。若图G中某两个顶点之间的边数大于1条,又允许顶点通过一条边和自身关联,则称图G为多重图。多重图和简单图的定义是相对的。数据结构课程中仅讨论简单图。
顶点的度、入度、出度
对于无向图:
顶点v的度指依附于顶点v的边的条数,记为TD(v)。
无向图的全部顶点的度之和等于边数的2倍,因为每条边和两个顶点相关联。
对于有向图:
顶点 v的度分为入度和出度,入度是以顶点v为终点的有向边的数目,记为ID(v);而出度是以顶点v为起点的有向边的数目,记为OD(v)。
顶点v的度等于其入度与出度之和,即TD(v)=ID(v)+OD(v)。
有向图的全部顶点的入度之和与出度之和相等,并且等于边数,这是因为每条有向边都有一个起点和终点。
路径
路径 – 顶点 vp到顶点 vq之间的一条路径是指顶点序列vp,vi1,Vi2,…,vim,vq
回路 – 第一个顶点和最后一个顶点相同的路径称为回路或环。
简单路径 – 在路径序列中,顶点不重复出现的路径称为简单路径。
简单回路 – 除第一个顶点和最后一个顶点外,其余顶点不重复出现的回路称为简单回路。
路径长度 – 路径上的边的数目称为路径长度。
点到点的距离 – 从顶点u出发到顶点v的最短路径若存在,则此路径的长度称为从u到v的距离。若从u到v根本不存在路径,则记该距离为无穷(∞)。
连通 – 在无向图中,若从顶点v到顶点w有路径存在,则称v和w是连通的。
强连通 – 在有向图中,若有一对顶点v和w,从v到w和从w到v之间都有路径,则称这两个顶点是强连通的。
连通图 – 在无向图中,任意两个顶点都是连通的。
强连通图 – 在有向图中,任意两个顶点都是强连通的。
【常见考点】
对于n个顶点的无向图G,
若G是连通图,则最少有n-1条边
若G是非连通图,则最多有C(2,n−1)条边
对于n个顶点的有向图G,保证其强连通的最少边数是n(形成回路)
研究图的局部 – 子图
-
子图 (Subgraph):
如果有两个图 ( G = (V, E) ) 和 ( G’ = (V’, E’) ),其中 ( V’⊆V ) 且 ( E’ ⊆ E ),则称图 ( G’ ) 是图 ( G ) 的子图。这意味着,图 ( G’ ) 包含图 ( G ) 的一部分顶点和边,但不必包括所有顶点和边。 -
生成子图 (Induced Subgraph):
如果图 ( G = (V, E) ) 和 ( G’ = (V’, E’) ) 满足 ( V’ ⊆ V ),即 ( G’ ) 是图 ( G ) 在顶点集合 ( V’ ) 上的一个子图,并且 ( G’ ) 包含所有在 ( V’ ) 中的顶点对的边,则称图 ( G’ ) 是图 ( G ) 的生成子图。换句话说,生成子图不仅包含 ( V’ ) 中的顶点,还必须包含原图中所有连接这些顶点的边。
连通分量
无向图中的极大连通子图称为连通分量。(子图尽可能大,且包含尽可能多的顶点和边)
有向图中的极大强连通子图称为有向图的强连通分量。
生成树、生成森林
生成树 – 连通图的生成树是包含图中全部顶点的一个极小连通子图。
边尽可能少,但要保持连通。
包含图中全部顶点的极小连通子图,只有生成树满足这个极小条件,对生成树而言,若砍去它的一条边,则会变成非连通图,若加上一条边则会形成一个回路。
生成森林 – 在非连通图中,连通分量的生成树构成了非连通图的生成森林。
边的权、网和带权路径长度
边的权 – 在一个图中,每条边都可以标上具有某种含义的数值,该数值称为该边的权值。
带权图/网 – 这种边上带有权值的图称为带权图,也称网。
带权路径长度 – 路径上所有边的权值之和,称为该路径的带权路径长度。
几种特殊形态的图
无向完全图 – 无向图中任意两个顶点之间都存在边
有向完全图 – 有向图中任意两个顶点之间都存在反方向的两条弧
稠密图、稀疏图 – 边数很少的图称为稀疏图,反之称为稠密图。
一般当图G满足IE|<|V|log2|V|时,可以将G视为稀疏图。
树 – 不存在回路且连通的图
n个顶点的图,E>n-1,则一定有回路
有向树 – 一个顶点的入度为0、其余顶点的入度均为1的有向图,称为有向树。