तो मुझे कुछ चीजें स्पष्ट करने दें, आप बड़े-ओ नोटेशन में रुचि रखते हैं - इसका मतलब ऊपरी बाध्य है । दूसरे शब्दों में, जितना आप वास्तव में करते हैं उससे अधिक चरणों की गणना करना ठीक है। विशेष रूप से, आप एल्गोरिथ्म को संशोधित कर सकते हैं
...
for (j = 0; j < n; j++)
...
तो आपके पास दो नेस्टेड लूप हैं, प्रत्येक लूप बार चलता है, जो आपको की ऊपरी सीमा देता हैnO(n2)
बेशक, आप ऊपरी सीमा के लिए एक अच्छा अनुमान लगाना चाहेंगे। इसलिए पूरा होने के लिए, हम एक कम सीमा निर्धारित करना चाहते हैं। इसका मतलब है कि कम चरणों को गिनना ठीक है। इसलिए संशोधन पर विचार करें
for (i = n/2; i < n; i++)
for (j = 0; j < n/2; j++)
sum++;
यहाँ, हम केवल कुछ लूप-पुनरावृत्तियों का प्रदर्शन करते हैं। फिर से हमारे पास दो नेस्टेड लूप हैं, लेकिन इस बार हमारे पास प्रति लूप में पुनरावृत्तियों हैं, जिससे पता चलता है कि हमारे पास कम से कम अतिरिक्त हैं। इस मामले में हम इस ओम्पेक्ट लोअर बाइ बाउंड को दर्शाते हैं । निचले और ऊपरी बाध्य संयोग के बाद से, हम यह भी कह सकते हैं कि एक तंग स्पर्शोन्मुख बाध्य है, और हम लिखते हैं ।n/2n2/4Ω(n2)n2Θ(n2)
यदि आप अधिक जानना चाहते हैं, तो यहां पढ़ें ।