设图有n个顶点,则邻接矩阵是一个n*n的方阵;若2个顶点之间有边,则方阵对应位置的值为1,否则为0;
看几个例子;
此图的邻接矩阵是
0 1 1 1
1 0 1 0
1 1 0 1
1 0 1 0
顶点V0有三条边与其相连;V1有2条边与其相连;V2有三条;V3有2条;
此图的邻接矩阵是,
0 1 0 0
1 0 1 1
0 1 0 1
0 1 1 0
顶点0有一条边与其相连;顶点1有三条;顶点2有2条;顶点3有2条;
此图的邻接矩阵是,
0 1 1 1 0 0
1 0 0 0 1 1
1 0 0 0 1 0
1 0 0 0 0 1
0 1 1 0 0 0
0 1 0 1 0 0
顶点A有三条边与其相连;顶点B有三条;顶点C有2条;顶点D有2条;顶点E有2条;顶点F有2条;
这是图的存储表示;
邻接矩阵存储的特点是,
无向图的邻接矩阵对称,可压缩存储;有n个顶点的无向图需存储空间为n(n+1)/2;
有向图邻接矩阵不一定对称;有n个顶点的有向图需存储空间为n²;
无向图中顶点Vi的度TD(Vi)是邻接矩阵A中第i行元素之和;
有向图中, 顶点Vi的出度是A中第i行元素之和; 顶点Vi的入度是A中第i列元素之和;
先把图存到代码里,然后可以开始下一步的工作;