图的邻接矩阵求图的出度,入度,可达矩阵,判断强连通,弱连通,单向连通(C++,vs2017)

一、介绍概念

 

1、邻接矩阵

       将一个n个节点的图,转化成一个n*n的矩阵G,G[i][j]表示第i个节点到第j个节点的的权重。

      

      对于上图邻接矩阵为:

      

2、度

      度分为入度和出度:某个节点的入度就是可以通过一条边到达这个节点的节点个数,某个节点的出度就是可以通过一条边到达其它节点的节点个数

      

     在这个图中只有3节点可以到达0节点,0节点可以到达1节点和2节点,所以0节点的入度为:1,出度为2

3、可达矩阵:

     可达矩阵是一个n*n的矩阵rechG,如果节点i可以到达节点j,那么rechG[i][j]=1,反之,则为rechG[i][j]=0;可以采取这种计算方式:

        tmpG=G+G^{^{2}}+G^{^{3}}+\cdots +G^{^{n}}

       rechG[i][j]=\left\{\begin{matrix} 1, tmpG[i][j]!=0 & \\ 0, tmpG[i][j]==0& \end{matrix}\right.

4、连通(有向图)

      (1)强连通:当每个节点都可以到达其它节点的时候就是强连通

      如图:(下图就是一个强连通图)

      

      (2)单向连通:只要对任意两个节点:节点i, 节点j,如果i可以到达j(条件1),或者j可以到达i(条件2),只要满足一个条件,就是单向连通图。

       如果:(下图是一个单向连通图)

      

         (3)弱连通:将有向图转化成无向图的时候,如果这个无向图是强连通,那么原图是弱连通。

           

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值