“21 天好习惯”第一期-3

今天刷了软考真题发现McCabe环路复杂度的计算几乎每次都会考,然而却忘记咋计算了,所以我决定去把它捡回来。

McCabe环路复杂度的计算,共有三种方法。

(1)流图中的区域数等于环形复杂度。
(2)流图G的环形复杂度V(G)=M-N+2,其中,M是流图中的条数,N是结点数。
(3)流图G的环形复杂度V(G)=P+1,其中,P是流图中判定结点的数目。

让我们一起通过一个简单的例题来理解McCabe环路复杂度计算的三种方法。

例题如下图所示(图画的有点丑,勿怪)

 

 

 

 

第一种方法:流图中的区域数等于环形复杂度

这种方法对于有些人来说可能有点迷糊,就比如我,我刚开始学时以为就是数圈圈,但还是有点不清不楚的感觉,就是用数圈得出来的答案觉得不可靠。所以现在我更加懂了,我是这样子做的,首先画个正方形,有多少个判断节点就在正方形上画几条线,每条线之间相互平行,然后看把正方形分成了几部分区域,如下图所示(相当于切蛋糕,每刀切的方向相同),区域数就是流图的环形复杂度,为3

 

 第二种方法:流图G的环形复杂度V(G)=M-N+2,其中,M是流图中的条数,N是结点

看流图可以得出  M=8 ,N=7,所以 V(G)=8-7+2=3

第三种方法:流图G的环形复杂度V(G)=P+1,其中,P是流图中判定结点的数目

看流图可以得出  P=2,所以 V(G)=2+1=3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值