资源描述:
《数据结构第7章图ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第七章图7.1基本概念和术语一、图的定义图是一种数据元素间为多对多关系的数据结构,加上一组基本操作构成的抽象数据类型。ADTGraph{数据对象V:V是具有相同特性的数据元素的集合,称为顶点集。数据关系R:R={VR}VR={
2、v,w(-V且P(v,w),表示从v到w的弧,谓词P(v,w)定义了弧的意义或信息}基本操作P:CreateGraph(&G,V,VR);初始条件:V是图的顶点集,VR是图中弧的集合。操作结果:按V和VR的定义构造图G退出DestroyGraph(&G);
3、初始条件:图G存在操作结果:销毁图GLocateVex(G,u);初始条件:图G存在,u一G中顶点有相同特征操作结果:若G中存在顶点u,则返回该顶点在图中位置;否则返回其它信息。GetVex(G,v);初始条件:图G存在,v是G中某个顶点操作结果:返回v的值。PutVex(&G,v,value);初始条件:图G存在,v是G中某个顶点操作结果:对v赋值valueFirstAdjVex(G,v);初始条件:图G存在,v是G中某个顶点操作结果:返回v的第一个邻接顶点。若顶点在G中没有邻接顶点,则返回“空”NextA
4、djVex(G,v,w);初始条件:图G存在,v是G中某个顶点,w是v的邻接顶点。操作结果:返回v的(相对于w的)下一个邻接顶点。若w是v的最后一个邻接点,则返回“空”InsertVex(&G,v);初始条件:图G存在,v和图中顶点有相同特征操作结果:在图G中增添新顶点vDeleteVex(&G,v);初始条件:图G存在,v是G中某个顶点操作结果:删除G中顶点v及其相关的弧InsertAcr(&G,v,w);初始条件:图G存在,v和w是G中两个顶点操作结果:在G中增添弧,若G是无向的,则还增添对称弧
5、DeleteArc(&G,v,w);初始条件:图G存在,v和w是G中两个顶点操作结果:在G中删除弧,若G是无向的,则还删除对称弧DFSTraverser(G,v,Visit());初始条件:图G存在,v是G中某个顶点,Visit是顶点的应用函数操作结果:从顶点v起深度优先遍历图G,并对每个顶点调用函数Visit一次。一旦Visit()失败,则操作失败。BFSTRaverse(G,v,Visit());初始条件:图G存在,v是G中某个顶点,Visit是顶点的应用函数操作结果:从顶点
6、v起广度优先遍历图G,并对每个顶点调用函数Visit一次。一旦Visit()失败,则操作失败。}ADTGraph二、图的常用术语图中的数据元素称为顶点;V是顶点的有穷非空集合;VR是两个顶点之间的关系的集合.若∈VR,则表示从v到w的一条弧,称v为弧尾或初始点,称w为弧头或终端点,此时图称为有向图.若∈VR,必有∈VR,则以无序对(v,w)表示,表示v和w的一条边,此时的图称为无向图.对上图有:G1=(V1,{A1})其中:V1={v1,v2,v3,v4}A1={7、,v2>,,,}如果用n表示图中顶点数目,用e表示边或弧的数目,则有:对于无向图,e的取值范围是0到n(n-1)/2,有n(n-1)/2条边的无向图称为完全图。对于有向图,e有取值范围是0到n(n-1)。具有n(n-1)条弧的有向图称为有向完全图。有很少条边或弧的图称为稀疏图,反之称为稠密图。对于无向图G=(V,{E}),如果边(v,v′)∈E,则称顶点v和v′互为邻接点,既v和v′相邻接.边(v,v′)依附于顶点v和v′,或者说(v,v′)和顶点v和v′相关联.顶点
8、v的度是和v相关联的边的数目,记为TD(V).对于有向图G=(V,{A})如果弧∈A,称顶点v邻接到顶点v′,,顶点v′邻接自顶点v,.弧和顶点9、一个顶点和最后一个顶点之外,其余顶点不重复出现的回路,称为简单回路或简单环.在无向图中,如果从顶点v到顶点v′有路径,则称v和v′是连通的.如果对于图中任意两个顶点都是连同的,称G是连通图.无向图的极大连通子图称为连通分量.对有向图,如果每一对顶点之间都有通路,则称该图为强连通图。有向图中的极大强连通子图称为有向图的强连通分量.图6-1图6-2一个连通图的生成树是一个极小连通子图,它含有图中全部顶点