图的一些基础概念
来源:互联网 发布:mmd广场舞动作数据 编辑:程序博客网 时间:2024/06/04 19:59
用n表示图中顶点数目,e表示边或弧的数目:
(1) 对于无向图,e的取值范围是0~N(N-1)/2;有N(N-1)/2条边的无向图叫完全图。
(2) 对于有向图,e的取值范围0~N(N-1);相应的有N(N-1)条边的有向图叫有向完全图。
(3) 对于图中任意两点都是连通的,叫做连通图;连通分量指的是无向图中极大连通子图;
(4) 在有向图中,若对于每一对顶点都存在路径,称图为强连通图。有向图中的极大强连通子图称为有向图的强连通分量;
一颗有n个顶点的生成树有且仅有n-1条边;
如果一个图有n个顶点和小于n-1条边,则是非连通图;
如果一个图多余n-1条边,则一定有环;
有n-1条边的图不一定是生成树;
图的存储结构:
1)邻接矩阵(构造一个具有n个顶点和e条边的无向图的时间复杂度为O(n^2+e*n)),其中对邻接矩阵初始化耗费O(n^2)、
2)邻接表(在建立邻接表或逆邻接表时,若输入的顶点信息即为顶点编号,则建立邻接表的时间复杂度为O(n+e);否则需要通过查找才能找到顶点在图中的位置,时间复杂度为O(n.e))、
3)邻接多重表(与邻接表的区别在于同一条边在邻接表中用两个结点表示,而在邻接多重表中只有一个结点)、
4)十字链表(与建立邻接表相同的时间复杂度)。
遍历图的实质是对每个顶点查找器邻接点的过程。
用邻接矩阵作图的存储结构时,查找每个顶点的邻接点所需要的时间为O(n^2);
用邻接表作图的存储结构时,查找邻接点所需要的时间为O(e);当用邻接表作存储结构时,深度优先搜索遍历图的时间复杂度为O(n+e)。
一颗生成树的代价就是树上各边的代价之和。
构造最小生成树算法多利用了MST性质。主要算法有 Prim算法(时间复杂度为O(n^2),与网中边数无关,适用于求边稠密的最小生成树)和 Kruskal算法(时间复杂度为O(e log e),适合于求边稀疏的最小生成树)。
- 图的一些基础概念
- 基础笔记:图的一些概念
- 基础笔记:图的一些概念
- 一些计算机硬件的基础概念
- 一些基础的c++概念
- MapXtreme的一些基础概念
- MapXtreme的一些基础概念
- 一些基础概念的总结。。。。
- 一些I2S的基础概念
- 状态机的一些基础概念
- Android 的一些基础概念
- 驱动的一些基础概念
- 多媒体的一些基础概念
- 图的一些概念
- 图的一些概念
- WinCE驱动的一些基础概念
- CloudStack云基础架构的一些概念
- CloudStack云基础架构的一些概念
- 高级IO函数--dup函数
- Java 返回加密串
- 使用大数据技术处理风电场机组采集数据
- LeetCode24. Swap Nodes in Pairs
- setsockopt设置缓存区大小
- 图的一些基础概念
- 解决com.alibaba.fastjson.JSONException: autoType is not support
- python爬虫源代码
- jqgrid columns
- drools入门介绍
- 深度学习硬件这件事,GPU、CPU、FPGA到底谁最合适?
- android SharedPreference封装为工具类
- Python作业
- Qt 之 QVector