博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

DS-图-0001-图的基本概念

Posted on 2023-10-20 06:18  乔55  阅读(6)  评论(0编辑  收藏  举报

图的基本概念

// 图的定义
V(G):表示图G中顶点的有限非空集            // 图不可以为空,至少要有一个顶点
E(G):表示图G中顶点之间的关系(边)的集合   // 图可以没有边。边分为无向边和有向弧
(v,w):无向边,是顶点的无序对,称顶点v和顶点w互为邻接点
<v,w>:有向弧,从顶点v到顶点w的弧,也称v邻接到w,或w邻接自v,v是弧尾,w是弧头

// 简单图(数据结构只讨论简单图)
1、不存在重复的边
2、不存在顶点到自身的边

// 无向完全图
任意2个顶点之间都存在边
含有n个顶点,它有n(n-1)/2条边

// 有向完全图
任意2个顶点之间都存在方向相反的2条弧
含有n个顶点,它有n(n-1)条弧

// 子图
1、有2个图,G=(V,E),G'=(V',E')
2、V'是V的子集,E'是E的子集,则称G'是G的子图

// 生成子图
1、图G'是图G的子图
2、且V(G')==V(G),即2个图的顶点集相同
2、则称G'是G的生成子图,可见,顶点集相同,边集不相同

// 连通(针对无向图)
从顶点v到顶点w有路径存在,则称这2个顶点是连通的

// 连通图(针对无向图)
图中任意2个顶点都是连通的,则称这个图是连通图
- 一个无向图,有n个顶点,小于n-1条边,该图一定是非连通图

// 极大连通子图(针对无向图)
子图:G'是G的子图
连通:该子图是连通图
极大:再添加任意一个结点,该子图不再连通
连通分量:极大边通子图是无向图的连通分量
注意:连通图只有一个极大连通子图,就是它本身
总结:极大连通子图与连通分量是等价的


// 强连通(针对有向图)
若从顶点v到顶点w和从顶点w到顶点v都有路径,则称这2个顶点是强连通的

// 强连通图(针对有向图)
若图中任意一对顶点都是强连通的,则称此图为强连通图
- 有n个顶点的有向图,至少需要n条边才能成为强连通图

// 强连通分量(针对有向图)
有向图中的极大连通子图称为有向图的强连通分量


// 连通图的生成树(针对无向图)
1、连通图的生成树是包含图中所有顶点的一个极小连通子图
  - 包含所有顶点
  - 但边又是最少的
2、若图中顶点数为n,则它的生成树含有n-1条边

// 极小连通子图(针对无向图)
1、同一个连通图可以有不同的生成树,所以生成树是不唯一的
2、极小连通子图只存在于连通图中
3、极小连通子图的每个边都是必不可少的,少了就不再连通
4、极小:若删掉一条边,则不再是连通图,若添加一条边,则形成回路
5、总结:极小边连通子图与生成树是等价的

// 度
入度:以顶点v为终点的有向弧的数目,记为ID(v)
出度:以顶点v为起点的有向弧的数目,记为OD(v)

// 权值
边的权值:每条边都可以标上具有某种含义的数值,这个数值就称为这条边的权值


// 路径
无向图:从顶点v到v'的路径是一个顶点序列
有向图:路径也是有向的,<1,2>是顶点1到顶点2的路径
简单路径:在一条路径中顶点不重复
回路:第1个顶点和最后一个顶点是同一个顶点的路径称为回路或环
简单回路:除第1个顶点和最后一个顶点之外,其余所有顶点不重复出现
距离:从顶点u到顶点v的最短路径若存在,则该路径长度称为u到v的距离