图的概念
- 相关概念
概念名 | 定义 |
---|---|
邻接顶点 | 两个点有一条边相连 |
权 | 边有与之对应的数字 |
网络 | 带权图 |
度 | 度=出度+入度 |
路径 | 顶点序列 |
路径长度 | 非带权图中是路径上边的条数,带权图中是路径上各权之和 |
简单路径 | 路径中各点不重复 |
回路(环) | 起点与终点重合 |
简单路径(环) | 除起点和终点,其余各点不重复 |
图类型 | 概念 | 定义 |
---|---|---|
无向图 | 连通图 | 图中任意一对顶点都是连通的 |
无向图 | 连通分量 | 非连通图的极大连通子图 |
有向图 | 强连通图 | 任意一对顶点来回都是连通的 |
有向图 | 强连通分量 | 非强连通图的极大强连通子图 |
图的存储结构
邻接矩阵
邻接矩阵性质
- 无向图的邻接矩阵是对称的,有向图的邻接矩阵可能不对称
- 在有向图中,i表示起始点,j表示终点
带权图邻接矩阵的表示:
邻接表
邻接表的结构
实例
有向图中邻接表的表示
带权图邻接表的表示
图的遍历
- 图的遍历:从某个节点出发,遍访所有节点,且每个节点仅访问一次。
- 为了避免节点被重复访问,定义了辅助数组visited【】。初始状态为0,一旦被访问,立即变为1
深度优先遍历DFS(depth first search)
- 一竿子插到底的策略。按照某种(如上左下右)访问顺序,从一个点开始往下走,直到无路可走;再依次回溯,依次分析上一个节点还有没有路走,直到遍历所有节点
广度优先遍历BFS(breadth first search)
- 先访问一个节点的所有相邻顶点,再依次访问下一层顶点的所有邻接顶点
- 用到队列来区分层次
图的连通性问题
如何求连通分量
关节点与重连通图
如何求重连通分量
- 理论
- 实例
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。