美文网首页
McCabe环路复杂性问题

McCabe环路复杂性问题

作者: 形式主义_5adc | 来源:发表于2017-10-31 17:38 被阅读0次

参考文献:

【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

相关文章

  • McCabe环路复杂性问题

    参考文献: 【1】技术博客 【2】McCabe度量法 McCabe度量法是由托马斯·麦克凯提出的一种基于程序控制流...

  • McCabe复杂度计算

    1、McCabe复杂度计算公式:V(G)=m-n+2,其中m是有向弧的条数,n是结点数。 2、对于伪代码可以先转换...

  • 什么是【圈复杂度】

    圈复杂度(Cyclomatic complexity)是由 Thomas J. McCabe, Sr. 在1976...

  • pycharm flake8配置

    Flake8 是“将 PEP 8、Pyflakes(类似 Pylint)、McCabe(代码复杂性检查器)和第三方...

  • 岁晚书事

    终于赶在除夕前,读完了Andrew G. McCabe的书,“The Threat”。 这算是McCabe对自己数...

  • 程序流程图

    根据下边的程序流程图,完成: 画出相应的程序控制流图; 给出控制流图的邻接矩阵; 计算 McCabe 环形复杂度;...

  • 解决复杂性问题

    一个具有创造性的想法或者产品,就是一个能够解决某一问题的独特且适切的方法。 20世纪杰出的艺术史学家、耶鲁大学的乔...

  • 神经网络入门

    一、Motivations "Non-linear Hypotheses" 解决复杂非线性问题的方法之一 解决复杂...

  • 软件工程总复习资料

    一、单选题1.用McCabe方法度量所示程序图的环行复杂度为()。A.4B.5C.6D.7答案:B2.软件维护是保...

  • 安全性、活跃性以及性能问题

    并发编程是一个复杂的技术领域,微观上涉及到原子性问题、可见性问题和有序性问题,宏观则表现为安全性、活跃性以及性能问...

网友评论

      本文标题:McCabe环路复杂性问题

      本文链接:https://www.haomeiwen.com/subject/bmnbpxtx.html