用Python建立一个有向图的邻接矩阵,代码
时间: 2024-04-07 19:07:27 浏览: 15
以下是基于Python的有向图邻接矩阵的代码:
```python
# 定义有向图的邻接矩阵类
class DirectedGraph:
def __init__(self, num_vertices):
self.num_vertices = num_vertices
self.adj_matrix = [[0] * num_vertices for _ in range(num_vertices)]
# 添加边
def add_edge(self, src, dest):
self.adj_matrix[src][dest] = 1
# 显示邻接矩阵
def display(self):
for row in self.adj_matrix:
print(row)
# 示例用法
g = DirectedGraph(5)
# 向有向图中添加边
g.add_edge(0, 1)
g.add_edge(1, 2)
g.add_edge(2, 3)
g.add_edge(3, 4)
g.add_edge(4, 0)
# 输出邻接矩阵
g.display()
# 输出结果
'''
[0, 1, 0, 0, 0]
[0, 0, 1, 0, 0]
[0, 0, 0, 1, 0]
[0, 0, 0, 0, 1]
[1, 0, 0, 0, 0]
'''
```
以上代码可以创建一个有向图,并且使用邻接矩阵来表示它。每个顶点都有对应的行和列,对于每个边(i,j),在矩阵中对应的(i,j)位置设置为1,表示从节点i向节点j连一条边。 但需要注意的是,这只是建立有向图邻接矩阵的一种方法,具体实现可能根据不同的需求而有所不同。