McCabeのサイクロマティック数(制御フローグラフの複雑度計算)

サイクロマティック複雑度(Cyclomatic Complexity:McCabeの複雑度)は、プログラムの制御フローグラフにおける線形独立な基本経路の数を表す指標であり、計算式は $V(G) = e - n + 2$($e$: エッジ数、$n$: ノード数)で与えられます。 本問の制御フローグラフの構成要素を数えると以下のとおりです: 1. ノード数($n$) : 丸印のノード数は計11個($n = 11$) 2. エッジ数($e$) : ノード間を結ぶ矢印の数は計16本($e = 16$) したがって、サイクロマティック複雑度は次のように求まります: $$e - n + 2 = 16 - 11 + 2 = 7$$ (※補足:判定ノード(2分岐ノード)の数を $p$ とすると、$V(G) = p + 1$ でも求められます。グラフ内の分岐ノード数は6個あるため、$6 + 1 = 7$ と一致します)

プログラムの構造的な複雑度を測る尺度としてMcCabeが提唱したサイクロマティック複雑度がある。制御の流れが次のグラフで表されるプログラムのサイクロマティック複雑度は幾らか。ここで,エッジの個数を ee,ノードの個数を nn とし,サイクロマティック複雑度は e−n+2e - n + 2 で求めるものとする。

問題画像
出典令和7年度 春期 システムアーキテクト試験 午前Ⅱ 問8
ア
3
イ
4
ウ
5
エ
7