कोड के दो टुकड़े एक छोटे टेस्ट केस पर समान परिणाम उत्पन्न कर सकते हैं और वास्तविक डेटा आने पर बिल्कुल अलग व्यवहार कर सकते हैं। बिग ओ नोटेशन वह तरीका है जिससे कंप्यूटर वैज्ञानिक उस अंतर का सटीक वर्णन करते हैं — गणितीय रूप से वर्णन करके कि इनपुट का आकार बढ़ने के साथ ऑपरेशनों की संख्या कैसे बढ़ती है।
A-Level विस्तार
"O" वास्तव में क्या मतलब रखता है
बिग ओ एक एल्गोरिदम की वृद्धि दर का वर्णन करता है — इनपुट का आकार बढ़ने के साथ ऑपरेशनों की संख्या कैसे बढ़ती है, जिसे परंपरागत रूप से n कहा जाता है। यह जानबूझकर स्थिरांक कारकों और छोटे पदों को नज़रअंदाज़ करता है, क्योंकि इसका उत्तर देने के लिए बनाया गया प्रश्न "यह कैसे बढ़ता है" है — एक ऐसा प्रश्न जिसका उत्तर इस बात पर निर्भर नहीं करता कि आप इसे किस कंप्यूटर पर चलाते हैं।
वृद्धि दरें जो वास्तव में मायने रखती हैं
मुट्ठी भर वृद्धि दरें लगभग हर एल्गोरिदम को कवर करती हैं जिसका आप सामना करेंगे, डेटा बढ़ने के साथ सबसे अच्छे से सबसे बुरे तक:
- O(1) — स्थिर। इनपुट के आकार की परवाह किए बिना समान संख्या में चरण, जैसे यह जांचना कि कोई सूची खाली है या नहीं।
- O(log n) — लघुगणकीय। n बढ़ने के साथ ऑपरेशन बहुत धीरे-धीरे बढ़ते हैं — उदाहरण के लिए, एक सॉर्टेड सूची पर बाइनरी सर्च।
- O(n) — रैखिक। इनपुट को दोगुना करें, काम को दोगुना करें — जैसे एक असॉर्टेड सूची में हर आइटम को एक बार स्कैन करना।
- O(n²) — द्विघात। इनपुट को दोगुना करें, काम चौगुना हो जाता है — हर आइटम की हर दूसरे आइटम से तुलना करने के लिए विशिष्ट।
छोटे n पर ये वक्र समान दिखते हैं — जो अंतर तय करता है कि कौन सा एल्गोरिदम वास्तव में वास्तविक-विश्व डेटा से बचता है वह केवल n बड़ा होने पर ही स्पष्ट होता है, और यही बिल्कुल वह क्षेत्र है जिसका वर्णन करने के लिए बिग ओ बनाया गया है।
Try it yourself — drag the slider to change the input size (n), and watch how many operations each growth rate actually needs.
Input size: n = 10
At n = 10, an O(n²) approach needs 100 operations — 10× more than the O(n) approach doing the exact same job.
एक द्विघात एल्गोरिदम, O(n²), जो 10 आइटम के लिए 100 ऑपरेशन करता है वह 1,000 आइटम के लिए 1,000,000 ऑपरेशन करता है — 100 गुना डेटा के लिए 100 गुना काम नहीं, बल्कि 10,000 गुना।
परीक्षा-शैली का प्रश्न
एक एल्गोरिदम 4 आइटम के लिए 8 ऑपरेशन, 8 आइटम के लिए 32 ऑपरेशन, और 16 आइटम के लिए 128 ऑपरेशन लेता है। अपने तर्क को दिखाते हुए इसकी बिग ओ वृद्धि दर निर्धारित कीजिए। [3 अंक]
आदर्श उत्तर और अंक विभाजन दिखाएँ
- उन क्रमागत मामलों की तुलना करें जहां n दोगुना होता है: 4 → 8, और 8 → 16 (1 अंक)
- हर बार ऑपरेशन की संख्या चौगुनी हो जाती है: 8 → 32 (×4), और 32 → 128 (×4) (1 अंक)
- जब n को दोगुना करने से ऑपरेशन की संख्या चौगुनी हो जाती है (×4 = ×2²), तो यह द्विघात वृद्धि (quadratic growth) का संकेत है: O(n²) (1 अंक)
परीक्षक किस पर ध्यान देता है: n के दोगुना होने और ऑपरेशनों पर परिणामी गुणक के बीच विशिष्ट पैटर्न की पहचान करें — यह अनुपात (यहां, प्रत्येक दोगुना होने पर ×4) ही वास्तव में वृद्धि दर की पहचान करता है, न कि केवल कच्ची संख्याएं।
सामान्य गलती: यह मान लेना कि यह रैखिक वृद्धि है केवल इसलिए कि संख्याएं 'लगातार बड़ी हो रही हैं', बिना उस दोगुना होने वाले संबंध की जांच किए जो O(n) (n के दोगुना होने पर ×2) को O(n²) (दोगुना होने पर ×4) से अलग करता है।
व्यवहार में वृद्धि दरों के बीच अंतर क्यों मायने रखता है
छोटे टेस्ट डेटा के साथ, एक O(n²) एल्गोरिदम और एक O(n log n) एल्गोरिदम दोनों एक सेकंड के अंश में समाप्त हो सकते हैं — अंतर अदृश्य है। उसी इनपुट को उस आकार तक बढ़ाएं जिसे एक वास्तविक उत्पाद वास्तव में संभालता है, और O(n²) दृष्टिकोण वास्तविक घंटे ले सकता है जहां O(n log n) दृष्टिकोण सेकंड लेता है।
सही कोड लिखने से परे यह क्यों मायने रखता है
कोई भी प्रोग्रामर ऐसा कोड लिख सकता है जो सही उत्तर उत्पन्न करता है। ऐसा कोड लिखना जो वास्तविक डेटा आने पर भी पर्याप्त तेज़ी से सही उत्तर उत्पन्न करता रहे, इसके लिए पहले से यह समझने की आवश्यकता होती है कि एक दृष्टिकोण कैसे बढ़ेगा। यदि कंप्यूटर विज्ञान कुछ ऐसा है जिसे आप या आपके बच्चे को यह समझाया जाना चाहिए कि एक दृष्टिकोण दूसरे से बेहतर क्यों है, केवल सिंटैक्स नहीं, तो यही बिल्कुल वह है जो हमारी GCSE और A-Level कंप्यूटर विज्ञान ट्यूशन प्रदान करती है, और आप पूरा सीखने का मार्ग यहां देख सकते हैं।
अक्सर पूछे जाने वाले प्रश्न
हम स्थिरांक और छोटे पदों को क्यों नज़रअंदाज़ करते हैं — क्या इससे उपयोगी जानकारी नहीं खो जाती?
बिग ओ जानबूझकर एक विशिष्ट प्रश्न का उत्तर देने के लिए बनाया गया है — इनपुट बहुत बड़ा होने पर रनटाइम कैसे बढ़ता है — और n जितना बड़ा होता है स्थिरांक उतना ही कम मायने रखते हैं। बिग ओ प्रदर्शन की पूरी कहानी नहीं है, लेकिन यह सही ढंग से भविष्यवाणी करता है कि एक बार डेटा पर्याप्त बड़ा होने पर कौन सा एल्गोरिदम जीतता है।
क्या कम बिग ओ हमेशा व्यवहार में बेहतर विकल्प है?
स्वचालित रूप से नहीं — छोटे इनपुट के लिए, एक बदतर बिग ओ लेकिन बहुत छोटे स्थिर कारक वाला एल्गोरिदम वास्तव में व्यवहार में तेज़ चल सकता है, क्योंकि क्रॉसओवर बिंदु केवल बड़े n पर आ सकता है। यही कारण है कि कुछ वास्तविक-विश्व सॉर्टिंग लाइब्रेरी एल्गोरिदम के बीच स्विच करती हैं इस आधार पर कि वे कितना डेटा सॉर्ट कर रही हैं।
बिग ओ को वास्तव में प्रोग्रामर द्वारा रोज़मर्रा में कैसे उपयोग किया जाता है, केवल साक्षात्कार में नहीं?
यह वह तरीका है जिससे एक डेवलपर भविष्यवाणी करता है कि क्या एक दृष्टिकोण वास्तविक (बहुत बड़ा) डेटा आने पर भी काम करेगा। एक असॉर्टेड सूची में खोजना O(n) है; एक सॉर्टेड सूची में बाइनरी सर्च O(log n) है — 10 आइटम के साथ अदृश्य और 10 मिलियन के साथ विशाल अंतर।
पाठकों की रेटिंग और समीक्षाएँ
इस लेख को कई अलग-अलग पहलुओं पर रेट करें — आपकी रेटिंग दूसरे पाठकों की मदद करती है, और हमें बेहतर बनाने में मदद करती है।
क्या यह लेख उपयोगी था?
हमें अपनी राय बताएं — कोई सुधार, कोई सवाल जिसका जवाब नहीं मिला, या कोई विषय जिसे आप अगली बार कवर होते देखना चाहते हैं।
बात करना पसंद करेंगे? अपनी सुविधा के समय पर मुफ़्त वीडियो कॉल बुक करें: छोटे सवाल के लिए 15 मिनट, बाकी के लिए 30 मिनट। समय आपके अपने टाइम ज़ोन में दिखता है।

लेखक के बारे में
Sudershan Soni
मोस्तक सर्विसेज़ में संस्थापक व मुख्य शिक्षक — MSc-योग्य गणित, विज्ञान, कंप्यूटर साइंस और STEM शिक्षक, 20+ वर्षों के पेशेवर अनुभव के साथ, 11+ और GCSE से A-Level और उससे आगे तक के छात्रों को दुनिया भर में ऑनलाइन पढ़ाते हैं।
पूरी प्रोफ़ाइल पढ़ें