图是数据结构中非常重要的一章,这篇文章就先介绍一下图的定义和基本术语。
一,图的构成
图:Graph=(V,E)
V:顶点(数据元素)的有穷非空集合;
E:边的有穷集合。
如下面这个图,由点集和边集可以确定。
二,图的分类
图从边的方向上分为两类:
无向图:
每条边都是无方向的
有向图:
每条边都是有方向的
上面的图G1属于有向图,它的每条边都有方向。而下面的G2就属于无向图,它的边都没有方向:
完全图:
任意两个点都有一条边相连
完全图从图的大类上又分为无向完全图和有向完全图
然后就是根据图的边集和点集的数量,将图分为了:
稀疏图和稠密图
三,图的相关概念
顶点的度:
与该顶点相关联的边的数目,记为TD(v)
在有向图中, 顶点的度等于该顶点的入度与出度之和。
顶点 v 的入度是以 v 为终点的有向边的条数, 记作 ID(v)
顶点 v 的出度是以 v 为始点的有向边的条数, 记作OD(v)
问:当有向图中仅1个顶点的入度为0,其余顶点的入度均为1,此时是何形状?
答:是树!而且是一棵有向树
路径:接续的边构成的顶点序列。
路径长度:路径上边或弧的数目/权值之和。
回路(环):第一个顶点和最后一个顶点相同的路径。
简单路径:顶点不重复出现的路径
简单回路(简单环):除路径起点和终点相同外,其余顶点均不相同的路径
我们可以结合生活中的出行路径来理解
连通图(强连通图 )
在无(有)向图G=( V, {E} )中,若对任何两个顶点 v、u 都存在从v 到 u 的路径,则称G是连通图(强连通图)。
权与网
图中边或弧所具有的相关数称为权。表明从一个顶点到另一个顶点的距离或耗费。带权的图称为网。
子图
设有两个图G=(V,{E})、G1=(V1,{E1}),若V1Í V,E1 Í E ,则称 G1是G的子图。
例:(b)、(c) 是 (a) 的子图。
连通分量(强连通分量)
无向图G 的极大连通子图称为G的连通分量。
极大连通子图意思是:该子图是 G 连通子图,将G 的任何不在该子图中的顶点加入,子图不再连通。
有向图G 的极大强连通子图称为G的强连通分量。
极大强连通子图意思是:该子图是G的强连通子图,将D的任何不在该子图中的顶点加入,子图不再是强连通的。
极小连通子图:
该子图是G 的连通子图,在该子图中删除任何一条边,子图不再连通。
生成树:
包含无向图G 所有顶点的极小连通子图。
生成森林:
对非连通图,由各个连通分量的生成树的集合。