资源描述:
《图的基本概念及拓扑排序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、图的基本概念遍历以及拓扑排序算法什么是图?什么是图?可用一句话概括,即:图是用点和线来刻划离散事物集合中的每对事物间以某种方式相联系的数学模型.因为它显得太抽象,不便于理解,所以有必要给出另外的回答.1图的基本术语图:记为G=(V,E)其中:V是G的顶点集合,是有穷非空集;E是G的边集合,是有穷集。有向图:无向图:图G中的每条边都是有方向的;图G中的每条边都是无方向的;若n个顶点的无向图有n(n-1)/2条边,称为无向完全图若n个顶点的有向图有n(n-1)条边,称为有向完全图V=vertexE=edge例:判断下列4种图形各属什么类型?无向无向图(树)有向图有向完全图完全图稀疏图:
2、稠密图:设有两个图G=(V,E)和G’=(V’,E’)。若V’V且E’E,则称图G’是图G的子图。子图:边较少的图。通常边数<和图G2=是图G=的子图.如果E2=E-E1且G2=,则称图G2是相对于图G的子图G1的补图.定义2:给定图G=,若存在图G1=,并且E1∩E=和图是完全图,则G1称为相对于完全图的G的补图,简称G1是G的补图.带权图:即边上带权的图。其中权是指每条边可以标上具有某
3、种含义的数值(即与边相关的数)。=带权图网络:路径:在图G=(V,E)中,若从顶点vi出发,沿一些边经过一些顶点vp1,vp2,…,vpm,到达顶点vj。则称顶点序列(vivp1vp2...vpmvj)为从顶点vi到顶点vj的路径。它经过的边(vi,vp1)、(vp1,vp2)、...、(vpm,vj)应当是属于E的边。非带权图的路径长度是指此路径上边的条数;带权图的路径长度是指路径上各边的权之和。路径长度:连通图:在无向图中,若从顶点v1到顶点v2有路径,则称顶点v1与v2是连通的。如果图中任意一对顶点都是连通的,则称此图是连通图。非连通图的极大连通子图叫做连通分量。强连通图:在有
4、向图中,若对于每一对顶点vi和vj,都存在一条从vi到vj和从vj到vi的路径,则称此图是强连通图。非强连通图的极大强连通子图叫做强连通分量。生成树:邻接点:顶点v的度是与它相关联的边的条数。记作TD(v)。在有向图中,顶点的度等于该顶点的入度与出度之和。顶点v的入度是以v为终点的有向边的条数,记作ID(v);顶点v的出度是以v为始点的有向边的条数,记作OD(v)。若(u,v)是E(G)中的一条边,则称u与v互为邻接顶点度、入度和出度:是一个极小连通子图,它含有图中全部顶点,但只有n-1条边。如果在生成树上添加1条边,必定构成一个环。若图中有n个顶点,却少于n-1条边,必为非连通图。
5、最小生成树:若无向连通带权图G=,T是G的一棵生成树,T的各边权之和称为T的权,记做W(T),G的所有生成树中权值最小的生成树称为最小生成树。最小生成树算法:Prim算法和kruskal算法简单路径:路径上各顶点v1,v2,...,vm均不互相重复。回路:例:若路径上第一个顶点v1与最后一个顶点vm重合,则称这样的路径为回路或环。图的数学表示点:用整数0,1,2,…,V-1表示边:用无序数对(u,v)表示,或者表示成u-v7.2图的存储结构重点介绍:邻接矩阵(数组)表示法邻接表(链式)表示法主要有下面四种方法:邻接矩阵邻接表十字链表多重链表一、邻接矩阵(数组)表示法建立
6、一个邻接矩阵(表示各个顶点之间关系)。设图A=(V,E)有n个顶点,则图的邻接矩阵是一个二维数组A.Edge[n][n],定义为:1235v44A例1:邻接矩阵:A.Edge=(12345)12345000000000000000000000000001010101010101110101011100101010101010111010101110顶点表:例2:有向图的邻接矩阵v1v2v3v4A邻接矩阵:A.Edge=(v1v2v3v4)v1v2v3v40000000000000000注:在有向图的邻接矩阵中,第i行含义:以结点vi为起点的边(即出边);第i列含义:以结点vi为终点的
7、弧(即入边)。顶点表:01100000000110000110000000011000特别讨论:网(即有权图)的邻接矩阵定义为:A.Edge[i][j]=Wij或(vi,vj)∈VR∞无边(弧)v1v2v3v4Nv5v65489755613以有向网为例:邻接矩阵:N.Edge=(123456)顶点表:∞5∞7∞∞∞∞4∞∞∞8∞∞∞∞9∞∞5∞∞6∞∞∞5∞∞3∞∞∞1∞图的邻接矩阵表示示例intadjlist[max_vex_num][ma