码迷,mamicode.com
首页 > 其他好文 > 详细

图的定义与术语

时间:2016-03-27 12:28:42      阅读:288      评论:0      收藏:0      [点我收藏+]

标签:

图的定义与术语


 

在线性表中,每一个元素之间仅仅有一个直接前驱和一个直接后继。在树形结构中。数据元素之间是层次关系,而且每一层上的数据元素可能和下一层中多个元素相关,但仅仅能和上一层中一个元素相关。

 

但这只都不过一对一。一对多的简单模型,假设要研究如人与人之间关系就很复杂了。

万恶图为首,前边可能有些童鞋会感觉树的术语好多,可来到了图这章节,你才知道什么叫做真正的术语多!

 

图的定义

 

图(Graph)是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G(V,E)。当中。G表示一个图,V是图G中顶点的集合。E是图G中边的集合。

技术分享

 

对于图的定义。我们须要明白几个注意的地方:

  1. 线性表中我们把数据元素叫元素,树中叫结点,在图中数据元素我们则称之为顶点(Vertex)。
  2. 线性表能够没有数据元素。称为空表,树中能够没有结点,叫做空树,而图结构在咱国内大部分的教材中强调顶点集合V要有穷非空。
  3. 线性表中,相邻的数据元素之间具有线性关系,树结构中,相邻两层的结点具有层次关系,而图结构中,随意两个顶点之间都可能有关系,顶点之间的逻辑关系用边来表示,边集能够是空的。

 

图的各种奇葩定义

 

无向边:若顶点Vi到Vj之间的边没有方向,则称这条边为无向边(Edge),用无序偶(Vi,Vj)来表示。

技术分享

上图G1是一个无向图,G1={V1,E1},当中

  • V1={A,B,C,D},
  • E1={(A,B),(B,C),(C,D),(D,A),(A,C)}

 

有向边:若从顶点Vi到Vj的边有方向。则称这条边为有向边。也成为弧(Arc),用有序偶<Vi,Vj>来表示,Vi称为弧尾。Vj称为弧头。

技术分享

上图G2是一个无向图,G2={V2,E2}。当中

  • V2={A,B,C,D},
  • E2={<B,A>,<B,C>,<C,A>,<A,D>}

 

简单图:在图结构中。若不存在顶点到其自身的边,且同一条边不反复出现。则称这种图为简单图。

下面两个则不属于简单图:

技术分享

 

无向全然图:在无向图中,假设随意两个顶点之间都存在边,则称该图为无向全然图。含有n个顶点的无向全然图有n*(n-1)/2条边。

技术分享

 

有向全然图:在有向图中,假设随意两个顶点之间都存在方向互为相反的两条弧,则称该图为有向全然图。含有n个顶点的有向全然图有n*(n-1)条边。

技术分享

 

稀疏图和稠密图:这里的稀疏和稠密是模糊的概念,都是相对而言的,通常觉得边或弧数小于n*logn(n是顶点的个数)的图称为稀疏图,反之称为稠密图。

 

有些图的边或弧带有与它相关的数字,这样的与图的边或弧相关的数叫做权(Weight)。带权的图通常称为网(Network)。

技术分享

 

如果有两个图G1=(V1,E1)和G2=(V2,E2),如果V2?V1,E2?E1,则称G2为G1的子图(Subgraph)。

技术分享

图的顶点与边之间的关系

 

对于无向图G=(V,E),假设边(V1,V2)∈E,则称顶点V1和V2互为邻接点(Adjacent),即V1和V2相邻接。

边(V1,V2)依附(incident)于顶点V1和V2。或者说边(V1,V2)与顶点V1和V2相关联。

 

顶点V的度(Degree)是和V相关联的边的数目,记为TD(V)。例如以下图,顶点A与B互为邻接点。边(A,B)依附于顶点A与B上,顶点A的度为3。

技术分享

 

对于有向图G=(V,E)。假设有<V1,V2>∈E,则称顶点V1邻接到顶点V2,顶点V2邻接自顶点V1。

以顶点V为头的弧的数目称为V的入度(InDegree)。记为ID(V),以V为尾的弧的数目称为V的出度(OutDegree),记为OD(V)。因此顶点V的度为TD(V)=ID(V)+OD(V)

 

下图顶点A的入度是2。出度是1,所以顶点A的度是3。

技术分享

 

无向图G=(V,E)中从顶点V1到顶点V2的路径(Path)。

下图用红线列举了从顶点B到顶点D的四种不同路径:

技术分享

 

假设G是有向图。则路径也是有向的。

下图用红线列举顶点B到顶点D的两种路径,而顶点A到顶点B就不存在路径啦:

技术分享

 

路径的长度是路径上的边或弧的数目。

第一个顶点到最后一个顶点同样的路径称为回路或环(Cycle)。

 

序列中顶点不反复出现的路径称为简单路径。除了第一个顶点和最后一个顶点之外。其余顶点不反复出现的回路。称为简单回路或简单环。

下图左側是简单环,右側不是简单环:

技术分享

 

连通图

 

在无向图G中,假设从顶点V1到顶点V2有路径,则称V1和V2是连通的,假设对于图中随意两个顶点Vi和Vj都是连通的。则称G是连通图(ConnectedGraph)

下图左側不是连通图,右側是连通图:

技术分享

 

无向图中的极大连通子图称为连通分量。

注意下面概念:

  1. 首先要是子图,而且子图是要连通的;
  2. 连通子图含有极大顶点数。
  3. 具有极大顶点数的连通子图包括依附于这些顶点的全部边。

 

技术分享

在有向图G中,假设对于每一对Vi到Vj都存在路径,则称G是强连通图。

有向图中的极大强连通子图称为有向图的强连通分量。

 

下图左側并非强连通图,右側是。而且右側是左側的极大强连通子图。也是左側的强连通分量。

技术分享

 

最后我们再来看连通图的生成树定义。

所谓的一个连通图的生成树是一个极小的连通子图。它含有图中所有的n个顶点,但仅仅有足以构成一棵树的n-1条边。

技术分享

 

假设一个有向图恰有一个顶点入度为0,其余顶点的入度均为1。则是一棵有向树。

技术分享

本文图片及部分内容引自鱼C工作室,具体请点击:http://blog.fishc.com/

图的定义与术语

标签:

原文地址:http://www.cnblogs.com/gcczhongduan/p/5325159.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!