把G改成一个二维数组
时间: 2023-12-20 07:10:39 浏览: 20
如果要把 `G` 改成一个二维数组,可以使用以下代码:
```python
G = [
[0, 1, 1, 0],
[1, 0, 0, 1],
[1, 0, 0, 1],
[0, 1, 1, 0]
]
```
其中,`G[i][j]` 表示节点 `i+1` 和节点 `j+1` 是否存在边。例如,`G[0][1]` 表示节点 1 和节点 2 之间是否存在边,值为 1 表示存在,值为 0 表示不存在。
如果要判断无向图中是否存在环,可以使用以下代码:
```python
def has_cycle(G, v, visited, parent):
visited[v] = True
for neighbor in range(len(G)):
if G[v][neighbor] == 1:
if not visited[neighbor]:
if has_cycle(G, neighbor, visited, v):
return True
elif parent != neighbor:
return True
return False
# 判断是否存在环
visited = [False] * len(G)
has_cycle = False
for v in range(len(G)):
if not visited[v]:
if has_cycle(G, v, visited, -1):
has_cycle = True
break
print(has_cycle)
```
其中,`len(G)` 表示图中节点的个数。