दिलचस्प पोस्ट
आरंभीकरण सूची (सी ++) के साथ माता-पिता के संरक्षित सदस्यों को आरंभ करना अनाम पुनरावर्ती PHP फ़ंक्शन किसी स्ट्रिंग के लिए एक ArrayList कन्वर्ट करने का सर्वोत्तम तरीका सी ++ एसटीएल जैसी वेक्टर वर्ग की तलाश में है लेकिन स्टैक स्टोरेज का उपयोग करना अजगर: निष्पादन योग्य ज़िप फ़ाइलों में डेटा फ़ाइलों को शामिल किया जा सकता है? आंतरिक वर्ग ऑब्जेक्ट से बाहरी कक्षा ऑब्जेक्ट को पकड़ना एन्नम ऑर्डिनल से एन्यूम प्रकार में कनवर्ट करें मेरी सीएसएस मेरी सामग्री स्क्रिप्ट के माध्यम से इंजेक्शन नहीं मिल रही है फ़ंक्शन पॉइंटर के रूप में लैम्ब्डा पास करना ग्लोबल्स (), स्थानीय (), और वार्स () में अंतर क्या है? मैं बाबा के साथ फ़ाइल में दोनों stdout और stderr को रीडायरेक्ट कैसे कर सकता हूं? अजगर 2 या अजगर 3 में सीएसवी फ़ाइल लिखने का पोर्टेबल तरीका कैसे और कब मैं एच के लिए डेटाबेस से मॉडल लोड करना चाहिए: dataTable कैसे बाश में दो तारों को अलग संस्करण स्वरूप में तुलना करें? एंड्रॉइड – बैकस्पेस कैप्चर नहीं कर सकता / नरम में प्रेस हटाएं। कीबोर्ड

नेस्टेड लूप का बिग-ओ क्या है, जहां आंतरिक लूप में पुनरावृत्तियों की संख्या बाहरी लूप की वर्तमान पुनरावृत्ति से निर्धारित होती है?

निम्न नेस्टेड लूपों की बिग-ओ समय की जटिलता क्या है:

for(int i = 0; i < N; i++) { for(int j = i + 1; j < N; j++) { System.out.println("i = " + i + " j = " + j); } } 

क्या यह ओ (एन ^ 2) अभी भी होगा?

वेब के समाधान से एकत्रित समाधान "नेस्टेड लूप का बिग-ओ क्या है, जहां आंतरिक लूप में पुनरावृत्तियों की संख्या बाहरी लूप की वर्तमान पुनरावृत्ति से निर्धारित होती है?"

हां, यह अभी भी ओ (एन ^ 2) है, इसमें एक छोटे स्थिर कारक है, लेकिन यह ओ नोटेशन को प्रभावित नहीं करता है।

हाँ। परिभाषा के अनुसार बिग-ओ: ओ (एफ (एन)) की परिभाषा को याद करते हैं कि कुछ स्थिर कश्मीर के लिए रन टाइम टी (एन)केएफ (एन) इस स्थिति में, चरण की संख्या (एन -1) + (एन -2) + … + 0 होगी , जो 0 से एन -1 की राशि को दोबारा बदलती है; ये है

टी (एन) = (एन -1) ((एन -1) +1) / 2

इसे पुनर्व्यवस्थित करें और आप देख सकते हैं कि टी (एन) हमेशा ≤ 1/2 (n²) होगा; परिभाषा के अनुसार, इस प्रकार टी (एन) = हे (एन²)

यदि आप System.out.println की उपेक्षा करते हैं, तो यह N स्क्वायर है यदि आप मानते हैं कि उस समय के द्वारा अपने उत्पादन में रैखिक होगा (जो निश्चित रूप से नहीं हो सकता है), मुझे संदेह है कि आप (ओ (एन ^ 2) * लॉग एन के साथ समाप्त होते हैं)।

मैं यह नहीं कहता हूं कि पिकदार होना चाहिए, लेकिन सिर्फ यह इंगित करने के लिए कि जटिलता को पूरा करते समय आपको स्पष्ट रूप से छोरों को ध्यान में रखने की ज़रूरत नहीं है – आपको उन चीजों की जटिलता को देखने की जरूरत है जो आप भी कहते हैं।

हाँ, यह एन स्क्वायर होगा। चरणों की वास्तविक संख्या 1 से एन की राशि होगी, जो .5 * (एन -1) ^ 2 है, अगर मैं गलत नहीं हूं। बिग ओ केवल उच्चतम निपुण और कोई स्थिर नहीं खाते को लेता है, और इस प्रकार, यह अभी भी एन वर्ग है।

यदि आपके पास एन = 10 था, तो आप पुनरावृत्तियों होंगे: 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 (यह है: दस पुनरावृत्तियों से अधिक नौ पुनरावृत्तियों प्लस आठ पुनरावृत्तियों … आदि)।

अब, आपको इसके अलावा में ढूंढने की जरूरत है कि आप कितनी बार एन (10 उदाहरण में) प्राप्त कर सकते हैं:

1: (10), 2: (9 + 1), 3: (8 + 2), 4: (7 + 3), 5: (6 + 4) जो 5 गुना है … और बाकी 5 पुनरावृत्त हैं।

अब आप जानते हैं कि आपके पास पांच दसियों + 5 है:

10 (5) +5

एफ (एन) (या एन) के संदर्भ में, हम आसानी से यह देख सकते हैं कि यह होगा:

f (n) = n (n / 2) + n / 2 = (n ^ 2) / 2 + n / 2 = (n ^ 2 + n) / 2 … ये बिल्कुल नेस्टेड लूप की जटिलता है

लेकिन, बिग हे के असीम्पटोटिक व्यवहार को देखते हुए, हम एफ (एन) के कम महत्वपूर्ण मानों से छुटकारा पा सकते हैं, जो कि एकल और एनओमिनेटर हैं।

परिणाम: ओ (एन ^ 2)

एपेल, बाहरी लूप के माध्यम से बाहरी लूप से शुरू हो रहा है नेस्टेड लूप जटिलता की गणना के लिए पर्याप्त तरीका है। यहां छवि विवरण दर्ज करें