数据结构-图的相关定义
图-多对多
Graph(V,E),图(顶点Vertex,边Edge)
图可以没有边,只有一个顶点也叫图,但是单独的一条边,或者一个顶点连一条边,不能叫图
有向图:
无向图:
完全图:任意两个顶点都有一条边相连
无向完全图:n个顶点,n(n-1)/2条边
有向图:n个顶点,n(n-1)条边
稀疏图:有很少边或弧的图(e<nlogn,以2为底)
稠密图:有较多边或弧的图
网:边 / 弧带权的图
邻接: 有边 / 弧相连的两个顶点之间的关系
存在(vi, vj),则称vi和vj互为邻接点--->无向
存在<vi, vj>,则称vi邻接到vj,vj邻接于vi--->有向
关联 (依附):边 / 弧与顶点之间的关系
存在(vi, vj)、<vi, vj>, 则称该边 / 弧关联于vi和vj
顶点的度:与该顶点相关联的边的数目,记为TD(v)
顶点的度:在无向图中,顶点的度数之和等于边数的2倍
在有向图中,所有顶点的出度之和 = 入度之和 = 弧的数量
在有向图中, 顶点的度等于该顶点的入度与出度之和
顶点v的入度是以v为终点的有向边的条数, 记作ID(v) input
顶点v的出度是以v为始点的有向边的条数, 记作OD(v) output
用例子分析加深理解:
下图中V0有两条边,所以度为2,V1有三条边,度为3,以此类推
下图中,V0出度的有两条(V0-->V1,V0-->V2),入度有一条(V3-->V0),所以度是2+1=3
如果仅有一个顶点的入度为0,其余顶点入度均为1,是什么形状?
答案:树
路径:接续的边构成的顶点序列
路径长度:路径上边或弧的数目/权值之和
回路(环):第一个顶点和最后一个顶点相同的路径
简单路径:除路径起点和终点可以相同外,其余顶点均不相同的路径
简单回路(简单环):除路径起点和终点相同外,其余顶点均不相同的路径
连通图--无向
强连通图--有向
连通图是针对无向图的,而强连通是针对有向图的,这两者的定义均是在图中,任取两个顶点u、v,均存在u到v的路径
我们那几张图分析一下:
上图中,左图是连通图,我们不难发现,任取两个顶点,他们之间是有路径可以连接的,比如V0到V2,可以是V0-->V1-->V2的路径
右图是非连通图,V1是到不了V4的等等
上图中,左图是强连通图,任取两个顶点,都有路径能往返
而右图是非强连通,我们发现,V1是到不了V0和V3的
子图:a子图的顶点包含于b子图的顶点,同时a子图的边也包含于b子图的边,我们称a是b的子图
很显然,b、c是a的子图
有向图G 的极大强连通子图称为G的强连通分量
极大强连通子图意思是:该子图是G的强连通子图,将D的任何不在该子图中的顶点加入,子图不再是强连通的
下图很明显是一个非强连通图,因为V1到不了V0,但是如果把V1单独拿开,把V0.V2,V3构成的强连通图也单独拿开,就会变成图二
极小连通子图:该子图是G 的连通子图,在该子图中删除任何一条边,子图不再连通
生成树:包含无向图G 所有顶点的极小连通子图
在无向连通图中,极小连通子图实际上就是该图的生成树
生成森林:对非连通图,由各个连通分量的生成树的集合