采用邻接表表示法创建有向图的代码
时间: 2024-12-04 15:15:29 浏览: 23
在许多编程语言中,邻接表是一种常用的数据结构来表示有向图。它将每个顶点存储在一个列表中,这个列表包含了所有连接到该顶点的边及其终点。以下是一个简单的Python示例,展示了如何使用邻接表来表示有向图:
```python
class Node:
def __init__(self, value):
self.value = value
self.neighbors = []
class DirectedGraph:
def __init__(self):
self.graph = {}
def add_edge(self, source, target):
if source not in self.graph:
self.graph[source] = Node(source)
self.graph[source].neighbors.append(target)
# 创建有向图实例
dg = DirectedGraph()
dg.add_edge('A', 'B')
dg.add_edge('A', 'C')
dg.add_edge('B', 'D')
# 打印邻接表表示
for node, neighbor_list in dg.graph.items():
print(f"{node}: {neighbor_list}")
```
在这个例子中,`DirectedGraph`类有两个关键部分:`Node`类代表顶点,`add_edge`方法用于添加边。当你需要查询两个顶点之间是否有边时,可以通过访问`graph`字典来查找目标节点是否在源节点的邻居列表中。
阅读全文