参考文献:
【1】技术博客
【2】McCabe度量法
McCabe度量法是由托马斯·麦克凯提出的一种基于程序控制流的复杂性度量方法。McCabe复杂性度量又称环路度量。它认为程序的复杂性很大程度上取决于程序图的复杂性。单一的顺序结构最为简单,循环和选择所构成的环路越多,程序就越复杂。
对于环路复杂度的问题描绘程序控制流的流图之后,可以用下述3种方法中的任何一种来计算环形复杂度。
(1)流图中的区域数等于环形复杂度。
(2)流图G的环形复杂度V(G)=E-N+2,其中,E是流图中边的条数,N是结点数。
(3)流图G的环形复杂度V(G)=P+1,其中,P是流图中判定结点的数目。
例一:
根据公式:
V(G)=E-N+2
10 - 8 + 2 = 4
则得出答案选择 C.
例二:
根据公式:
V(G)=E-N+2
8 - 6 + 2 = 4 选 C
例三:
方法一:
流图G的环形复杂度V(G)=E-N+2,其中,E是流图中边的条数,N是结点数。
有了前面的分析,现在就好做了:
上图:8-7+2=3
下图:9-7+2=4(注意E不是10,因为G节点的自环弧线要忽略掉)
方法二:
流图G的环形复杂度V(G)=P+1,其中,P是流图中判定结点的数目。
判断节点:
上图:C,E, 2个点,复杂度2+1=3
下图:C.E.D 3个点,复杂度3+1=4