AdaCpp
C++ IDE
C++ 学习
基础练习
代码评测
特惠套餐
切换语言
返回课程
CSP-J初赛冲刺课
全部课时
0/22
1. 课程介绍
免费
2. 计算机发展史
3. 计算机组成
4. 计算机网络
5. 计算机语言
6. 计算机内置函数
7. 基础算法概念
8. 链表
9. 栈
10. 队列
11. 树的定义与表示
12. 二叉树的遍历
13. 特殊二叉树
14. 图的存储与定义
15. 图的连通性
16. 拓扑排序
17. 素数问题汇总
18. 欧几里得算法
19. 进制转换
20. 计算机编码
21. 哈夫曼编码
22. 格雷码
图的连通性
课程文档
知识总结
连通性概念
连通
:无向图中,两个顶点之间存在路径
连通图
:任意两个顶点都连通的无向图
连通分量
:无向图中的极大连通子图
强连通
:有向图中,u到v和v到u都有路径
强连通图
:任意两个顶点都强连通的有向图
树与图的关系
树
是一种特殊的图:连通且无环
n个顶点的树恰好有
n-1
条边
在树中添加一条边必然产生环
在树中删除一条边必然不连通
生成树
连通图的
生成树
:包含所有顶点的极小连通子图
n个顶点的连通图的生成树有 n-1 条边
最小生成树(MST)
:所有生成树中边权之和最小的
最小生成树算法
算法
思想
时间复杂度
Kruskal
按边权排序,贪心选边
O(m log m)
Prim
从一个点出发,逐步扩展
O(n²) 或 O(m log n)
初赛常考
判断图是否连通
求连通分量个数
n个顶点至少需要多少条边才能连通(答案:n-1)
生成树的边数
图的连通性 - CSP-J初赛冲刺课 | AdaCpp