图遍历-邻接矩阵存储
时间: 2024-06-16 18:02:24 浏览: 132
图的邻矩阵存储
图遍历是一种在图中访问所有顶点的过程,通常有深度优先搜索(DFS)和广度优先搜索(BFS)两种方法。邻接矩阵是图的一种常见数据结构,用于表示图中任意两个顶点之间是否存在边。在这个矩阵中,行代表起点,列表代表终点,每个元素的值通常是0(无边)或1(有边)。
具体到邻接矩阵存储,图的邻接矩阵是一个二维数组,其中:
- 对角线元素通常为0,因为不存在一个顶点与自身直接相连;
- 非对角线元素如果为1,则表示对应顶点之间存在一条边;
- 如果元素为0,则表示没有连接。
图遍历使用邻接矩阵时的操作如下:
1. **深度优先搜索 (DFS)**:
- 从给定起点开始,检查其相邻节点,标记并进入未访问节点。
- 对于每个相邻节点,递归地执行DFS直到遍历完整张矩阵。
- **广度优先搜索 (BFS)**:
- 用队列实现,先将起点放入队列,然后逐个取出节点,将其相邻节点(矩阵中的非对角线)加入队列,直到队列为空。
阅读全文