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 所有顶点的极小连通子图。
**生成森林:**对非连通图,由各个连通分量的生成树的集合。