要获取边的数量,需要先定义图的数据结构,然后根据定义的数据结构来统计边的数量。
以下是一个示例的解决方法,使用邻接矩阵来表示图的数据结构:
class Graph:
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, start_vertex, end_vertex):
self.adj_matrix[start_vertex][end_vertex] = 1
self.adj_matrix[end_vertex][start_vertex] = 1
def get_num_edges(self):
count = 0
for row in self.adj_matrix:
count += sum(row)
return count // 2 # 因为无向图的邻接矩阵是对称的,所以需要除以2
# 示例用法
g = Graph(4)
g.add_edge(0, 1)
g.add_edge(1, 2)
g.add_edge(2, 3)
g.add_edge(3, 0)
print(g.get_num_edges()) # 输出:4
在上面的示例中,我们定义了一个Graph
类,其中num_vertices
表示图的顶点数量,adj_matrix
是一个二维数组,用于表示图的邻接矩阵。add_edge
方法用于添加边,get_num_edges
方法用于获取边的数量。
在示例用法中,我们创建了一个具有4个顶点的图,并添加了4条边。最后,我们调用get_num_edges
方法来获取边的数量,并打印结果。输出结果为4,表示图中有4条边。