1 图的基本概念
- 非线性结构
- Graph = (V, E)
- 有向图、无向图
- 自环self loop、重边、简单图、多重图
- 完全图
- 边、顶点、权、邻接顶点、度(入度、出度)
- 路径、路径长度、简单路径、回路cycle
- 连通图connnected graph、连通分量(极大连通子图)、强连通图、弱连通图
- 生成树 spanning tree
包含所有顶点、两个顶点之间只有一条边 edge = vertex - 1
2 图的存储结构
2.1 邻接矩阵
2.2 邻接表
3 图的遍历
3.1 深度优先搜索(Depth First Search)
- 探查回溯,访问路径构成了一个连通的无环图(树),一个生成树
- 递归
3.2 广度优先搜索(Breadth First Search)
- 队列
- 无权最短路径
4 最小生成树 MST
删去一条边,都会不再连通;加入一条边,都会有环路。
4.1 Kruskal
Kruskal是基于贪心算法的并查集应用,用于求经过图中所有节点边权值最小的集合(MST)
基于原理是:权值最小的边一定在MST中,权值第二小的也在MST中,接着

本文详细介绍了图的基本概念,包括图的存储结构如邻接矩阵和邻接表,以及图的遍历方法如深度优先搜索和广度优先搜索。此外,文章还探讨了最小生成树(Kruskal和Prim算法)、最短路径(Dijkstra和Floyd算法)以及有向无环图(DAG)的相关知识。通过对这些概念和算法的理解,读者能够深入理解图论在数据结构和算法中的应用。
最低0.47元/天 解锁文章
6200

被折叠的 条评论
为什么被折叠?



