2012-02-01 11 views
20

मैं चक्रवात जटिलता (सीसी) के सीखने के चरण में हूं।चक्रवात जटिलता की गणना

  • ई = संख्या: अभ्यास के लिए, मैं 2 उदाहरण के cyclomatic जटिलता की गणना और पुष्टि करने के लिए करता है, तो अपने जवाब सही हैं या नहीं चाहते हैं रहा हूँ ...

    विकिपीडिया की चर्चा करते हुए सीसी M = E − N + 2P जहां द्वारा दिया जाता है ग्राफ के किनारों का

  • एन = ग्राफ
  • पी के नोड्स की संख्या = जुड़ा घटकों

की संख्या कृपया मदद करते हैं।

Example 1

यहाँ

, ई = 8, एन = 9 और पी = 1. इसलिए एम = 8 - 9 + (2x1) = 1.

उदाहरण 2:

Example 2

यहां ई = 11, एन = 10 और पी = 1. इसलिए एम = 10 - 11 + (2x1) = 1.

इसलिए दोनों उदाहरणों के लिए सीसी 1 है। कृपया मुझे बताएं कि मेरी गणना कोर है रेक्ट या नहीं।

+5

मैं विषय से हटकर के रूप में इस सवाल को बंद करने, क्योंकि यह कार्यप्रवाह आधारित गणित है मतदान कर रहा हूँ की संख्या। यह सॉफ्टवेयर इंजीनियरिंग पर है, न कि स्टैक ओवरफ़्लो। – TylerH

उत्तर

21

आपको फॉर्मूला में मूल्यों को सही तरीके से सम्मिलित करने के लिए और अधिक ध्यान रखना होगा।

उदाहरण 1 में, आप कह

यहाँ, ई = 8, एन = 9 और पी = 1

लेकिन वास्तव में, यह इसके विपरीत है: 9 किनारों (= ई) , 8 नोड्स (= एन), तो आपको 3.

उदाहरण के लिए, आपके पास मान सही हैं: ई = 11, एन = 10, पी = 1। लेकिन आप सूत्र में गलत क्रम में उन्हें डालें; यह वास्तव में 11 - 10 + (2x1) = 3 होना चाहिए।

शॉर्टकट: यदि आपके पास अपने ग्राफ की एक तस्वीर है, तो आप साइक्लोमैटिक जटिलता को आसानी से निर्धारित कर सकते हैं। बस किनारों से पृष्ठभूमि को विभाजित क्षेत्रों की संख्या गिनें। आपके पहले उदाहरण में, आपके पास 2 आंतरिक क्षेत्र हैं (किनारों से घिरे हुए हैं) और आसपास के क्षेत्र में, 3 का सीसी देते हुए। दूसरे उदाहरण के साथ ही चला जाता है। (इस विधि के लिए आवश्यक है कि किनारों को एक दूसरे को पार नहीं कर रहे हैं, स्पष्ट रूप से।)

+1

+1, पृष्ठभूमि विभाजन विधि नहीं पता था :) – Kos

+0

ओह हाँ ... मैंने गलती से गलत मूल्यों को नोट किया है ... जवाब देने और उत्तर देने में मेरी सहायता करने के लिए धन्यवाद। शॉर्टकट विधि के लिए +1 भी ... मुझे यह नहीं पता था। :) –

+0

** शॉर्टकट ** के लिए एक और +1 - एक आकर्षण की तरह काम करता है। – joshuamabina

7

यदि यह मदद करता है, तो यह सशर्त (यदि, जबकि, के लिए) बयान +1 की संख्या में मदद करता है। तो उपरोक्त उदाहरण में, 2 सशर्त बयान हैं। तो 2 + 1 = 3। इस मामले में चक्रवात जटिलता 3

+1

क्या आपके पास इस ह्युरिस्टिक के लिए संदर्भ है? – Apalala

+1

@Apalala यह केवल * एक प्रविष्टि * और बस * एक निकास * बिंदु के साथ किसी भी नियंत्रण प्रवाह ग्राफ के लिए मान्य है। यह थॉमस जे मैककेबे द्वारा दिखाया गया था। संदर्भ [यहां] (https://dx.doi.org/10.1109%2Ftse.1976.233837) – Quirk

1

बस बंद क्षेत्र की संख्या की गणना करें और इसमें 1 जोड़ें।

अपने उदाहरण में ऊपर, बंद क्षेत्र = 2 की संख्या है, तो सीसी = 2 + 1 = 3

1

पी = जुड़ा घटकों

अन्य शब्दों में की संख्या

पी = नोड्स निकास बिंदुओं है

Source