gpt4 book ai didi

cyclomatic-complexity - 计算伪代码的圈复杂度

转载 作者:行者123 更新时间:2023-12-04 08:39:55 26 4
gpt4 key购买 nike

while(m<n)
if(x>y) AND (a<b) then
a=a+1
y=y-1
end if
m=m+1
end while

我正在计算上述伪代码的圈复杂度,我得出的结论是使用捷径方法

M=(决策点)+ 1

其中 M 是圈复杂度

我得到了答案 3

是真的吗?

最佳答案

首先,让我们识别每个语句。我在这里使用字母,但它可以是数字。

A    while(m<n)              
B,C if(x>y) AND (a<b) then
D a=a+1
E y=y-1
end if
F m=m+1
G end while
  • 请注意 第二个语句有两个条件/谓词/决策点 (或随便你怎么称呼它们),所以我将它们命名为 B 和 C。
  • 我要使用 end while (G) 作为导出点。

  • 现在我们可以绘制控制流图(CFG):

    CFG

    最后,以三种不同的方式计算圈复杂度 (M):
  • M = E-V+2*K = 9-7+2*1 = 4
  • M = C + 1 = 3 + 1 = 4
  • M = 区域(CFG)= 4

  • 在哪里:
  • E=边数
  • V=顶点数
  • K=图形组件的数量
  • C=条件数/决策点数
  • 关于cyclomatic-complexity - 计算伪代码的圈复杂度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32242464/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com