McCabe环路复杂性问题

参考文献:

【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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第一章 绪论 什么是数据结构? 数据结构的定义:数据结构是相互之间存在一种或多种特定关系的数据元素的集合。 第二章...
    SeanCheney阅读 5,822评论 0 19
  • B树的定义 一棵m阶的B树满足下列条件: 树中每个结点至多有m个孩子。 除根结点和叶子结点外,其它每个结点至少有m...
    文档随手记阅读 13,355评论 0 25
  • 本文涉及更多的是概念,代码部分请参考之前写过的 2 篇博客 基于Javascript的排序算法基本数据结构和查找算...
    faremax阅读 1,308评论 0 2
  • 海风抚摸脸颊 凌乱了头发 海浪漫过脚丫 涌到了膝下 抱着你 望天涯 风景独好 如画
    海阔天空_02d7阅读 197评论 0 3
  • 女人们因为能生孩子,各种作死。 那好了,求男性可怀孕生育的生物技术。 各玩各的。 谁都别累着谁!
    井底的动物阅读 197评论 0 0