2017-06-03 86 views
-3
  • a。根據兩個CC公式,解釋爲什麼節點的數量不會影響CC。基於兩種圓環複雜性公式,解釋爲什麼程序性節點的數量不會影響環複雜度值

    b。如果你有多個停止節點會發生什麼? d)。中斷循環複雜度的影響是什麼,繼續, 轉到和返回語句?

    e。 if/switch語句中其他或默認 子句的圈複雜度有什麼影響?

    f。對遞歸方法調用的圈複雜度有什麼影響? g。

    g。通過一個循環的可能路徑的總數(用於while或 do ... while)實際上是無限的,因爲它可以重複任意數量的 次。那麼爲什麼一個循環只會增加 之一的圈複雜度? h。

    h。計算複雜性(用大O表示) 是否會影響圈複雜度?

+0

看到這個問作業問題:https://meta.stackoverflow.com/questions/334822/how-do-i-ask-and-answer-homework-questions和這如何寫一個很好的問題: https://stackoverflow.com/help/how-to-ask。現在你只是要求我們爲你做功課。 –

+0

**感謝您的建議**,但我需要我的問題的答案。我曾經對圓形複雜性有過分評價。 –

+0

你到目前爲止做了哪些工作?你堅持什麼具體的東西?你的課本和演講稿告訴你什麼? –

回答

1

下面給出的是我對您問題的回答,您可以更正給出的答案是否有問題。

a。根據兩個CC公式,解釋爲什麼程序節點的數量不會影響CC。 CC是衡量通過代碼的線性無關路徑的數量。 程序節點可以組合成一個節點,因此只有一個單一的路徑通過代碼。無論程序節點的數量cc = 1。由於決策節點d = 0

b。如果你有多個停止節點會發生什麼?

CC測量線性無關路徑。退出點不添加代碼路徑,他們終止路徑,從而減少CC(或者至少,他們當然不會增加CC)。 https://stackoverflow.com/a/2073485/5156517

c。假設你使用V(G)= d + 1公式,但不計算switch語句,你可以計算case子句。這在概念上是正確的嗎?解釋爲什麼你會得出正確的答案,儘管案例條款不是決定節點。

從概念上講違背公式,3件案件意味着3件決定。不計算默認路徑。

d。中斷,繼續,轉到和返回語句的循環複雜性有什麼影響?

沒有影響

即if/switch語句中else或default子句的圈複雜度有什麼影響?

沒有效果,否則默認子句不計入決策節點。

f。對遞歸方法調用的圈複雜度有什麼影響?

沒有。在你的例子中,遞歸方法只有一條線性獨立的路徑,所以它不會增加圈複雜度。 g。

g。通過循環(while,while或do while)的可能路徑的總數實際上是無限的,因爲它可以重複任意次數。那麼爲什麼一個循環只會增加一個循環複雜度?

因爲它不會增加線性獨立路徑的數量,因爲while循環並不意味着多個控制路徑......因此它不會添加到cc.only,而是在它返回到每次從循環返回時啓動一個decion節點來檢查條件,因此只添加一條單一路徑。 h。

h。計算複雜性(用大O表示法表示)是否會影響圈複雜度?

計算複雜性度量資源耗盡,佔用空間和時間,而不是衡量程序的複雜性。

+1

謝謝。這真的很有幫助 –