在有向图的邻接表的基础上计算各顶点的度并输出
可以通过遍历邻接表中每个顶点的出边或入边来计算其度数。具体实现如下:
# 假设邻接表表示为字典,key为顶点编号,value为邻接顶点列表
adj_list = {
1: [2, 3],
2: [3, 4],
3: [4],
4: [1]
}
in_degrees = {} # 入度字典
out_degrees = {} # 出度字典
# 初始化度数为0
for vertex in adj_list.keys():
in_degrees[vertex] = 0
out_degrees[vertex] = 0
# 遍历邻接表,计算各顶点的度数
for vertex, neighbors in adj_list.items():
out_degrees[vertex] = len(neighbors)
for neighbor in neighbors:
in_degrees[neighbor] += 1
# 输出各顶点的度数
print("顶点\t入度\t出度")
for vertex in adj_list.keys():
print(f"{vertex}\t{in_degrees[vertex]}\t{out_degrees[vertex]}")
输出结果如下:
顶点 入度 出度
1 1 2
2 1 2
3 2 1
4 2 1
说明顶点1的入度为1,出度为2,顶点2的入度为1,出度为2,以此类推
原文地址: https://www.cveoy.top/t/topic/haYi 著作权归作者所有。请勿转载和采集!