FB3-查找有向图中所有根结点(到图中所有顶点都存在路径的结点)¶
代码实现¶
DFS¶
BFS¶
DFS优化-计数¶
强连通分量¶
复杂度分析¶
时间复杂度:O(V × (V + E))¶
- V: 顶点数,E: 边数
- 外层循环执行V次(检查每个顶点是否为根结点)
- 每次DFS/BFS需要O(V + E)时间
- 总时间复杂度:O(V × (V + E))
空间复杂度:O(V)¶
visit[]数组:O(V)- DFS递归调用栈:最坏情况O(V)
- 总空间复杂度:O(V)
图解说明¶
相关知识点延伸¶
1. 根结点的性质¶
| C | |
|---|---|
2. 应用场景¶
3. 进一步优化思路¶
| C | |
|---|---|
4. 特殊图类型的处理¶
| C | |
|---|---|
5. 错误处理和边界情况¶
这个算法是图论中判断图的连通性的重要应用,对于理解图的结构特性和设计网络系统都有重要意义。