无向图的邻接矩阵建图和度数输出
时间: 2023-12-21 15:31:50 浏览: 107
无向图的邻接矩阵建图和度数输出可以通过以下步骤实现:
1. 读取输入文件,获取节点个数和节点的邻接表示。
2. 创建一个大小为节点个数的二维数组,作为邻接矩阵。
3. 根据邻接表示,将邻接矩阵中对应的位置置为1,表示两个节点之间有边相连。
4. 遍历邻接矩阵的每一行,统计每个节点的度数,即该节点与其他节点相连的边的数量。
5. 输出每个节点的度数。
以下是一个示例代码:
```python
def build_graph(input_file):
with open(input_file, 'r') as file:
lines = file.readlines()
num_nodes = int(lines[0])
adjacency_matrix = [[0] * num_nodes for _ in range(num_nodes)]
for line in lines[1:]:
if line.strip() == '':
break
nodes = list(map(int, line.strip().split()))
node1 = nodes[0]
for node2 in nodes[1:]:
adjacency_matrix[node1][node2] = 1
adjacency_matrix[node2][node1] = 1
return adjacency_matrix
def calculate_degrees(adjacency_matrix):
degrees = []
for row in adjacency_matrix:
degree = sum(row)
degrees.append(degree)
return degrees
input_file = 'input_7_1.txt'
output_file = 'output_7_1.txt'
adjacency_matrix = build_graph(input_file)
degrees = calculate_degrees(adjacency_matrix)
with open(output_file, 'w') as file:
for degree in degrees:
file.write(str(degree) + ' ')
file.write('\n')
```
输出结果将会保存在`output_7_1.txt`文件中,每一行对应一个图的节点度数。
阅读全文