矩阵图?

Matrix to Graph?

我有一个包含以下输入的文本文件,我被要求根据输入绘制图表,但我不太确定每个输入是如何变成给定图表的。我知道第一行表示顶点数,但下一行对我来说看起来不像对称矩阵!我理解前两张图,但之后不确定!我知道这是微不足道的,但请帮忙。

1

2 
1

4
101
 10
  1
5
0011
 011
  11
   0

5
1000
 101
  10
   1 

6
11110
 1011
  101
   11
    1

6
11100
 1010
  001
   00
    0

看起来这是邻接矩阵的上三角。为对角线的每一行添加一个零,然后反转三角形以形成正方形

6
1 1 1 0 0 0
1 0 1 0 0 0
0 0 1 0 0 0
0 0 0 0 0 0
0 0 0 1 0 1
0 0 0 1 1 1

看看图片中的第三个示例,典型的矩阵编码是:

  0123
0 0101
1 1010
2 0101
3 1010

表示节点0不与自己相邻(节点0)、与1相邻、与2不相邻、与3相邻等,这是一个Adjacency matrix

看来你处理的是无向图,所以邻接矩阵会包含冗余信息,当你知道0与1相邻时,你就知道1与0相邻,不需要将这些信息写成a第二次。因此,使用稍微不同的编码是有意义的,从而消除所有冗余。假设一个节点不能与其自身相邻并且你的第四个例子,在图片中,应该代表第四种编码:

  1234
0 0011
1  011
2   11
3    0 

我会这样解释,即节点0不与1相邻,不与2相邻,但与3和4相邻。节点1不与2相邻,但与3和4相邻,依此类推。如可以看到,你已经在第一行描述了节点0和节点1的关系,所以你不需要在第二行再描述。