使用McCabe方法可以计算程序流程图的环形复杂度,下图的环形复杂度为(34) [图片描述:一个程序流程图,有3个判定节…
单选题
使用McCabe方法可以计算程序流程图的环形复杂度,下图的环形复杂度为(34)
[图片描述:一个程序流程图,有3个判定节点]
A. 3
B. 4
C. 5
D. 6
答案:B
解析
正确答案是 B. 4。
McCabe 环形复杂度常用公式:V(G) = 判定节点数 + 1。图中程序流程图有 3 个判定节点,因此 V(G) = 3 + 1 = 4。也可用 V(G) = E - N + 2 计算,结果一致。
选项逐个看:
- A. 3:只数了判定节点数,漏掉了加 1,结果偏小。
- B. 4:正确,3 个判定节点对应 4 条独立路径。
- C. 5:错误,可能把某些非判定节点也当成判定节点,或公式使用错误。
- D. 6:错误,明显高估,通常是对边数、节点数或判定数重复计数。
面试延伸:环形复杂度表示程序独立路径数量,也是至少需要设计的测试用例数下界。常见公式有两个:V(G) = E - N + 2,以及 V(G) = P + 1,其中 P 是判定节点数。此类题优先数判定节点,通常最快。