6-3 有向图中顶点的度统计(邻接矩阵) 分数 8 全屏浏览 作者 黄龙军 单位 绍兴文理学院 要求实现函数,统计以邻接矩阵存储的有向图的各顶点的度。
时间: 2024-12-23 19:15:54 浏览: 9
在邻接矩阵表示的有向图中,顶点的度是指该顶点作为起点的边的数量,也称为出度。对于每一对顶点 i 和 j,如果邻接矩阵 A[i][j] 为 1,则表示从顶点 i 有一条指向顶点 j 的边,因此顶点 i 的出度就是其行中非零元素的数目。
为了实现一个函数来统计每个顶点的度,可以按照以下步骤:
1. 定义一个函数,接受邻接矩阵作为输入,通常是一个二维数组或列表。
2. 初始化一个空字典或列表,用于存放每个顶点及其对应的度数。
3. 遍历邻接矩阵的每一行,对应于图中的每一个起点(顶点)。
4. 对于矩阵中的每个元素,如果是 1,则将相应的顶点度数加一。
5. 更新字典,键是顶点编号,值是它的度数。
6. 返回这个包含所有顶点度数的字典。
下面是一个简单的 Python 示例:
```python
def degree_distribution(adj_matrix):
degrees = {i: 0 for i in range(len(adj_matrix))}
for row in adj_matrix:
for j, val in enumerate(row):
if val == 1:
degrees[j] += 1
return degrees
# 使用示例
adj_matrix = [[0, 1, 0], [1, 0, 1], [0, 1, 0]] # 一个有向图的邻接矩阵
degrees = degree_distribution(adj_matrix)
print(degrees) # 输出:{0: 1, 1: 2, 2: 1}
```
阅读全文