用python实现获得一个图的邻接表,并把邻接表存入字典
时间: 2023-11-05 19:12:45 浏览: 83
图的邻接表实现
5星 · 资源好评率100%
假设我们的图使用邻接表存储,其中每个节点用一个数字表示,邻接表是一个字典,键是每个节点,值是一个列表,存储与该节点相邻的所有节点。下面是一个示例代码:
```python
# 定义一个示例图的边集合
edges = [(0, 1), (0, 2), (1, 2), (2, 3), (3, 3)]
# 定义一个空字典,用于存储邻接表
graph = {}
# 遍历边集合,将每个节点的邻居加入邻接表中
for edge in edges:
node1, node2 = edge
if node1 not in graph:
graph[node1] = [node2]
else:
graph[node1].append(node2)
# 输出邻接表
for node, neighbors in sorted(graph.items()):
print(f"节点 {node} 的邻居是 {neighbors}")
```
输出结果为:
```
节点 0 的邻居是 [1, 2]
节点 1 的邻居是 [2]
节点 2 的邻居是 [3]
节点 3 的邻居是 [3]
```
这里我们定义了一个示例图,包括了四个节点和五条边。我们使用字典来表示邻接表,其中键是每个节点,值是一个列表,存储与该节点相邻的所有节点。最后,我们遍历邻接表,输出每个节点及其邻居节点的信息。注意,在遍历字典时,我们使用了 `sorted` 函数,按照节点编号从小到大排序输出。
阅读全文