请编写程序创建一个有向图。有向图中包含n个顶点,编号为0至n-1。 输入格式: 输入
时间: 2023-12-18 09:01:25 浏览: 191
一道ACM关于有向图的代码(附题目)
4星 · 用户满意度95%
你好,下面是一个简单的Python程序,用于创建一个有向图并输出它的邻接列表表示:
```python
class DirectedGraph:
def __init__(self, num_vertices):
self.num_vertices = num_vertices
self.adjacency_list = {i: [] for i in range(num_vertices)}
def add_edge(self, start, end):
if start < self.num_vertices and end < self.num_vertices:
self.adjacency_list[start].append(end)
def print_graph(self):
for vertex in self.adjacency_list:
print(f"{vertex} -> {self.adjacency_list[vertex]}")
# 例子: 创建一个有向图
if __name__ == "__main__":
num_vertices = 5
graph = DirectedGraph(num_vertices)
graph.add_edge(0, 1)
graph.add_edge(1, 2)
graph.add_edge(2, 3)
graph.add_edge(3, 4)
graph.add_edge(4, 0)
# 输出图的邻接列表表示
graph.print_graph()
```
在这个例子中,我们创建了一个有5个顶点的有向图,并添加了一些边。程序输出了这个图的邻接列表表示,即每个顶点以及与其相连的顶点的列表。你可以根据自己的需求来改变顶点的数量、添加更多的边等。希望这个程序可以帮到你。
阅读全文