⑨讲图论第二课: 图的邻接矩阵表示法

邻接矩阵是表示一个图的常用存储表示。它用两个数组分别存储数据元素(顶点)的信息和数据元素之间的关系(边或弧)的信息。

G的顶点标为v_1,v_2,...,v_n。若(v_i,v_j) \in E(G)A_{ij}=1,否则A_{ij}=0


无向图的邻接矩阵是对称的,有向图的邻接矩阵一般情况下是不对称的。

在有向图中, 统计第 i 行 1 的个数可得顶点 i 的出度,统计第 j 列 1 的个数可得顶点 j 的入度。
在无向图中, 统计第 i 行 (列) 1 的个数可得顶点i 的度


网络的邻接矩阵
若G是网络,则邻接矩阵可定义为:

若i==j则a[i][j]=0;

若i!=j&&(v_i,v_j) \in E(G)则a[i][j]=W(i,j);

否则a[i][j]=OO;


邻接矩阵表示法中图的类型定义:

#define  MAXSIZE  100        /*图的顶点个数*/
typedef int datatype;
typedef struct  
{
   datatype vexs[MAXSIZE];  /*顶点信息表*/
   int edges[MAXSIZE][ MAXSIZE] ;/ *邻接矩阵*/
   int  n,e ;                       /*顶点数和边数*/
 }graph;
 


posted on 2013-02-12 16:18  电子幼体  阅读(483)  评论(0编辑  收藏  举报

导航