mccabe计算环路复杂度

来源:互联网 发布:u盘格式化后数据恢复 编辑:程序博客网 时间:2024/06/02 10:50



下图所示的程序流程图中有()条不同的简单路径。采用McCabe度量法计算该程序图的环路复杂性为()。


环形复杂度定量度量程序的逻辑复杂度。描绘程序控制流的流图之后,可以用下述3种方法中的任何一种来计算环形复杂度。
(1)流图中的区域数等于环形复杂度。
(2)流图G的环形复杂度V(G)=E-N+2,其中,E是流图中边的条数,N是结点数。
(3)流图G的环形复杂度V(G)=P+1,其中,P是流图中判定结点的数目。
这种环路度量法,计算的思路是这样的:它是考虑控制的复杂程度,即条件选择的分支繁杂程度。
图中有3次简单的判断。故3条简单路径,形成3块环形区域,区域复杂度为3。

3块环形区域是

              

所以环路复杂度是3

简单路径是指顶点序列中不重复出现的路径,图中在y=n-1处有个判断,Y的情况的时候是一条简单路径,N情况下在A[i]>A[i+1]时Y和N
有两条路,循环回y=n-1,此时若取Y则多出两条简单路径,取N则顶点重复了不再是简单路径,故图中有3条简单路径


3条简单路径是




0 0
原创粉丝点击