C语言邻接矩阵深度优先与广度优先
时间: 2023-12-10 22:04:02 浏览: 139
建立图的邻接矩阵或邻接表存储并在此基础上实现图的深度优先遍历和广度优先遍历.doc
5星 · 资源好评率100%
C语言中,邻接矩阵是一种常用的图的存储方式。在邻接矩阵中,矩阵的行和列分别表示图中的顶点,矩阵中的元素表示两个顶点之间是否有边相连。如果有,则为1,否则为0。邻接矩阵的深度优先遍历和广度优先遍历如下:
深度优先遍历:
1. 从图中任意一个顶点开始遍历,将该顶点标记为已访问。
2. 依次访问该顶点的邻接点,如果邻接点未被访问,则递归访问该邻接点。
3. 重复步骤2,直到该顶点的所有邻接点都被访问过。
4. 从未被访问的顶点中选择一个顶点,重复步骤2和步骤3,直到所有顶点都被访问过。
广度优先遍历:
1. 从图中任意一个顶点开始遍历,将该顶点标记为已访问,并将该顶点入队。
2. 从队列中取出一个顶点,依次访问该顶点的邻接点,如果邻接点未被访问,则将该邻接点标记为已访问,并将该邻接点入队。
3. 重复步骤2,直到队列为空。
阅读全文