判断图的连通性,图的邻接矩阵
时间: 2023-08-17 15:03:59 浏览: 260
判断图的连通性
5星 · 资源好评率100%
判断图的连通性可以通过深度优先搜索或广度优先搜索实现。具体方法是从图中随便选一个节点开始,利用深度优先搜索或广度优先搜索遍历整个图,如果能够遍历到图中所有的节点,则说明该图是连通的;反之,如果不能遍历到所有节点,则说明该图不连通。
对于邻接矩阵表示的图,可以使用以下 Python 代码实现判断连通性:
```python
def is_connected(matrix):
n = len(matrix)
visited = [False] * n
stack = [0]
while stack:
node = stack.pop()
if not visited[node]:
visited[node] = True
for i in range(n):
if matrix[node][i] and not visited[i]:
stack.append(i)
return all(visited)
```
其中,`matrix` 是邻接矩阵,`n` 是节点数,`visited` 记录节点是否已被访问,`stack` 存储待访问的节点。代码中,从节点 0 开始进行深度优先搜索,遍历整个图,如果能够遍历到所有节点,则返回 True,否则返回 False。
阅读全文