图的基础知识(1、概念)

图G是由一个顶点集和一个边集构成的数据结构数据结构

G=(V,E)数据

其中集合

V是由顶点组成的一个非空有限集合:{V0, V1, V2 ... Vn-1}生成

E是由V中顶点的对偶构成的有限集合:{(V0, V1), (V3, V4) ... },E若是为空,则图当中只有顶点而没有边

边有2种状况,有向和无向

若是边是无向的,(Vi, Vj) = (Vj, Vi),该图称为无向图

若是边是有向的,<Vi, Vj> != (Vj, Vi),该图称为有向图,这个时候,边称为弧,<Vi, Vj>当中Vi称为弧尾,Vj称为弧头

 

邻接点

无向图中,若是存在一条边(Vi, Vj),则顶点Vi和Vj互为邻接点

有向图中,若是存在一条弧<Vi, Vj>,能够认为是Vi邻接到Vj,Vj邻接自Vi,Vi和Vj互为邻接点

 

顶点的度、入度和出度

无向图中,与顶点V相连的边的个数,称为顶点的度,记作D(V)

有向图中,顶点V的度又分为出度和入度2个部分:

以顶点V为终点的弧的个数,称为V的入度,记作ID(V)

以顶点V为起点的弧的个数,称为V的出度,记作OD(V)

而D(V) = ID(V) + OD(V)

不管是有向图仍是无向图,一个图的定点数n,边(弧)数e和每一个顶点的度Di之间知足如下关系式:

边(弧)数e = 全部顶点度之和 / 2   

 

彻底图、稠密图和稀疏图

若是图G为无向图,任意两个顶点之间都有一条边,则G称为无向彻底图

若是有一个有n个顶点的无向彻底图,则它每一个顶点的度数应该都=n-1,那么它的各个顶点度数之和应该是n*(n-1),它的边数应该就是n*(n-1)/2,这里其实就是一个组合问题

若是图G为有向图,任意两个顶点之间都有二条弧,则G称为有向彻底图

有向彻底图的弧数应该是n*(n-1),这里其实就是一个排列问题。

 

若是一个图的边数接近彻底图,称之为稠密图

若是一个图的边数不多,称之为稀疏图

 

子图

如今有2个图 G=(V, E), G1=(V1, E1),若是V1是V的子集,E1是E的子集,则G1是G的子图。

 

路径、回路和路径长度

在无向图G当中,若是存在一个顶点序列{V1, V2, V3, V4, V5, V6},而(V1, V2), (V2, V3), (V3, V4), (V4, V5), (V5, V6)均为图G的边,那么这个顶点序列,称为V1到V6的路径,若是图G是有向的,则路径是有向的。

路径长度=路径当中边或者弧的个数

若是一个路径当中,不存在重复顶点,称为简单路径

若是一个路径当中,起点=终点,称为回路或环

除了起点和终点相同外,没有其余的重复顶点,称为简单回路或简单环

 

连通、连通份量和连通图、生成树

无向图G当中

若是顶点Vi到顶点Vj之间,至少有一条路径,则成Vi和Vj是连通的。

若是图中任意两个顶点都连通,称为连通图,不然,称为非连通图

非连通途中,任意一个极大连通子图,称为它的一个连通份量,

在连通图当中,连通份量只有一个,即其自身。而非连通图有多个连通份量。

在一个连通图当中,包含所有顶点的极小连通子图,称为该连通图的生成树。

 

强连通、强连通份量和强连通图

有向图G当中

2个顶点Vi和Vj,若是既存在从Vi到Vj的路径,也存在从Vj到Vi的路径,则成Vi和Vj之间是强连通的。

若是途中,任意两个顶点都是强连通的,则图G称为强连通图,不然称为非强连通图

在非强连通图中,任意一个极大强连通子图,称为它的一个强连通份量

任意一个强连通图只有一个强连通份量,即其自身,而非强连通图,有多个强连通份量。

 

权、带权图、有向网和无向网

在图当中,每一条边(弧)能够带一个数值,称为权

每条边都有权的无向图称为带权无向图,也成为无向网

每条弧都有权的有向图称为带权有向图,也成为有向网

相关文章
相关标签/搜索