1、什么是图?
图是右顶点的有穷非空集合和顶点之间的集合组成 ,通常表示为:G(V,E),其中G表示一个图,V是图G的顶点的集合,E是图G中边的集合。我们只要记得,在图形结构中,结点之间的关系可以是任意的,因此图是多对多的关系。
2、图的各种定义
无向边:若顶点Vi到Vj之间的边没有方向,则称这条边为无向边,用无序偶对(Vi,Vj)来表示。如果图中任意两个顶点之间的边都是无向边,则称该图为无向图。对于无向图G1来说,G1=(V1,{E1}),其中顶点集合V1={A,B,C,D};边集合E1={ (A,B),(B,C),(C,D),(D,A),(A,C)}。在无向图中,如果任意两个顶点之间都存在边,则称该图为无向完全图。
有向边:若从顶点Vi到Vj的边有方向,则称这条边为有向边,也称弧。在有向图中,如果任意两个顶点之间都存在互为相反的两条弧,则称该图为有向完全图。 对于有向图G2来说,G2=(V2,{E2}),其中顶点集合V2={A,B,C,D};弧集合E2={,,
权:有些图的边或弧具有与它相关的数字,这种与图的边或弧相关的数叫权。这些权可以表示从一个顶点到另一个顶点的距离或耗费。这种带权的图通常称为网。
子图:假设有两个图G=(V,{E})和G‘=(V',{E'}),如果 V⊆V' 且 E‘⊆E,则称G’为G的子图。
度:顶点V的度是和V相关联的边的数目。
路径的长度:指路径上的边或弧的数目。
环:第一个顶点到最后一个顶点相同的路径称为回路或环。除了第一个顶点和最后一个顶点之外,其余顶点不重复出现的回路,称为简单回路或简单环。左图因为第一个顶点和最后一个顶点都是B,且C,D,A没有重复出现,因此是一个简单环。而右侧的环,由于顶点C的重复,它就不是简单环了。
3、连通图相关
1、什么是连通图?
在无向图G中,如果从顶点V到顶点V‘有路径,则称V和V’是连通的。如果对于图中任意两个顶点vi、vj∈E,vi和vj都是连通的,则称G是连通图。如图所示左侧A与E或F无路径,因此不是连通图,右侧顶点都是相互连通的,是连通图。
2、连通分量
无向图中的极大连通子图称为连通分量,注意连通分量的概念:
1、要是子图。
2、子图要是连通的。
3、连通子图含极大顶点数。
4、具有极大顶点数的连通子图包含依附于这些顶点的所有边。
在有向图G中,如果对于每一对vi、vj∈V,vi≠vj,从vi到vj和从vj到vi都存在路径,则称G是强连通图。
4、图的遍历
1、什么是图的遍历?
从图中某一顶点出发访问遍图中其余顶点,且使每一个顶点仅被访问一次,这一过程就叫做图的遍历。
2、深度优先遍历
深度优先遍历,也称为深度优先搜索,简称DFS。首先访问出发点v,并将其标记为已访问过;然后依次从v出发搜索v的每个邻接点w。若w未曾访问过,则以w为新的出发点继续进行深度优先遍历,直至图中所有和源点v有路径相通的顶点(亦称为从源点可达的顶点)均已被访问为止。我自己的理解可以看作一个顺时针的前序遍历。
3、广度优先遍历
广度优先遍历,又称为广度优先搜索,简称BFS。广度优先遍历类似于树的层序遍历。
5、思考题
1、有时间可以代码实现一下图的遍历。
2、有空研究下找连通网的最小生成树的两种算法,普里姆和克鲁斯卡尔算法。