在计算机科学中 图算法占据着很重要的地位,无论是在地图中的最短路径寻找,还是在互联网的超文本连接中的文本跳跃,可以把整个的Web看做是一个图,而在Web上的信息查询就是我们所熟知的搜索引擎的基本组成部分。图论的应用在电路中也是一样,比如说电路连接是否交叉,最短路径的选择。在调度方面,在实际工程执行周,或是计算机中的进程调度中所涉及到的前驱图以及先后按序发生事件。 还有在数据库中的事务的执行,以及网络中的站点之间的消息的发送与转发,对多个站点之间连通性的检查以及节点上面的负载均衡的分配。 还有就是在程序结构中的应用,我们所熟知的编译程序就是通过构建图来表示大型软件系统中的调用结构的,这里的图中的顶点就可以映射成组成系统的各个函数或是模块: 连接要么是与一个函数调用另一个函数的可能性相关,要么就是在程序执行过程中也就是动态的情况下图中节点的连接的问题,在这种情况下基于对图的分析,我们可以降低系统的资源,提高系统的相应速率以及为程序最优最快的分配资源,以及分析解决死锁等等的问题。
下面是关于图中的一些定义和术语:
定义 1.1 图由一个顶点集和一个边集合组成,其中边将一对不同的顶点连接在一起(而且至多只能有一条连接了某一对顶点的边)。
属性 1.1 有V个顶点的图至多有V(V-1)/2 条边。
定义1.2 图中的路径为一个顶点序列,其中每个后继顶点(除了首顶点外)与路径中其前趋顶点相邻接。在简单路径中,顶点和边均不重复。
回路或环仅为首顶点和末顶点重合的简单路径。
定义 1.3 如果图中每个顶点都有到其他各个顶点的路径,那么此图为连通图,非连通图包括一组连通分量,即最大联通子图。
定义 1.4 无环连通图称为树, 树的集合为森林。一个连通图的生成树是这个图的一个子图,它是包括了图中所有顶点的一棵树。图的生成森林也是这个图的一个子图,这个生成森林中包括了改图中的所有的顶点。
下面是关于树和图的等价定义:
一个有V个顶点的图G是一棵树,那么它一定满足下面四条条件中的任意一个才可以:
1. G有V-1 条边,并且G是无环图
2. G有 V-1 条边, 且G是连通图
3. G中仅