图:G = (V, E) Graph = (Vertex, Edge)
- V: 顶点(数据元素)的 有穷非空集合
- E: 边的有穷集合
无向图:每条边都是无方向的
有向图:每条边都是有方向的
完全图:任意两个点都有一条边相连
稀疏图:有很少边或弧的图(e<nlogn)
稠密图:有较多边或弧的图
权与网:途中边或弧所具有的相关数称为权,表明从一个顶点到另一个顶点的距离或耗费,带权图称为网
邻接:有边/弧相连的两个顶点之间的关系
- 存在(Vi,Vj), 则称为Vi和Vj互为邻接点;
- 存在<Vi, Vj>, 则称Vi邻接到Vj,Vj邻接于Vi
关联:边/弧与顶点之间的关系,存在(Vi, Vj)/<Vi, Vj>, 则称该边/弧关联(依附)与Vi和Vj
顶点的度:与该顶点相关联的边的数目,记为TD(v),在有向图中,顶点的度等于该顶点的入度和出度之和
- 顶点v的入度是以v为终点的有向边的条数,记作ID(v)
- 顶点v的出度是以v为始点的有向边的条数,记作OD(v)
- 例:图中各顶点的度
路径:接续的边构成的顶点序列
路径长度:路径上边或弧的数目/权值之和
回路(环):第一个顶点和最后一个顶点相同的路径
简单路径:除路径起点和终点可以相同外,其余顶点均不相同路径
简单回路(简单环):除路径起点和终点相同外,其余顶点均不相同的路径
连通图(强连通图):在无(有)向图G = (V, {E})中,若对任何两个顶点v、u都存在从v到u的路径,则称G是连通图(强连通图)
子图:设有两个图G = (V, {E})、G1 = (V!, {E1}),若V1 ⊆ V,E1 ⊆ E,则称G1是G的子图
例:( b )、( c )是( a )的子图
连通分量(强连通分量):
- 无向图G的极大连通子图称为G的连通分量
- 极大连通子图的意思是:该子图是G连通子图,将G的任何不在该子图中的顶点加入,子图不再是连通的
- 有向图G的极大强连通子图称为G的强连通分量
- 极大连通子图的意思是:该子图是G强连通子图,将G的任何不在该子图中的顶点加入,子图不再是强连通的
极小连通子图:该子图是G的连通子图,再该子图中删除任意一条边,子图不再连通
生成树:包含无向图G所有顶点的极小连通子图
生成森林:对非连通图,由各个连通分量的生成树的集合
有向树:当有向图中仅有一个顶点的入度为0,且其余顶点的入度均为1,此时该图是一个有向树