无向图的存储邻接矩阵
时间: 2023-12-21 14:30:29 浏览: 110
邻接表或者邻接矩阵为存储结构实现连通无向图的深度优先和广度优先遍历
3星 · 编辑精心推荐
无向图的存储邻接矩阵是指使用一个二维数组来表示无向图中各个顶点之间的关系,其中数组的行和列分别代表图中的顶点,而数组中的元素则表示相应顶点之间是否有边相连。如果两个顶点之间有边相连,则对应的数组元素为1,否则为0。由于无向图的邻接矩阵是对称的,因此只需要存储矩阵的一半即可。
下面是一个使用邻接矩阵来存储无向图的例子:
```python
class MGraph:
def __init__(self, vexnum, edgnum):
self.vexnum = vexnum # 顶点数
self.edgnum = edgnum # 边数
self.vexs = [] # 顶点集合
self.Edge = [] # 邻接矩阵
for i in range(self.vexnum):
self.Edge.append([0] * self.vexnum)
def createMGraph(self):
for i in range(self.vexnum):
self.vexs.append(input("请输入第%d个顶点的值:" % (i + 1)))
for k in range(self.edgnum):
i = input("请输入边的起点:")
j = input("请输入边的终点:")
w = input("请输入边的权值:")
self.Edge[i][j] = w
self.Edge[j][i] = w
```
阅读全文