python邻接矩阵获取出度
时间: 2023-08-18 20:12:23 浏览: 39
要邻接矩阵的出度,可以使用numpy库来处理矩阵。假设邻接矩阵为adj_matrix,其中adj_matrix[i][j]表示从节点i到节点j是否存在边。
以下是示例代码:
```python
import numpy as np
def get_outdegree(adj_matrix):
# 使用numpy库计算每个节点的出度
outdegree = np.sum(adj_matrix, axis=1)
return outdegree
# 示例邻接矩阵
adj_matrix = np.array([[0, 1, 0],
[1, 0, 1],
[0, 1, 0]])
outdegree = get_outdegree(adj_matrix)
print(outdegree)
```
输出结果为:
```
[1 2 1]
```
这表示节点0的出度为1,节点1的出度为2,节点2的出度为1。
相关问题
python制作一个邻接矩阵并求邻接矩阵中节点的入度、出度和度
以下是制作邻接矩阵并求节点入度、出度和度的Python代码:
```python
n = int(input()) # 输入顶点数
matrix = [] # 存储邻接矩阵
for i in range(n):
row = list(map(int, input().split()))
matrix.append(row)
# 计算每个节点的入度、出度和度
for i in range(n):
in_degree = 0 # 入度
out_degree = 0 # 出度
degree = 0 # 度
for j in range(n):
if matrix[i][j] == 1:
out_degree += 1
if matrix[j][i] == 1:
in_degree += 1
degree = in_degree + out_degree
print("节点{}的入度为{},出度为{},度为{}".format(i+1, in_degree, out_degree, degree))
```
以上代码首先输入顶点数n,然后输入n行邻接矩阵,将邻接矩阵存储在一个二维列表matrix中。接着,对于每个节点,遍历邻接矩阵,计算其入度、出度和度,并输出结果。
怎么用代码建立邻接矩阵
邻接矩阵是用于表示图的常用数据结构之一,可以用二维数组表示。如果有 $n$ 个节点,那么邻接矩阵就是一个 $n \times n$ 的矩阵,其中第 $i$ 行第 $j$ 列的元素表示节点 $i$ 和节点 $j$ 之间是否存在一条边。
下面是一个简单的代码示例,用于构建无向图的邻接矩阵:
```python
n = 5 # 节点数
edges = [(0, 1), (0, 2), (1, 3), (2, 3), (2, 4)] # 边列表
# 初始化邻接矩阵
adj_matrix = [[0] * n for _ in range(n)]
# 对于每一条边,将邻接矩阵中的相应位置设为 1
for edge in edges:
x, y = edge
adj_matrix[x][y] = 1
adj_matrix[y][x] = 1 # 如果是无向图,需要将两个方向都设置为 1
```
如果是有向图,可以将邻接矩阵中的相应位置设为出度或入度。比如,如果节点 $i$ 有 $p$ 条出边和 $q$ 条入边,那么邻接矩阵中第 $i$ 行第 $j$ 列的元素就设为 $p$,第 $j$ 行第 $i$ 列的元素就设为 $q$。