【数据结构与算法理论知识点】5、图与贪心算法

5、图与贪心算法

逻辑结构

5.1、图的定义和术语

图:Graph=(V,E)

V:顶点(数据元素)的有穷非空集合;

E:边的有穷集合。

**无向图:**每条边都是无方向的

有向图:每条边都是有方向的

完全图:任意两个点都有一条边相连

稀疏图:有很少边的图。

稠密图:有较多边的图

相邻:有边相连的两个顶点之间的关系。

存在(vi,vj),则称vi和vj相邻/互为邻居;

存在<vi,vj>,则称vi领接到vj,vj邻接于vi

**关联:**边与顶点之间的关系。

存在(vi,vj)/<vi,vj>,则称该边关联于vi和vj

顶点的度:与该顶点相关联的边的数目,记为TD(v)

在有向图中,顶点的度等于该顶点的入度与出度之和。

顶点v的入度是以v为终点的有向边的条数,记作ID(v)

顶点v的出度是以v为始点的有向边的条数,记作OD(v)

路径:接续的边构成的顶点序列。

路径长度:路径上边的数目/权值之和。

回路(圈):第一个顶点和最后一个顶点相同的路径。

简单路径:除路径起点和终点可以相同外,其余顶点均不相同的路径

简单回路(简单圈):除路径起点和终点相同外,其余顶点均不相同的路径。

连通图(强连通图)

在无(有)向图G=(V,E)中,若对任何两个顶点 v、u 都存在从v 到 u 的路径,则称G是连通图**(强连通图)**。

权重与网络

图中边所具有的相关数称为权重。表明从一个顶点到另一个顶点的距离或耗费。带权的图称为网络。

子图

设有两个图G=(V,E)、G1=(V1,E1),若V1包含于 V,E1包含于E,则称 G1是G的子图。例:(b)、© 是 (a) 的子图

连通分量(强连通分量)

无向图G 的极大连通子图称为G的连通分量。

极大连通子图意思是:该子图是 G 连通子图,将G 的任何不在该子图中的顶点加入,子图不再连通。

有向图G 的极大强连通子图称为G的强连通分量。极大强连通子图意思是:该子图是G的强连通子图,将D的任何不在该子图中的顶点加入,子图不再是强连通的。

**极小连通子图:**该子图是G 的连通子图,在该子图中删除任何一条边,子图不再连通。

**生成树:**包含无向图G 所有顶点的极小连通子图。

**生成森林:**对非连通图,由各个连通分量的生成树的集合。

后面关于图的存储和贪心算法后序在更新

经验分享 程序员 微信小程序 职场和发展