编写算法,从键盘读入有向图的顶点和弧
时间: 2024-02-22 21:56:25 浏览: 90
好的,以下是一个简单的 Python 算法,用于从键盘读入有向图的顶点和弧:
```
# 定义有向图类
class DirectedGraph:
def __init__(self):
self.vertices = [] # 存储图的顶点
self.edges = [] # 存储图的弧
# 添加顶点
def add_vertex(self, vertex):
self.vertices.append(vertex)
# 添加弧
def add_edge(self, start_vertex, end_vertex):
self.edges.append((start_vertex, end_vertex))
# 从键盘读入有向图的顶点和弧
def read_graph():
graph = DirectedGraph()
# 读入顶点
num_vertices = int(input("请输入顶点数:"))
for i in range(num_vertices):
vertex = input("请输入第{}个顶点:".format(i+1))
graph.add_vertex(vertex)
# 读入弧
num_edges = int(input("请输入弧数:"))
for i in range(num_edges):
start_vertex = input("请输入第{}个弧的起点:".format(i+1))
end_vertex = input("请输入第{}个弧的终点:".format(i+1))
graph.add_edge(start_vertex, end_vertex)
return graph
```
这个算法首先定义了一个 `DirectedGraph` 类,用于存储有向图的顶点和弧。然后,它通过 `add_vertex` 方法添加顶点,通过 `add_edge` 方法添加弧。最后,它通过 `read_graph` 函数从键盘读入有向图的顶点和弧,并返回一个 `DirectedGraph` 对象。
注意,这个算法只是一个简单的示例,实际的应用可能需要更复杂的数据结构和算法来处理有向图。
阅读全文