文章目录
前言
一起加油把数据结构拿下
一、定义
图G由顶点集V和边集E组成,记为G=(V,E),其中V(G)表示图G中顶点的有限非空集合;E(G)表示图G中顶点的关系集合。
特别注意的是
1.图不能是空图(必须有顶点,可以没有边),注意和树与线性表区别。
2.顶点可以没有边的连接,但一条边必须连接两个顶点
二、图的分类
1.无向图
若边集E为无向边的有限集合时,称图G为无向图。边是顶点的无序对,记为(V,M),V和M是顶点,此时(V,M)=(M,V)。
2.有向图
若边集E为有向边的有限集合时,称图G为有向图。边是顶点的有序对,记为<V,M>。此时(V,M)!=(M,V)。且V称为弧头,M称为弧尾。
三、顶点的度、出度、入度
1.无向图(度)
无向图的度:指依附于该顶点的边数。记为TD(v)。
对于一个n个顶点,e条边的图,度为2e。(每条边为两个顶点各贡献一个度)
2.有向图(出度和入度)
对于有向图,分为出度和入度
出度:一个顶点在几条边中作为弧尾就有几个出度(边从顶点指出)
入度:一个顶点在几条边中作为弧头就有几个入度(边指向顶点)
四、边的权,带权图/网
1.边的权:根据实际情况,给每一条边赋予一个带有某种含义的数值,这个数值称为边的权值。
2.带权图/网:图中的边带有权值,称为带权图,也叫网。
3.带权路径长度:当一个图是带权图时,一条路径上的所有边的权值之和称为该路径的带权路径长度。
五、点到点的关系
1.路径、回路、简单路径、简单回路
路径:两个顶点之间的路径是指一个顶点序列,这个序列不是唯一的
回路:第一个顶点和最后一个顶点相同的路径称为回路或环
简单路径:路径中所有顶点都不重复出现的路径称为简单路径(没有环或者回路)
简单回路:除了第一个顶点和最后一个顶点之外,其他顶点都不重复出现的回路称为简单回路。
2.路径长度
一条路径中边的数量
3.点到点的距离(最短路径)
两个顶点间所有路径长度的最小值,若两个顶点间若不存在路径,将此时两顶点间的距离为无穷大。
4.无向图顶点的连通性、连通图
顶点的连通性:两个顶点之间存在路径,则这两个顶点连通。
连通图:任意两个顶点之间都存在路径
注:一个n顶点的无向图要是连通图的话,至少有n-1条边。那要保证这个图是非连通时最多有(n-1)*(n-2)/2;
5.有向图顶点的强连通性、强连通图
顶点的强连通性:两个顶点之间都存在达到对方的路径。表示为<V,M>,<M,V>。则两个点连通。
强连通图:任意两个顶点之间都存在来回的路径。n顶点的有向图构成强连通图至少需要n条边。
六、图的局部
1.子图
图G1<E1,M1>中E1包含于E,M1包含于M1,则称G1是图G<E.M>的一个子图。
2.连通分量–极大连通子图
在无向图中,子图连通且包含尽量多的边和顶点,称为连通分量
3.强连通分量–极大强连通子图
在有向图中,子图强连通且包含尽量多的边和顶点,称为强连通分量
4.生成树(无向)
一个连通图的生成树是这个连通图的极小连通分量,包含所有顶点,和尽可能少的边。n个顶点的连通图,他的生成树只能由n-1条边。
5.生成森林
非连通图中,连通分量的生成树组成该非连通图的生成森林。
有向图的生成森林由有向树构成。
七、几种特殊形态的图
1.完全图
完全连通图:
任意两个顶点之间都有边连接。n个顶点的完全连通图有n*(n-1)/2条边
完全强连通图:
任意两个顶点都存在两个方向相反的弧。n个顶点的完全连通图有n*(n-1)条边
2.稀疏图、稠密图
严版数据结构给出的稀疏图定义为
但这个定义不是绝对的。稠密图和稀疏图是一个相反的概念。
3.树、生成森林、有向树
树:没有回路,且连通的无向图
森林:由树组成
有向树:一个有向图恰有一个入度为零的顶点,其余顶点的入度均为一。