【问题标题】:Control flow graph控制流图
【发布时间】:2020-07-22 19:13:22
【问题描述】:

考虑一下这个控制流图。我们需要找到完全独立的人 班轮路径。当我们使用 "V(g) = e-n+2 = 7-6+2 = 3"

但如果我手动计数,我会得到 4 条独立的班轮路径。路径是:

"0=>1=>3=>5", "0 => 1 => 3 => 4 => 5", "0 => 2 =>3=> 5", "0=> 2 => 3 => 4 => 5"

为什么这两个值不同?

[此处为控制流程图][1]

[1]:https://i.stack.imgur.com/vRBmD.png

【问题讨论】:

    标签: control-flow-graph


    【解决方案1】:

    为了计算 McCabe 复杂度,您需要找到边和节点。第一个公式是:

    v(F) = edge - node + 2
    

    第二个公式是:

    v(F) = # of decision nodes + 2
    

    请注意,决策节点的数量也称为谓词节点。

    现在您的图中有 6 个节点(圆圈)和 7 个边(箭头)。

    因此,McCabe 复杂度将为 = v(F) = 7 - 6 + 2 = 3

    第二种解决方法是:

    有两个谓词节点(决策节点)03 所以v(F) = 2 + 1 = 3

    【讨论】:

      猜你喜欢
      • 2012-10-18
      • 2022-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-05
      • 2011-04-06
      • 2011-12-28
      相关资源
      最近更新 更多