实现图的邻接矩阵存储,包括建立、输出,输出指定顶点的边信息。
时间: 2024-03-10 11:50:02 浏览: 47
好的,我可以为您提供这个功能的代码实现。以下是基于 Python 语言的实现:
```
class Graph:
def __init__(self, vertices):
self.V = vertices
self.graph = [[0] * self.V for _ in range(self.V)]
def add_edge(self, u, v):
self.graph[u][v] = 1
self.graph[v][u] = 1
def print_graph(self):
for i in range(self.V):
for j in range(self.V):
print(self.graph[i][j], end=" ")
print()
def print_edges(self, v):
print("Edges connected to vertex", v)
for i in range(self.V):
if self.graph[v][i] == 1:
print(v, "-", i)
# example usage
g = Graph(5)
g.add_edge(0, 1)
g.add_edge(0, 4)
g.add_edge(1, 2)
g.add_edge(1, 3)
g.add_edge(1, 4)
g.add_edge(2, 3)
g.add_edge(3, 4)
g.print_graph()
g.print_edges(1)
```
这段代码实现了 Graph 类,其中:
- `__init__()` 方法初始化了邻接矩阵,使用二维数组 `graph` 存储;
- `add_edge()` 方法用于添加边,将对应位置的值设置为 1;
- `print_graph()` 方法用于打印整个邻接矩阵;
- `print_edges()` 方法用于输出指定顶点的边信息。
您可以根据需要修改顶点数量、添加边等操作,使用 `print_graph()` 和 `print_edges()` 方法输出结果。
阅读全文