Time and Space Complexity? - DSA Python Course - Part 2 [Hindi] | Code & Debug — Transcript
Full transcript
- 0:05[संगीत]
- 0:17हे एवरीवन। सो लेट्स स्टार्ट विद दी टाइम
- 0:19कॉम्प्लेक्सिटी एंड स्पेस कॉम्प्लेक्सिटी।
- 0:21सो इतना मैं गारंटी दे सकता हूं स्टार्ट
- 0:23करने से पहले ये लेक्चर के एंड तक जब आप
- 0:25ये पूरा लेक्चर देखोगे यू विल गेट अ ब्रीफ
- 0:28आईडिया कि ये दोनों चीजें है क्या? टाइम
- 0:30एंड स्पेस कॉम्प्लेक्सिटी एंड क्यों इतना
- 0:31ये इंपॉर्टेंट है। सो चार मेन पॉइंट्स हैं
- 0:34जो मैं इस वीडियो में कवर करूंगा। सो पहली
- 0:36बात तो है कि व्हाट इज़ एक्चुअली टाइम
- 0:37कॉम्प्लेसिटी? इसको बोलते क्या है? होता
- 0:39क्या है? इसका डेफिनेशन क्या है? वो मैं
- 0:41आपको बताऊंगा। दूसरा मैं आपको बताऊंगा कि
- 0:43क्यों हमेशा इंटरव्यूअर आपसे पूछता ही
- 0:45पूछता है ये दोनों चीजें। कभी भी आप
- 0:47इंटरव्यू में बैठोगे, कुछ भी आपने कोड
- 0:49लिखा हो, आधा कोड लिखा हो, पूरा कोड लिखा
- 0:51हो। इंटरव्यूअर आपसे पूछेगा इसका मेरे को
- 0:53अप्रोच बता। एंड अप्रोच के बाद फॉर श्योर
- 0:56पूछेगा इसका टाइम एंड स्पेस
- 0:57कॉम्प्लेक्सिटी बता। तो ये इतना क्यों
- 0:59इंपॉर्टेंट है? क्यों हमेशा इंटरव्यूअर इस
- 1:01पे ज्यादा फोकस करता है? रादर देन योर
- 1:03कोड। वो मैं समझाऊंगा। तीसरी चीज हम
- 1:05देखेंगे कि डिफरेंट टाइप्स ऑफ टाइम
- 1:07डिफरेंट टाइप्स ऑफ टाइम कॉम्प्लेक्सिटी
- 1:09एंड स्पेस कॉम्प्लेक्सिटी होता क्या है?
- 1:11मतलब अगर आपने सुना होगा बिग ओ नोटेशन बिग
- 1:14ओ नोटेशन है। ऐसे और भी बहुत सारे नोटेशन
- 1:16हैं। तो हम देखेंगे डिफरेंट टाइप्स ऑफ
- 1:17नोटेशंस होते क्या है वो मैं समझाऊंगा।
- 1:19एंड चौथा मेन सबसे मेन पॉइंट है रूल्स टू
- 1:22कैलकुलेट टाइम कॉम्प्लेक्सिटी एंड स्पेस
- 1:24कॉम्प्लेक्सिटी। ये याद रखना ये जो रूल
- 1:26मैं आपको बताऊंगा जितने भी आप क्वेश्चन
- 1:28अटेम्प्ट करो 100, 200, 300, 400, 500,
- 1:311000 ये सब में सेम रूल अप्लाई होगा। एंड
- 1:34इस रूल को अगर आप फॉलो करोगे बेझिझक आराम
- 1:37से आपका टाइम एंड स्पेस कॉम्प्लेक्सिटी
- 1:38निकलना शुरू हो जाएगा। सो विदाउट कोई टाइम
- 1:40वेस्ट किए स्टार्ट करते हैं कि टाइम
- 1:42कॉम्प्लेक्सिटी है क्या? सो पहले दिमाग
- 1:44में अगर यह चीज अगर आता है आपके दिमाग में
- 1:46कि टाइम
- 1:48टेकन टू रन द कोड टाइम टेकन टू रन द कोड
- 1:54या टाइम टेकन बाय द कोड कितना मतलब उस कोड
- 1:57को रन होने में कितना टाइम लगा उसको हम
- 1:59टाइम कॉम्प्लेसिटी कहेंगे। लेट्स सपोज अगर
- 2:01आप बोलते हो कि कुछ एक कोड लिखा है। एक
- 2:03लाइन, दो लाइन, तीन लाइन मान के चलो चार
- 2:06लाइन नहीं है। मान के चलो 500 लाइन का
- 2:07आपने कुछ कोड लिखा है। ठीक है? अब ये 500
- 2:10वाला लाइन आपने लिखा। अब मैं अब बोलता हूं
- 2:12कि इस कोड को रन होने में 5 सेकंड लगा। तो
- 2:16क्या ये हमारी टाइम कॉम्प्लेक्सिटी है?
- 2:19नहीं। सो, एक चीज़ जरूर याद रखना। कभी भी
- 2:22आप से कोई चीज पूछे या कोई भी बंदा पूछे
- 2:24कि टाइम कॉम्प्लेक्सिटी क्या है? कभी भी
- 2:25मत बोलना। टाइम टेकन टू रन द कोड। वह कभी
- 2:29भी मत बोलना। यह गलत डेफिनेशन है। सो अब
- 2:31बात आती है अगर यह गलत डेफिनेशन है तो
- 2:33असली में सही डेफिनेशन क्या है? पहली बात
- 2:35तो मैं बताता हूं यह गलत डेफिनेशन है
- 2:36क्यों? मैं वो समझाता हूं। चलो ये 500
- 2:39लाइन का कोड है। अब हाइपोथेटिकली मान के
- 2:41चलो
- 2:42आप अमीर
- 2:44हो सकते हो। ठीक है? सो आपके पास ना एक
- 2:48मैक मैक का है या Apple का कोई लैपटॉप
- 2:51पड़ा हुआ है। ठीक है? एंड ये 500 लाइन
- 2:53आपने इसके अंदर लिखी। अब हो सकता है कि इस
- 2:55500 लाइन को रन होने में आपने रन किया तो
- 2:575 सेकंड में रन हो गया। ठीक है? वेल एंड
- 2:59गुड। अब ये सेम कोड कोई दूसरा बंदा भी तो
- 3:02रन कर सकता है। अब मान के चलो वो थोड़ा है
- 3:05उसके पास कुछ ड्यूल PTM है। ठीक है? ड्यूल
- 3:08PTM CPU है एंड Windows 7 पे रन कर रहा
- 3:11है। अब ये सेम 500 लाइन का कोड कंपलसरी तो
- 3:14है नहीं कि 5 सेकंड में रन हो। हो सकता है
- 3:16उसमें कुछ 15 सेकंड लग जाए। अब अगर उसके
- 3:19अंदर 15 सेकंड लग रहा है, आप बोलोगे कि यह
- 3:22टाइम कॉम्प्लेक्सिटी है। नहीं, कैसे बोल
- 3:24सकते हो? क्योंकि दोनों में अलग-अलग हो
- 3:26रहा है। और ऐसे तो बहुत सारे लैपटॉप्स
- 3:28हैं। बहुत सारे वो है। और ऐसा तो है नहीं
- 3:30कि जो भी आपने कोड लिखा है, जो भी आपने
- 3:32कोड लिखा है, इंटरव्यूअर स्टॉप वॉच लगा के
- 3:35बैठेगा। हां भाई, तू एक बार कोड रन कर।
- 3:37मैं स्टॉप वॉच ऑन करता हूं। जैसे ही आपका
- 3:39कोड खत्म, मैं स्टॉप वॉच बंद कर दूंगा।
- 3:41भाई तेरा कोड को रन होने को 2 सेकंड लगा।
- 3:43ऐसा कभी तो करेगा नहीं यार। है ना? तो
- 3:46क्योंकि डिपेंड भी करता है सर्वर। अगर
- 3:48सर्वर ही थोड़ा स्लो हो तो आपके कोड को
- 3:50ज्यादा टाइम लग सकता है। सर्वर फास्ट हो
- 3:52तो ठीक है ज्यादा लग गया। तो इट्स नेवर इट
- 3:54इज़ एक्चुअली नेवर कि भाई टाइम
- 3:57कॉम्प्लेक्सिटी इज़ समथिंग टाइम टेकन वो
- 3:59कभी भी नहीं है। सो अगर ये कभी सेकंड्स के
- 4:02रिलेटेड नहीं होता। तो एक्चुअली में
- 4:04डेफिनेशन क्या हुई? डेफिनेशन मैं ऐसा कुछ
- 4:06कह सकता हूं। डेफिनेशन इज़ समथिंग। सो मैं
- 4:09कह सकता हूं कि अ रेट ऑफ इंक्रीज रेट ऑफ
- 4:14इंक्रीज
- 4:16इन
- 4:17टाइम जो टाइम का जो बेसिकली जो रेट ऑफ
- 4:21इनक्रीज है टाइम कैसे इनक्रीज हो रहा है
- 4:22उसका जो रेट है
- 4:24विद
- 4:26रिस्पेक्ट विद रिस्पेक्ट टू इनपुट साइज
- 4:32इसको आप कहोगे टाइम कॉम्प्लेक्सिटी अब बात
- 4:34आती है क्या है ये इस चीज का मतलब क्या
- 4:36हुआ वही सेम कोड लेके चलते हैं 500 लाइन
- 4:39आपने लिखा है चलो 500 लाइन अब ये 500 लाइन
- 4:42ना मैं दोनों में एक बार रन करता हूं ठीक
- 4:43है मैं कैसे सिंपल एक ग्राफ बनाता हूं।
- 4:46मैंने एक ऐसे कुछ ग्राफ बनाया है। एंड
- 4:48मैंने यहां पे बोला है यह जो है वो इनपुट
- 4:50है। कितना इनपुट मैं उसको सप्लाई कर रहा
- 4:51हूं। और यह है टाइम। मैं उसको कितना टाइम
- 4:54सप्लाई कर रहा हूं। एंड ये ग्राफ मान के
- 4:56चलो कुछ मैक ओs का है। ठीक है? Mac OS या
- 4:58ड्यूल कुछ अच्छा CPU है। एंड लेट्स सपोज़
- 5:01मैंने एक और लिया है। एंड ये कुछ Intel या
- 5:05ड्यूल PTM वाला है। बहुत ही पुराना CPU
- 5:07है। एंड इसका भी मैं कह सकता हूं यह कुछ
- 5:09टाइम के रिलेटेड है। एंड यह मेरा इनपुट
- 5:11साइज़ के रिलेटेड है। ठीक है? अब 500 लाइन
- 5:14का कोड है। अब बात आती है इनपुट साइज का
- 5:16मतलब क्या हुआ? ऐसा जैसे मान के चलो आपका
- 5:18कुछ कोड है एंड ये कुछ एक लिस्ट एक्सेप्ट
- 5:21कर रहा है। अगर एक लिस्ट एक्सेप्ट कर रहा
- 5:22है। हो सकता है ना लिस्ट की साइज पांच
- 5:24एलिमेंट हो, 500 एलिमेंट हो, 5 लाख
- 5:26एलिमेंट हो, 5 करोड़ एलिमेंट हो। अब ऐसा तो
- 5:29है नहीं कि अगर मैं उसको 5 करोड़ एलिमेंट
- 5:30दूंगा, सब में सेम टाइम लगेगा। ऐसा तो है
- 5:33नहीं ना। टाइम तो डिफर करेगा। तो अगर मैं
- 5:35Mac OS के रिलेटेड कुछ टाइम बनाऊं या
- 5:37ग्राफ बनाऊं। लेट्स सपोज़ मैंने कुछ 500 का
- 5:40इनपुट दिया कि भाई हां भाई 500 एलिमेंट्स
- 5:43ही है तो ठीक है। उसको 1 सेकंड में उसने
- 5:46खत्म कर दिया। ठीक है? हो सकता है ऐसे
- 5:48हाइपोथेटिकली मान के चल रहा हूं। अगर मैं
- 5:50बोलता हूं 1000 इनपुट दिया या उसने 2
- 5:53सेकंड में करके दे दिया। 2 सेकंड में करके
- 5:55दे दिया। ठीक है? अगर मैं और देता हूं भाई
- 5:57उसने 3 सेकंड में करके दे दिया। और देता
- 5:59हूं 4 सेकंड में करके दे दिया। तो कैन आई
- 6:01से भाई 1500 2000 2000 इनपुट के लिए उसने
- 6:064 सेकंड ही लगाए। 4 सेकंड में उसने खत्म
- 6:08कर दिया। ठीक है? क्या ये सेम केस रहेगा
- 6:11आपके? ड्यूल पेंटियम के लिए नहीं अगर मैं
- 6:14हाइपोथेटिकली मान के चलूं 500 का इनपुट
- 6:16दूं हो सकता है 500 इनपुट के लिए ड्यूल
- 6:20पेंटियम को 2 सेकंड लग जाए यहां पे देखो 1
- 6:23सेकंड 1 सेकंड यहां पे 2 सेकंड लग जाए
- 6:25माइट बी पॉसिबल एंड अगर मैं और इनपुट दे
- 6:28दूं और 4 सेकंड लग जाए होता है ना पॉसिबल
- 6:32हो सकता है क्योंकि भाई इन उसका CPU स्लो
- 6:34है मतलब प्रोसेसिंग पावर इतनी है नहीं तो
- 6:36थोड़ा ज्यादा टाइम लग रहा है तो ये चीज जो
- 6:39देख रहे हो एक रेट मिल गया मेरे को ये रेट
- 6:42ऑफ इंक्रीज इसको आप कुछ भी एंगल बोलो थीटा
- 6:44एंगल बोलो इसको एक्चुअली हम कहते हैं टाइम
- 6:47कॉम्प्लेक्सिटी कि रेट ऑफ इंक्रीज तो मेरे
- 6:50को रेट बता मेरे को आईडिया लग जाएगा कि
- 6:53अगर हां भाई इसका कुछ ये रेट है ये रेट का
- 6:55मतलब लेट्स सपोज मैं बोलता हूं 3n भाई n
- 6:58क्या होता है n मतलब कितना इनपुट है तो
- 7:01इसको देख के मैं इतना कह सकता हूं 3 * n
- 7:03इसको मैं देख के इतना कह सकता हूं हां भाई
- 7:05अगर मैं n की वैल्यू बढ़ाऊंगा मेरा रेट
- 7:07इंक्रीस होता रहेगा इतना मेरे को आईडिया
- 7:09लग गया। सो ये जो रेट होता है ना इसको हम
- 7:12बोलते हैं टाइम कॉम्प्लेक्सिटी। अगला
- 7:14पार्ट देखते हैं। फिर मैंने बोला था कि
- 7:15अगर सेकंड्स के अंदर कैलकुलेट नहीं करते
- 7:17तो कैसे कैलकुलेट करते हैं? सो इट इज़
- 7:19एक्चुअली नोन एज बिग ओ नोटेशन। बिग ओ
- 7:21नोटेशन हम कहते हैं। एंड बिग ओ नोटेशन
- 7:23एक्चुअली डिफाइन क्या दिख दिखता कैसे? सो
- 7:25बेसिकली यू नीड टू मेक एन ओ। ओ के अंदर
- 7:27आपका ब्रैकेट होगा। एंड ब्रैकेट के अंदर
- 7:29यू नीड टू टेल योर टाइम टेकन या बेसिकली
- 7:31आपका जो टाइम कॉम्प्लेक्सिटी है वो रहता
- 7:33है। सो अब बात आती है ठीक है? ओ के टर्म्स
- 7:35में मेरे को बताना है। बट क्या लिखें?
- 7:37इसके अंदर लिखे क्या वो मैं समझाता हूं।
- 7:39उसके लिए क्या करूंगा? बहुत ही एक बेसिक
- 7:40सा क्वेश्चन लेके चलता हूं। मेरे को लूप
- 7:42चलाना है। n टाइम्स चलाना है। ठीक है? मैं
- 7:45n टाइम्स नहीं कह रहा। मैं बोलता हूं पांच
- 7:47बार चलाना है। ठीक है? चलो तो मैं लिख
- 7:49सकता हूं व्हिच इज़ फॉर i इन रेंज। मैं
- 7:53कहां से कहां तक जाऊंगा? वन से लेके लेट्स
- 7:55सपोज सिक्स। सिक्स लिखूंगा तो तभी फाइव तक
- 7:57जाएगा। राइट? एंड हर एक के अंदर इसके अंदर
- 7:59मैं कुछ लिख रहा हूं। प्रिंट लिख रहा हूं।
- 8:01प्रिंट क्या लिखें? मैं अपना नाम लिख दूं
- 8:03अनिरुद्ध। ओके? प्रिंट मैंने अनिरुद्ध लिख
- 8:06दिया। ठीक है? वेल एंड गुड। अब बात आती है
- 8:08ये एक बहुत ही सिंपल सा कोड लिखा है एंड
- 8:10मैं आपको बताऊंगा कि चलो मेरे को इसका
- 8:12बताओ कि इसकी टाइम कॉम्प्लेक्सिटी क्या
- 8:14है? अभी टाइम कॉम्प्लेक्सिटी ये ऐसी चीज
- 8:16बोलो कि नंबर ऑफ ऑपरेशंस टोटल नंबर ऑफ
- 8:19ऑपरेशंस कितने हो रहे हैं? यू नीड टू टेल
- 8:21मी। अगर बात करते हैं इसमें नंबर ऑफ
- 8:23ऑपरेशंस क्या मतलब? एक भी छोटी सी जो भी
- 8:25चीज होता है ना उसको हम ऑपरेशन कहते हैं।
- 8:27पहला ऑपरेशन आपके दिमाग में ऐसा कुछ आएगा
- 8:29कि ये जो i है सबसे पहले उसको वैल्यू वन
- 8:32असाइन होगी। ये ये आपके दिमाग में आया। जो
- 8:35सबसे पहले i है उसकी वैल्यू वैल्यू क्या
- 8:37असाइन होगी? वन। ये एक ऑपरेशन हुआ।
- 8:39नेक्स्ट मैं ऐसा कुछ चेक करूंगा कि पहली
- 8:42बात तो जो वन हुआ क्या वन लेस दैन सिक्स
- 8:44है? हां भाई वन लेस दैन सिक्स है। पहली
- 8:47बात तो मैं यह भी चेक करूंगा। मतलब i लेस
- 8:48दैन सिक्स है। ये भी चेक करूंगा। अगर i
- 8:51लेस दैन सिक्स है। तो कैन आई से प्रिंट
- 8:54अनिरुद्ध करें? हां भाई प्रिंट अनिरुद्ध
- 8:56करे। तो कैन आई से यह भी एक ऑपरेशन हुआ।
- 8:59परफेक्ट। अब अनिरुद्ध प्रिंट होने के बाद
- 9:02ऊपर जाऊंगा। जैसे ही मैं ऊपर गया i की
- 9:04वैल्यू क्या हो जाएगी? बेसिकली कुछ
- 9:06इंक्रीमेंट हो जाएगी। प्लस वन i की वैल्यू
- 9:08टू हो जाएगी। परफेक्ट क्योंकि लूप चलाया
- 9:11है। ठीक है? i की वैल्यू टू हो गई। फिर
- 9:13वापस चेक करेगा क्या? टू लेस < 6 है? हां
- 9:16भाई टू लेस दैन सिक्स है। वापस अनिरुद्ध
- 9:18प्रिंट हो जाएगा। वापस ऊपर जाएगा। i की
- 9:20वैल्यू जो है वो टू की जगह थ्री हो जाएगी।
- 9:22वापस चेक करेगा थ्री लेस दैन सिक्स है।
- 9:24हां भाई है। प्रिंट अनिरुद्ध हो जाएगा।
- 9:25फिर फोर एंड जैसे ही एक बार फाइव हुआ।
- 9:27लेट्स सपोज़ फाइव। प्रिंट अनिरुद्ध कर दिया
- 9:29फाइव हो गया। ऊपर जाएगा। i की वैल्यू
- 9:31सिक्स। क्या i सिक्स लेस दैन सिक्स है?
- 9:34नहीं। वहां पे जाके आपका लूप बंद हो
- 9:36जाएगा। और वहां पे जाके अगर आपका लूप बंद
- 9:38हुआ। इफ आई टॉक अबाउट इसकी टाइम
- 9:40कॉम्प्लेक्सिटी की हुई। क्या कितने
- 9:41स्टेप्स कर रहा हूं मैं? स्टार्ट करें।
- 9:43ऐसा कुछ कर रहा हूं कि सबसे पहले तो मैं i
- 9:46को इनिशियलाइज कर रहा हूं वन से। ठीक है?
- 9:48वो तो मैं करता रहूंगा। उसको इग्नोर करो।
- 9:50ठीक है? सबसे पहला स्टेप क्या हुआ? मैंने
- 9:52चेक किया कि i लेस दैन सिक्स है या नहीं।
- 9:54मैंने एक चेक किया। ठीक है? एक ये एक एक
- 9:57ऑपरेशन हुआ। ठीक है? फिर मैंने वापस
- 9:59प्रिंट किया। ये एक और ऑपरेशन हुआ। ये
- 10:01वापस ऊपर जाएगा। i को पहले +1 कर देगा।
- 10:04मैं कह दूं एक और ऑपरेशन हुआ। एंड ये एक
- 10:08पूरा लूप चला। कैन आई से वापस वो चेक
- 10:11करेगा। क्या टू लेस < 6 है ये एक बार हुआ।
- 10:14चलो वापस एक बार। क्या टू प्रिंट कर देगा?
- 10:18हां भाई प्रिंट कर देगा। एक और ऑपरेशन फिर
- 10:21वापस ऊपर जाएगा। आई को प्लस कर देगा। कहने
- 10:24से एक और ऑपरेशन। तो ऐसे ये कितनी बार
- 10:26चलेगा? या लूप पांच बार चल रहा है। लूप
- 10:28पांच बार चल रहा है। इसका मतलब ये तीन-तीन
- 10:30ऑपरेशन कितनी बार जाएंगे? पांच बार
- 10:32जाएंगे। परफेक्ट। और अगर ये पांचप बार ऐसे
- 10:35चलेंगे टोटल कितना हुआ? 15 ऑपरेशंस हुए।
- 10:39कैन आई से? यस। टोटल कितने ऑपरेशंस हुए?
- 10:4115 ऑपरेशंस हुए। तो आई कैन से इसकी जो
- 10:44टाइम कॉम्प्लेक्सिटी हुई दैट इज 15 एंड
- 10:48यूजुअली बस बता रहा हूं। ऐसे वैसे हम
- 10:50डिनोट नहीं करते। ये एक बहुत ही स्पेसिफिक
- 10:53नंबर है। बहुत ही स्पेसिफिक नंबर है। ऐसे
- 10:55यूजुअली हम डिनोट नहीं करते। एंड इसको
- 10:57करने के लिए तीन रूल्स मैंने आपको जो बोले
- 10:59थे जो मेरे को रूल्स आपको पता होना चाहिए।
- 11:01तो जो पहला रूल है। पहला रूल ये है कि
- 11:05ऑलवेज
- 11:07ऑलवेज कैलकुलेट
- 11:10टाइम कॉम्प्लेक्सिटी इन
- 11:13टर्म्स ऑफ वर्स्ट केस। हमेशा वर्स्ट केस
- 11:17लेके चलो। अब ये क्या है? समझाऊंगा। टेंशन
- 11:19ना लो। दूसरा है
- 11:21अवॉइड
- 11:23दी
- 11:26कास्टेंट
- 11:27वैल्यूस। ये आपको करना है। तीसरा ऑप्शन ये
- 11:31तीसरा ये है अवॉइड या इग्नोर या रिमूव
- 11:34लोअर। मेरा अगर स्क्रीन दिख रहा है आपको
- 11:36लोअर बाउंड। अवॉयड लोअर बाउंड। ये तीन
- 11:40आपको रूल फॉलो करने हैं। अब ये तीन रूल
- 11:41क्या है? मैं बताऊंगा। उसके टेंशन ना लो।
- 11:44बट बात आती है 15। चलो 15 लॉग है ये बट ये
- 11:46एक बहुत ही स्पेसिफिक नंबर है। अगर इफ आई
- 11:49टोल्ड यू ये लूप को ना n तक चलाओ n तक तो
- 11:52कहने आई से मेरा यहां पे क्या आ जाएगा?
- 11:54इंस्टेड ऑफ़ सिक्स इधर मैं क्या लिख सकता
- 11:56हूं? अ वन से लेके n तक जाना है। तो मैंने
- 11:59इधर n + 1 लिख दिया। ठीक है? वेल एंड गुड।
- 12:01नाउ इफ आई टेल यू मेरे को बताओ इसकी टाइम
- 12:03कॉम्प्लेक्सिटी क्या है? अब मेरे को पता
- 12:05है एक प्रोसेस में क्या चीजें हो रही है?
- 12:07तीन चीजें हो रही है। कंपेयर प्रिंट प्लस
- 12:10ये एक लूप हुआ। दूसरे लूप में क्या हो रहा
- 12:13है? कंपेयर प्रिंट प्लस तो मैं कह सकता
- 12:15हूं हर एक पे तीन तीन तीन तीन तीन तीन तीन
- 12:19हो रहे हैं। कैन आई से दिस? और अगर यह
- 12:21पांच बार रन हुआ था पांच बार रन हुआ था तो
- 12:23पांच में हर एक ऑपरेशन में कितनी बार हो
- 12:25रहे थे? तीन ऑपरेशन हो रहे थे तो 15 आया।
- 12:26अब मैं बोलता हूं n टाइम्स रन करो। अब अगर
- 12:29n टाइम्स रन करना है तो क्या होगा? n * 3
- 12:31हो जाएगा। हर एक ऑपरेशन में तीन बार, तीन
- 12:33बार, तीन बार। तो आपका आउटपुट क्या होगा?
- 12:35व्हिच इज़ 3n. तो कैन आई से माय टाइम
- 12:38कॉम्प्लेक्सिटी इज़ नॉट एक्चुअली 15 बट इट
- 12:41इज़ एक्चुअली 3n वेयर n डिनोट ऐसा करता है
- 12:44कि कितना इनपुट? तो बंदा क्या करेगा भाई?
- 12:47वो सोच लेगा भाई n की वैल्यू अगर 100 है
- 12:49तो इसका मतलब अराउंड अबाउट 300 ऑपरेशंस हो
- 12:52रहे हैं। मतलब उसको आईडिया लग जाएगा। हां
- 12:53भाई अगर मैं n की वैल्यू बढ़ाऊंगा तो मेरा
- 12:55जो इंक्रीस है मेरे को आईडिया लग गया हां
- 12:57भाई कैसे इंक्रीस हो रहा है। सो दिस इज़
- 12:59एक्चुअली नोन ऐज़ टाइम कॉम्प्लेक्सिटी। फिर
- 13:01आता है आपके पहले रूल पे कि ऑलवेज
- 13:03कैलकुलेट टाइम कॉम्प्लेक्सिटी इन टर्म्स
- 13:05ऑफ वर्स्ट केस। अभी पहली बात है कितने ऐसे
- 13:07केस हैं। तीन केस होते हैं। बेस्ट केस,
- 13:09एवरेज केस एंड वर्स्ट केस। एंड फिर यू आर
- 13:11आस्किंग मी हमेशा वर्स्ट केस ही क्यों वो
- 13:13मैं आपको समझाता हूं। पहली बात उसको
- 13:15समझाने से पहले यहां पे देखो एक सिंपल सा
- 13:16कोड लिखा है। अब यहां पे क्या है कि ऐज की
- 13:18वैल्यू है। कुछ भी ऐज की वैल्यू हो सकती
- 13:20है। मैंने क्वेश्चन मार्क लिखा है। इट कैन
- 13:21बी वन 100 50 20 जो भी आपको लिखना है
- 13:25लिखो। एंड बहुत ही सिंपल सा है। मैंने
- 13:26बोला कि अगर एज की वैल्यू 80 से ऊपर है तो
- 13:28सीनियर सिटीजन या सीनियर सुपर सीनियर ऐसे
- 13:31मैंने इस सैंपल से लिखा हुआ है। एंड 60 के
- 13:3480 के बीच में तो सीनियर है। 24 और 60 के
- 13:36बीच में तो मैंने बोल दिया वर्किंग
- 13:38प्रोफेशनल है। एंड 16 से लेके 24 के बीच
- 13:40में तो 10 है। एंड अगर मैंने बोला 16 के
- 13:43नीचे तो बेबी। आई नो ऐसे ही मैंने रैंडमली
- 13:45लिखा है। बट उस पे बात नहीं करते। अगर मैं
- 13:48बात करता हूं ये आपका जो एक बहुत ही सिंपल
- 13:49सा कोड है। इसको मैं बोलता हूं इसका बेस्ट
- 13:51केस निकालो। ऐसा क्या ऐज की वैल्यू मैं
- 13:54दूं कि इसको बहुत ही कम टाइम लगे रन होने
- 13:57को या मिनिमम ऑपरेशंस हो। तो आप यहां क्या
- 14:00बोलोगे यार तू क्या कर ऐज की वैल्यू ना 90
- 14:02दे दे। अगर मैं ऐज की वैल्यू 90 देता हूं।
- 14:04कितने ऑपरेशंस हुए? पहली बात तो चेक किया
- 14:0790 से बड़ा है ये एक ऑपरेशन। हां भाई 80
- 14:10से बड़ा है। अगर 80 से बड़ा है प्रिंट कर
- 14:12देगा ये। कितने ऑपरेशंस हुए? एक दो। तो
- 14:16टोटल ऑपरेशन कितने हुए? ओनली टू ऑपरेशंस।
- 14:18तो कैन आई से दिस इज़ माय द बेस्ट केस। यस।
- 14:21तो कितने ऑपरेशंस हुए बेस्ट केस के अंदर
- 14:23भाई? दो ऑपरेशंस हुए। नाउ इफ आई आस्क यू
- 14:26वर्स्ट केस ऐसा कौन सा इनपुट दूं? मैं ऐज
- 14:29की क्या ऐसी क्या वैल्यू दूं जब बहुत
- 14:31ज्यादा टाइम ले? अरे कॉमन सेंस है यार
- 14:33मेरे को एकदम एंड तक जाना है। तो कहने से
- 14:35तू क्या काम कर ऐज की वैल्यू तू दे दे। अ
- 14:3910 दे दे। स्टार्ट करते हैं। यू नीड टू
- 14:41चेक चेक करते हैं। कितनी टोटल ऑपरेशंस हो
- 14:44रहे हैं। स्टार्ट करते हैं। मैं कह रहा
- 14:45हूं पहले उसने चेक किया 80 से बड़ा है। ये
- 14:48एक ऑपरेशन। नेक्स्ट उसने वापस चेक किया कि
- 14:5060 टू 80 के बीच में यह दूसरा ऑपरेशन।
- 14:53नेक्स्ट वापस उसने चेक किया कि 60 24 टू
- 14:5760 के बीच में ये तीसरा ऑपरेशन। उसने वापस
- 14:59चेक किया 16 से 24 के बीच में नहीं है एक
- 15:01और ऑपरेशन। एंड उसने वापस देखा कि ये सारे
- 15:04ऑपरेशंस नहीं हुए। किसमें जाएगा? एल्स
- 15:06पार्ट में। और अगर एल्स पार्ट में गया
- 15:07प्रिंट कर देगा। एंड प्रिंट का भी कितना
- 15:09ऑपरेशन हुआ? एक ऑपरेशन। तो कैन आई से टोटल
- 15:12कितने हुए? पांच ऑपरेशंस हुए। तो जो मेरा
- 15:15वर्स्ट केस क्या हुआ? व्हिच इज़ दी फाइव।
- 15:17पांच। एंड यही अगर आपके दिमाग में आ रहा
- 15:19होगा कि व्हाट वुड बी द एवरेज केस? एवरेज
- 15:22केस ऐसा हो सकता है सिंपल कह सकते हो कि
- 15:24जितना भी बेस्ट केस हुआ प्लस जितना भी
- 15:26वर्स्ट केस हुआ डिवाइड बाय टू ये आप करोगे
- 15:29तो आपका बेसिकली एवरेज केस मिल जाएगा। हां
- 15:31भाई उसके बीच का मीडियन बेसिकली क्या है
- 15:33वो आपको मिल जाएगा। तो खैर ये तो आपका ये
- 15:35एक सिंपल मैंने आईडिया दे दिया कि ये होता
- 15:37क्या है? वर्स्ट केस क्या होता है? बट वही
- 15:39अभी तक आपको वो नहीं पता चला कि क्यों
- 15:41हमेशा वर्स्ट केस करें। बहुत ही सिंपल सा
- 15:43है। नाउ आप एक बैक एंड डेवलपर हो। आपने एक
- 15:46वेबसाइट बनाई वि इज वेल एंड गुड। काफी
- 15:49अच्छा अगर वेबसाइट बनाओगे कभी मेरे को
- 15:51शेयर करना तो मैं रिज्यूुमे भी आपका आगे
- 15:53सेंड कर दूंगा। तो अभी ईमेल पर डालने मत
- 15:56शुरू हो जाना कि भाई सही ये मेरा
- 15:58रेज्यूुमे है आपने बोला था। तो आपने एक
- 16:00वेबसाइट बनाई। अब वेबसाइट अगर मैं आपको
- 16:03ऑप्शन देता हूं एक ही बार बहुत ही बहुत ही
- 16:05बढ़िया वेबसाइट बनानी है। अगर मैं ऑप्शन
- 16:07देता हूं आपको कि तू 100 यूज़र्स के लिए
- 16:09बना
- 16:12या 10 लाख यूज़र्स के लिए बना। तो क्या
- 16:16आपके दिमाग में पहला रहेगा? 100 यूज़र्स के
- 16:18लिए बनाऊंगा या 10 लाख क्या सर्वर सर्वर
- 16:20क्या जो कुछ भी कोडिंग है एफिशिएंट रखोगे
- 16:23या नहीं रखोगे? आपके दिमाग में तो यही
- 16:24आएगा ना हां भाई बना रहा हूं तो एकदम सबसे
- 16:26पहले एफिशिएंट ही बनाऊं। क्यों मैं ऐसा
- 16:28कुछ वेबसाइट बनाऊं ना जो लाख लोग 10 लाख
- 16:31लोग 10 लाख यूज़र्स उसको हैंडल कर सके।
- 16:34सर्वर क्रैश ना हो। तो आपने क्या किया?
- 16:36वर्स्ट केस सोचा ना कि हां भाई सबसे गंदा
- 16:39चीज क्या हो सकता है? भाई अगर मेरे
- 16:40वेबसाइट पे 10 लाख, 20 लाख, 30 लाख यूज़र्स
- 16:44आए। मैं उसके लिए रेडी रहूं। तो वह आपका
- 16:46होता है वर्स्ट केस। इसलिए आप वह सोचते हो
- 16:48कि हां भाई मैं वर्स्ट केस अगर मैं कह रहा
- 16:50हूं हां भाई सबसे गंदे केस में मैं हैंडल
- 16:52कर पा रहा हूं तो ऑब्वियसली योर कोड इज़
- 16:54एफिशिएंट। क्योंकि सबसे गंदे केस में अगर
- 16:56आपका कोड कर पा रहा है तो या योर कोड इज़
- 16:59एक्चुअली एफिशिएंट। तो इसलिए वी डू
- 17:01कैलकुलेट दी टाइम कॉम्प्लेक्सिटी इन ऑलवेज
- 17:03दी वर्स्ट केस। तो अब चलते हैं सेकंड और
- 17:06थर्ड पॉइंट पे व्हिच इज़ अवॉयड कॉन्स्टेंट
- 17:07वैल्यूज़ एंड अवॉइड लोअर वैल्यूज़। अब इनका
- 17:10मतलब क्या है? समझाता हूं। लेट्स सपोज
- 17:12आपकी जो टाइम कॉम्प्लेक्सिटी है वो है o
- 17:14कुछ भी रैंडम मैंने दिया है 8n 6 + 3n² +
- 17:1715 ऐसे ही मैं रैंडम कह रहा हूं। एंड इसके
- 17:19अंदर आप बात करूंगी अवॉयड कांस्टेंट
- 17:21वैल्यू इस पूरे में कांस्टेंट क्या है? 15
- 17:24है जो कि चेंज नहीं हो रहा। आप इसको निकाल
- 17:26दो। पहली बात तो दिमाग में आएगा। क्यों
- 17:28निकालें यार? ये तो हमारी टाइम
- 17:29कॉम्प्लीसिटी है। क्यों निकालने बैठे
- 17:31इसको? समझाता हूं। ये n क्या है? n मतलब
- 17:33नंबर ऑफ इनपुट्स। एम आई करेक्ट?
- 17:35हाइपोथेटिकली मान के चलो। मैं चेक कर रहा
- 17:38हूं कि भ अगर n 10 5 इनपुट दूं तो टोटल
- 17:42नंबर ऑफ ऑपरेशंस कितने जाएंगे मेरे मेरे
- 17:44को बताओ। ठीक है? कैलकुलेट कर लेते हैं।
- 17:46मैं बोलूंगा ओ 8 n रे टू सॉरी n रे टू
- 17:50नहीं यहां पे क्या आ जाएगा? 10 आ जाएगा।
- 17:5210 रे टू या इंटू 10 रे टू ये सिक्स है और
- 17:57ये फाइव है। कितना हो जाएगा? 30 हो जाएगा।
- 18:00प्लस 3 n की वैल्यू क्या है?
- 18:0310 2 और 5 कितना हो जाएगा? 10 हो जाएगा। +
- 18:0815 ये हो जाएगा। अब मेरे को एक चीज बताओ।
- 18:1210 10 कितना बड़ा नंबर होगा? मतलब एक 10 के
- 18:16पीछे कितने कितने कितने कितने जीरोज़? उसके
- 18:20आगे अगर आपके पीछे 15 लगाओगे कुछ सेंस
- 18:22बनेगा। खुद बताओ। इतना बड़ा नंबर है। इतना
- 18:26बड़ा नंबर है। ऐसे ही मैंने बोल दिया। ऐसे
- 18:27ही इतना बड़ा नंबर है उसमें अगर आप +15
- 18:30लगाओ +1 लगाओ + 100 लगाओ कुछ फर्क पड़ेगा
- 18:34यार नहीं पड़ेगा। सो उसको आप ना इग्नोर कर
- 18:37सकते हो। यस। तो इसको इग्नोर करने के लिए
- 18:39मैं क्या करूंगा? इसको हटा देता हूं। हटा
- 18:40दो। तो ये होता है कि जब भी आपका कोई भी
- 18:43कांस्टेंट वैल्यू्यूज होते हैं आप उसको
- 18:44इग्नोर कर लो। क्योंकि आपका तो वर्स्ट केस
- 18:46है। वर्स्ट केस में सोचना है। बहुत ही बड़े
- 18:48इनपुट के लिए आप सोचोगे। एम आई करेक्ट? और
- 18:50बहुत ही बड़े इनपुट के लिए सोचोगे तो ये
- 18:52नेगिजिबल हो जाता है। इनको आपको करने की
- 18:54कोई जरूरत नहीं है। फिर तीसरा जो पॉइंट
- 18:56आता है कि अवॉयड लोअर वैल्यूस या लोअर
- 18:58बाउंड्स कह लो। यहां पे वैल्यूस कह लो या
- 19:00बाउंड्स कह लो। दोनों एक ही चीज है। अब
- 19:02इसमें क्या है? देखो 10 30 है। कितने
- 19:06ज़ीरो? कितने ज़ीरो? मेरे को नहीं पता भाई।
- 19:09बहुत सारे ज़ीरो। बहुत सारे बहुत सारे बहुत
- 19:11सारे बहुत सारे। मैं थक गया इतना
- 19:13लिखते-खते। एंड उसके आगे प्लस करके आप
- 19:15सिर्फ इतना वाला 10 ज़ीरो लगाओगे। बस इतना
- 19:19फर्क पड़ेगा खुद बताओ है कुछ ये ये कोई
- 19:24सेंस बनता है इतने बड़े नंबर में ऐड करने
- 19:26के लिए नहीं तो कैन आई से ये मेरा लोअर
- 19:29बाउंड है या लोअर वैल्यू है ये भी कुछ
- 19:31सेंस नहीं बनता कुछ नेगिजिबल है कैन आई से
- 19:34दिस यस आई कैन से दिस तो इसको भी मैं क्या
- 19:36कर सकता हूं इग्नोर कर सकता हूं और अगर
- 19:39इसको भी मैं इग्नोर करूंगा तो कैन आई से
- 19:40जो मेरी टाइम कॉम्प्लेक्सिटी है वो क्या आ
- 19:42जाएगा 8 * 10 30 एंड अब इसमें वापस बात
- 19:47करता हूं मेरे को तो सिर्फ रेट बताना है
- 19:49ना रेट मेरे को एक चीज बताओ अगर मैं बोलता
- 19:52हूं 3n 3n बोलता हूं मतलब इसका ग्राफ एक
- 19:56लीनियर ग्राफ बनेगा एम आई करेक्ट और अगर
- 19:58मैं सिर्फ n देता हूं n का भी क्या बनेगा
- 20:01एक लीनियर ग्राफ ही बनेगा मेरे को तो
- 20:02सिर्फ रेट बताना है ना तो मेरे को रेट बता
- 20:04कितना रेट लगेगा तो कैन आई से 8 * 10 30
- 20:08या बेसिकली क्या सेम हुआ व्हिच इज़ 8 n 10
- 20:126 जो भी ये बेसिकली एंड में यही आ गया
- 20:14मेरे पास 8 10 6 इसको हटा के इसको हटा के
- 20:168 10 6 ही बचा है। इसमें कांस्टेंट क्या
- 20:19है? एट है। कैन आई से दिस? मतलब एक
- 20:22कांस्टेंट वैल्यू है। और मेरे को तो सिर्फ
- 20:23रेट बताना होता है। तो कैन आई से इसमें से
- 20:25मैं एट को भी इग्नोर कर सकता हूं। तो जो
- 20:28मेरी टाइम कॉम्प्लेक्सिटी क्या होगी?
- 20:30व्हिच इज़ ओनली n 6 नथिंग एल्स। मेरे को
- 20:34सिर्फ बताना है कि भाई तेरा रेट क्या है?
- 20:36मेरे को एग्जैक्ट ऑपरेशंस नहीं बताने।
- 20:38एग्जैक्ट ऑपरेशंस तो ये थे। एम आई करेक्ट?
- 20:40अगर n की वैल्यू मैं फाइव डालूं या मेरे
- 20:42को एग्जैक्ट ऑपरेशन बता के देगा। बट ये
- 20:44क्या है? वो ऑलमोस्ट सिमिलर मेरे को बता
- 20:47दे के देगा। तो कभी भी आपको मैंने क्या
- 20:49बोला था? काउंट नहीं करना है एग्जैक्ट।
- 20:51उसको इंटरव्यू को आजू-बाजू बताना है। हां
- 20:53भाई ये तेरी टाइम कॉम्प्लेक्सिटी है। सो
- 20:55दिस इज़ नोन एज अवॉयड कांस्टेंट वैल्यूज़
- 20:56एंड अवॉयड लोअर वैल्यूज़। देन चलते-चलते
- 20:59मैंने आपको बोला था कि डिफरेंट टाइप्स ऑफ़
- 21:00टाइम कॉम्प्लेक्सिटी होती है। एंड हमेशा
- 21:02हम बिगो बिगो बिगो कहते हैं। एंड वी नो कि
- 21:04बिगो क्या होता है? हमेशा क्या होता है?
- 21:06वर्स्ट केस। यह मैंने बता दिया। हमेशा
- 21:08वर्स्ट केस अगर हम अगर कैलकुलेट करते हैं
- 21:10तो बेसिकली दैट इज़ नोन ऐ बिगो नोटेशन या
- 21:13इसको हम कहते हैं वर्स्ट केस। सो अगर ये
- 21:15वर्स्ट केस है तो व्हाट डू यू गाइस थिंक
- 21:17बेस्ट केस क्या होगा? ऑब्वियसली ओमेगा। तो
- 21:20कैन आई से दिस इज़ माय बेस्ट केस। एंड इनके
- 21:23जो बीच में आता है व्हिच इज़ वर्स्ट केस
- 21:25प्लस बेस्ट केस डिवाइड बाय टू व्हिच इज़
- 21:27अगेन थीटा। तो थीटा को हम कह सकते हैं
- 21:29व्हिच इज़ इन एवरेज केस। अब बात आती है कि
- 21:33किस में कैलकुलेट करें? बिग गो में करें,
- 21:35थीटा में करें, ओमेगा में करें,
- 21:38इंटरव्यूअर आपको हमेशा बिगो के लिए
- 21:39पूछेगा। मैंने क्या बोला था कि अगर आपका
- 21:41कोड एफिशिएंट बहुत ही बढ़िया वर्क कर रहा
- 21:44है इन केस ऑफ़ वर्स्ट केस मैंने इतना
- 21:47ज्यादा इनपुट दे दिया तभी भी आपका कोड
- 21:49एकदम एफिशिएंट वर्क कर रहा है। सो यस आपका
- 21:51कोड ऑब्वियसली एवरेज और बेस्ट में तो बहुत
- 21:54ही बढ़िया वर्क करेगा। सो इंटरव्यूअर विल
- 21:56ऑलवेज बी इंटरेस्टेड इन बिग नोटेशन इन
- 21:58वर्स्ट केस। एंड एक और चीज बताता हूं।
- 22:00थीटा एंड ओबेगा वो कभी नहीं पूछेगा। कभी
- 22:03नहीं पूछेगा इंटरव्यूअर आपका जितने भी में
- 22:05हम क्वेश्चंस करेंगे 300 200 400 जितने भी
- 22:07हम करेंगे उसमें हमेशा हम बिगो निकालेंगे।
- 22:10सो आल्सो ये जो वर्स्ट केस है इट इज़ आल्सो
- 22:12नोन एज मैं बता देता हूं। एक इसको हम
- 22:14बोलते हैं अपर बाउंड। इसको हम यूजुअली अपर
- 22:17बाउंड भी कहते हैं। एंड जो बेस्ट केस है
- 22:19इसको हम क्या कहते हैं? लोअर बाउंड। इसको
- 22:21आप ये भी कह सकते हो। ठीक है? तो ठीक है।
- 22:24ये आपका हो गया एवरेज केस हो गया। एंड टू
- 22:27बी ऑनेस्ट थीटा एंड थीटा एंड ओमेगा। ये
- 22:29आपके कॉलेज में आएंगे। ये कॉलेज में पढ़ाया
- 22:31जाता है। एंड कॉलेज में अगर ध्यान दोगे तो
- 22:34ये पढ़ लेना। मैं ये नहीं पढ़ाने वाला। एंड
- 22:36ये कई पूरे कोर्स में ये कुछ काम भी नहीं
- 22:38आने वाला। सो ये आपका था। आई गेस ये सारी
- 22:41चीजें खत्म हो चुकी है। समझ में आ चुका
- 22:43है। एंड वी विल स्टार्ट विद दी
- 22:44एग्जांपल्स। थोड़े दो एग्जांपल करते हैं।
- 22:46एंड दो एग्जांपल्स के बारे में मैं आपको
- 22:47बताऊंगा कि चीजें कैसे हम टाइम
- 22:49कॉम्प्लेक्सिटी हम कैलकुलेट कर सकते हैं।
- 22:51सो पहले एग्जांपल करते हैं। एंड एक बहुत
- 22:53ही बेसिक सा मैंने कुछ कोड लिखा हुआ है।
- 22:55एंड लेट्स स्टार्ट। अगर कोई बोलता है कि
- 22:57इसकी इसकी टाइम कॉम्प्लेक्सिटी मेरे को
- 22:58बताओ इसकी टाइम कॉम्प्लेक्सिटी क्या है?
- 23:00ध्यान से देखना। सो क्या हो क्या रहा है?
- 23:02पहली बात तो फॉर i इन रेंज वन से लेके n +
- 23:041 तक जा रहा है। मतलब वन से लेके n तक जा
- 23:06रहा है। बेसिकली एम आई करेक्ट? क्योंकि n
- 23:08+ 1 लिखा है n + 1ड होगा तो वन टू n तक
- 23:10जाएगा। एंड हर एक i में jी क्या जा रहा
- 23:13है? वन से लेके n + 1 तक जा रहा है। मतलब
- 23:15वन से लेके n तक जा रहा है। jb। ठीक है?
- 23:17एंड उसके अंदर मैंने कुछ कोड लिखा है।
- 23:19मतलब प्रिंट हो सकता है। एक इफ एल्स हो
- 23:22सकता है, प्रिंट हो सकता है। उसको यूजुअली
- 23:24मैं इग्नोर करूंगा। क्यों इग्नोर करूंगा?
- 23:25मैंने बोला था ना लोअर बाउंड्स कि अगर भाई
- 23:27ये तीन प्रिंट लिखे हो इसका मतलब तीन
- 23:29ऑपरेशन वो इग्नोर कर सकते हैं हम। हमें
- 23:31मेन चेक करना है कि ये टोटल कितनी बार रन
- 23:33हो रहा है? कितनी बार रन हो रहा है? हमें
- 23:35वो बताना है। तो ठीक है। ये अगर मैंने
- 23:37बनाया व्हिच इज़ वेल एंड गुड। कोई दिक्कत
- 23:39नहीं है। लेट्स स्टार्ट। कैसे कैलकुलेट
- 23:41करें? दो फॉर लूप है। कैसे कैलकुलेट करें?
- 23:43तो हाइपोथेटिकली मान के चलो i से स्टार्ट
- 23:46करता हूं। जब i की वैल्यू ये मैंने i ले
- 23:48लिया। ये मैंने j ले लिया। मैं बोलूंगा
- 23:50अगर i की वैल्यू वन है। ठीक है? i की
- 23:52वैल्यू वन। J कहां से कहां तक जा रहा है?
- 23:55वन से ले N तक जा रहा है। कैन आई से? तो
- 23:58भाई जो J है 1 2 3 4 कहां तक जा रहा है? N
- 24:03तक जा रहा है। ठीक है? इसका मतलब ये जो
- 24:06कोड है वो इतनी बार रन हुआ होगा जब i की
- 24:08वैल्यू वन होगी तब। नेक्स्ट i की वैल्यू
- 24:11अगर टू हो जाए। j वापिस i की वैल्यू टू। j
- 24:13वापस कितनी बार रन हो रहा है? वापस वन से
- 24:15लेके n तक रन हो रहा है। तो कैन आई से 1 2
- 24:193 4 n बार। तो कितनी बार? ये कितनी बार रन
- 24:23हुआ? n बार। ये कितनी बार रन हुआ? n बार।
- 24:25नेक्स्ट थ्री। मैं चेक करता हूं। i की
- 24:28वैल्यू थ्री। j कितनी बार रन हो रहा है?
- 24:30वापस पूरा 1 2 3 4 n बार रन हो रहा है। तो
- 24:35ऐसे करते-कर करते करते इफ आई टेल यू i की
- 24:39वैल्यू n हो जाए। तो जब i की वैल्यू एकदम
- 24:41आखिरी n पे हो जाएगी। j भी कितनी रन
- 24:43करेगा? n बार ही रन करेगा। 1 2 3 4 n बार
- 24:47कैन आई से? सो इफ आई टेल यू मेरे को बता
- 24:50टोटल ऑपरेशंस कितने हुए? कितनी बार ये ऐसे
- 24:53कितनी बार ये ऑपरेशन कितनी बार ऐसे रन हुआ
- 24:55है? कैन आई से n + n + n + n + n + कह
- 25:00सकता हूं n + n + n + n + n चलता रहेगा।
- 25:04अगर सिर्फ तीन बार रन होता मान के चलो
- 25:07सिर्फ तीन मतलब इतना। तो कितनी बार रन
- 25:09हुआ? n + n + n कितना हो गया? 3n बट अगर
- 25:14यह पूरा n बार रन हुआ तो कैन आई से टोटल
- 25:18कितना हुआ? n * n एंड n * n अगर टोटल
- 25:22ऑपरेशंस हुए तो कैन आई से माय टाइम
- 25:25कॉम्प्लेक्सिटी व्हिच इज़ नथिंग
- 25:27एन² दिस इज़ माय एक्चुअली टाइम
- 25:29कॉम्प्लेक्सिटी। एंड आप बोलोगे ये टाइम
- 25:32कॉम्प्लेक्सिटी है। इसमें आपने जो
- 25:33छोटे-छोटे केस हैं वो तो गिनाए ही नहीं।
- 25:34कौन सा? i की वैल्यू वन असाइन होना। i की
- 25:37वैल्यू अपने आप प्लस जो + = 1 हो रहा है।
- 25:40वो छोटे-छोटे ऑपरेशन क्यों नहीं गिनाए?
- 25:41उसको हम यूजुअली नहीं गिनाते। मैंने क्या
- 25:44बोला था? आपको मेन फोकस रखना है कि वो
- 25:46लोअर बाउंड वो सब इग्नोर करो। हमको बस
- 25:48लगभग लगभग बताना है। हां भाई o² जितना
- 25:51ऑपरेशंस होंगे वो मेरे को बताना है। सो
- 25:55दिस इज़ समथिंग आपने एग्जांपल वन का देखा।
- 25:57एंड आई होप ये आपको क्लियर होगा कि इससे
- 25:59मैंने ON² निकाला है। एंड लेट्स सी एक
- 26:02दूसरा एग्जांपल देखते हैं कि दूसरा
- 26:03एग्जांपल कैसे हम सॉल्व कर सकते हैं। सो
- 26:04दूसरा एग्जांपल देखते हैं। यहां पे क्या
- 26:06लिखा हुआ है? फॉर i इन रेंज इसकी टाइम
- 26:08कॉम्प्लेक्सिटी कैलकुलेट करते हैं। तो फॉर
- 26:10i इन रेंज वन से लेके n + 1 मतलब बेसिकली
- 26:12वन से लेके n तक जाएगा। एंड जो जे वाला
- 26:15लूप है जे जा रहा है वन से लेके i तक जा
- 26:18रहा है। याद रखना वन से लेके i तक जा रहा
- 26:20है। एक चीज याद रखना ये चीज। एंड अंदर कुछ
- 26:23ना कुछ कोड लिखा है। तो लेट्स सी इसकी जो
- 26:25टाइम कॉम्प्लेक्सिटी है वो कितनी बार क्या
- 26:27होगी वो देखते हैं। सो चेक करते हैं हमारा
- 26:29जो ये कोड है बेसिकली कितनी बार नर है। तो
- 26:31देखते हैं। i की वैल्यू अगर वन है। j कहां
- 26:34से कहां तक जाएगा? वन से लेके i + 1 + 1
- 26:37कितना होता है? टू 1 2 टू तो एक्सक्लूड
- 26:40होगा। तो कितनी बार रन होगा? एक ही बार रन
- 26:42होगा। कैन आई से? नेक्स्ट i की वैल्यू टू
- 26:46है। j कितनी बार रन होगा? दो बार। यहां पे
- 26:49एक बार रन हुआ। यहां पे दो बार रन हुआ।
- 26:51नेक्स्ट i की वैल्यू अगर थ्री है। थ्री
- 26:54मतलब वन से लेके थ्री तक जाएगा। वन से ले
- 26:573 + 1 मतलब वन से ले फोर। फोर एक्सक्लूड
- 26:59होता है। तो मतलब 1 2 3 मतलब तीन बार रन
- 27:02होगा। कैन आई से?
- 27:05तीन बार रन हुआ। i की वैल्यू फोर
- 27:08चार बार रन हुआ। i की वैल्यू
- 27:12फाइव पांच बार रन हुआ। अब खुद मेरे को
- 27:15बताओ अगर i की वैल्यू n हो जाए। कितनी बार
- 27:18रन होगा? 1 2 3 4 5 अप टू n टाइम्स ये
- 27:22कितनी बार रन होगा? n बार रन होगा। तो ठीक
- 27:24है? n बार तो रन हो गया। सो इफ आई टेल यू
- 27:27इसकी टाइम कॉम्प्लेक्सिटी क्या हुई? पिछले
- 27:29वाले केस में आपने क्या किया था? सबको
- 27:31प्लस किया था। n + n + n + n + n अगर ये
- 27:34टोटल n बार जा रहा है तो कितना हो जाएगा?
- 27:36n * n आई एम आई करेक्ट। ठीक है? तो इसमें
- 27:39भी क्या करूं? प्लस करते हैं। चेक करते
- 27:41हैं कितना होगा? 1 + 2 + 3 + 4 + 5 + n
- 27:44एंड यू नो 1 + 2 + 3 + 4 अप टू + n n
- 27:51नेचुरल नंबर्स का जो सम करना है उसका क्या
- 27:53आउटपुट होता है? व्हिच इज़ n * n + 1 / 2
- 27:58यह बहुत ही बेसिक सा चीज है। यह एक
- 28:00फार्मूला है जो डिराइव होता है। एंड ये
- 28:02फ़ूले से आप क्या करोगे? आप चेक कर सकते हो
- 28:04कि कितना टोटल बार रन हुआ है। परफेक्ट। ये
- 28:08मेरी टाइम कॉम्प्लेक्सिटी है। ये मेरी
- 28:10प्रिसाइज़ टाइम कॉम्प्लेक्सिटी। हां भाई इस
- 28:12जो कोड है इस कोड का टाइम कॉम्प्लेक्सिटी
- 28:14है बिग गो ऑफ़ n * n + 1 / 2। बट बात आती
- 28:19है इसको थोड़ा और सिंपलीफाई करें। यस कर
- 28:22सकते हैं। कैसे? इफ आई टेल यू n * n / 2
- 28:26यहां से मैं इसको हटा देता हूं। n * n / 2
- 28:29इसको और क्या कर सकते हैं? कैन आई से इट
- 28:31इज़ ऑलमोस्ट सिमिलर टू n / 2 + n² अ सॉरी
- 28:38ये नहीं लिखूंगा मैं पहले ऊपर कर देता
- 28:40हूं। इट इज़ ऑलमोस्ट इक्वल टू n² + n / 2
- 28:44एम आई करेक्ट? यस। और सिंपलीफाई करें तो
- 28:47क्या हो जाएगा? n² / 2 + n / 2 एम आई
- 28:50करेक्ट? ठीक है? दूसरी चीज ये n² है। अब
- 28:54मान के चलो n की वैल्यू 10 है। ओके? 10
- 28:59है। इसका मतलब ये क्या हो जाएगा? 10 20 हो
- 29:01जाएगा। और ये क्या होगा?
- 29:0310 अब मैंने क्या बोला था? लोअर बाउंड को
- 29:06इग्नोर करो। कैन आई से 10 20 एक के पीछे
- 29:1020 ज़ीरो है। 20 ज़ीरो और उसके पीछे वापस यह
- 29:1410 ज़ीरो वाला लग गया। बस 10 ज़ीरो। छोटा सा
- 29:1610 ज़ीरो लग गया। कोई सेंस बनेगा? नहीं। तो
- 29:19क्या कर सकते हैं? हम इसको इग्नोर कर सकते
- 29:20हैं। तो कैन आई से इसको इग्नोर कर दो।
- 29:23इग्नोर कर दिया। मेरे को एकदम प्रिसाइज़
- 29:25नहीं बताना। प्रिसाइज़ टाइम कॉम्प्लेक्सिटी
- 29:27ये है। अगर आप ये भी इसको टाइम
- 29:28कॉम्प्लेसिटी बोलोगे दैट इज टोटली ओके।
- 29:30क्योंकि इतनी भारी इतनी भारी रन हो रहा
- 29:33है। दैट इज़ ओके। इंटरव्यूअर बोलेगा खुश हो
- 29:35जाएगा। बल्कि अगर आप उसको सिंपलीफाई कर
- 29:37दोगे। आप इंटरव्यूअर को बोलोगे कि सर
- 29:39मैंने क्या किया? उसको n² + n / 2 किया।
- 29:42फिर n² / 2 किया। + n / 2 किया। फिर मैंने
- 29:45जो लोअर बाउंड है उसको मैंने निकाल दिया।
- 29:47एंड n² / 2 इज एक्चुअली 1/2 * n² मतलब 1/2
- 29:53ही हुआ ना उसका स्क्वायर एंड इसमें
- 29:56कांस्टेंट क्या है? कैन आई से कैन आई से
- 29:58हाफ या 1/2 इट इज़ अ कांस्टेंट हटाओ इसको
- 30:03हटाओ। तो टोटल टाइम कॉम्प्लीसिटी इज़
- 30:06एक्चुअली सिमिलर टू n² क्योंकि पिछले वाला
- 30:10था। एम आई करेक्ट? आप बोलोगे हां यार
- 30:13पिछले वाले में भी n² था। इसमें भी n² है।
- 30:16कैसे? मैंने सिंपलीफाई किया। सिंपल और कुछ
- 30:19नहीं। मैंने उसको बताया कि हां भाई इतना
- 30:21आपका लगभग लगभग इतना लगेगा। प्रिसाइज की
- 30:24अगर आप बात करो तो प्रिसाइज़ ही है। सो आई
- 30:27होप ये आपको अंडरस्टैंड हो चुका होगा कि
- 30:29कैसे टाइम कंपेसिटी कैलकुलेट करते हैं।
- 30:30एंड प्लीज याद रखना ये हमने सिर्फ दो
- 30:32क्वेश्चन किए हैं। मैं ये नहीं कह रहा
- 30:34आपको दो क्वेश्चन में एकदम प्रॉपर समझ में
- 30:36आ जाएगा। अभी बहुत सारे आगे क्वेश्चंस
- 30:38करेंगे। पता नहीं 5 100 200 300 400
- 30:41क्वेश्चन करेंगे। सब में अगर हम टाइम
- 30:43कॉम्प्लेक्सिटी निकाल देंगे आपके खुद के
- 30:44दिमाग में बैठ जाएगा कि कैसे कैलकुलेट
- 30:46करना है। सो आई होप दिस इज एक्चुअली
- 30:48क्लियर विद यू। सो नाउ लेट्स टॉक अबाउट दी
- 30:50स्पेस कॉम्प्लेक्सिटी। टाइम के बारे में
- 30:51हमने पढ़ लिया। टाइम कॉम्प्लेक्सिटी होता
- 30:53क्या है? स्पेस कॉम्प्लेक्सिटी देखते हैं।
- 30:54सो ऑब्वियसली जो भी आप कुछ कोड लिखते हो
- 30:57अगर उसका कोई मतलब कुछ स्पेस अगर वो ले
- 30:59रहा है बेसिकली क्या ले रहा है? मेमोरी
- 31:01कोई स्पेस ले रहा है। सो दैट इज़ नोन ऐ
- 31:03स्पेस कॉम्प्लेक्सिटी। अब बात आती है कि
- 31:05ठीक है मेमोरी कुछ लेगा। कैसे लेगा वो मैं
- 31:07समझाऊंगा। सो दिस इज़ नोन ऐज़ एक्चुअली
- 31:10स्पेस कॉम्प्लेक्सिटी। एंड इफ यू आर
- 31:11आस्किंग मी कैसे कैलकुलेट करना है? टाइम
- 31:13कॉम्प्लेक्सिटी में बिग ओ नोटेशन करते थे।
- 31:15इसमें भी क्या है? बिग ओ नोटेशन ही है।
- 31:18बिग ओ नोटेशन। तो दैट इज़ आल्सो नोन एज
- 31:22मतलब टाइम कॉम्प्लेक्स स्पेस
- 31:23कॉम्प्लेक्सिटी। सो ठीक है? मेमोरी स्पेस
- 31:25को हम कह सकते हैं जो आपकी कोड जितनी
- 31:27मेमोरी ले रही है उसको हम टाइम
- 31:29कॉम्प्लेक्सिटी कहते हैं। बट व्हाट इज़
- 31:30एक्चुअली दिस? इट इज़ एक्चुअली सिमिलर टू
- 31:34ऑिलरी ऑिलरी
- 31:37स्पेस
- 31:39प्लस इनपुट
- 31:41स्पेस इसका ये मतलब हुआ। अब वी आर टॉकिंग
- 31:44मी कि व्हाट इज़ एक्चुअली ऑज़िलरी स्पेस?
- 31:46ऑज़िलरी स्पेस इज़ समथिंग दी एक्स्ट्रा
- 31:49स्पेस या द स्पेस द एक्स्ट्रा स्पेस या जो
- 31:53भी आप कह लो द स्पेस यूज्ड टू सॉल्व द
- 31:59प्रॉब्लम। मतलब क्या हुआ इसका कि लेट्स
- 32:02सपोज आपको कुछ क्वेश्चन मिले कि रिमूव
- 32:04डुप्लीकेट्स या कोई चीज को काउंट करो
- 32:06कितनी बार आ रहा है तो आप क्या यूज करोगे?
- 32:08डिक्शनरी यूज़ करोगे। एम आई करेक्ट? तो
- 32:10आपने वो जो डिक्शनरी यूज़ किया आपने
- 32:11एक्स्ट्रा यूज़ किया ना कुछ तो दैट इज़ नोन
- 32:13एज दी ऑज़िलरी स्पेस। जो आपने एक्स्ट्रा
- 32:16यूज़ किया क्योंकि द एक्स्ट्रा स्पेस यूज्ड
- 32:18बाय यू टू सॉल्व द प्रॉब्लम। प्रॉब्लम को
- 32:21सॉल्व करने के लिए जो आपने स्पेस लिया
- 32:22उसको ऑज़िलरी स्पेस। एंड इफ आई टॉक अबाउट
- 32:24दी इनपुट स्पेस। अभी जो आपको इनपुट मिलेगा
- 32:27वो भी तो थोड़ा कुछ मेमोरी लेगा ना। सो
- 32:29बेसिकली इट इज़ नोन एज द स्पेस
- 32:33यूज्ड
- 32:35टू स्टोर
- 32:38दी इनपुट दिस इज़ नोन एज दी इनपुट स्पेस।
- 32:43ठीक है? परफेक्ट। कोई दिक्कत नहीं। एंड इफ
- 32:46यू टेल मी कि इसका थोड़ा एक एग्जांपल दे दो
- 32:48ना यार। एग्जांपल कैसे लिखें? बस समझा दो
- 32:50जरा। बहुत ही सिंपल सा है। एक मैं आपको
- 32:51सिंपल सा क्वेश्चन देता हूं कि दो नंबर्स
- 32:53हैं या तीन नंबर्स हैं। आप क्या करो? तीन
- 32:55नंबर्स का मेरे को एडिशन कर दो। तो ठीक
- 32:57है। मैंने बोल दिया x = 5 है। y = 10 है।
- 33:02z = 15 है। मेरे को बताओ ये तीन नंबर्स का
- 33:05एडिशन क्या है? तो आपने क्या लिया? एक
- 33:06टोटल नाम का वेरिएबल लिया। ठीक है? टोटल
- 33:08नाम का वेरिएबल। आपने क्या लिख दिया? x +
- 33:11y + z एंड आपने क्या कर दिया? व्हिच इज़
- 33:13प्रिंट कर दिया टोटल। व्हिच इज़ ऑल ओके।
- 33:16कुछ नहीं आप कर सकते हो। इस कोड के अंदर
- 33:19ऑिलरी और इनपुट स्पेस क्या है? ये जो तीन
- 33:22चीजें आपको मिल रही थी। यह इनपुट है। तो
- 33:24ये क्या हुआ आपका? ये तीन चीजें आपकी हुई।
- 33:26इनपुट स्पेस आई एस लिख दिया। ऑिलरी स्पेस
- 33:30क्या है? आपने ऐसा कौन सा इनके अलावा
- 33:31एक्स्ट्रा वेरिएबल लिया ताकि आपका
- 33:33क्वेश्चन सॉल्व हो जाए। कौन सा लिया? टोटल
- 33:35लिया। तो टोटल इज़ नोन एज दी ऑिलरी स्पेस।
- 33:38एंड ये जो इनपुट स्पेस है ये तीन चीजें।
- 33:41परफेक्ट। कोई दिक्कत नहीं है। बट आप
- 33:43बोलोगे ठीक है। मैं मेरे दिमाग में ये चीज़
- 33:46आया है। इंस्टेड ऑफ़ दिस मैं इसको एक एक और
- 33:48तरीके से सॉल्व कर सकता हूं। आप सर मेरे
- 33:50को x दे दो। मतलब मेरी x नहीं मेरे को 10
- 33:53दे दो और z दे दो 15 दे दो मैं क्या
- 33:56करूंगा इंस्टेड ऑफ क्रिएटिंग अ टोटल
- 33:58वेरिएबल मैं सब कुछ x में स्टोर कर दूंगा
- 34:00x + y + z में स्टोर कर दूंगा प्रिंट x कर
- 34:03दूंगा ठीक है कोई दिक्कत नहीं यू डोंट डू
- 34:07दिस नहीं करना होता ये क्यों नहीं करना
- 34:09होता याद रखना ये जो तीन चीजें हैं ये तीन
- 34:12चीजें आपको एज अ इनपुट मिले अब इनपुट तो
- 34:14कुछ भी हो सकता है ना हो सकता है यूजर का
- 34:16क्रेडेंशियल्स हो कुछ भी हो सकता है ऐसे
- 34:18एग्जांपल लेके चल रहा हूं तो अगर आपको
- 34:20इनपुट में ही अगर आप चेंजज़ कर रहे हो मतलब
- 34:23इसके अंदर ही चेंज कर दिया इसके अंदर ही
- 34:24चेंज कर दिया इसके अंदर ही चेंज कर दिया
- 34:26इंटरवर विल नॉट बी हैप्पी वो बोलेगा जो
- 34:29आपको इनपुट मिल रहा है यू डू नॉट चेंज दिस
- 34:31सो एक और रूल याद रखना कि डू
- 34:35नॉट डू नॉट
- 34:37चेंज दी
- 34:40इनपुट अनलेस आस्क्ड अनलेस आस्क्ड क्योंकि
- 34:46आप इसके अंदर बोलोगे कि ऑिलरी स्पेस मैंने
- 34:48कोई एक्स्ट्रा स्पेस नहीं ली मैंने मैंने
- 34:50इनपुट स्पेस के अंदर ही चेंज कर दिया। ये
- 34:53मत करना। आपको इंटरव्यूअर बोलेगा मत करो
- 34:55ऐसा। कोई दिक्कत नहीं। फिर क्या करो? एक
- 34:57नया वेरिएबल बना दो टोटल करके। तो उससे आप
- 34:59ये चीजें कर सकते हो। सो आई होप ये भी
- 35:02आपको क्लियर होगा कि स्पेस कॉम्प्लेक्सिटी
- 35:04होता क्या है? कैसे निकालते हैं? एंड
- 35:06व्हाट इज़ एक्चुअली मतलब एक एक और ऐसे
- 35:08एग्जांपल देता हूं। अ कुछ एक क्वेश्चन
- 35:11आपको मिला है। ठीक है? ऐसे ही मैं बता रहा
- 35:12हूं। कोई क्वेश्चन मिला है। वो क्वेश्चन
- 35:14को अगर आप सॉल्व कर रहे हो। आपको कुछ ना
- 35:17कुछ इनपुट मिला है। दैट इज़ टोटली ओके? कुछ
- 35:19इनपुट मिला है। मेरे को नहीं पता क्या
- 35:20मिला है। कुछ इनपुट मिला है। आप क्वेश्चन
- 35:22सॉल्व करते समय ना एक एरे यूज़ कर रहे हो।
- 35:24ओके? एंड एरे आप बेसिकली लिस्ट यूज़ कर रहे
- 35:27हो। एंड एक और चीज याद रखना। ये मैं पूरे
- 35:28कोर्स में कभी कबार एरे बोलूंगा। कभी कबार
- 35:30लिस्ट बोलूंगा। एरे मतलब मैं लिस्ट की बात
- 35:32कर रहा हूं। क्योंकि मैं पाइथन में
- 35:33करूंगा। एक चीज याद रखना। तो एरे इज़ अ
- 35:36लिस्ट मैं बोलूंगा। एंड लेट्स सपोज अगर आप
- 35:39लिस्ट ले रहे हो एंड कुछ भी हो सकता है
- 35:41ना? वर्स्ट केस क्या हो सकता है कि ये
- 35:43कितना ले? n इनपुट ले। n साइज़ हो जाए
- 35:46इसकी। हो सकता है ना? तो इसकी जो स्पेस
- 35:49कॉम्प्लेक्सिटी क्या होगी? व्हिच इज o ऑफ़
- 35:51N. तो आई कैन से जो इसकी जो स्पेस
- 35:53कॉम्प्लेक्सिटी है दैट इज़ O ऑफ़ N. सो ये
- 35:55मैंने थोड़ा बताया कि स्पेस कॉम्प्लेक्सिटी
- 35:57है क्या? कभी इनपुट को चेंज नहीं करते एंड
- 36:00क्या ऑिलरी स्पेस एंड क्या मेमोरी स्पेस
- 36:02मतलब इनपुट स्पेस और ऑिलरी स्पेस क्या
- 36:03होता है? आई होप यू आर क्लियर विद दिस।
- 36:07[संगीत]
About this transcript
This page contains the full transcript of Time and Space Complexity? - DSA Python Course - Part 2 [Hindi] | Code & Debug by Code and Debug, generated from the public captions YouTube serves with the video. The transcript has 7,469 words across 887 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.
What you can do with it
Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to translate the transcript into 100+ languages.
Free YouTube transcript tool
YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, translation to 100+ languages, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.