图的基本概念:
定义:图(Graph)是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G(V,E),其中,G表示一个图,V(vertex)是图G中顶点的集合,E(edge)是图G中边的集合。
分类:1、按有无方向分类:有向图和无向图。
无向图由顶点和边组成,有向图由顶点和弧组成, 弧有弧头(head)和弧尾(tail)两部分。
2、如果任意的两个顶点之间都存在边,叫完全图;有向的图叫有向完全图。
3、如果无重复的边或者顶点到自身的边则叫做简单图。数学表示:无向图用()表示, 有向图用<>表示。
4、带权值的图和不带权值的图。
边带权值的图又叫做网。
图的顶点和边间关系:
顶点的度(degree): 就是顶点关联边的数目。在有向图中,分为出度:方向背向顶点的边;入度:方向指向顶点的边。有向图的度为入度和出度的和。
路径长度:路径上边或者弧的数目。
联通性:
在无向图中,从一个顶点出发,有到达其他任意顶点的路径,则称这个图是联通的。具有这种性质的有向图叫做强连通图。
如果把一个有向图的所有有向边去掉方向形成的无向图被称为这个有向图的基础图,也叫基图。
有向图不是强连通,但是他的基图是连通的,则被称为弱连通。
图的表示方法:
1、邻接矩阵:使用一个顶点数组存储顶点,使用一个边数组存储顶点间是否存在边。
a[i, j] = 1 (i , j ) 属于Edge, 否则等于0。即0表示没有边,1表示有边。
带权的邻接矩阵的表示方法: