数据结构-图

本文详细介绍了图的基本概念,包括图的定义、顶点、边、度等,并探讨了一笔画问题。接着,讨论了图的存储结构,如邻接矩阵和邻接表,以及深度优先遍历和广度优先遍历的算法。此外,还涵盖了图的连通性、最短路径问题(如Dijkstra算法和Floyd算法)以及有向无环图(AOV网)的拓扑排序。
摘要由CSDN通过智能技术生成

》一笔画:

        -凡是由偶点组成的连通图,一定可以一笔画成。画时可以把任一偶点为起点,最后一定能以这个点为终点画完此图。

        -凡是只有两个奇点的连通图(其余都为偶点),一定可以一笔画成。画时必须把一个奇点为起点,另一个奇点终点。

》基本概念:

        -图的抽象数据类型

ADT Graph{

        数据对象V:数据元素的集合,顶点集。

        数据关系R:R={VR},VR={<v,w>|v,w∈V,且P(v,w),<v,w>表示从v到w的弧}。

        基本操作:

                CreateGraph(&G,V,VR) ;     //构造图

                DFSTraverse(G,V,visit());     //深度遍历图

                BFSTraverse(G,V,visit());      //广度遍历图

}ADT Graph

        -任意两个结点之间的关系是任意的,图中任意两个数据元素之间都可能相关。

        -顶点:图的数据元素。

        -V是顶点的集合,VR是两个顶点之间的关系的集合。

        -有向图:<v,w>∈VR,v为弧尾、w为弧头。

        -无向图:若<v,w>∈VR,必有<w,v>∈VR,用(v,w)表示。

        -完全图:每一个顶点之间有且只有一条边的相连。

        -无向完全图:有n(n-1)/2条边。

        -有向完全图:有n(n-1)条弧。

        -稀疏图:边或弧很少的图。

        -稠密图:边或弧较多的图。

        -子图:G=(V,{E}),G`=(V`,{E`}),若V`∈V,且E`∈ E,则称G`为G的子图。

        -邻接点:对于无向图,若(v,v`)∈E,则称顶点v和v`互为邻接点,即v和v`相邻接,并称边(v,v`)关联于顶点v和v`,或称(v,v`)与顶点v和v`相关联。

        -度:一个顶点v的度是与它相关联的边的条数,记做TD(v)。

        -入度:是以v为终点的弧的条数,记做ID(v)。

        -出度:是以v为始点的弧的条数,记做OD(v)。

        -在一个图中,所有顶点的度数之和等于图的边数的2倍。

        -在一个有向图中,所有顶点的入度之和等于所有顶点的出度之和。

        -路径:图G=(V,E)中,若存在一个顶点序列(v=vi,0,vi,1,…,vi,m=v`),其中(vi,j-1,vi,j)均属于E,则称顶点vi到vj 存在一条路径。

        -简单路径:若一条路径上除了vi 和vj 可以相同外,其余顶点均不相同,则称此路径为一条简单路径。

        -简单回路(简单环):起点和终点相同的路径称为简单回路或简单环。

        -连通:在无向图G中,若两个顶点vi和vj之间有路径存在,则称vi和vj是连通的。

        -连通图:若G中任意两个顶点都是连通的,则称G为连通图。

        -连通分量:无向图的极大连通子图称为的连通分量。任何连通图的连通分量只有一个,即是其自身,非连通的无向图有多个连通分量。

        -强连通图:有向图中, 若对于每一对顶点vi和vj, 都存在一条从vi到vj和从vj到vi的路径,则称此图是强连通图。

        -强连通分量:极大强连通子图叫做强连通分量。

        -生成树:一个连通图的生成树是它的极小连通子图,含有图的全部顶点,在n个顶点的情形下,有n-1条边。

            

        -不予讨论的图:包含顶点到其自身的边;一条边在图中重复出现。


》图的存储结构

        #define INFINITY INT_MAX

        #defineMAX_VERTEX_NUM 20

        typedefenum{DG,DN,AG,AN} GraphKind;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值