数据结构与算法-图基本概念.pptx
图的基本概念
在线性表中,数据元素之间是被串起来的,仅有线性关系,每个数据元素只有一个直接前驱和一个直接后继。在树形结构中,数据元素之间有着明显的层次关系,并且每一层上的数据元素可能和下一层中多个元素相关,但只能和上一层中一个元素相关。图是一种较线性表和树更加复杂的数据结构。在图形结构中,结点之间的关系可以是任意的,图中任意两个数据元素之间都可能相关。图是由顶点的有穷非空集合和顶点之间边的集合组成,表示为G(V,E),其中G表示一个图,V是图G中顶点的集合,E是图G中边的集合。注意点:线性表中我们把数据元素叫元素,树中将数据元素叫结点,在图中数据元素,我们则称之为顶点。线性表中可以没有数据元素,称为空表。树中可以没有结点,叫做空树。在图结构中,不允许没有顶点。逻辑关系用边来表示,边集可以是空的。什么是图
若顶点vi到vj之间的边没有方向,则这条边为无向边,表示为(vi,vj)或(vj,vi),反之为有向边(或弧),表示为<vi,vj>,其中vi称为弧尾,vj称为弧头。若图中所有边都为无向边,则该图为无向图(左下图),反之若都为有向边,则为有向图(右下图)。图的定义
在图中,若不存在顶点到其自身的边,且同一条边不重复出现,则称这样的图为简单图。如下图就不是简单图。
在无向图中,如果任意两个顶点之间都存在边,则称该图为无向完全图。含有n个顶点的无向完全图有n*(n-1)/2条边。(左下图)在有向图中,如果任意两个顶点之间都存在方向互为相反的两条弧,则称该图为有向完全图。含有n个顶点的有向完全图有n*(n-1)条边。(右下图)
有很少条边或弧的图称为稀疏图,反之称为稠密图。有些图的边或弧具有与它相关的数字,这种与图的边或弧相关的数叫做权。这些权可以表示从一个顶点到另一个顶点的距离或耗费。这种带权的图通常称为网。相邻且有边直接连接的两个顶点称为邻接点,列如下图中,V1和V4是邻接点,但V2和V4不是,因为它们之间没有直接相连。在图中,顶点所连边的数目称为度,在有向图中,由于边有方向,则顶点的度分为入度和出度。结点的入度:在有向图中,以这个结点为终点的有向边的数目。结点的出度:在有向图中,以这个结点为起点的有向边的数目。
连通图:在无向图中,如果两个顶点之间有路径,则称这两个顶点是连通的。如果图中任意两个顶点都是连通的,那么该图为连通图。无向图中的极大连通子图称为连通分量,如图,图2和图3都是图1无向图的连通分量,但图4不是,因为其没有包含极大的顶点数。
在有向图中,如果对于任意两个顶点vi和vj,都存在vi到vj和vj到vi的路径,则称那图为强连通图。在有向图中的极大强连通子图称做有向图的强连通分量。如图左图不是强连通图,因为没有顶点D到顶点A的路径,而右图则是强连通图,其也是左图的强连通分量。