流图(程序图)表示程序的控制流——>McCabe方法度量程序空间复杂度

McCabe方法

McCabe方法根据程序控制流的复杂程度定量度量程序的复杂程度,这样度量出的结果称为程序的环形复杂度。
为了突出表现程序的控制流,人们通常使用流图(也称程序图)。
1、流图
所谓流图实质上是“退化了的”程序流程图,它仅仅描绘程序的控制流程,完全不表现对数据的具体操作以及分支或循环的具体条件。
(1)在流图中用圆表示结点,一个圆代表一条或多条语句
(2)程序流程图中的一个顺序的处理框序列和一个菱形判断框,可以映射成流图中的一个结点
(3)流图中的箭头称为边,它和程序流程图中的箭头线类似,代表控制流
(4)流图中一条边必须终止于一个结点,即使这个结点并不代表任何语句(实际上相当于一个空语句)
2、环形复杂度

环形复杂度定量度量程序的逻辑复杂度。

可以用下述三种方法中的任意一种来计算环形复杂度:
(1)流图中的区域数等于环形复杂度
(2)流图G的环形复杂度V(G)=E-N+2,其中,E是流图中边的条数,N是结点数。
(3)流图G的环形复杂度V(G)=P+1,其中,P是流图中判定结点的数目
在这里插入图片描述
把程序流程图映射成流程图:(a)程序流程图(b)为流图
如图(a)所示,流图中有九条边,八个结点,流图G的环形复杂度V(G)=E-N+2,
所以V(G)=10-8+2=4 。

  • 14
    点赞
  • 73
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值