我正在练习图形和邻接矩阵。但我找不到区分对称和非对称矩阵的好例子。谁能告诉我如何区分对称矩阵或非对称矩阵之间的差异。
答案 0 :(得分:1)
如果邻接矩阵是从无向图中导出的,则它是对称的。
这意味着,来自节点A的路径 - > B与节点B -> A
的路径具有相同的成本/重量/长度。
如果您创建邻接矩阵M
,它将是对称的,这意味着对于任何i
和j
,M[i][j] == M[j]i]
。在数学上,矩阵与其转置相同。因此,如果您转置矩阵,它看起来将完全相同。从图形上看,这样的矩阵如下所示:
0 2 3 4
2 0 5 6
3 5 0 7
4 6 7 0
由于对称性,您通常可以使用更少的内存来表示它。对于像无向图上Floyd-Warshall-algorithm这样的算法,你可以减少50%的计算量,因为你只需要计算矩阵的一半:
0 2 3 4
0 5 6
0 7
0
为了比较,一个不对称矩阵:
0 2 3 9 <--
2 0 5 6
3 5 0 7
4 6 7 0
请注意,它与前一个示例几乎相同,但在右上角有一个9
。因此,不再可能沿着它的对角轴镜像矩阵。
答案 1 :(得分:0)