爲了計算代碼的圈複雜度,我繪製了一個由節點和邊組成的控制流程圖,它幫助我計算V(G)= E - N + 2在我的情況下,E = 15和N = 11造成6McCabe的圈複雜度
一個cyclomativ複雜性我們確認我的回答,我想在尋找的代碼打擊線性無關的路徑一些幫助:
int maxValue = m[0][0];
for (int i = 0; i < N; i++)
{
for (int j = 0; j < N; j++)
{
if (m[i][j] > maxValue)
{
maxValue = m[i][j];
}
}
}
cout << maxValue << endl;
int sum = 0;
for (int i = 0; i < N; i++)
{
for (int j = 0; j < N; j++)
{
sum = sum + m[i][j];
}
}
cout << sum << endl;
這應該相等,則結果爲我V (G),否則我的計算是錯誤的。感謝您的幫助。
您的圈複雜度爲6是正確的。如何計算節點和邊緣的變化(我計數16個節點,20個邊),但是如果計數一致,則圈複雜度總是6。 – 2012-04-28 19:16:21