आज के लेक्चर में हम समय जटिलता (Time Complexity) के बारे में सीखेंगे।
समय जटिलता DSA में एक महत्वपूर्ण विषय है जो अक्सर छात्रों को भ्रमित करता है।
समय जटिलता क्या है?
समय जटिलता का अर्थ है कि एक एल्गोरिदम के लिए इनपुट के आकार के आधार पर काम करने में कितना समय लगेगा।
यह असली समय नहीं है, बल्कि एक व्यवहार या कार्य है जो हमें यह समझाता है कि जैसे-जैसे इनपुट का आकार बढ़ता है, एल्गोरिदम के कार्यों की संख्या कैसे बदलती है।
हम एल्गोरिदम की जटिलता को सामान्यतः "बिग ओ" (Big O) के सहारे दर्शाते हैं।
समय जटिलता की अवधारणाएँ
बिग ओ: यह सबसे खराब स्थिति को दर्शाता है, यानी एल्गोरिदम के लिए अधिकतम समय।
कॉन्टेंट टाइम जटिलता (Big O(1)): इनपुट के आकार से स्वतंत्र।
लिनियर टाइम जटिलता (Big O(n)): इनपुट के आकार के साथ समानुपाती।
क्वाड्रैटिक टाइम जटिलता (Big O(n²)): जब एक लूप के अंदर एक और लूप होता है।