可以通过遍历邻接表中每个顶点的出边或入边来计算其度数。具体实现如下:

# 假设邻接表表示为字典,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 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录