1 00:00:00,000 --> 00:00:11,100 2 00:00:11,100 --> 00:00:12,300 >> अध्यक्ष 1: हे सब लोग! 3 00:00:12,300 --> 00:00:13,890 अनुभाग के लिए वापस स्वागत है. 4 00:00:13,890 --> 00:00:17,480 यहाँ आप दोनों के इतने देखकर बहुत खुशी है, और ऑनलाइन देख रहा है जो हर किसी के. 5 00:00:17,480 --> 00:00:18,760 6 00:00:18,760 --> 00:00:20,920 तो, हमेशा की तरह स्वागत के रूप में वापस. 7 00:00:20,920 --> 00:00:24,360 मैं आप सभी को एक प्यारा था कि आशा बाकी का पूरा सप्ताह के अंत में, विश्राम. 8 00:00:24,360 --> 00:00:26,026 यह कल बाहर सुंदर था. 9 00:00:26,026 --> 00:00:27,525 तो, मैं तुम्हें सड़क पर मजा उम्मीद है. 10 00:00:27,525 --> 00:00:28,840 11 00:00:28,840 --> 00:00:30,610 >> घोषणाओं की एक जोड़ी तो पहले. 12 00:00:30,610 --> 00:00:31,920 13 00:00:31,920 --> 00:00:32,700 ग्रेडिंग. 14 00:00:32,700 --> 00:00:37,350 तो, आप में से अधिकांश मिल जाना चाहिए एक अपने स्क्रैच Pset बारे में मुझ से ईमेल, 15 00:00:37,350 --> 00:00:39,920 साथ ही साथ Pset 1 के लिए ग्रेडिंग. 16 00:00:39,920 --> 00:00:41,000 17 00:00:41,000 --> 00:00:42,220 तो, बस एक दो बातें. 18 00:00:42,220 --> 00:00:45,150 Style50 में check50 उपयोग सुनिश्चित करें. 19 00:00:45,150 --> 00:00:47,250 इन के लिए होती हैं आप लोगों के लिए संसाधन, 20 00:00:47,250 --> 00:00:50,660 तुम हो रही है कि बनाना आप कर सकते हैं के रूप में कई अंक 21 00:00:50,660 --> 00:00:52,390 बेवजह उन्हें खोने के बिना. 22 00:00:52,390 --> 00:00:54,407 तो, शैली की तरह बातें बहुत महत्वपूर्ण हैं. 23 00:00:54,407 --> 00:00:55,740 हम इसके लिए दूर ले जा रहे हैं. 24 00:00:55,740 --> 00:00:58,115 आप में से कुछ पहले से ही हो सकता है अपने Pset से देखा. 25 00:00:58,115 --> 00:00:58,920 26 00:00:58,920 --> 00:01:01,450 और check50 सिर्फ एक है बनाना बहुत आसान तरीका 27 00:01:01,450 --> 00:01:05,050 हम वास्तव में लौट रहे हैं कि क्या उपयोगकर्ता को लौट जाने की जरूरत है, 28 00:01:05,050 --> 00:01:06,690 और कहा कि सब कुछ ठीक से काम कर रहा है. 29 00:01:06,690 --> 00:01:08,690 30 00:01:08,690 --> 00:01:12,040 >> दूसरे नोट पर, सुनिश्चित करें कि आपके सही फ़ोल्डर में चीजों को अपलोड. 31 00:01:12,040 --> 00:01:14,470 यह मेरे जीवन में सिर्फ एक बनाता है थोड़ा और अधिक मुश्किल 32 00:01:14,470 --> 00:01:18,836 आप Pset 1 में Pset 2 अपलोड अगर मैं चीजों को डाउनलोड करते हैं, क्योंकि 33 00:01:18,836 --> 00:01:20,085 वे सही ढंग से डाउनलोड नहीं करते. 34 00:01:20,085 --> 00:01:21,690 35 00:01:21,690 --> 00:01:24,560 और मैं इसे एक छोटे से wonky है पता एक प्रणाली में करने के लिए इस्तेमाल किया हो, 36 00:01:24,560 --> 00:01:26,950 लेकिन सिर्फ सुपर हो सावधान, केवल मेरे लिए अगर, 37 00:01:26,950 --> 00:01:30,080 इतना है कि आप ईमेल हो रही है जब तरह 2 बजे और मैं ग्रेडिंग हूँ. 38 00:01:30,080 --> 00:01:33,710 यदि नहीं, तो मैं देखने के लिए कारण चारों ओर अपने Pset के लिए. 39 00:01:33,710 --> 00:01:34,440 कूल. 40 00:01:34,440 --> 00:01:37,270 >> मैं यह जल्दी है, लेकिन मैं पूरी तरह से गार्ड से लिया गया 41 00:01:37,270 --> 00:01:40,800 इस शुक्रवार कारण है कि एक निबंध, कि द्वारा मेरे प्रोफेसरों अरे हाँ, बस की तरह थे. 42 00:01:40,800 --> 00:01:42,550 याद रखें, आप एक है शुक्रवार को कारण निबंध. 43 00:01:42,550 --> 00:01:45,780 तो, मैं कोई नहीं पसंद करता है पता midterms के बारे में सोचने के लिए, 44 00:01:45,780 --> 00:01:50,620 लेकिन अपनी पहली प्रश्नोत्तरी, 15 अक्टूबर पर है अक्तूबर में इस सप्ताह शुरू हो रहा है. 45 00:01:50,620 --> 00:01:53,290 इसलिए, यह जितनी जल्दी हो सकता है आप से अधिक की उम्मीद है. 46 00:01:53,290 --> 00:01:57,510 तुम इतनी है कि गार्ड जब दूर फेंका नहीं रहे मैं, ओह कि अगले सप्ताह के खंड उल्लेख 47 00:01:57,510 --> 00:02:00,560 अपने प्रश्नोत्तरी अगले सप्ताह, मैंने सोचा था मैं जितना अधिक आप एक छोटा सा देना चाहते हैं 48 00:02:00,560 --> 00:02:01,500 अब एक को सिर की. 49 00:02:01,500 --> 00:02:02,970 50 00:02:02,970 --> 00:02:04,660 >> तो, आपकी समस्या सेट, तीन नंबर. 51 00:02:04,660 --> 00:02:07,070 लोगों को पढ़ा है कैसे जिज्ञासा से बाहर कल्पना? 52 00:02:07,070 --> 00:02:08,560 53 00:02:08,560 --> 00:02:09,199 ठीक. 54 00:02:09,199 --> 00:02:10,229 हम एक जोड़े को मिल गया. 55 00:02:10,229 --> 00:02:12,320 नीचे की तरह पिछले से कि लेकिन सप्ताह ठीक है. 56 00:02:12,320 --> 00:02:13,650 मैं यह सुंदर बाहर था. 57 00:02:13,650 --> 00:02:15,120 58 00:02:15,120 --> 00:02:16,660 तो बाहर तोड़. 59 00:02:16,660 --> 00:02:21,010 निश्चित रूप से आप कर पाने के बाद आज कम से कम अपनी कल्पना पढ़ा 60 00:02:21,010 --> 00:02:25,240 डाउनलोड करने की तरह कोशिश वितरण कोड और चल रहा है 61 00:02:25,240 --> 00:02:27,430 पहले प्रारंभिक तरह वे करने के लिए आप से पूछना है कि बात. 62 00:02:27,430 --> 00:02:28,681 63 00:02:28,681 --> 00:02:32,590 हम प्रयोग कर रहे हैं क्योंकि वितरण कोड और एक पुस्तकालय 64 00:02:32,590 --> 00:02:36,790 हम केवल --It ही है using-- गया है कि हम इस Pset किया है दूसरी बार, 65 00:02:36,790 --> 00:02:38,650 पागल बातें हो सकता है अपने उपकरणों के साथ, 66 00:02:38,650 --> 00:02:41,370 और आप को लगता है कि करना चाहते हैं बाहर अब बाद बनाम. 67 00:02:41,370 --> 00:02:45,570 >> यह गुरुवार की रात है या अगर यह बात है क्योंकि बुधवार की रात और किसी कारण के लिए 68 00:02:45,570 --> 00:02:48,912 अपने उपकरण अभी नहीं करता पुस्तकालय के साथ चलाना चाहते हैं 69 00:02:48,912 --> 00:02:50,620 या वितरण के साथ कोड, इसका मतलब है 70 00:02:50,620 --> 00:02:52,309 आप भी कोडिंग कर रही शुरू नहीं कर सकते हैं. 71 00:02:52,309 --> 00:02:54,100 आप की जाँच नहीं कर सकते हैं क्योंकि अगर यह काम करता है देखने के लिए. 72 00:02:54,100 --> 00:02:55,975 आपका नहीं करने वाले सक्षम हो यह compiles देखने के लिए यदि. 73 00:02:55,975 --> 00:03:00,500 आप जल्दी में उन का ख्याल रखना चाहते हैं सप्ताह, तुम अब भी मुझे ईमेल कर सकते हैं जब 74 00:03:00,500 --> 00:03:03,100 या अन्य TFS में से एक, और हम तय उन प्राप्त कर सकते हैं. 75 00:03:03,100 --> 00:03:05,410 क्योंकि उन मुद्दों कर रहे हैं कि आप को रोकने के लिए जा रहे हैं 76 00:03:05,410 --> 00:03:07,120 किसी भी वास्तविक प्रगति कर से. 77 00:03:07,120 --> 00:03:10,055 यह कि, एक बग की तरह नहीं है आप बस की तरह पर छोड़ सकते हैं. 78 00:03:10,055 --> 00:03:10,712 79 00:03:10,712 --> 00:03:13,420 आप के साथ मुद्दों कर रहे हैं, तो आपके उपकरण या वितरण कोड, 80 00:03:13,420 --> 00:03:16,211 आप वास्तव में उस लिया करना चाहते हैं जल्दी बल्कि बाद में की परवाह है. 81 00:03:16,211 --> 00:03:20,410 तो भी आप वास्तव वाला नहीं कर रहे हैं कोडन शुरू, वितरण डाउनलोड 82 00:03:20,410 --> 00:03:24,040 कोड, कल्पना पढ़ा, बनाना सब कुछ वहाँ काम कर रहा है. 83 00:03:24,040 --> 00:03:25,134 ठीक है? 84 00:03:25,134 --> 00:03:27,675 आप कर सकते हैं बस, तो मैं आसान हो जाएगा अपने जीवन वादा करता हूँ. 85 00:03:27,675 --> 00:03:28,800 86 00:03:28,800 --> 00:03:31,410 और तो आप शायद जा रहे हैं सही अब इसे ठीक करने के लिए? 87 00:03:31,410 --> 00:03:32,100 ठीक. 88 00:03:32,100 --> 00:03:33,950 तो, वहाँ कोई सवाल? 89 00:03:33,950 --> 00:03:35,850 किसी भी रसद बातें? 90 00:03:35,850 --> 00:03:36,910 हर कोई अच्छा है? 91 00:03:36,910 --> 00:03:38,270 ठीक. 92 00:03:38,270 --> 00:03:41,700 >> उन लोगों के लिए अस्वीकरण आप कमरे में और ऑनलाइन. 93 00:03:41,700 --> 00:03:45,437 मैं स्विच करने के लिए कोशिश कर रहा हो जा रहा हूँ उपकरण में PowerPoint के बीच 94 00:03:45,437 --> 00:03:47,270 हम जा रहे हैं क्योंकि कुछ कोडिंग कर रही हो 95 00:03:47,270 --> 00:03:53,630 गुमनाम की लोकप्रिय मांग से आज सुझाव सर्वेक्षण मैं पिछले हफ्ते बाहर भेजा. 96 00:03:53,630 --> 00:03:55,480 तो, हम कुछ कोडिंग कर रही हो जाएगा. 97 00:03:55,480 --> 00:03:57,800 तो, तुम लोग भी चाहते हैं अपने उपकरणों को आग, 98 00:03:57,800 --> 00:04:02,910 और आप एक ईमेल मिला है चाहिए एक नमूना फाइल के साथ, मुझ से. 99 00:04:02,910 --> 00:04:04,310 ऐसा करने के लिए स्वतंत्र. 100 00:04:04,310 --> 00:04:07,340 >> तो, हम इस बारे में बात करने जा रहे हैं एक डीबगर है जो GDB,. 101 00:04:07,340 --> 00:04:09,970 यह आप में मदद करने के लिए जा रहा है एक तरह से यह पता लगाने जहां 102 00:04:09,970 --> 00:04:11,860 बातें अपने कोड में गलत जा रहे हैं. 103 00:04:11,860 --> 00:04:15,370 यह वास्तव में आप कदम करने के लिए सिर्फ एक रास्ता है अपने कोड के माध्यम से यह हो रहा है के रूप में, 104 00:04:15,370 --> 00:04:19,100 और चर बाहर मुद्रित करने में सक्षम हो या वास्तव में क्या हो रहा है देखते हैं 105 00:04:19,100 --> 00:04:22,980 डाकू अपने कार्यक्रम छंद के तहत अभी चल रहा है, यह दोषयुक्त की तरह है, 106 00:04:22,980 --> 00:04:25,030 और तुम, कोई विचार पसंद कर रहे हैं क्या सिर्फ यहाँ हुआ. 107 00:04:25,030 --> 00:04:26,730 मैं इस पर विफल रही है क्या लाइन में पता नहीं है. 108 00:04:26,730 --> 00:04:29,040 यह गलत हो गया था, जहां मैं नहीं जानता. 109 00:04:29,040 --> 00:04:31,280 तो, GDB उस के साथ मदद करने जा रहा है. 110 00:04:31,280 --> 00:04:35,240 इसके अलावा, आप के लिए तय है हाँ जारी है, और 61 ले, 111 00:04:35,240 --> 00:04:38,430 यह वास्तव में, वास्तव में हो जाएगा आपके सबसे अच्छा दोस्त है, मैं आपको बता सकता है कारण 112 00:04:38,430 --> 00:04:40,840 मुझे लगता है कि वर्ग के माध्यम से जा रहा हूँ क्योंकि. 113 00:04:40,840 --> 00:04:43,620 >> हम द्विआधारी को देखने के लिए जा रहे हैं खोज, तुम लोगों को याद है जो 114 00:04:43,620 --> 00:04:47,540 महान फोन की किताब उदाहरण वर्ग से तमाशा. 115 00:04:47,540 --> 00:04:50,620 हम चाहते हैं कि लागू करने, और हो जाएगा एक छोटा सा और उस के माध्यम से चलने, 116 00:04:50,620 --> 00:04:54,650 और फिर हम चार के माध्यम से जा रहे हैं बुलबुला हैं जो विभिन्न प्रकार, 117 00:04:54,650 --> 00:04:56,285 चुनाव में, निवेशन, और मिलाएं. 118 00:04:56,285 --> 00:04:57,830 119 00:04:57,830 --> 00:04:58,330 कूल. 120 00:04:58,330 --> 00:05:00,390 तो, मैंने उल्लेख किया GDB के रूप में, एक डीबगर है. 121 00:05:00,390 --> 00:05:01,400 122 00:05:01,400 --> 00:05:09,370 और इन बड़े की तरह कर रहे हैं चीजें, बड़े कार्यों या आदेशों 123 00:05:09,370 --> 00:05:13,240 आप GDB के भीतर उपयोग, और मैं चलना होगा कि आप एक दूसरे में इसका एक डेमो के माध्यम से. 124 00:05:13,240 --> 00:05:15,360 >> तो, यह बस नहीं है सार रहने वाला. 125 00:05:15,360 --> 00:05:18,000 मैं कोशिश करते हैं और ठोस रूप में यह कर दूँगा आप लोगों के लिए संभव के रूप में. 126 00:05:18,000 --> 00:05:19,870 तो, टूट गया. 127 00:05:19,870 --> 00:05:22,200 यह या तो तोड़ हो जाएगा जैसे, कुछ संख्या, जो 128 00:05:22,200 --> 00:05:26,900 अपने कार्यक्रम में एक लाइन का प्रतिनिधित्व करता है या आप एक समारोह नाम कर सकते हैं. 129 00:05:26,900 --> 00:05:30,150 तो, आप मुख्य तोड़ने का कहना है अगर, यह मुख्य में बंद हो जाएगा 130 00:05:30,150 --> 00:05:32,400 और आपको लगता है कि समारोह के माध्यम से चलते हैं. 131 00:05:32,400 --> 00:05:36,350 >> इसी तरह, आप कुछ बाहरी है अगर स्वैप या घन की तरह कार्य, 132 00:05:36,350 --> 00:05:38,450 हम पिछले हफ्ते में देखा कि. 133 00:05:38,450 --> 00:05:41,780 आप उन लोगों में से एक को तोड़ने का कहना है, अपने कार्यक्रम हिट जब भी, कि 134 00:05:41,780 --> 00:05:44,290 यह करने के लिए आप के लिए इंतजार करेंगे क्या करना है यह बताओ. 135 00:05:44,290 --> 00:05:47,860 यह सिर्फ तुम इतने पर अमल से पहले वास्तव में समारोह के अंदर कदम सकता है 136 00:05:47,860 --> 00:05:49,020 और क्या हो रहा है देखते हैं. 137 00:05:49,020 --> 00:05:50,370 138 00:05:50,370 --> 00:05:53,515 तो, अगली बस पर रुक जाती है अगली पंक्ति, कार्य खत्म हो जाता है. 139 00:05:53,515 --> 00:05:54,730 140 00:05:54,730 --> 00:05:55,560 चरण. 141 00:05:55,560 --> 00:05:56,810 ये सभी छोटे सार हैं. 142 00:05:56,810 --> 00:06:00,530 तो, मैं तो बस उन के माध्यम से चलाने के लिए जा रहा हूँ, लेकिन आप एक दूसरे में उपयोग में उन्हें देखेंगे. 143 00:06:00,530 --> 00:06:01,810 >> एक समारोह में कदम. 144 00:06:01,810 --> 00:06:04,170 तो जैसा कि मैं कह रहा था, स्वैप के साथ, यह होगा की तरह 145 00:06:04,170 --> 00:06:07,110 आप वास्तव में आप कर रहे हैं के रूप में अगर की अनुमति जैसे शारीरिक रूप से अंदर घुसने, 146 00:06:07,110 --> 00:06:10,990 उन चर के साथ आप कर सकते हैं गंदगी, प्रिंट वे क्या कर रहे हैं, पर क्या हो रहा है देखते हैं. 147 00:06:10,990 --> 00:06:12,140 148 00:06:12,140 --> 00:06:14,830 सूची सचमुच सिर्फ प्रिंट होगा आसपास के कोड बाहर. 149 00:06:14,830 --> 00:06:17,570 तो, आप की तरह भूल जाते हैं आप अपने प्रोग्राम में हैं, जहां 150 00:06:17,570 --> 00:06:19,880 या आप सोच रहे हैं क्या, यह चारों ओर हो रहा है 151 00:06:19,880 --> 00:06:23,790 यह सिर्फ एक खंड बाहर प्रिंट होगा की यह चारों ओर पाँच या छह लाइनों की तरह. 152 00:06:23,790 --> 00:06:26,080 तो, आप उन्मुख हो सकते हैं तुम कहाँ के बारे में. 153 00:06:26,080 --> 00:06:27,230 154 00:06:27,230 --> 00:06:28,650 >> कुछ चर प्रिंट. 155 00:06:28,650 --> 00:06:34,590 तो, आप चाबी की तरह है अगर सीज़र में, हम में देख लेंगे कि. 156 00:06:34,590 --> 00:06:36,220 आप किसी भी बिंदु पर छापा कुंजी कह सकते हैं. 157 00:06:36,220 --> 00:06:40,070 मूल्य इतना है कि क्या यह आपको बताता हूँ कि, शायद कहीं रास्ते, 158 00:06:40,070 --> 00:06:42,070 आप अपने प्रमुख अधिलेखित कर दिया. 159 00:06:42,070 --> 00:06:45,495 आप वास्तव में क्योंकि बता सकते हैं कि आप वास्तव में है कि मूल्य का निरीक्षण कर सकते हैं. 160 00:06:45,495 --> 00:06:46,500 161 00:06:46,500 --> 00:06:48,780 >> स्थानीय लोगों, सिर्फ प्रिंट में अपने स्थानीय चर बाहर. 162 00:06:48,780 --> 00:06:53,120 तो, जब भी आप एक पाश के भीतर कर रहे हैं, और आप सिर्फ ओह, जैसे देखना चाहते हैं. 163 00:06:53,120 --> 00:06:54,270 मेरे मैं क्या है? 164 00:06:54,270 --> 00:06:57,020 इस महत्वपूर्ण मूल्य क्या है मैं यहाँ इनिशियलाइज़ कि? 165 00:06:57,020 --> 00:06:58,537 इस बिंदु पर संदेश क्या है? 166 00:06:58,537 --> 00:07:00,370 यह सिर्फ सभी प्रिंट होगा उन की, तो आपको लगता है कि 167 00:07:00,370 --> 00:07:04,330 व्यक्तिगत रूप से करने की जरूरत नहीं है छापा मैं प्रिंट संदेश, कहते हैं. 168 00:07:04,330 --> 00:07:04,970 छापा की चाबी. 169 00:07:04,970 --> 00:07:06,190 170 00:07:06,190 --> 00:07:07,700 और फिर प्रदर्शित करें. 171 00:07:07,700 --> 00:07:10,370 क्या करता है कि आप के रूप में है कार्यक्रम के माध्यम से कदम, 172 00:07:10,370 --> 00:07:13,980 यह सिर्फ यह है कि सुनिश्चित करेंगे कुछ कुछ चर प्रदर्शित 173 00:07:13,980 --> 00:07:14,780 हर बिंदु पर. 174 00:07:14,780 --> 00:07:17,160 इतनी है कि आप --it है also-- एक शॉर्टकट जहां की तरह 175 00:07:17,160 --> 00:07:19,530 आप ओह, जैसे जा रहा रखने की जरूरत नहीं है. 176 00:07:19,530 --> 00:07:23,150 छापा कुंजी या प्रिंट आई यह बस यह तुम्हारे लिए क्या स्वतः जाएगा. 177 00:07:23,150 --> 00:07:25,959 >> तो, उस के साथ, हम जा रहे हैं इस चला जाता है देखने के लिए कैसे. 178 00:07:25,959 --> 00:07:28,000 मैं कोशिश करते हैं और स्विच करने के लिए जा रहा हूँ मेरे उपकरण के लिए खत्म हो. 179 00:07:28,000 --> 00:07:30,200 180 00:07:30,200 --> 00:07:31,271 मैं यह कर सकते हैं देखें. 181 00:07:31,271 --> 00:07:31,770 सभी. 182 00:07:31,770 --> 00:07:40,970 183 00:07:40,970 --> 00:07:42,370 हम सिर्फ यह दर्पण जा रहे हैं. 184 00:07:42,370 --> 00:07:44,530 पागल कुछ भी नहीं है अपने लैपटॉप पर वैसे भी. 185 00:07:44,530 --> 00:07:49,600 186 00:07:49,600 --> 00:07:50,100 ठीक. 187 00:07:50,100 --> 00:07:57,030 188 00:07:57,030 --> 00:08:01,054 यह इस एक होने की जरूरत है. 189 00:08:01,054 --> 00:08:01,795 यह इतनी छोटी है. 190 00:08:01,795 --> 00:08:03,730 191 00:08:03,730 --> 00:08:05,120 हम ऐसा कर सकते हैं तो चलो देखते हैं. 192 00:08:05,120 --> 00:08:09,970 193 00:08:09,970 --> 00:08:10,940 >> ठीक. 194 00:08:10,940 --> 00:08:15,305 ऐलिस जाहिर संघर्ष कर रही है यहां सिर्फ एक छोटा सा, 195 00:08:15,305 --> 00:08:17,995 लेकिन हम एक momento में यह मिल जाएगा. 196 00:08:17,995 --> 00:08:20,810 197 00:08:20,810 --> 00:08:22,020 ठीक. 198 00:08:22,020 --> 00:08:25,900 हम सिर्फ इस वृद्धि करने जा रहे हैं. 199 00:08:25,900 --> 00:08:28,770 200 00:08:28,770 --> 00:08:29,380 ठीक. 201 00:08:29,380 --> 00:08:31,679 हर किसी तरह की है कि देख सकते हैं? 202 00:08:31,679 --> 00:08:32,470 शायद एक छोटा सा? 203 00:08:32,470 --> 00:08:33,594 मैं इसे एक छोटे से छोटा है पता है. 204 00:08:33,594 --> 00:08:34,570 205 00:08:34,570 --> 00:08:37,530 आप काफी समझ नहीं कर सकते यह बड़ा बनाने के लिए. 206 00:08:37,530 --> 00:08:38,350 अगर कोई जानता है. 207 00:08:38,350 --> 00:08:40,309 किसी को भी यह बड़ा बनाने के लिए कैसे पता है? 208 00:08:40,309 --> 00:08:40,932 ठीक. 209 00:08:40,932 --> 00:08:42,140 हम इसके साथ रोल करने के लिए जा रहे हैं. 210 00:08:42,140 --> 00:08:45,801 यह सिर्फ इसलिए है क्योंकि वैसे भी कोई बात नहीं कि कि तुम लोगों को चाहिए कोड है 211 00:08:45,801 --> 00:08:46,300 है. 212 00:08:46,300 --> 00:08:48,310 >> क्या अधिक महत्वपूर्ण है यहां टर्मिनल है. 213 00:08:48,310 --> 00:08:52,840 214 00:08:52,840 --> 00:08:58,690 और हम क्यों यह इतना छोटा है यहाँ है? 215 00:08:58,690 --> 00:09:02,325 216 00:09:02,325 --> 00:09:02,825 सेटिंग्स. 217 00:09:02,825 --> 00:09:07,920 218 00:09:07,920 --> 00:09:08,420 ओह. 219 00:09:08,420 --> 00:09:09,500 यह सच है कि आइक. 220 00:09:09,500 --> 00:09:10,880 यह कैसे है? 221 00:09:10,880 --> 00:09:11,770 वहाँ से बाहर. 222 00:09:11,770 --> 00:09:19,370 223 00:09:19,370 --> 00:09:21,810 कि सभी के लिए बेहतर है? 224 00:09:21,810 --> 00:09:22,525 ठीक ,. 225 00:09:22,525 --> 00:09:23,025 कूल. 226 00:09:23,025 --> 00:09:25,830 227 00:09:25,830 --> 00:09:28,220 >> आप एक सीएस में कर रहे हैं जब आप जानते हैं कक्षा तकनीकी कठिनाइयों 228 00:09:28,220 --> 00:09:32,971 the-- की तरह का हिस्सा हैं तो, चलो यह स्पष्ट करते हैं. 229 00:09:32,971 --> 00:09:33,470 ठीक. 230 00:09:33,470 --> 00:09:38,060 तो, यहीं अनुभाग में, जो हम यहाँ था. 231 00:09:38,060 --> 00:09:40,830 सीज़र एक निष्पादन योग्य फ़ाइल है. 232 00:09:40,830 --> 00:09:41,800 इसलिए मैं इसे बनाया है. 233 00:09:41,800 --> 00:09:46,370 तो, GDB के साथ महसूस करने के लिए एक बात है कि यह केवल निष्पादन योग्य फ़ाइलों पर काम करता है. 234 00:09:46,370 --> 00:09:48,040 तो, आप एक dotsy पर यह नहीं चल सकता. 235 00:09:48,040 --> 00:09:50,532 आप वास्तव में बनाने के लिए है अपने कोड संकलित यह सुनिश्चित करें कि, 236 00:09:50,532 --> 00:09:51,865 और यह वास्तव में चलाया जा सकता है. 237 00:09:51,865 --> 00:09:52,970 238 00:09:52,970 --> 00:09:56,186 >> अगर यह नहीं है तो, सुनिश्चित करें कि संकलन, यह संकलन करने के लिए मिलता है, 239 00:09:56,186 --> 00:09:57,810 इतना है कि आप की तरह यह माध्यम से चला सकते हैं. 240 00:09:57,810 --> 00:10:04,590 तो, GDB शुरू करने के लिए, आप सभी करते हैं, ग्लोरिया प्रकार GDB, और फिर बस 241 00:10:04,590 --> 00:10:06,250 आप चाहते हैं कि फ़ाइल. 242 00:10:06,250 --> 00:10:08,240 मैं हमेशा सीज़र misspell. 243 00:10:08,240 --> 00:10:11,730 लेकिन आपको यह सुनिश्चित करना चाहते हैं यह एक निष्पादन के बाद से, 244 00:10:11,730 --> 00:10:14,210 तिवारी डॉट फ़्लैश इतना है कि आप जा रहे हैं इसका मतलब 245 00:10:14,210 --> 00:10:19,240 सीएसआई आप निष्पादित करने के लिए जा रहे हैं चलाने के लिए इस डिबगर के साथ या तो फाइलों. 246 00:10:19,240 --> 00:10:19,910 ठीक. 247 00:10:19,910 --> 00:10:22,885 तो, आपको लगता है कि, आप मिलता है अस्पष्ट के इस तरह के. 248 00:10:22,885 --> 00:10:24,250 249 00:10:24,250 --> 00:10:25,750 यह डिबगर के बारे में अभी सब बातें है. 250 00:10:25,750 --> 00:10:28,200 तुम सच की जरूरत नहीं है इसके बारे में अभी चिंता. 251 00:10:28,200 --> 00:10:31,460 आप देखते हैं और, जैसा कि हम इस किया है खुले parens, सकल घरेलू उत्पाद, करीब parens, 252 00:10:31,460 --> 00:10:34,690 और बस की तरह की तरह लग रहा है हमारे कमांड लाइन, है ना? 253 00:10:34,690 --> 00:10:37,010 >> तो, हम do-- करने के लिए क्या चाहते हैं --So, पहली बात 254 00:10:37,010 --> 00:10:39,570 हम चयन करना चाहते है एक जगह इसे तोड़ने के लिए. 255 00:10:39,570 --> 00:10:42,332 तो, एक बग है इस सीजर कार्यक्रम में 256 00:10:42,332 --> 00:10:44,290 मुझे लगता है कि परिचय कि हम पता लगाने के लिए जा रहे हैं. 257 00:10:44,290 --> 00:10:45,330 258 00:10:45,330 --> 00:10:56,350 यह इनपुट लेता है यह क्या करता है सभी टोपियां में Barfoo, और किसी कारण के लिए 259 00:10:56,350 --> 00:11:01,950 यह सिर्फ पत्ते ए परिवर्तन नहीं करता अकेले यह सही सब कुछ है 260 00:11:01,950 --> 00:11:03,980 लेकिन दूसरा पत्र एक अपरिवर्तित बनी हुई है. 261 00:11:03,980 --> 00:11:07,120 तो, हम कोशिश करने जा रहे हैं और यही वजह है कि यह पता लगाने. 262 00:11:07,120 --> 00:11:10,440 तो, पहली बात यह है कि आप आमतौर पर आप GDB पर शुरू जब भी करना चाहते हैं 263 00:11:10,440 --> 00:11:12,010 इसे तोड़ने के लिए जहां यह पता लगाने की है. 264 00:11:12,010 --> 00:11:14,956 >> तो सीज़र एक बहुत छोटी कार्यक्रम है. 265 00:11:14,956 --> 00:11:16,330 हम सिर्फ सही, एक समारोह है? 266 00:11:16,330 --> 00:11:18,520 सीज़र में हमारे कार्य क्या था? 267 00:11:18,520 --> 00:11:19,590 268 00:11:19,590 --> 00:11:24,350 केवल एक ही समारोह, मुख्य अभी भी वहीं है? 269 00:11:24,350 --> 00:11:26,490 मुख्य एक समारोह है अपने सभी कार्यक्रमों के लिए. 270 00:11:26,490 --> 00:11:29,230 आप मुख्य नहीं था, तो मैं हो सकता है एक चिंतित थोड़ा सही अब हो सकता है, 271 00:11:29,230 --> 00:11:31,000 लेकिन मैं आप सब वहाँ में मुख्य था उम्मीद है. 272 00:11:31,000 --> 00:11:34,150 तो, हम क्या कर सकते हैं हम कर सकते है बस ऐसे ही, मुख्य टूट गया. 273 00:11:34,150 --> 00:11:35,190 इसलिए, यह ठीक है, कहते हैं. 274 00:11:35,190 --> 00:11:37,430 हम वहाँ हमारे ब्रेकपाइंट एक सेट. 275 00:11:37,430 --> 00:11:42,870 >> तो, याद करने के लिए अब बात सीज़र है एक कमांड लाइन तर्क सही लेता है 276 00:11:42,870 --> 00:11:45,150 और हम कहीं भी है कि अभी तक नहीं किया है. 277 00:11:45,150 --> 00:11:47,560 तो, आप क्या करते हैं जब है आप वास्तव में चलाने के लिए जाना 278 00:11:47,560 --> 00:11:51,540 कार्यक्रम, आप कर रहे हैं कि किसी भी कार्यक्रम GDB में चल रहा है कि कमांड लाइन की जरूरत 279 00:11:51,540 --> 00:11:55,010 तर्क, आप निवेश करने के लिए जा रहे हैं जब आप पहली बार इसे चलाने लगते हैं. 280 00:11:55,010 --> 00:11:59,280 इसलिए, इस मामले में, हम करते हैं तीन में से एक कुंजी के साथ भागो. 281 00:11:59,280 --> 00:12:00,770 282 00:12:00,770 --> 00:12:02,040 और यह वास्तव में शुरू होगा. 283 00:12:02,040 --> 00:12:08,480 >> आप यहाँ देख तो, अगर हमारे पास आर सी 2 के बराबर नहीं है. 284 00:12:08,480 --> 00:12:12,210 तो आप लोग सब है अगर मैं ऊपर से बाहर भेज दिया कि उस फ़ाइल 285 00:12:12,210 --> 00:12:15,100 आपको लगता है कि तरह है कि देखेंगे पहली पंक्ति हमारे मुख्य समारोह, है ना? 286 00:12:15,100 --> 00:12:17,890 यह हम है देखने के लिए जाँच कर रहा है तर्कों की सही संख्या. 287 00:12:17,890 --> 00:12:20,620 तो, अगर आप सोच रहे आर सी सही है, 288 00:12:20,620 --> 00:12:23,250 आप बस प्रिंट आर सी की तरह कुछ कर सकते हैं. 289 00:12:23,250 --> 00:12:24,380 290 00:12:24,380 --> 00:12:28,640 आर सी है, जो दो है हम सही होने की उम्मीद है क्या? 291 00:12:28,640 --> 00:12:32,010 >> तो, हम अगले जा सकते हैं, और के माध्यम से जारी है. 292 00:12:32,010 --> 00:12:33,200 तो, हम वहाँ कुछ महत्वपूर्ण है. 293 00:12:33,200 --> 00:12:34,260 294 00:12:34,260 --> 00:12:37,090 और हम अपने कुंजी बाहर प्रिंट कर सकते हैं यह सही है बनाना. 295 00:12:37,090 --> 00:12:38,380 296 00:12:38,380 --> 00:12:39,500 दिलचस्प है. 297 00:12:39,500 --> 00:12:41,210 काफी नहीं है कि हम क्या उम्मीद. 298 00:12:41,210 --> 00:12:44,810 तो, एक बात का एहसास करने के लिए भी GDB के साथ है, 299 00:12:44,810 --> 00:12:49,000 आप वास्तव में मारा जब तक यह नहीं है कि अगला, कि तुम सिर्फ देखा कि लाइन 300 00:12:49,000 --> 00:12:50,720 वास्तव में मार डाला है. 301 00:12:50,720 --> 00:12:53,870 इसलिए, इस मामले की चाबी में अभी तक आवंटित नहीं किया गया. 302 00:12:53,870 --> 00:12:57,050 तो, कुंजी कुछ कचरा मूल्य है तुम वहाँ तल पर देखते हैं. 303 00:12:57,050 --> 00:13:03,680 नकारात्मक $ 120-- --It के एक अरब और कुछ अजीब बातें सही? 304 00:13:03,680 --> 00:13:05,340 यह हम उम्मीद है कि कुंजी नहीं है. 305 00:13:05,340 --> 00:13:10,720 लेकिन हम उसके बाद मारा, और अगर हम कोशिश करते हैं और प्रिंट कुंजी, यह तीन है. 306 00:13:10,720 --> 00:13:11,710 >> हर कोई देखना है कि? 307 00:13:11,710 --> 00:13:13,780 तो, आप कुछ मिलता है आप की तरह कर रहे हैं, रुको. 308 00:13:13,780 --> 00:13:15,540 यह पूरी तरह से है गलत, और मैं नहीं जानता 309 00:13:15,540 --> 00:13:20,150 मैं सब चाहते हैं क्योंकि यह होगा कैसे एक नंबर आवंटित करना, एक चर, 310 00:13:20,150 --> 00:13:22,900 मुद्रण कोशिश, अगला मारने की कोशिश अगर यह काम करता है कि यह फिर से, और देखते हैं. 311 00:13:22,900 --> 00:13:27,830 यह केवल निष्पादित करने के लिए जा रहा है क्योंकि और वास्तव में आप के बाद कुछ आवंटित 312 00:13:27,830 --> 00:13:29,340 अगले मारा. 313 00:13:29,340 --> 00:13:30,336 हर कोई समझ बनाने के लिए? 314 00:13:30,336 --> 00:13:30,836 उह हुह? 315 00:13:30,836 --> 00:13:33,220 >> अध्यक्ष 2: जब आप यादृच्छिक संख्या कि क्या मतलब है? 316 00:13:33,220 --> 00:13:34,790 >> अध्यक्ष 1: यह सिर्फ यादृच्छिक है. 317 00:13:34,790 --> 00:13:35,710 यह सिर्फ कचरा है. 318 00:13:35,710 --> 00:13:38,320 यह सिर्फ कुछ है कि अपने कंप्यूटर बेतरतीब ढंग से आवंटित करेगा. 319 00:13:38,320 --> 00:13:39,721 320 00:13:39,721 --> 00:13:40,220 कूल. 321 00:13:40,220 --> 00:13:45,760 तो, अब हम के माध्यम से कदम है, और इसलिए कर सकते हैं अब हम इस सादे पाठ GetString है. 322 00:13:45,760 --> 00:13:48,600 तो, मुझे सिर्फ परिचय क्या हम यहाँ अगले मारा जब कुछ नहीं होगा. 323 00:13:48,600 --> 00:13:51,320 हमारे GDB तरह से सही, गायब हो जाता है? 324 00:13:51,320 --> 00:13:55,720 यही GetString क्योंकि है अब निष्पादित कर रहा है, है ना? 325 00:13:55,720 --> 00:14:01,460 हमने देखा तो, जब सादे पाठ के बराबर होती है GetString, खुले parens और parens, 326 00:14:01,460 --> 00:14:04,380 और हम अगले मारा, कि है वास्तव में अब मार डाला. 327 00:14:04,380 --> 00:14:06,580 तो, इसके लिए इंतज़ार कर रहा है इनपुट कुछ करने के लिए हमें. 328 00:14:06,580 --> 00:14:13,560 >> तो, हम निवेश करने के लिए हमारे भोजन जा रहे हैं जो मैंने तुमसे कहा था के रूप में यह असफल साबित हुई है क्या है 329 00:14:13,560 --> 00:14:18,020 और कहा कि अभी यह कहना है कि बंद कि, क्रियान्वित समाप्त 330 00:14:18,020 --> 00:14:19,980 ब्रैकेट यह मतलब कि पाश से बाहर निकल. 331 00:14:19,980 --> 00:14:21,170 332 00:14:21,170 --> 00:14:25,420 मैं हूँ तो, जैसा कि हम अब अगले मारा, और कर सकते हैं सुनिश्चित करें कि आप सीज़र से सभी परिचित हैं, 333 00:14:25,420 --> 00:14:27,260 ऐसा करने के लिए जा रहे इस पंक्ति क्या है, है. 334 00:14:27,260 --> 00:14:32,030 इंटरनैशनल मैं 0 के बराबर होती है के लिए है, एन के बराबर होती है Strlen, सादा पाठ, और उसके बाद 335 00:14:32,030 --> 00:14:33,960 मैं n, मैं, प्लस, प्लस से कम नहीं है. 336 00:14:33,960 --> 00:14:35,210 क्या करने जा इस लूप क्या है? 337 00:14:35,210 --> 00:14:37,900 338 00:14:37,900 --> 00:14:39,160 अपने संदेश खोलें. 339 00:14:39,160 --> 00:14:39,770 कूल. 340 00:14:39,770 --> 00:14:41,330 तो, चलो कर रही है कि शुरू करते हैं. 341 00:14:41,330 --> 00:14:47,210 >> तो, इस हालत में होना चाहिए हमारे पहले एक के लिए, मैच? 342 00:14:47,210 --> 00:14:52,250 यह एक बी है, यह सादे पाठ आई हम है हमारे स्थानीय लोगों के बारे में जानकारी प्राप्त कर सकते हैं. 343 00:14:52,250 --> 00:14:53,610 344 00:14:53,610 --> 00:14:57,970 तो, मैं शून्य है, और, छह अगर जो हम उम्मीद करते हैं, और हमारी प्रमुख तीन है. 345 00:14:57,970 --> 00:14:59,227 भावना करें कि सभी, सही? 346 00:14:59,227 --> 00:15:01,310 उन लोगों की संख्या सब कर रहे हैं वास्तव में वे क्या किया जाना चाहिए. 347 00:15:01,310 --> 00:15:02,590 348 00:15:02,590 --> 00:15:03,870 तो, हम? 349 00:15:03,870 --> 00:15:05,620 अध्यक्ष 3: मेरे पास खदान के लिए यादृच्छिक संख्या. 350 00:15:05,620 --> 00:15:09,156 351 00:15:09,156 --> 00:15:12,030 अध्यक्ष 1: ठीक है, हम --we check-- कर सकते हैं एक सेकंड में उस के बारे में बातचीत कर सकते हैं. 352 00:15:12,030 --> 00:15:14,110 353 00:15:14,110 --> 00:15:15,750 लेकिन आप यह हो रही होना चाहिए. 354 00:15:15,750 --> 00:15:17,700 355 00:15:17,700 --> 00:15:20,130 तो, हम एक पूंजी है अगर हमारे पहले एक के लिए बी, 356 00:15:20,130 --> 00:15:22,080 इस हालत ठीक है, इसे पकड़ने चाहिए? 357 00:15:22,080 --> 00:15:27,120 हम अगले मारा तो, अगर हम देखते हैं यदि यह वास्तव में कार्यान्वित कि. 358 00:15:27,120 --> 00:15:29,220 आप पीछा कर रहे हैं क्योंकि अगर अपने कोड में साथ, 359 00:15:29,220 --> 00:15:33,460 यहां इस लाइन, जहां सादे पाठ मैं इस गणित के साथ बदल जाता है, 360 00:15:33,460 --> 00:15:35,720 तभी तो कार्यान्वित हालत सही सही है? 361 00:15:35,720 --> 00:15:36,905 362 00:15:36,905 --> 00:15:40,240 >> GDB केवल आपको दिखाने जा रही है वास्तव में क्रियान्वित कर रहे हैं कि चीजें. 363 00:15:40,240 --> 00:15:45,140 अगर यह शर्त पूरी नहीं की गई थी तो, अगर यह बात है बस अगली पंक्ति को छोड़ करने के लिए जा रहा है. 364 00:15:45,140 --> 00:15:46,540 ठीक है? 365 00:15:46,540 --> 00:15:48,510 इसलिए, हम कि है. 366 00:15:48,510 --> 00:15:51,171 इस ब्रैकेट यह मतलब अब उस लूप के बाहर बंद कर दिया. 367 00:15:51,171 --> 00:15:52,420 इसलिए, यह फिर से शुरू हो रहा है. 368 00:15:52,420 --> 00:15:54,760 369 00:15:54,760 --> 00:15:56,280 बस ऐसे ही. 370 00:15:56,280 --> 00:15:59,120 तो, हम जानकारी प्राप्त कर सकते हैं हमारे यहाँ स्थानीय लोगों के बारे में, 371 00:15:59,120 --> 00:16:02,575 और हम अपने पहले देखते हैं कि पत्र, सही बदल गया है? 372 00:16:02,575 --> 00:16:05,150 यह होना चाहिए, क्योंकि यह अब एक ई है. 373 00:16:05,150 --> 00:16:07,360 तो, हम पर जारी रख सकते हैं. 374 00:16:07,360 --> 00:16:08,500 >> और हम इस चेक कर सकते है. 375 00:16:08,500 --> 00:16:09,916 और इस चेक, सही काम करना चाहिए? 376 00:16:09,916 --> 00:16:12,570 यह परिवर्तित किया जाना चाहिए ए है आगे तीन पत्र. 377 00:16:12,570 --> 00:16:14,320 378 00:16:14,320 --> 00:16:16,530 लेकिन तुम, हम नोटिस कुछ अलग मिलता है. 379 00:16:16,530 --> 00:16:17,580 380 00:16:17,580 --> 00:16:22,860 यहां इस मामले में तो, यह पकड़ा यह, और इसलिए इस लाइन, मार डाला 381 00:16:22,860 --> 00:16:28,620 हमारे बी संशोधित जो लेकिन, यहां इस मामले में, 382 00:16:28,620 --> 00:16:32,860 हम यह सिर्फ यह छोड़ दिया है कि, और [करने के लिए चला गया? एल Siff. ?] 383 00:16:32,860 --> 00:16:34,660 तो वहाँ कुछ हो रहा है. 384 00:16:34,660 --> 00:16:37,780 कि क्या है कि आप कह रही है है, हम यह यहाँ आकर्षित करना चाहिए कि पता 385 00:16:37,780 --> 00:16:39,200 लेकिन ऐसा नहीं है. 386 00:16:39,200 --> 00:16:42,210 किसी को भी देख सकते हैं जो हमारे समस्या यह है कि लाइन में है? 387 00:16:42,210 --> 00:16:45,380 388 00:16:45,380 --> 00:16:46,969 यह एक बहुत मिनट बात है. 389 00:16:46,969 --> 00:16:48,510 और तुम भी अपने कोड पर लग सकता है. 390 00:16:48,510 --> 00:16:49,980 391 00:16:49,980 --> 00:16:54,940 यह भी है कि यह क्या लाइन भूल जाते line-- है there-- में लेकिन यह [अश्राव्य] में है. 392 00:16:54,940 --> 00:16:55,480 हाँ? 393 00:16:55,480 --> 00:16:58,639 >> अध्यक्ष 4: यह अधिक से अधिक पर है पृष्ठ आप किताब में पढ़ा है. 394 00:16:58,639 --> 00:16:59,430 अध्यक्ष 1: बिल्कुल. 395 00:16:59,430 --> 00:17:02,620 तो, डिबगर नहीं बता सकता है आपको लगता है कि, लेकिन डिबगर 396 00:17:02,620 --> 00:17:05,880 एक लाइन के लिए आप नीचे मिल सकता है आप काम नहीं कर रहा है पता है कि. 397 00:17:05,880 --> 00:17:09,319 और कभी कभी, जब विशेष रूप से बाद में सेमेस्टर, जब में 398 00:17:09,319 --> 00:17:12,910 आप एक सौ, एक साथ काम कर रहे हैं कुछ सौ कोड की लाइनों, और आप 399 00:17:12,910 --> 00:17:16,190 यह असफल साबित हुई है जहां पता नहीं है, यह ऐसा करने का एक शानदार तरीका है. 400 00:17:16,190 --> 00:17:17,900 401 00:17:17,900 --> 00:17:18,989 तो, हम हमारे बग मिला. 402 00:17:18,989 --> 00:17:21,530 आप अपने फाइल में यह तय कर सकते हैं और फिर आप इसे फिर से चला सकता है 403 00:17:21,530 --> 00:17:23,029 और सब कुछ पूरी तरह से काम करेगा. 404 00:17:23,029 --> 00:17:24,970 405 00:17:24,970 --> 00:17:30,590 और सबसे बड़ी बात है इस ठीक है, की तरह लग सकता है. 406 00:17:30,590 --> 00:17:31,090 हाँ. 407 00:17:31,090 --> 00:17:31,370 कूल. 408 00:17:31,370 --> 00:17:32,744 आप के लिए देख रहे हैं क्या पता था. 409 00:17:32,744 --> 00:17:34,910 तो, आप क्या करना है पता था. 410 00:17:34,910 --> 00:17:39,021 >> GDB आप क्योंकि सुपर सहायक हो सकता है इन सब बातों को बाहर प्रिंट कर सकते हैं कि आप 411 00:17:39,021 --> 00:17:39,520 नहीं होगा. 412 00:17:39,520 --> 00:17:41,160 इसे और अधिक उपयोगी printf से है. 413 00:17:41,160 --> 00:17:43,440 आप में से कितने उपयोग की printf बयानों की तरह 414 00:17:43,440 --> 00:17:46,200 एक बग, सही था, जहां यह पता लगाने के लिए? 415 00:17:46,200 --> 00:17:48,450 तो, इस के साथ, तुम नहीं करते वापस जा रहा रखने के लिए है, 416 00:17:48,450 --> 00:17:51,139 और में टिप्पणी पसंद Printf, या, बाहर टिप्पणी 417 00:17:51,139 --> 00:17:52,930 और यह पता लगाने क्या आप मुद्रण किया जाना चाहिए. 418 00:17:52,930 --> 00:17:55,670 यह वास्तव में सिर्फ आपको अनुमति देता है , के माध्यम से कदम चीजें बाहर प्रिंट 419 00:17:55,670 --> 00:18:00,000 आप के माध्यम से जा रहे हैं, तो आप कर सकते हैं वे वास्तविक समय में परिवर्तन का पालन कैसे, 420 00:18:00,000 --> 00:18:02,190 अपने कार्यक्रम के रूप में चल रहा है. 421 00:18:02,190 --> 00:18:04,390 >> और यह एक छोटे ले करता है करने के लिए इस्तेमाल हो रही है की सा. 422 00:18:04,390 --> 00:18:07,850 मैं अत्यधिक बस तरह की सिफारिश करेंगे इसके साथ थोड़ा निराश किया जा रहा है 423 00:18:07,850 --> 00:18:08,930 अभी के लिए. 424 00:18:08,930 --> 00:18:13,450 आप पर एक घंटे खर्च करते हैं अगले सप्ताह कैसे GDB का उपयोग सीखने, 425 00:18:13,450 --> 00:18:16,140 आप अपने आप को बचाना होगा बाद में इतना समय. 426 00:18:16,140 --> 00:18:18,750 और सचमुच. हम बता यह लोगों के लिए हर साल, 427 00:18:18,750 --> 00:18:23,890 मैं लिया और जब मुझे याद है वर्ग, मुझे लगता है मैं ठीक हो जाएगा, जैसा था. 428 00:18:23,890 --> 00:18:24,700 नहीं. 429 00:18:24,700 --> 00:18:27,030 Pset 6 पर आया था और मैं था जैसे, मैं सीख रहा हूँ 430 00:18:27,030 --> 00:18:29,500 मैं नहीं है क्योंकि GDB का उपयोग कैसे करें यहाँ पर क्या हो रहा है. 431 00:18:29,500 --> 00:18:32,940 >> तुम इतना समय लगेगा तो अगर छोटे कार्यक्रमों पर इसका इस्तेमाल करते हैं 432 00:18:32,940 --> 00:18:35,697 आप हो जा रहे हैं कि काम करना पसंद है, पर काम 433 00:18:35,697 --> 00:18:37,530 की तरह कुछ के माध्यम से इस तरह Visionare,. 434 00:18:37,530 --> 00:18:38,800 435 00:18:38,800 --> 00:18:42,850 आप अतिरिक्त अभ्यास चाहते हैं, तो मुझे यकीन है कि मैं छोटी गाड़ी कार्यक्रमों के साथ आ सकता है 436 00:18:42,850 --> 00:18:45,300 यदि आप चाहते हैं के लिए आप डिबग करने के लिए. 437 00:18:45,300 --> 00:18:49,300 >> लेकिन आप अभी कुछ समय लगेगा यदि पाने के लिए यह करने के लिए इस्तेमाल किया, बस के साथ खेलने के आसपास, 438 00:18:49,300 --> 00:18:50,550 यह वास्तव में अच्छी तरह से काम करेगा. 439 00:18:50,550 --> 00:18:52,591 और यह वास्तव में से एक है उन चीजों है कि आप बस 440 00:18:52,591 --> 00:18:57,340 कोशिश है, और अपने हाथ गंदे हो आप वास्तव में इसे समझ से पहले, के साथ. 441 00:18:57,340 --> 00:19:02,090 मैं वास्तव में केवल एक बार यह समझ में आ मैं इसके साथ डिबग बातें करना पड़ा 442 00:19:02,090 --> 00:19:08,170 और इसके बारे में एक विचार है बहुत अच्छे है कैसे जल्दी बल्कि बाद में डिबग करने के लिए. 443 00:19:08,170 --> 00:19:08,850 ठीक. 444 00:19:08,850 --> 00:19:09,625 कूल. 445 00:19:09,625 --> 00:19:12,960 मैं उस तरह की तरह है पता GDB में एक क्रैश कोर्स, 446 00:19:12,960 --> 00:19:16,400 और मैं निश्चित रूप से हो रही है पर काम करेंगे इन बड़ा अगली बार देखने के लिए. 447 00:19:16,400 --> 00:19:17,590 448 00:19:17,590 --> 00:19:18,280 कूल. 449 00:19:18,280 --> 00:19:20,390 >> तो, हम वापस हमारे PowerPoint के लिए जाना है. 450 00:19:20,390 --> 00:19:27,194 451 00:19:27,194 --> 00:19:28,110 इस काम चल रहा है? 452 00:19:28,110 --> 00:19:29,711 453 00:19:29,711 --> 00:19:30,210 ए डब्ल्यु एच. 454 00:19:30,210 --> 00:19:31,101 हां. 455 00:19:31,101 --> 00:19:31,600 ठीक. 456 00:19:31,600 --> 00:19:35,480 तो, आप कभी किसी की जरूरत है उन फिर, सूची नहीं है. 457 00:19:35,480 --> 00:19:37,160 458 00:19:37,160 --> 00:19:40,830 तो द्विआधारी खोज, जो हर कोई दाऊद के महान तमाशा याद रखता है 459 00:19:40,830 --> 00:19:42,259 आधे में फोन किताबें तेजस्वी. 460 00:19:42,259 --> 00:19:44,050 मैं वास्तव में नहीं मिलता अब फोन किताबें, 461 00:19:44,050 --> 00:19:46,530 आप जहां की तरह है क्योंकि इन दिनों फोन किताबें मिल? 462 00:19:46,530 --> 00:19:48,220 मैं वास्तव में नहीं पता है. 463 00:19:48,220 --> 00:19:49,840 464 00:19:49,840 --> 00:19:50,590 द्विआधारी खोज. 465 00:19:50,590 --> 00:19:52,464 किसी को भी याद करता है कैसे द्विआधारी खोज काम करता है? 466 00:19:52,464 --> 00:19:54,380 467 00:19:54,380 --> 00:19:55,220 किसी को भी सब पर? 468 00:19:55,220 --> 00:19:56,325 हाँ? 469 00:19:56,325 --> 00:19:58,283 अध्यक्ष 5: आप जब पता आप जो आधे पर देखने के लिए 470 00:19:58,283 --> 00:20:01,146 यह उस आधार पर, में होगा, और दूसरे आधे से छुटकारा. 471 00:20:01,146 --> 00:20:01,896 >> अध्यक्ष 1 बिल्कुल सही. 472 00:20:01,896 --> 00:20:06,290 तो, द्विआधारी खोज, इसके बारे में a-- तरह है --we यह विभाजन और जीत कॉल की तरह. 473 00:20:06,290 --> 00:20:09,170 तो, आप क्या करेंगे है आप बीच में देख लेंगे 474 00:20:09,170 --> 00:20:11,990 यह मैच यदि और आप देखेंगे क्या आप के लिए देख रहे हैं. 475 00:20:11,990 --> 00:20:15,420 यदि ऐसा नहीं होता है, तो आप करने की कोशिश यह पता लगाने, इसे छोड़ दिया जा रहा है 476 00:20:15,420 --> 00:20:16,450 आधा या सही आधा. 477 00:20:16,450 --> 00:20:19,325 आप देख रहे हैं तो, यह हो सकता है alphabetized है कि कुछ पर, 478 00:20:19,325 --> 00:20:20,720 आप ओह, देखें. 479 00:20:20,720 --> 00:20:22,750 एलीसन एम से पहले आया है? 480 00:20:22,750 --> 00:20:23,250 हां. 481 00:20:23,250 --> 00:20:25,030 तो, हम करने जा रहे हैं पहली छमाही में दिखेगा. 482 00:20:25,030 --> 00:20:26,450 >> या यह संख्या के साथ की तरह हो सकता है. 483 00:20:26,450 --> 00:20:28,830 कुछ भी है कि आप कर सकते हैं तुलना, इसे हल किया जा सकता है. 484 00:20:28,830 --> 00:20:29,920 485 00:20:29,920 --> 00:20:31,260 आप पर द्विआधारी खोज का उपयोग कर सकते हैं. 486 00:20:31,260 --> 00:20:32,340 487 00:20:32,340 --> 00:20:37,455 तो, किसी को भी यह याद ग्राफ या यह क्या है? 488 00:20:37,455 --> 00:20:39,520 यह Asymptotic जटिलता है. 489 00:20:39,520 --> 00:20:42,830 तो, यह ग्राफ बस कितनी देर का वर्णन करता है यह 490 00:20:42,830 --> 00:20:46,230 के रूप में एक समस्या को हल करने के लिए ले जाता है आप चीजों की संख्या में वृद्धि 491 00:20:46,230 --> 00:20:47,090 कि आप प्रयोग कर रहे हैं. 492 00:20:47,090 --> 00:20:51,260 >> तो, हम रैखिक समय है जो एन, है. 493 00:20:51,260 --> 00:20:54,560 थोड़ा है, जो दो से अधिक एन, तो बेहतर, अभी भी सुपर फास्ट होती है. 494 00:20:54,560 --> 00:20:58,360 और फिर हम जो, लॉगिन क्या हम द्विआधारी खोज पर विचार करें. 495 00:20:58,360 --> 00:21:03,630 हम देखते हैं, तो आपकी समस्या के रूप में , ज्यादा और ज्यादा बड़ा हो जाता है 496 00:21:03,630 --> 00:21:06,600 यह आपको लगता है समय इसे हल करने के लिए सच है कि ज्यादा वृद्धि नहीं करता है. 497 00:21:06,600 --> 00:21:09,010 यह तुलनीय की तरह है यहां शुरुआत में. 498 00:21:09,010 --> 00:21:10,060 आप ठीक है, की तरह हो. 499 00:21:10,060 --> 00:21:13,000 कुछ भी यहाँ सच नहीं करता बात जो हम उपयोग करते हैं, 500 00:21:13,000 --> 00:21:16,220 लेकिन अगर आप एक लाख के लिए एक अरब डॉलर बाहर निकलना. 501 00:21:16,220 --> 00:21:20,010 आप some-- --you're खोजने की कोशिश कर रहे हैं एक टेबल में एक सुई खोजने की कोशिश. 502 00:21:20,010 --> 00:21:21,550 >> मैं आपको इस समस्या चाहते हैं. 503 00:21:21,550 --> 00:21:25,850 आप इस जटिलता, नहीं चाहते रैखिक क्योंकि सभी के लिए 504 00:21:25,850 --> 00:21:30,049 आपकी वाला के माध्यम से खोज की जा पता प्रत्येक व्यक्ति सुई, घास की बात, 505 00:21:30,049 --> 00:21:31,340 अपने सुई के लिए देखने की कोशिश कर रहा. 506 00:21:31,340 --> 00:21:34,730 और कहा कि मेरी राय में बहुत मज़ा नहीं है. 507 00:21:34,730 --> 00:21:35,500 मैं तेजी से पसंद है. 508 00:21:35,500 --> 00:21:36,620 मैं कुशल पसंद है. 509 00:21:36,620 --> 00:21:40,450 और जैसे मेहनती छात्रों आप दोस्तों, आप होशियार काम जानते हैं, 510 00:21:40,450 --> 00:21:43,010 नहीं कठिन प्रकार की बात, आप कैसे इन एल्गोरिदम कर सकते हैं. 511 00:21:43,010 --> 00:21:45,110 512 00:21:45,110 --> 00:21:47,910 >> तो, हम चलने के लिए जा रहे हैं बस एक त्वरित उदाहरण के माध्यम से. 513 00:21:47,910 --> 00:21:51,090 मैं तुम लोगों को होना चाहिए द्विआधारी खोज पर एक हाथ, 514 00:21:51,090 --> 00:21:54,352 लेकिन मामले में किसी को भी एक छोटी सी है फजी, इसे मजबूत करना चाहते हैं, 515 00:21:54,352 --> 00:21:56,310 हम बस जाने के लिए जा रहे हैं यहां एक उदाहरण के माध्यम से. 516 00:21:56,310 --> 00:21:59,490 अगर हां, तो हम देख रहे हैं सरणी सात शामिल हैं. 517 00:21:59,490 --> 00:22:00,540 518 00:22:00,540 --> 00:22:06,010 >> तो, हम पहली बात है ठीक है, बीच में लग रही हो? 519 00:22:06,010 --> 00:22:09,340 और भी आप कोडिंग करने जा रहे हैं बस एक पल में द्विआधारी खोज. 520 00:22:09,340 --> 00:22:11,310 इसलिए, यह मजाक होने जा रहा है. 521 00:22:11,310 --> 00:22:13,710 तो हम में देखो मध्य थोड़ा सरणियों 3. 522 00:22:13,710 --> 00:22:15,501 3 से 7 के बराबर है? 523 00:22:15,501 --> 00:22:16,000 नहीं करता है. 524 00:22:16,000 --> 00:22:18,670 525 00:22:18,670 --> 00:22:19,550 यह छह है. 526 00:22:19,550 --> 00:22:21,480 तो, की तुलना में यह कम है या सात से अधिक? 527 00:22:21,480 --> 00:22:23,080 528 00:22:23,080 --> 00:22:23,960 से कम. 529 00:22:23,960 --> 00:22:24,570 हां. 530 00:22:24,570 --> 00:22:25,170 अच्छा काम दोस्तों. 531 00:22:25,170 --> 00:22:25,569 532 00:22:25,569 --> 00:22:27,360 मैं मैं मैं चाहिए की तरह लग रहा है कैंडी क्योंकि मैं 533 00:22:27,360 --> 00:22:29,460 गज की दूरी में इसे बाहर फेंक देना चाहते हैं. 534 00:22:29,460 --> 00:22:30,270 यह मैं अगले सप्ताह ऐसा करने जा रहा हूँ. 535 00:22:30,270 --> 00:22:31,436 यह तेज तुम लोगों को रखना होगा. 536 00:22:31,436 --> 00:22:32,560 537 00:22:32,560 --> 00:22:34,690 >> इसलिए, हम कि दूर फेंक पहली छमाही, है ना? 538 00:22:34,690 --> 00:22:35,670 यह से भी कम था. 539 00:22:35,670 --> 00:22:39,325 हम चाहते हैं कि सब कुछ जानते हैं कि बाएं हाथ की ओर 540 00:22:39,325 --> 00:22:41,700 की तुलना में कम होने जा रहा है क्या हम वास्तव में के लिए देख रहे हैं. 541 00:22:41,700 --> 00:22:43,491 तो, कोई ज़रूरत नहीं है यह करने के लिए ध्यान देना. 542 00:22:43,491 --> 00:22:45,120 अभी इसके बारे में भूल जाते हैं. 543 00:22:45,120 --> 00:22:48,720 तो, अब हम अपने दाहिने हाथ की ओर देखो, और हम, वहाँ पर बीच में देखो 544 00:22:48,720 --> 00:22:50,510 और अब यह नौ है. 545 00:22:50,510 --> 00:22:55,510 तो, 9 is-- --Everyone? 546 00:22:55,510 --> 00:22:57,470 हम क्या कर रहे हैं इससे बड़ा ठीक है, के लिए देख रहे हैं? 547 00:22:57,470 --> 00:22:59,860 तो, हम फेंक करने के लिए जा रहे हैं सही करने के लिए सब कुछ दूर. 548 00:22:59,860 --> 00:23:00,970 549 00:23:00,970 --> 00:23:01,940 इस तरह. 550 00:23:01,940 --> 00:23:03,700 अब, हम सब एक है साथ छोड़ रहे हैं. 551 00:23:03,700 --> 00:23:07,760 इसलिए हम जाँच, यह एक है क्या हम देख रहे हैं? यह है. 552 00:23:07,760 --> 00:23:08,970 हम हम क्या चाहते थे पाया. 553 00:23:08,970 --> 00:23:10,440 554 00:23:10,440 --> 00:23:11,690 तो हम कर रहे हैं. 555 00:23:11,690 --> 00:23:12,550 द्विरेखीय खोज. 556 00:23:12,550 --> 00:23:15,740 >> और तुम, हम नोटिस वहाँ सात आदानों था. 557 00:23:15,740 --> 00:23:24,320 यह केवल तीन बार की तरह हमें ले लिया लेकिन यदि आप एक अरब की तरह कर रहे हैं, 558 00:23:24,320 --> 00:23:28,190 तुम लोग कितने कदम यह होगा पता हम चार अरब बातें था ले? 559 00:23:28,190 --> 00:23:29,940 560 00:23:29,940 --> 00:23:30,455 कोई अनुमान? 561 00:23:30,455 --> 00:23:32,286 562 00:23:32,286 --> 00:23:33,960 यह 32 है. 563 00:23:33,960 --> 00:23:37,110 कुछ खोजने के लिए 32 कदम एक चार अरब में 564 00:23:37,110 --> 00:23:39,650 क्योंकि दो की शक्तियों का तत्व सरणी. 565 00:23:39,650 --> 00:23:43,550 तो दो, 32 के लिए चार अरब डॉलर की है. 566 00:23:43,550 --> 00:23:50,430 >> तो सुंदर पागल कैसे आप अभी भी भीतर हो चरणों की एक काफी छोटी संख्या की तरह 567 00:23:50,430 --> 00:23:52,650 में कुछ खोजने के लिए चार अरब तत्वों. 568 00:23:52,650 --> 00:23:55,730 उस पर ध्यान दें तो, हम कर रहे हैं इस कोड के लिए जा रहा 569 00:23:55,730 --> 00:23:58,950 इसलिए तुम लोग वास्तव में कर सकते हैं एक तरह से यह कैसे काम करता है देखना. 570 00:23:58,950 --> 00:24:01,520 सब ठीक है, तुम लोगों को कोड कर सकते हैं तो. 571 00:24:01,520 --> 00:24:04,100 मैं आप लोगों को बताने के लिए जा रहा हूँ एक छोटा सा के लिए बात करते हैं. 572 00:24:04,100 --> 00:24:07,970 है, जो आप के आसपास के लोगों को पता हो जाओ क्या किसी को पिछले अनुभाग से चाहता था. 573 00:24:07,970 --> 00:24:10,280 >> तो क्या आप के आसपास के लोगों को जानते हैं. 574 00:24:10,280 --> 00:24:11,305 एक छोटा सा के लिए बात करें. 575 00:24:11,305 --> 00:24:12,580 576 00:24:12,580 --> 00:24:15,730 और यह सब मैं आप से चाहते हैं लोग सही अब बस है 577 00:24:15,730 --> 00:24:17,575 स्यूडोकोड की एक रूपरेखा बनाने का प्रयास करें. 578 00:24:17,575 --> 00:24:18,075 ठीक है? 579 00:24:18,075 --> 00:24:20,825 580 00:24:20,825 --> 00:24:21,325 वाह. 581 00:24:21,325 --> 00:24:23,320 582 00:24:23,320 --> 00:24:29,520 मैं तुम लोगों से चाहते सभी आप कर रहे है सिर्फ इस जबकि मामले में भरने के लिए जा रहा है. 583 00:24:29,520 --> 00:24:32,170 इसलिए मैं इन ऊपरी निर्धारित किया है और कम सीमा जो 584 00:24:32,170 --> 00:24:35,250 शुरुआत प्रतिनिधित्व हमारे सरणी की और अंत. 585 00:24:35,250 --> 00:24:40,440 और अगर आप वास्तव में करने जा रहे हैं पाश के माध्यम से और बाहर आंकड़ा 586 00:24:40,440 --> 00:24:42,470 क्या हम इस जबकि पाश के भीतर कार्य कर रहे हैं. 587 00:24:42,470 --> 00:24:45,810 >> आप out-- समझ सकते हैं तो मेरे पास है मामले हैं क्या there-- एक संकेत 588 00:24:45,810 --> 00:24:46,640 कि हम यहाँ है? 589 00:24:46,640 --> 00:24:48,100 590 00:24:48,100 --> 00:24:51,560 आप यह पता लगाने के लिए चाहते हैं, तो मामलों, हम उन pseudocode जाएगा 591 00:24:51,560 --> 00:24:53,350 और फिर हम वास्तव में उन्हें कोड करेंगे. 592 00:24:53,350 --> 00:24:55,330 और यह होने जा रहा है, मैं उम्मीद है कि यह होगा, लगता है 593 00:24:55,330 --> 00:24:56,788 आपकी अपेक्षा से थोड़ा आसान हो. 594 00:24:56,788 --> 00:24:57,554 595 00:24:57,554 --> 00:25:00,220 , यह है कि बहुत कोड नहीं है क्योंकि वास्तव में, जो वास्तव में अच्छा है. 596 00:25:00,220 --> 00:25:34,110 597 00:25:34,110 --> 00:25:35,018 >> मम-एचएम? 598 00:25:35,018 --> 00:25:35,893 >> छात्र: [अश्राव्य]? 599 00:25:35,893 --> 00:25:36,984 600 00:25:36,984 --> 00:25:37,650 प्रशिक्षक: हाँ. 601 00:25:37,650 --> 00:25:38,595 कुछ था बीच में लगता है. 602 00:25:38,595 --> 00:25:39,552 >> छात्र: तो हम उस का उपयोग कर सकते हैं. 603 00:25:39,552 --> 00:25:39,770 ठीक. 604 00:25:39,770 --> 00:25:40,603 >> प्रशिक्षक: बिल्कुल सही. 605 00:25:40,603 --> 00:25:42,950 तो यह है कि हम क्या करने की जरूरत है पहली बात है. 606 00:25:42,950 --> 00:25:44,330 तो बीच पाते हैं. 607 00:25:44,330 --> 00:25:45,415 608 00:25:45,415 --> 00:25:45,915 ग्रेट. 609 00:25:45,915 --> 00:25:47,770 610 00:25:47,770 --> 00:25:55,010 तो आप में से एक विचार है कि कैसे हम हो सकता है वास्तव में कोड के साथ बीच पाते हैं? 611 00:25:55,010 --> 00:25:55,980 >> छात्र: हाँ. 612 00:25:55,980 --> 00:25:57,000 पर 2 एन? 613 00:25:57,000 --> 00:25:58,500 614 00:25:58,500 --> 00:25:59,500 प्रशिक्षक: तो 2 n खत्म. 615 00:25:59,500 --> 00:26:05,170 तो याद करने की एक बात यह है कि अपने ऊपरी और निचले सीमा बदल जाते हैं. 616 00:26:05,170 --> 00:26:08,110 हम भाग में बाधा आते सरणी की हम देख रहे हैं. 617 00:26:08,110 --> 00:26:11,970 तो 2 n पर ही काम करेंगे पहली बात के लिए हम करते हैं. 618 00:26:11,970 --> 00:26:17,810 तो खाते में ऊपरी और निचले ले रही है, कैसे हम उस बीच तत्व मिल सकता है? 619 00:26:17,810 --> 00:26:20,640 हम मध्य चाहते हैं ऊपरी और निचले, सही के बीच? 620 00:26:20,640 --> 00:26:21,730 621 00:26:21,730 --> 00:26:22,494 मम-एचएम? 622 00:26:22,494 --> 00:26:23,369 >> छात्र: [अश्राव्य]. 623 00:26:23,369 --> 00:26:26,170 624 00:26:26,170 --> 00:26:28,080 >> प्रशिक्षक: तो हम कुछ मध्यम है. 625 00:26:28,080 --> 00:26:32,730 और यह ऊपरी प्लस 2 से अधिक कम हो जाएगा. 626 00:26:32,730 --> 00:26:34,740 627 00:26:34,740 --> 00:26:35,690 बहुत बढ़िया. 628 00:26:35,690 --> 00:26:36,570 हम वहाँ जाना. 629 00:26:36,570 --> 00:26:37,280 एक पंक्ति नीचे. 630 00:26:37,280 --> 00:26:38,560 तुम लोग अपने रास्ते पर हैं. 631 00:26:38,560 --> 00:26:41,400 तो अब हम हमारी है कि मध्य, हम क्या करना चाहते हैं? 632 00:26:41,400 --> 00:26:45,050 633 00:26:45,050 --> 00:26:45,900 सिर्फ सामान्य में. 634 00:26:45,900 --> 00:26:47,734 आप यह कोड की जरूरत नहीं है. 635 00:26:47,734 --> 00:26:48,335 हां. 636 00:26:48,335 --> 00:26:49,210 छात्र: [अश्राव्य]? 637 00:26:49,210 --> 00:27:00,310 638 00:27:00,310 --> 00:27:10,310 प्रशिक्षक: तो यह है प्लस आप कर रहे हैं, क्योंकि दोनों के बीच औसत ढूँढने 639 00:27:10,310 --> 00:27:10,810 उनमें से. 640 00:27:10,810 --> 00:27:11,890 641 00:27:11,890 --> 00:27:17,370 तो आप के रूप में उन्हें तरह के बारे में सोच अगर तरफ से बढ़ रही है, 642 00:27:17,370 --> 00:27:21,640 आप दृष्टिकोण के रूप में इसके बारे में सोचो मध्य, तुम इस तरह चाहते हैं. 643 00:27:21,640 --> 00:27:27,150 तो अगर आप के दोनों तरफ थे मध्य, और हम 5 और 7 की तरह है. 644 00:27:27,150 --> 00:27:31,440 आप उन्हें एक साथ जोड़ने के लिए 12 मिलता है, आप 2 से विभाजित, 6. 645 00:27:31,440 --> 00:27:33,726 >> कभी कभी यह मुश्किल है वह काम करता है क्यों समझा, 646 00:27:33,726 --> 00:27:35,600 लेकिन आप के माध्यम से काम करते हैं एक उदाहरण कभी कभी, 647 00:27:35,600 --> 00:27:37,962 यह आप अगर यह पता लगाने में मदद करेंगे यह प्लस या माइनस होना चाहिए. 648 00:27:37,962 --> 00:27:38,846 हां. 649 00:27:38,846 --> 00:27:40,830 >> छात्र: [अश्राव्य] बीचोबीच 650 00:27:40,830 --> 00:27:43,950 वे जहां एक मामला था छोटी संख्या का एक बहुत कुछ है 651 00:27:43,950 --> 00:27:45,860 और एक बड़ी संख्या की तरह? 652 00:27:45,860 --> 00:27:49,750 >> प्रशिक्षक: तो तुम सब की ज़रूरत सरणी के बीच है. 653 00:27:49,750 --> 00:27:53,010 तो अगर आप कम संख्या का एक गुच्छा था और फिर एक बहुत बड़ी संख्या 654 00:27:53,010 --> 00:27:54,799 अंत में, यह बात नहीं है. 655 00:27:54,799 --> 00:27:56,840 मायने रखता है कि यह है कि वे, आप अभी हल कर रहे हैं 656 00:27:56,840 --> 00:27:59,339 के बीच में देखना चाहता हूँ सरणी आप अभी भी कर रहे हैं क्योंकि 657 00:27:59,339 --> 00:28:00,700 आधे में आपकी समस्या का टुकड़ा करने की क्रिया. 658 00:28:00,700 --> 00:28:03,020 659 00:28:03,020 --> 00:28:03,680 कूल. 660 00:28:03,680 --> 00:28:06,430 तो अब है कि हम मध्य, हम आगे क्या करना है? 661 00:28:06,430 --> 00:28:07,150 >> छात्र: तुलना करें. 662 00:28:07,150 --> 00:28:08,150 प्रशिक्षक: की तुलना करें. 663 00:28:08,150 --> 00:28:11,670 Value_wanted को तो बीच की तुलना करें. 664 00:28:11,670 --> 00:28:14,300 665 00:28:14,300 --> 00:28:15,160 कूल. 666 00:28:15,160 --> 00:28:17,950 तो आप हमारे पास यहाँ देख हम यहाँ चाहते हैं तो यह मान. 667 00:28:17,950 --> 00:28:22,012 668 00:28:22,012 --> 00:28:23,095 इस एक सरणी है याद रखें. 669 00:28:23,095 --> 00:28:24,100 670 00:28:24,100 --> 00:28:26,970 तो मध्य सूचकांक को दर्शाता है. 671 00:28:26,970 --> 00:28:29,785 इसलिए हम मध्यम के मूल्यों को क्या करना चाहते हैं. 672 00:28:29,785 --> 00:28:32,380 673 00:28:32,380 --> 00:28:35,650 अगर आप चाहते हैं मत भूलना , डबल बराबर की तुलना करना. 674 00:28:35,650 --> 00:28:38,250 आप ही आप कर रहे हैं के बराबर होती करना बस इसे पुन: असाइन करने के लिए जा रहा है, 675 00:28:38,250 --> 00:28:41,090 और फिर, बेशक, यह है आप चाहते हैं मूल्य होने जा रहा. 676 00:28:41,090 --> 00:28:42,300 तो ऐसा नहीं करते. 677 00:28:42,300 --> 00:28:44,350 >> इसलिए हम यह देखने के लिए जा रहे हैं बीच में मूल्यों 678 00:28:44,350 --> 00:28:46,460 हम चाहते हैं कि मूल्य के बराबर है. 679 00:28:46,460 --> 00:28:47,749 680 00:28:47,749 --> 00:28:48,790 अपने ब्रेसिज़ मत भूलना. 681 00:28:48,790 --> 00:28:50,520 682 00:28:50,520 --> 00:28:52,235 ड्रॉपबॉक्स दूर जाना चाहिए. 683 00:28:52,235 --> 00:28:54,140 684 00:28:54,140 --> 00:28:56,200 इसलिए हम इस मामले में क्या करते हो? 685 00:28:56,200 --> 00:28:59,360 यह हम वापसी करना चाहते हैं क्या करते हैं? 686 00:28:59,360 --> 00:29:01,510 687 00:29:01,510 --> 00:29:02,626 हम कहने की कोशिश कर रहे हैं. 688 00:29:02,626 --> 00:29:03,440 >> छात्र: बंद प्रिंट. 689 00:29:03,440 --> 00:29:05,314 >> प्रशिक्षक: ठीक है, हम बंद मुद्रित करने के लिए नहीं करना चाहती. 690 00:29:05,314 --> 00:29:08,220 तो यह यहाँ एक bool है, हम तो सही है या गलत लौटना चाहते हैं. 691 00:29:08,220 --> 00:29:12,280 हम इस नंबर है, कह रहे हैं एक [? RRA? ?] यह है तो अगर, 692 00:29:12,280 --> 00:29:13,788 हम सिर्फ यह सच वापसी. 693 00:29:13,788 --> 00:29:16,780 694 00:29:16,780 --> 00:29:17,760 मैं सच जादू कर सकते हैं. 695 00:29:17,760 --> 00:29:18,830 696 00:29:18,830 --> 00:29:20,805 >> छात्र: क्यों आप शून्य वापस नहीं होगा? 697 00:29:20,805 --> 00:29:22,930 प्रशिक्षक: तुम सकता है तो अगर तुम चाहते थे शून्य वापसी. 698 00:29:22,930 --> 00:29:26,780 लेकिन इस मामले क्योंकि में हमारे समारोह एक bool रिटर्न, 699 00:29:26,780 --> 00:29:28,962 हम सही है या गलत या तो वापस जाने की जरूरत है. 700 00:29:28,962 --> 00:29:30,920 छात्र: जब आप कर रहे हैं , बूलियन अभिव्यक्ति कह 701 00:29:30,920 --> 00:29:33,450 आप इसे गलत पर बराबर सेट कर सकते हैं? 702 00:29:33,450 --> 00:29:39,860 मैं कहना चाहता हूँ, अगर इस शर्त की तरह ऊपरी है झूठे बराबर होती है जैसे, नहीं मिले है. 703 00:29:39,860 --> 00:29:42,332 बस आप अगर यह समझ जाएगा दूसरी तरफ झूठी रखा है? 704 00:29:42,332 --> 00:29:43,040 प्रशिक्षक: हाँ. 705 00:29:43,040 --> 00:29:44,820 तो वास्तव में आप कर रहे हैं कभी कुछ कर रही है 706 00:29:44,820 --> 00:29:49,600 जैसे ऊपरी है या कम है, यह सच है या झूठ रिटर्न 707 00:29:49,600 --> 00:29:53,850 और यह वास्तव में बुरा शैली है कहते बराबर होती है सच या बराबर होती है 708 00:29:53,850 --> 00:29:54,840 झूठी बराबर होती है. 709 00:29:54,840 --> 00:30:00,210 आप उस परिणाम का उपयोग करना चाहते हैं अपनी जाँच के रूप में खुद के रूप में. 710 00:30:00,210 --> 00:30:04,720 711 00:30:04,720 --> 00:30:05,860 मैं नहीं चाहता था क्या. 712 00:30:05,860 --> 00:30:08,150 713 00:30:08,150 --> 00:30:09,240 यही कारण है कि मैं क्या चाहता है. 714 00:30:09,240 --> 00:30:13,205 पूछ रहे हैं कि आप के मामले में तो कुछ के बारे में तरह सी में इस बचा. 715 00:30:13,205 --> 00:30:16,320 716 00:30:16,320 --> 00:30:25,150 >> तो हम int मुख्य (शून्य) हो, तो और कुछ इस तरह. 717 00:30:25,150 --> 00:30:31,922 ऊपरी है और अगर आपके पास आप कर रहे हैं और कुछ इनपुट की 718 00:30:31,922 --> 00:30:33,630 आप क्या कर सकते हैं अगर पूछ कुछ इस तरह? 719 00:30:33,630 --> 00:30:35,010 720 00:30:35,010 --> 00:30:35,679 है ना? 721 00:30:35,679 --> 00:30:37,470 छात्र: मैं कोशिश कर रहा था यह [अश्राव्य] करने के लिए. 722 00:30:37,470 --> 00:30:38,450 It's-- क्योंकि अगर 723 00:30:38,450 --> 00:30:39,200 प्रशिक्षक: ठीक है. 724 00:30:39,200 --> 00:30:41,197 तो आप इस सही, गलत बनना चाहते हो? 725 00:30:41,197 --> 00:30:41,780 छात्र: हाँ. 726 00:30:41,780 --> 00:30:45,960 प्रशिक्षक: इस मामले में तो आप यह सच नहीं है अगर इसे लागू करना चाहते हैं. 727 00:30:45,960 --> 00:30:50,510 तो तुम वहाँ कर शांत बात यह है. 728 00:30:50,510 --> 00:30:52,900 729 00:30:52,900 --> 00:30:55,650 तो विस्मयादिबोधक याद बिंदु बातें नकारती? 730 00:30:55,650 --> 00:30:58,270 यह [अश्राव्य] नहीं मतलब कहते हैं. 731 00:30:58,270 --> 00:31:03,590 हम बस पर देखने के लिए तो अगर यहाँ इस हिस्से, आप चाहते हैं 732 00:31:03,590 --> 00:31:05,740 कि करने के लिए मूल्यांकन का कहना है झूठी आप यह चाहते हैं के रूप में. 733 00:31:05,740 --> 00:31:06,790 734 00:31:06,790 --> 00:31:09,880 झूठी नहीं जो सच है इस पर अमल होता है इसका मतलब है. 735 00:31:09,880 --> 00:31:11,037 कि मतलब? 736 00:31:11,037 --> 00:31:11,620 छात्र: हाँ. 737 00:31:11,620 --> 00:31:12,453 प्रशिक्षक: बहुत बढ़िया. 738 00:31:12,453 --> 00:31:13,800 739 00:31:13,800 --> 00:31:14,300 ठीक. 740 00:31:14,300 --> 00:31:16,330 तो हम बस लौट सकता है इस मामले में सच है. 741 00:31:16,330 --> 00:31:20,357 तो अब हम अन्य दो हैं इस मामले में मामलों. 742 00:31:20,357 --> 00:31:21,565 हमारे दो अन्य मामलों में क्या कर रहे हैं? 743 00:31:21,565 --> 00:31:31,610 744 00:31:31,610 --> 00:31:32,900 चलो बस इसे इस तरह से करते हैं. 745 00:31:32,900 --> 00:31:40,660 तो चलो किसी और के साथ शुरू करते हैं अगर बीच में मूल्यों 746 00:31:40,660 --> 00:31:43,230 हम चाहते हैं कि मूल्य से कम है. 747 00:31:43,230 --> 00:31:47,200 748 00:31:47,200 --> 00:31:52,020 तो बीच में हमारे मूल्य भी कम है हम देख रहे हैं कि मूल्य से अधिक है. 749 00:31:52,020 --> 00:31:53,765 750 00:31:53,765 --> 00:31:56,720 >> इसलिए बाध्य जो आप करना हम अद्यतन करना चाहते हैं लगता है? 751 00:31:56,720 --> 00:31:57,870 752 00:31:57,870 --> 00:31:58,780 ऊपरी या निचले? 753 00:31:58,780 --> 00:32:01,440 754 00:32:01,440 --> 00:32:01,940 अपर? 755 00:32:01,940 --> 00:32:03,230 756 00:32:03,230 --> 00:32:06,470 सरणी की तो जो पक्ष हम देख होने जा रहे हैं? 757 00:32:06,470 --> 00:32:07,500 >> छात्र: कम. 758 00:32:07,500 --> 00:32:09,750 >> प्रशिक्षक: हम जा रहे हैं बाएं को देख सकता है. 759 00:32:09,750 --> 00:32:11,120 छोटे मूल्य कम है तो अगर कोई और. 760 00:32:11,120 --> 00:32:14,730 यहां आपके बीच मूल्य तो हम क्या चाहते हैं की तुलना में कम है. 761 00:32:14,730 --> 00:32:17,202 तो हम ले जाना चाहता हूँ हमारे सरणी के दाईं ओर. 762 00:32:17,202 --> 00:32:18,910 तो हम करने जा रहे हैं हमारे निचले बाध्य अद्यतन करें. 763 00:32:18,910 --> 00:32:20,210 764 00:32:20,210 --> 00:32:23,020 इसलिए हम अपने निचले पुन: असाइन कर देंगे. 765 00:32:23,020 --> 00:32:25,221 और आप कम होना चाहिए क्या सोचते हैं? 766 00:32:25,221 --> 00:32:26,304 छात्र: मध्यम मूल्य है? 767 00:32:26,304 --> 00:32:27,446 768 00:32:27,446 --> 00:32:28,820 प्रशिक्षक: तो बीच value-- 769 00:32:28,820 --> 00:32:30,136 छात्र: प्लस 1. 770 00:32:30,136 --> 00:32:31,010 प्रशिक्षक: --plus 1. 771 00:32:31,010 --> 00:32:32,300 772 00:32:32,300 --> 00:32:34,380 किसी को क्यों मुझे बता सकते हैं हम चाहते हैं कि प्लस 1 है? 773 00:32:34,380 --> 00:32:35,730 >> छात्र: [? कोई मूल्य है?] यह करने के लिए अधिक बराबर है. 774 00:32:35,730 --> 00:32:36,120 >> प्रशिक्षक: ठीक है. 775 00:32:36,120 --> 00:32:38,661 हम पहले से ही जानते हैं कि क्योंकि हमारे बीच मूल्य के बराबर नहीं है 776 00:32:38,661 --> 00:32:42,750 यह और हम इसे बाहर करना चाहते हैं बाद के सभी खोजों से. 777 00:32:42,750 --> 00:32:46,360 आपको लगता है कि प्लस 1, यह भूल जाते हैं अनिश्चित काल के पाश की तरह होगा. 778 00:32:46,360 --> 00:32:49,620 और तुम सिर्फ एक में पकड़ा हो जाएगा अनंत लूप और फिर आप segfault करेंगे 779 00:32:49,620 --> 00:32:50,370 और हालात खराब जाओ. 780 00:32:50,370 --> 00:32:54,780 तो हमेशा आप नहीं कर रहे हैं कि यह सुनिश्चित कर लें मूल्य सहित कि आप बस 781 00:32:54,780 --> 00:32:55,380 देखा. 782 00:32:55,380 --> 00:32:58,530 तो हम एक प्लस 1 के साथ इस बात का ध्यान रखना. 783 00:32:58,530 --> 00:33:04,840 >> तो अब हम हमारे पिछले शर्त है सुरक्षा खातिर जो हमेशा मैं 784 00:33:04,840 --> 00:33:12,664 आप में मूल्य अगर नहीं तो, यहाँ जाँच कर सकते हैं मध्य मूल्य से अधिक है 785 00:33:12,664 --> 00:33:13,163 हम चाहते हैं. 786 00:33:13,163 --> 00:33:16,260 787 00:33:16,260 --> 00:33:20,230 यही कारण है कि हम चाहते हैं कि इसका मतलब है बाएं हाथ आधा. 788 00:33:20,230 --> 00:33:21,350 789 00:33:21,350 --> 00:33:23,260 तो जो एक हम अद्यतन करने के लिए जा रहे हैं? 790 00:33:23,260 --> 00:33:23,760 अपर. 791 00:33:23,760 --> 00:33:25,470 792 00:33:25,470 --> 00:33:26,970 और समान करने के लिए जा रहा यह एक क्या है? 793 00:33:26,970 --> 00:33:31,630 794 00:33:31,630 --> 00:33:33,690 मध्य शून्य से 1, क्योंकि जाहिर है, हम चाहते हैं 795 00:33:33,690 --> 00:33:38,370 हम नहीं कर रहे हैं कि सुनिश्चित करने के लिए फिर उस बीच मूल्य पर देख रहे हैं. 796 00:33:38,370 --> 00:33:41,830 797 00:33:41,830 --> 00:33:45,110 और फिर हमारे पास है. 798 00:33:45,110 --> 00:33:45,610 यह बात है. 799 00:33:45,610 --> 00:33:46,820 यह सब द्विआधारी खोज है. 800 00:33:46,820 --> 00:33:48,190 यह सही है, कि बुरा नहीं है? 801 00:33:48,190 --> 00:33:51,590 यह की 10 लाइनों की तरह है सफेद अंतरिक्ष के साथ कोड. 802 00:33:51,590 --> 00:33:57,510 तो बहुत शक्तिशाली, बहुत उपयोगी, तुम जाएगा आपके बाद psets में से एक में इसे का उपयोग किया. 803 00:33:57,510 --> 00:33:59,360 शायद यह एक नहीं, लेकिन बाद में. 804 00:33:59,360 --> 00:34:00,670 तो यह सीखते हैं. 805 00:34:00,670 --> 00:34:01,510 इसे प्यार करना. 806 00:34:01,510 --> 00:34:02,980 यह अच्छी तरह से आप का इलाज करेंगे. 807 00:34:02,980 --> 00:34:05,370 इसलिए किसी को भी किसी भी है द्विआधारी खोज पर सवाल? 808 00:34:05,370 --> 00:34:06,196 हां. 809 00:34:06,196 --> 00:34:09,840 >> छात्र: यह बात है अपने एन भी या विषम है कि क्या? 810 00:34:09,840 --> 00:34:10,750 >> प्रशिक्षक: नहीं. 811 00:34:10,750 --> 00:34:18,150 हम के रूप में मध्यम करने के लिए डाली क्योंकि एक पूर्णांक, यह सिर्फ इसे छोटा कर देगा. 812 00:34:18,150 --> 00:34:21,600 यह एक पूर्णांक रहने के लिए और होगा तो यह होगा अंत में सब कुछ के माध्यम से हल. 813 00:34:21,600 --> 00:34:23,909 इसलिए आप इस बारे में चिंता करने की ज़रूरत नहीं है. 814 00:34:23,909 --> 00:34:24,580 हर कोई अच्छा? 815 00:34:24,580 --> 00:34:25,659 816 00:34:25,659 --> 00:34:26,850 बहुत बढ़िया. 817 00:34:26,850 --> 00:34:27,919 कूल. 818 00:34:27,919 --> 00:34:30,836 तो, तुम लोगों को यह मिल गया. 819 00:34:30,836 --> 00:34:33,380 820 00:34:33,380 --> 00:34:33,880 स्लाइड शो. 821 00:34:33,880 --> 00:34:35,719 822 00:34:35,719 --> 00:34:43,270 हम बात कर रहे थे तो, जैसा कि मुझे पता है डेविड जटिलता runtimes उल्लेख किया है. 823 00:34:43,270 --> 00:34:44,420 824 00:34:44,420 --> 00:34:50,340 >> तो सबसे अच्छा मामले में, यह सिर्फ है हम लगातार समय कॉल एक है, जो. 825 00:34:50,340 --> 00:34:51,909 हो सकता है कि क्यों किसी ने मुझे बता सकते हैं? 826 00:34:51,909 --> 00:34:52,969 827 00:34:52,969 --> 00:34:55,800 उस परिदृश्य किस प्रकार करना पड़ेगा? 828 00:34:55,800 --> 00:34:58,260 829 00:34:58,260 --> 00:34:58,760 मम-एचएम. 830 00:34:58,760 --> 00:34:59,926 >> छात्र: [अश्राव्य] first-- 831 00:34:59,926 --> 00:35:00,789 832 00:35:00,789 --> 00:35:03,830 प्रशिक्षक: मध्यम जा रहा है तो हम करने के लिए आते हैं कि पहला तत्व है, है ना? 833 00:35:03,830 --> 00:35:08,167 तो एक की एक सरणी या जो कुछ भी हम अभी के लिए देख रहे हैं 834 00:35:08,167 --> 00:35:09,750 बीच में एक प्रकार का जहाज़ थपका होना होता है. 835 00:35:09,750 --> 00:35:11,190 836 00:35:11,190 --> 00:35:13,380 इसलिए कि हमारे सर्वश्रेष्ठ मामला है. 837 00:35:13,380 --> 00:35:17,540 तुम्हें शायद, असली समस्याओं में नहीं मिलता कि अक्सर [अश्राव्य] तक पहुंचने के लिए जा रहा है. 838 00:35:17,540 --> 00:35:18,667 839 00:35:18,667 --> 00:35:19,750 क्या हमारे सबसे खराब स्थिति के बारे में? 840 00:35:19,750 --> 00:35:21,270 हमारी सबसे ज्यादा मामले प्रवेश n है. 841 00:35:21,270 --> 00:35:25,360 और कहा कि पूरे के साथ क्या करना है मैं बारे में बात की है कि दो बात की शक्तियों. 842 00:35:25,360 --> 00:35:30,930 >> तो सबसे खराब स्थिति में यह मतलब होगा हम नीचे सरणी काटना पड़ा 843 00:35:30,930 --> 00:35:33,270 यह एक का एक तत्व था जब तक. 844 00:35:33,270 --> 00:35:34,810 845 00:35:34,810 --> 00:35:38,930 इसलिए हम छमाही में यह नीचे काटना पड़ा के रूप में हम संभवतः सकता है के रूप में कई बार. 846 00:35:38,930 --> 00:35:41,430 यह प्रवेश एन क्योंकि यही कारण है कि आप सिर्फ दो से विभाजित रहते हैं. 847 00:35:41,430 --> 00:35:42,890 848 00:35:42,890 --> 00:35:45,830 तो मान्यताओं, बातें आप आप कभी भी कर रहे हैं पता करने की जरूरत 849 00:35:45,830 --> 00:35:48,050 एक द्विआधारी खोज का उपयोग करने के लिए जा रहा है. 850 00:35:48,050 --> 00:35:50,680 अपने तत्वों को हल किया जाना चाहिए. 851 00:35:50,680 --> 00:35:53,890 क्योंकि वे हल किया जाना है कि एक ही रास्ता तुम हो 852 00:35:53,890 --> 00:35:57,060 आप कर रहे हैं पता कर सकते हैं इसमें से आधा बाहर फेंकने के लिए. 853 00:35:57,060 --> 00:36:00,260 >> आप इस पेचीदा बैग था और संख्या की आप कह रहे हैं, 854 00:36:00,260 --> 00:36:05,380 ठीक है, मैं बीच की जाँच करने के लिए जा रहा हूँ संख्या और मेरी चाहत संख्या 855 00:36:05,380 --> 00:36:08,510 उस से भी कम है, मैं अभी जा रहा हूँ मनमाने ढंग से एक आधा बाहर फेंकने के लिए. 856 00:36:08,510 --> 00:36:11,130 आप अगर पता नहीं होता अपनी कि दूसरे आधे में संख्या. 857 00:36:11,130 --> 00:36:12,655 अपनी सूची को हल किया जाना है. 858 00:36:12,655 --> 00:36:14,030 859 00:36:14,030 --> 00:36:16,560 साथ ही, यह हो सकता है आगे एक छोटा सा जा रहा है, 860 00:36:16,560 --> 00:36:18,360 लेकिन आप रैंडम एक्सेस की आवश्यकता है. 861 00:36:18,360 --> 00:36:21,940 आप करने में सक्षम होने की जरूरत है तो बस कि मध्य तत्व के पास जाओ. 862 00:36:21,940 --> 00:36:25,110 आप तय करने के लिए है कुछ के माध्यम से 863 00:36:25,110 --> 00:36:28,630 या यह आप अतिरिक्त कदम उठा लेता है कि मध्य तत्व को पाने के लिए, 864 00:36:28,630 --> 00:36:31,750 यह लॉग इन एन अब क्योंकि नहीं है आप इसे में अधिक काम जोड़ रहे हैं. 865 00:36:31,750 --> 00:36:34,800 और यह एक छोटे से कर देगा दो सप्ताह में अधिक समझ, 866 00:36:34,800 --> 00:36:37,950 लेकिन मैं बस की तरह, प्रस्तावना करना चाहता था तुम लोग क्या है की एक विचार दे 867 00:36:37,950 --> 00:36:38,999 आने के लिए. 868 00:36:38,999 --> 00:36:40,790 लेकिन उन दोनों कर रहे हैं महत्वपूर्ण मान्यताओं 869 00:36:40,790 --> 00:36:44,804 आप एक द्विआधारी सूची के लिए जरूरत है. 870 00:36:44,804 --> 00:36:45,720 इसे हल सुनिश्चित करें. 871 00:36:45,720 --> 00:36:47,920 बड़ा है कि एक है आप अभी लोग. 872 00:36:47,920 --> 00:36:52,170 और उस पर हम में जा सकते हैं हमारे प्रकार के बाकी. 873 00:36:52,170 --> 00:36:56,444 तो चार sorts-- बुलबुला, प्रविष्टि, चयन, और मर्ज. 874 00:36:56,444 --> 00:36:57,485 वे शांत के सभी प्रकार के कर रहे हैं. 875 00:36:57,485 --> 00:37:02,860 तुम लोग सीएस 124 लेने का निर्णय लेते हैं, आप प्रकार के सभी प्रकार के बारे में सीखना होगा. 876 00:37:02,860 --> 00:37:07,575 और तुम एक xkcd प्रशंसक रहे हैं, वहाँ एक बहुत अच्छा हास्य के बारे में है 877 00:37:07,575 --> 00:37:11,530 वास्तव में अप्रभावी प्रकार, जैसे जो मैं अत्यधिक आप को देखने जा सलाह देते हैं. 878 00:37:11,530 --> 00:37:16,170 उनमें से एक आतंक तरह की तरह है जो जैसे, ओह नहीं, यादृच्छिक सरणी वापस है. 879 00:37:16,170 --> 00:37:16,991 शटडाउन प्रणाली. 880 00:37:16,991 --> 00:37:17,490 छोड़ दो. 881 00:37:17,490 --> 00:37:19,070 882 00:37:19,070 --> 00:37:21,500 तो geeky हास्य हमेशा अच्छा होता है. 883 00:37:21,500 --> 00:37:22,620 884 00:37:22,620 --> 00:37:25,750 >> तो किसी तरह याद करता है का सिर्फ एक सामान्य विचार की तरह 885 00:37:25,750 --> 00:37:27,810 बुलबुला तरह कैसे काम करता है. 886 00:37:27,810 --> 00:37:31,130 887 00:37:31,130 --> 00:37:32,155 तुम्हें याद है? 888 00:37:32,155 --> 00:37:32,755 >> छात्र: हाँ. 889 00:37:32,755 --> 00:37:33,970 >> प्रशिक्षक: इसके लिए जाओ. 890 00:37:33,970 --> 00:37:38,980 >> छात्र: आप के माध्यम से जा रहे हैं तो और यह बड़ा है, तो आप दो स्वैप. 891 00:37:38,980 --> 00:37:39,820 >> प्रशिक्षक: मम-एचएम. 892 00:37:39,820 --> 00:37:40,564 बिल्कुल सही. 893 00:37:40,564 --> 00:37:41,730 तो आप बस के माध्यम से पुनरावृति. 894 00:37:41,730 --> 00:37:43,050 आप दो नंबर की जाँच करें. 895 00:37:43,050 --> 00:37:46,510 एक से पहले ज्यादा है बाद में एक से, 896 00:37:46,510 --> 00:37:50,230 आप सिर्फ इतना है कि उन्हें स्वैप इस तरह से अधिक संख्या के सभी 897 00:37:50,230 --> 00:37:54,990 सूची के अंत में बुलबुला और सब कम संख्या बुलबुला नीचे. 898 00:37:54,990 --> 00:37:59,355 >> वह शांत तुम लोगों को दिखाने के लिए किया था वीडियो छँटाई प्रभाव ध्वनि? 899 00:37:59,355 --> 00:38:00,480 यह शांत की तरह है. 900 00:38:00,480 --> 00:38:01,510 901 00:38:01,510 --> 00:38:05,200 रॉबर्ट बस के रूप में कहा, एल्गोरिथ्म तो तुम सिर्फ सूची के माध्यम से कदम है कि, 902 00:38:05,200 --> 00:38:07,930 आसन्न मूल्यों स्वैपिंग वे क्रम में नहीं कर रहे हैं. 903 00:38:07,930 --> 00:38:10,975 और फिर सिर्फ दोहराते रहते हैं जब तक आप किसी भी स्वैप नहीं बनाते हैं. 904 00:38:10,975 --> 00:38:11,990 905 00:38:11,990 --> 00:38:12,740 इतना बुरा नहीं है, है ना? 906 00:38:12,740 --> 00:38:14,080 907 00:38:14,080 --> 00:38:16,319 तो हम बस यहाँ एक त्वरित उदाहरण है. 908 00:38:16,319 --> 00:38:18,360 तो यह सॉर्ट करने के लिए जा रहा है आरोही क्रम में उन्हें. 909 00:38:18,360 --> 00:38:19,470 910 00:38:19,470 --> 00:38:23,470 इसलिए हम पहले के माध्यम से जाने के लिए जब समय, हम आठ के माध्यम से देखो 911 00:38:23,470 --> 00:38:26,880 और छह स्पष्ट रूप से नहीं कर रहे हैं आदेश में, हम उन्हें स्वैप. 912 00:38:26,880 --> 00:38:27,985 >> तो अगले एक पर दिखेगा. 913 00:38:27,985 --> 00:38:29,430 आठ और क्रम में चार नहीं. 914 00:38:29,430 --> 00:38:30,450 उन्हें स्वैप. 915 00:38:30,450 --> 00:38:32,530 और फिर आठ और दो, उन्हें स्वैप. 916 00:38:32,530 --> 00:38:33,470 हम वहाँ जाना. 917 00:38:33,470 --> 00:38:39,519 तो अपने पहले पारित करने के बाद, आप पता है कि आपकी सबसे बड़ी संख्या 918 00:38:39,519 --> 00:38:41,810 सभी तरह होने जा रहा है यह सिर्फ इसलिए है क्योंकि शीर्ष पर 919 00:38:41,810 --> 00:38:44,210 लगातार होने जा रहा बाकी सब से बड़ा 920 00:38:44,210 --> 00:38:46,810 और यह सिर्फ बुलबुला जा रहा है वहाँ समाप्त करने के लिए सभी तरह से ऊपर. 921 00:38:46,810 --> 00:38:48,226 कि हर किसी को समझ में आता है? 922 00:38:48,226 --> 00:38:48,560 923 00:38:48,560 --> 00:38:49,060 कूल. 924 00:38:49,060 --> 00:38:51,310 925 00:38:51,310 --> 00:38:53,920 >> तो फिर हम अपने दूसरे दर्रे पर दिखेगा. 926 00:38:53,920 --> 00:38:54,980 छह और चार, स्विच. 927 00:38:54,980 --> 00:38:55,920 छह और दो, स्विच. 928 00:38:55,920 --> 00:38:58,700 और अब हम क्रम में कुछ बातें हैं. 929 00:38:58,700 --> 00:39:02,240 हर पारित करने के लिए तो यह है कि हम हमारी पूरी सूची के माध्यम से बनाने, 930 00:39:02,240 --> 00:39:06,320 हम जानते हैं कि कि कई नंबर की तरह अंत में सुलझा लिया गया होगा. 931 00:39:06,320 --> 00:39:07,690 932 00:39:07,690 --> 00:39:09,610 तो हम एक तिहाई पास करना, जो एक स्वैप है. 933 00:39:09,610 --> 00:39:10,860 934 00:39:10,860 --> 00:39:15,910 और फिर हमारे चौथे पर हम शून्य स्लॉट्स है, गुजरती हैं. 935 00:39:15,910 --> 00:39:18,570 और इसलिए हम जानते हैं कि हमारे सरणी सुलझा लिया गया है. 936 00:39:18,570 --> 00:39:20,900 >> और वह बड़ा है बुलबुला प्रकार के साथ बात. 937 00:39:20,900 --> 00:39:23,720 हम जानते हैं कि जब हम उस , कि शून्य स्वैप है 938 00:39:23,720 --> 00:39:26,497 कि सब कुछ है पूरा क्रम में है. 939 00:39:26,497 --> 00:39:27,580 यह हम जाँच कैसे की तरह है. 940 00:39:27,580 --> 00:39:28,740 941 00:39:28,740 --> 00:39:36,480 तो हम भी बुलबुला कोड के लिए जा रहे हैं क्रमबद्ध जो भी बुरा नहीं है. 942 00:39:36,480 --> 00:39:38,120 इनमें से कोई नहीं कि खराब कर रहे हैं. 943 00:39:38,120 --> 00:39:40,210 मुझे लगता है वे थोड़ा डरावना लग सकता है पता है. 944 00:39:40,210 --> 00:39:42,124 मैं ले लिया जब मुझे पता है वर्ग, यहां तक ​​कि जब मैं 945 00:39:42,124 --> 00:39:44,290 के लिए वर्ग सिखा रहा था पहली बार पिछले साल, 946 00:39:44,290 --> 00:39:46,165 मैं जैसे, मैं यह कैसे करते हो रहा था? 947 00:39:46,165 --> 00:39:48,540 यह सिद्धांत में समझ में आता है, लेकिन हम वास्तव में यह कैसे करते हो? 948 00:39:48,540 --> 00:39:51,420 कौन सा मैं भी चलना चाहता हूँ क्यों है यहां तुम लोगों के साथ कोड के माध्यम से. 949 00:39:51,420 --> 00:39:54,915 तो मैं एक pseudocode है तुम लोग इस समय के लिए. 950 00:39:54,915 --> 00:39:55,950 951 00:39:55,950 --> 00:39:58,970 तो बस के रूप में इसे ध्यान में रखना हम पर संक्रमण करने वाले हैं. 952 00:39:58,970 --> 00:40:04,210 इसलिए हम कुछ काउंटर है कि , हमारे स्वैप का ट्रैक रखता है 953 00:40:04,210 --> 00:40:08,370 हम सुनिश्चित करने की जरूरत है क्योंकि हम चाहते हैं कि जाँच कर रहे हैं कि. 954 00:40:08,370 --> 00:40:11,830 और हम पूरे सरणी पुनरावृति हम सिर्फ इस उदाहरण के साथ किया था. 955 00:40:11,830 --> 00:40:12,900 956 00:40:12,900 --> 00:40:17,325 तत्व पहले से बड़ा है हम पर हैं जहां के बाद तत्व, 957 00:40:17,325 --> 00:40:20,760 हम उन्हें स्वैप और हम अपने वेतन वृद्धि काउंटर, हम स्वैप जैसे ही क्योंकि 958 00:40:20,760 --> 00:40:23,850 हम अपने काउंटर कि बताना चाहते हैं. 959 00:40:23,850 --> 00:40:26,247 वहाँ कोई सवाल? 960 00:40:26,247 --> 00:40:27,580 कुछ यहाँ पर अजीब लगता है. 961 00:40:27,580 --> 00:40:29,225 962 00:40:29,225 --> 00:40:32,350 छात्र: आप शून्य करने के लिए काउंटर स्थापित करूँ आप पाश के माध्यम से जाना हर बार? 963 00:40:32,350 --> 00:40:34,339 तुम जा न रखें वापस हर बार शून्य करने के लिए? 964 00:40:34,339 --> 00:40:35,505 प्रशिक्षक: जरूरी नहीं है. 965 00:40:35,505 --> 00:40:39,710 तो क्या होता है जब हम यहाँ के माध्यम से जाना है. 966 00:40:39,710 --> 00:40:43,830 तो, जबकि, यह याद करना असफल बिना एक बार अमल करेंगे. 967 00:40:43,830 --> 00:40:46,480 तो यह निर्धारित करने के लिए जा रहा है शून्य के बराबर काउंटर, 968 00:40:46,480 --> 00:40:48,070 तो यह माध्यम से पुनरावृति करने जा रहा है. 969 00:40:48,070 --> 00:40:50,590 इसके माध्यम से iterates के रूप में, यह काउंटर अद्यतन करेगा. 970 00:40:50,590 --> 00:40:51,870 971 00:40:51,870 --> 00:40:56,900 यह काउंटर अद्यतन के रूप में, जब यह किया है, यह सरणी के अंत तक पहुँच गया है जब, 972 00:40:56,900 --> 00:41:00,830 हमारी सूची हल नहीं किया गया तो, काउंटर अद्यतन हो जाएँगे. 973 00:41:00,830 --> 00:41:01,840 974 00:41:01,840 --> 00:41:07,150 >> तो फिर यह हालत की जांच करता है और यह ठीक है, शून्य से काउंटर अधिक है, कहते हैं. 975 00:41:07,150 --> 00:41:09,290 अगर ऐसा है, इसे फिर से करना. 976 00:41:09,290 --> 00:41:14,340 आप तो जब आपको लगता है कि फिर से कायम करना चाहते हैं के माध्यम से जाना, काउंटर शून्य के बराबर है. 977 00:41:14,340 --> 00:41:18,240 आप एक हल के माध्यम से जाना सरणी, कुछ भी नहीं, परिवर्तन 978 00:41:18,240 --> 00:41:21,355 यह विफल रहता है, और आप सॉर्ट की गई सूची वापस जाएँ. 979 00:41:21,355 --> 00:41:23,104 980 00:41:23,104 --> 00:41:24,020 वह समझ में आता है? 981 00:41:24,020 --> 00:41:24,940 982 00:41:24,940 --> 00:41:26,356 छात्र: एक छोटा सा में हो सकता है यह. 983 00:41:26,356 --> 00:41:27,147 प्रशिक्षक: ठीक है. 984 00:41:27,147 --> 00:41:28,980 किसी भी अन्य अगर वहाँ ऊपर आता है कि प्रश्न. 985 00:41:28,980 --> 00:41:30,180 986 00:41:30,180 --> 00:41:30,680 हां. 987 00:41:30,680 --> 00:41:33,760 >> छात्र: क्या होगा समारोह तत्वों स्वैपिंग के लिए हो सकता है? 988 00:41:33,760 --> 00:41:36,900 >> प्रशिक्षक: तो क्या हम वास्तव में लिख सकते हैं हम अभी जा रहे हैं कि. 989 00:41:36,900 --> 00:41:37,801 990 00:41:37,801 --> 00:41:38,300 कूल. 991 00:41:38,300 --> 00:41:42,155 उस पर ध्यान दें तो, एलिसन जा रहा है वापस उपकरणों को स्विच करने के लिए. 992 00:41:42,155 --> 00:41:43,080 यह मजाक होने जा रहा है. 993 00:41:43,080 --> 00:41:45,170 994 00:41:45,170 --> 00:41:47,390 और हम अपने अच्छा है यहाँ बुलबुला तरह बात. 995 00:41:47,390 --> 00:41:50,800 तो मैं पहले से ही साइकिल चालन किया सरणी के माध्यम से. 996 00:41:50,800 --> 00:41:53,030 हम अपने स्वैप है कि शून्य के बराबर हैं. 997 00:41:53,030 --> 00:41:54,480 998 00:41:54,480 --> 00:41:58,440 इसलिए हम आसन्न स्वैप करना चाहते हैं तत्वों वे आदेश से बाहर रहे हैं. 999 00:41:58,440 --> 00:42:03,020 तो पहली बात यह है कि हम करने की आवश्यकता है हमारे सरणी के माध्यम से पुनरावृति है है. 1000 00:42:03,020 --> 00:42:04,500 1001 00:42:04,500 --> 00:42:08,260 >> तो आप कैसे हम शायद लगता है हमारे सरणी के माध्यम से पुनरावृति? 1002 00:42:08,260 --> 00:42:09,720 1003 00:42:09,720 --> 00:42:13,990 हम के लिए है और मैं 0 के बराबर होती है. 1004 00:42:13,990 --> 00:42:16,950 1005 00:42:16,950 --> 00:42:22,454 हम मैं कम होना चाहते हैं एन शून्य से 1 घटा कश्मीर से. 1006 00:42:22,454 --> 00:42:23,870 और मैं एक दूसरे में है कि समझाता हूँ. 1007 00:42:23,870 --> 00:42:26,280 1008 00:42:26,280 --> 00:42:32,830 तो यह एक अनुकूलन यहाँ है जहां, मैं हर पारित होने के बाद कहा कैसे याद 1009 00:42:32,830 --> 00:42:36,655 सरणी के माध्यम से हम जो कुछ on-- है कि पता 1010 00:42:36,655 --> 00:42:43,590 1011 00:42:43,590 --> 00:42:46,295 >> तो एक पास के बाद हम इस हल है कि पता है. 1012 00:42:46,295 --> 00:42:47,370 1013 00:42:47,370 --> 00:42:50,060 दो गुजरता के बाद हम जानते हैं यह सब हल है कि. 1014 00:42:50,060 --> 00:42:52,750 तीन गुजरता के बाद हम कि हल है पता. 1015 00:42:52,750 --> 00:42:55,620 रास्ता तो मैं पुनरावृति हूँ यहाँ सरणी के माध्यम से, 1016 00:42:55,620 --> 00:43:01,090 यह केवल जाना सुनिश्चित करने के लिए है क्या हम जानते हैं के माध्यम से unsorted है. 1017 00:43:01,090 --> 00:43:01,644 ठीक है? 1018 00:43:01,644 --> 00:43:02,810 वह सिर्फ एक अनुकूलन है. 1019 00:43:02,810 --> 00:43:04,430 1020 00:43:04,430 --> 00:43:08,210 तुम बस भोलेपन से यह लिख सकते हैं सब कुछ के माध्यम से पुनरावृति, 1021 00:43:08,210 --> 00:43:09,970 यह सिर्फ लंबे समय तक ले जाएगा. 1022 00:43:09,970 --> 00:43:12,470 इस चार लूप के साथ यह है सिर्फ एक अच्छा अनुकूलन 1023 00:43:12,470 --> 00:43:18,460 हम चाहते हैं कि हर पूर्ण होने के बाद पता क्योंकि यहाँ सरणी के माध्यम से चलना, 1024 00:43:18,460 --> 00:43:24,050 यहां हर पूर्ण लूप की तरह, हम जानते हैं इन तत्वों में से एक अधिक है कि 1025 00:43:24,050 --> 00:43:25,760 अंत में सुलझा लिया जाएगा. 1026 00:43:25,760 --> 00:43:28,294 >> तो हम उन लोगों के बारे में चिंता करने की जरूरत नहीं है. 1027 00:43:28,294 --> 00:43:29,710 कि हर किसी को समझ में आता है? 1028 00:43:29,710 --> 00:43:30,950 वह शांत छोटी सी चाल? 1029 00:43:30,950 --> 00:43:32,060 1030 00:43:32,060 --> 00:43:37,270 उस मामले में, तो अगर हम से होकर फिर रहे हैं 1031 00:43:37,270 --> 00:43:50,590 हम हम अगर जाँच करना चाहते हैं कि पता सरणी और एन एन प्लस 1 क्रम में हैं. 1032 00:43:50,590 --> 00:43:52,640 1033 00:43:52,640 --> 00:43:53,559 ठीक. 1034 00:43:53,559 --> 00:43:54,600 तो यहाँ pseudocode है. 1035 00:43:54,600 --> 00:43:57,540 हम अगर जाँच करना चाहते सरणी एन और एन प्लस 1 क्रम में हैं. 1036 00:43:57,540 --> 00:43:59,520 इसलिए हम वहाँ क्या हो सकता है? 1037 00:43:59,520 --> 00:44:01,090 1038 00:44:01,090 --> 00:44:03,120 यह कुछ सशर्त होने जा रहा है. 1039 00:44:03,120 --> 00:44:04,220 यह एक अगर हो जाएगा. 1040 00:44:04,220 --> 00:44:07,066 >> छात्र: सरणी n है तो सरणी एन प्लस 1 से भी कम. 1041 00:44:07,066 --> 00:44:07,816 प्रशिक्षक: मम-एचएम. 1042 00:44:07,816 --> 00:44:09,000 1043 00:44:09,000 --> 00:44:10,699 खैर, कम से कम या अधिक से अधिक. 1044 00:44:10,699 --> 00:44:11,615 छात्र: से ग्रेटर. 1045 00:44:11,615 --> 00:44:15,850 1046 00:44:15,850 --> 00:44:17,620 तो फिर हम उन्हें स्वैप करना चाहते हैं. 1047 00:44:17,620 --> 00:44:18,570 बिल्कुल सही. 1048 00:44:18,570 --> 00:44:23,570 तो अब हम क्या में मिलता है उन्हें स्वैपिंग के लिए तंत्र? 1049 00:44:23,570 --> 00:44:24,840 1050 00:44:24,840 --> 00:44:28,137 इसलिए हम इस संक्षिप्त माध्यम से चला गया, स्वैप समारोह का एक प्रकार पिछले सप्ताह. 1051 00:44:28,137 --> 00:44:29,595 किसी को भी यह काम कैसे याद करता है? 1052 00:44:29,595 --> 00:44:32,300 1053 00:44:32,300 --> 00:44:34,950 तो हम सिर्फ सही, उन्हें पुन: असाइन नहीं कर सकते? 1054 00:44:34,950 --> 00:44:36,640 उनमें से एक खो दिया हो जाएगा. 1055 00:44:36,640 --> 00:44:41,696 हम ने कहा कि एक तो बी बी और के बराबर है एक के बराबर है, उन दोनों के अचानक 1056 00:44:41,696 --> 00:44:43,150 बी के लिए बस के बराबर हैं 1057 00:44:43,150 --> 00:44:45,720 >> तो हमें क्या करना है क्या हम है है कि एक अस्थायी चर 1058 00:44:45,720 --> 00:44:49,055 हमारा जबकि में से एक पकड़ के लिए जा रहा हम स्वैपिंग की प्रक्रिया में हैं. 1059 00:44:49,055 --> 00:44:50,200 1060 00:44:50,200 --> 00:44:56,464 तो क्या हमारे पास है हम कुछ पूर्णांक होगा है आप यह निर्दिष्ट कर सकते हैं to-- अस्थायी बराबर है 1061 00:44:56,464 --> 00:44:59,130 जो भी एक के लिए आप बस चाहते हैं आप it-- का ट्रैक यकीन रख कर 1062 00:44:59,130 --> 00:45:01,840 इसलिए इस मामले में, मैं जा रहा हूँ सरणी एन प्लस 1 को आवंटित. 1063 00:45:01,840 --> 00:45:03,360 1064 00:45:03,360 --> 00:45:07,674 इसलिए कि आयोजित करने जा रहा है जो कुछ भी मूल्य कि दूसरे ब्लॉक में है 1065 00:45:07,674 --> 00:45:08,590 हम देख रहे हैं कि. 1066 00:45:08,590 --> 00:45:09,700 1067 00:45:09,700 --> 00:45:13,240 >> और हम जा सकते हैं तो हम क्या कर सकते है आगे और फिर सरणी एन प्लस 1, 1068 00:45:13,240 --> 00:45:14,990 हम हम जानते हैं क्योंकि संग्रहित कि मूल्य है. 1069 00:45:14,990 --> 00:45:16,645 1070 00:45:16,645 --> 00:45:19,270 यह भी बड़ी में से एक है आप में से किसी भी अगर things-- मैं नहीं जानता 1071 00:45:19,270 --> 00:45:23,780 आप दो स्विच जहां मुद्दों था कोड की लाइनों अचानक चीजें काम किया. 1072 00:45:23,780 --> 00:45:25,880 आदेश सीएस में बहुत महत्वपूर्ण है. 1073 00:45:25,880 --> 00:45:29,450 तो सुनिश्चित करें कि आप चित्र बनाने चीजें बाहर यदि संभव हो तो 1074 00:45:29,450 --> 00:45:31,230 के रूप में वास्तव में क्या हो रहा है. 1075 00:45:31,230 --> 00:45:34,256 तो अब हम जा रहे हैं , सरणी एन प्लस 1 फिरसेआबंटितकरें 1076 00:45:34,256 --> 00:45:36,005 हम हम जानते हैं क्योंकि संग्रहित कि मूल्य है. 1077 00:45:36,005 --> 00:45:37,090 1078 00:45:37,090 --> 00:45:41,560 >> और हम सरणी के लिए कि असाइन कर सकते हैं एन या इस मामले सरणी मैं में. 1079 00:45:41,560 --> 00:45:50,540 1080 00:45:50,540 --> 00:45:51,465 बहुत सारे चर. 1081 00:45:51,465 --> 00:45:54,230 1082 00:45:54,230 --> 00:45:55,470 ठीक. 1083 00:45:55,470 --> 00:46:01,500 तो अब हम फिर नियत किया है सरणी मैं प्लस 1 सरणी मैं में क्या बराबर करने के लिए. 1084 00:46:01,500 --> 00:46:08,240 और अब हम वापस जा सकते हैं और क्या सरणी मैं आवंटित? 1085 00:46:08,240 --> 00:46:10,680 1086 00:46:10,680 --> 00:46:11,180 कोई है? 1087 00:46:11,180 --> 00:46:13,490 1088 00:46:13,490 --> 00:46:14,010 >> छात्र: 10. 1089 00:46:14,010 --> 00:46:14,680 >> प्रशिक्षक: 10. 1090 00:46:14,680 --> 00:46:15,180 बिल्कुल सही. 1091 00:46:15,180 --> 00:46:16,930 1092 00:46:16,930 --> 00:46:18,640 और एक आखिरी बात. 1093 00:46:18,640 --> 00:46:21,840 अब हम यह बदली है, तो क्या हम ऐसा करने की क्या ज़रूरत है? 1094 00:46:21,840 --> 00:46:23,740 एक बात क्या है कि हमें बताने के लिए जा रहा है 1095 00:46:23,740 --> 00:46:27,542 हम कभी भी इस कार्यक्रम को समाप्त तो क्या होगा? 1096 00:46:27,542 --> 00:46:29,250 क्या हम हमें बताता है कि A हल सूची है? 1097 00:46:29,250 --> 00:46:31,560 1098 00:46:31,560 --> 00:46:33,750 हम किसी भी स्वैप प्रदर्शन नहीं करते हैं, सही? 1099 00:46:33,750 --> 00:46:36,900 स्वैप हैं के बराबर है इस के अंत में शून्य. 1100 00:46:36,900 --> 00:46:42,975 इसलिए जब भी आप हम के रूप में, एक स्वैप प्रदर्शन बस यहाँ किया था, हम स्वैप अद्यतन करना चाहते हैं. 1101 00:46:42,975 --> 00:46:45,002 1102 00:46:45,002 --> 00:46:47,210 और मैं वहां गया था पता एक सवाल पहले के बारे में आप कर सकते हैं 1103 00:46:47,210 --> 00:46:49,689 बजाय शून्य या एक का उपयोग की सही है या गलत. 1104 00:46:49,689 --> 00:46:50,980 और कहा कि इस यहाँ क्या करता है. 1105 00:46:50,980 --> 00:46:52,750 तो यह तो नहीं स्वैप कहते हैं. 1106 00:46:52,750 --> 00:47:01,310 स्वैप शून्य है, तो अगर जो हमेशा मैं is-- माय सत्य और मेरे falses मिलाया. 1107 00:47:01,310 --> 00:47:03,960 हम हमें मूल्यांकन करना चाहते हैं सच करने के लिए और यह नहीं है. 1108 00:47:03,960 --> 00:47:07,680 1109 00:47:07,680 --> 00:47:09,630 यह शून्य है, तो यह गलत है. 1110 00:47:09,630 --> 00:47:12,560 आप एक साथ यह नकारना हैं [? धमाके?] यह सच हो जाता है. 1111 00:47:12,560 --> 00:47:13,975 तो फिर इस लाइन कार्यान्वित. 1112 00:47:13,975 --> 00:47:15,060 1113 00:47:15,060 --> 00:47:17,370 >> सत्य और झूठे और शून्य और लोगों को पागल मिलता है. 1114 00:47:17,370 --> 00:47:20,690 बस आप धीरे धीरे चलना अगर इसके माध्यम से यह समझ कर देगा. 1115 00:47:20,690 --> 00:47:23,320 लेकिन यह है कि क्या इस छोटे से है कोड की बिट यहाँ करता है. 1116 00:47:23,320 --> 00:47:26,490 तो यह देखने के लिए जाँच करता है हम किसी भी स्वैप किया है. 1117 00:47:26,490 --> 00:47:30,054 तो यह कुछ भी इसके अलावा अगर है शून्य, यह गलत होने जा रहा है 1118 00:47:30,054 --> 00:47:31,970 और पूरी बात है फिर से निष्पादित करने के लिए जा रहा है. 1119 00:47:31,970 --> 00:47:33,150 1120 00:47:33,150 --> 00:47:33,650 कूल? 1121 00:47:33,650 --> 00:47:34,660 1122 00:47:34,660 --> 00:47:36,000 >> छात्र: तोड़ क्या करता है? 1123 00:47:36,000 --> 00:47:38,990 >> प्रशिक्षक: सिर्फ तोड़ लूप से बाहर टूट जाता है. 1124 00:47:38,990 --> 00:47:41,570 इस मामले में यह होता तो बस कार्यक्रम अंत की तरह 1125 00:47:41,570 --> 00:47:43,828 और तुम सिर्फ होगा आपके सॉर्ट की गई सूची है. 1126 00:47:43,828 --> 00:47:44,536 छात्र: कमाल है. 1127 00:47:44,536 --> 00:47:48,094 1128 00:47:48,094 --> 00:47:49,010 प्रशिक्षक: मैं माफी चाहता हूँ? 1129 00:47:49,010 --> 00:47:52,110 छात्र: क्योंकि हम पहले से शून्य लिखा पर 1 लिखा करते थे 1130 00:47:52,110 --> 00:47:54,170 अगर उस पेश करने के लिए वह काम करेंगे या नहीं. 1131 00:47:54,170 --> 00:47:54,878 >> प्रशिक्षक: हाँ. 1132 00:47:54,878 --> 00:47:56,410 तो आप शून्य या 1 लौट सकते हैं. 1133 00:47:56,410 --> 00:47:58,950 इस मामले में, क्योंकि हम वास्तव में नहीं कर रहे हैं समारोह के साथ कुछ भी कर रही है, 1134 00:47:58,950 --> 00:48:00,150 हम सिर्फ इसे तोड़ने के लिए चाहते हैं. 1135 00:48:00,150 --> 00:48:02,680 हम वास्तव में इसके बारे में परवाह नहीं है. 1136 00:48:02,680 --> 00:48:06,960 ब्रेक भी अगर अच्छा है यह बाहर तोड़ने के लिए प्रयोग किया जाता है 1137 00:48:06,960 --> 00:48:10,710 चार छोरों या स्थितियों की कि आप क्रियान्वित रखने के लिए नहीं करना चाहती. 1138 00:48:10,710 --> 00:48:12,110 यह सिर्फ उनमें से बाहर ले जाता है. 1139 00:48:12,110 --> 00:48:13,587 1140 00:48:13,587 --> 00:48:14,795 यह एक अति सूक्ष्म अंतर बात का एक सा है. 1141 00:48:14,795 --> 00:48:16,737 1142 00:48:16,737 --> 00:48:18,445 वहाँ मुझे लगता है हाथ लहराते की एक बहुत, 1143 00:48:18,445 --> 00:48:19,740 जैसे आप जल्द ही इस बारे में सीखना होगा. 1144 00:48:19,740 --> 00:48:20,955 >> लेकिन आप जल्दी ही इस बारे में सीखना होगा. 1145 00:48:20,955 --> 00:48:21,500 मैं वादा करता हूं. 1146 00:48:21,500 --> 00:48:22,670 1147 00:48:22,670 --> 00:48:23,170 ठीक. 1148 00:48:23,170 --> 00:48:24,840 तो हर कोई बुलबुला प्रकार प्राप्त करता है? 1149 00:48:24,840 --> 00:48:25,550 बहुत बुरा नहीं है. 1150 00:48:25,550 --> 00:48:31,910 के माध्यम से पुनरावृति, स्वैप बातें एक का उपयोग अस्थायी चर, और हम सब वहाँ स्थापित कर रहे हैं? 1151 00:48:31,910 --> 00:48:32,960 कूल. 1152 00:48:32,960 --> 00:48:34,080 बहुत बढ़िया. 1153 00:48:34,080 --> 00:48:34,807 ठीक. 1154 00:48:34,807 --> 00:48:35,765 वापस PowerPoint के लिए. 1155 00:48:35,765 --> 00:48:38,140 1156 00:48:38,140 --> 00:48:40,130 सामान्य में किसी भी सवाल के बारे में इन अब तक? 1157 00:48:40,130 --> 00:48:41,200 1158 00:48:41,200 --> 00:48:41,700 कूल. 1159 00:48:41,700 --> 00:48:43,110 1160 00:48:43,110 --> 00:48:43,695 मम-एचएम. 1161 00:48:43,695 --> 00:48:45,279 >> छात्र: [अश्राव्य] आमतौर पर मुख्य इंट. 1162 00:48:45,279 --> 00:48:46,695 इस बात के लिए कि है की आप की क्या ज़रूरत है? 1163 00:48:46,695 --> 00:48:48,400 1164 00:48:48,400 --> 00:48:53,550 >> प्रशिक्षक: तो हम बस देख रहे थे सिर्फ वास्तविक छँटाई एल्गोरिथ्म पर. 1165 00:48:53,550 --> 00:48:54,559 1166 00:48:54,559 --> 00:48:56,350 तुम्हारे भीतर यह था एक बड़े कार्यक्रम की तरह, 1167 00:48:56,350 --> 00:48:57,891 आप एक int मुख्य कहीं होगा. 1168 00:48:57,891 --> 00:49:00,070 1169 00:49:00,070 --> 00:49:02,880 जहां आप पर निर्भर करता है इस कलन विधि का उपयोग, 1170 00:49:02,880 --> 00:49:05,860 यह क्या हो रहा है यह निर्धारित होगा यह द्वारा वापस किया जा रहा है. 1171 00:49:05,860 --> 00:49:09,960 लेकिन हमारे मामले के लिए, हम कड़ाई से कर रहे हैं वास्तव में यह कैसे करता है पर देख रहे हैं 1172 00:49:09,960 --> 00:49:11,300 एक सरणी के माध्यम से पुनरावृति. 1173 00:49:11,300 --> 00:49:12,570 तो हम इसके बारे में चिंता मत करो. 1174 00:49:12,570 --> 00:49:14,150 1175 00:49:14,150 --> 00:49:19,830 >> इसलिए हम के बारे में सबसे अच्छी स्थिति में बात कर रहे थे और द्विआधारी खोज के लिए सबसे ज्यादा मामले परिदृश्यों. 1176 00:49:19,830 --> 00:49:22,470 तो यह करने के लिए भी महत्वपूर्ण है हमारे प्रकार से प्रत्येक के लिए कि. 1177 00:49:22,470 --> 00:49:24,200 1178 00:49:24,200 --> 00:49:27,560 तो क्या आपको लगता है कि सबसे बुरा है बुलबुला तरह के मामले क्रम? 1179 00:49:27,560 --> 00:49:29,560 1180 00:49:29,560 --> 00:49:30,700 तुम लोग याद है? 1181 00:49:30,700 --> 00:49:31,784 >> छात्र: एन माइनस 1. 1182 00:49:31,784 --> 00:49:32,700 प्रशिक्षक: एन माइनस 1. 1183 00:49:32,700 --> 00:49:35,070 इसलिए कि वहाँ का मतलब एन माइनस 1 तुलना. 1184 00:49:35,070 --> 00:49:40,060 तो साकार करने के लिए एक बात है पहली यात्रा पर कि, 1185 00:49:40,060 --> 00:49:43,360 हम, हम तुलना के माध्यम से जाना इन two-- इसलिए कि 1 है. 1186 00:49:43,360 --> 00:49:46,685 इन दो, तीन, चार. 1187 00:49:46,685 --> 00:49:48,070 1188 00:49:48,070 --> 00:49:55,050 तो एक यात्रा के बाद हम पहले से ही चार तुलना है. 1189 00:49:55,050 --> 00:49:58,230 जब मैं क्रम और एन के बारे में बात कर रहा हूँ. 1190 00:49:58,230 --> 00:50:04,680 एन तुलना की संख्या का प्रतिनिधित्व करता है कितने तत्वों के एक समारोह के रूप में 1191 00:50:04,680 --> 00:50:05,570 हमारे पास है. 1192 00:50:05,570 --> 00:50:06,430 ठीक है? 1193 00:50:06,430 --> 00:50:08,860 >> इसलिए हम के माध्यम से जाना, हम चार है. 1194 00:50:08,860 --> 00:50:11,780 तुम्हें पता है अगली बार हम नहीं इस बात का ध्यान रखना होगा. 1195 00:50:11,780 --> 00:50:15,140 हम इन दोनों की तुलना इन दो, इन दो, 1196 00:50:15,140 --> 00:50:20,050 और हम हैं कि अनुकूलन नहीं था मैंने लिखा था कि चार लूप के साथ, 1197 00:50:20,050 --> 00:50:22,750 आप वैसे भी यहाँ की तुलना की जाएगी. 1198 00:50:22,750 --> 00:50:26,170 तो आप करना होगा सरणी के माध्यम से चलाने के 1199 00:50:26,170 --> 00:50:34,380 और एन तुलना करने n कई बार, हर बार हम क्योंकि 1200 00:50:34,380 --> 00:50:36,670 यह की तरह एक बात हम के माध्यम से चला रहे हैं. 1201 00:50:36,670 --> 00:50:38,300 1202 00:50:38,300 --> 00:50:41,475 >> और हम के माध्यम से चलाने के लिए हर समय सरणी, हम n तुलना करने. 1203 00:50:41,475 --> 00:50:42,920 1204 00:50:42,920 --> 00:50:46,330 तो इस के लिए हमारे क्रम है वास्तव में एन, चुकता जो 1205 00:50:46,330 --> 00:50:48,400 में बहुत बुरा है हमारी कि क्योंकि अंत लॉग इन 1206 00:50:48,400 --> 00:50:51,965 हम चार पड़ा तो इसका मतलब है अरब तत्वों, यह है 1207 00:50:51,965 --> 00:50:55,260 हमें चार अरब ले जा रहा बजाय 32 की चुकता. 1208 00:50:55,260 --> 00:51:01,240 तो सबसे अच्छा नहीं रनटाइम, लेकिन कुछ बातों के लिए, 1209 00:51:01,240 --> 00:51:04,610 तुम्हारे भीतर हो अगर आप जानते हैं, तत्वों की एक निश्चित सीमा 1210 00:51:04,610 --> 00:51:06,540 बुलबुला प्रकार का उपयोग करने के लिए ठीक हो सकता है. 1211 00:51:06,540 --> 00:51:07,530 >> ठीक. 1212 00:51:07,530 --> 00:51:12,290 तो अब सबसे अच्छा मामले क्रम क्या है? 1213 00:51:12,290 --> 00:51:14,357 1214 00:51:14,357 --> 00:51:14,940 छात्र: शून्य? 1215 00:51:14,940 --> 00:51:16,420 या 1? 1216 00:51:16,420 --> 00:51:18,140 >> प्रशिक्षक: तो 1 होगा एक तुलना हो. 1217 00:51:18,140 --> 00:51:19,114 ठीक है. 1218 00:51:19,114 --> 00:51:20,002 >> छात्र: एन माइनस 1? 1219 00:51:20,002 --> 00:51:21,380 1220 00:51:21,380 --> 00:51:22,320 >> प्रशिक्षक: तो, हाँ. 1221 00:51:22,320 --> 00:51:22,990 तो एन माइनस 1. 1222 00:51:22,990 --> 00:51:26,510 आप n की तरह एक अवधारणा है जब भी शून्य से 1, हम सिर्फ यह छोड़ जाते हैं 1223 00:51:26,510 --> 00:51:31,680 आपके पास और क्योंकि हम सिर्फ n कहना these-- प्रत्येक जोड़ी में से प्रत्येक की तुलना करना. 1224 00:51:31,680 --> 00:51:36,470 तो यह 1 एन होना शून्य से होगा जो हम हम सिर्फ लगभग n है कहूँगा. 1225 00:51:36,470 --> 00:51:39,280 आप क्रम के साथ काम कर रहे हैं, सब कुछ approximates में है. 1226 00:51:39,280 --> 00:51:43,860 जब तक प्रतिपादक के रूप में सही, तुम बहुत अच्छा कर रहे हैं. 1227 00:51:43,860 --> 00:51:45,700 >> हम इसके साथ सौदा कैसे है. 1228 00:51:45,700 --> 00:51:47,410 1229 00:51:47,410 --> 00:51:51,780 सबसे अच्छा मामले N, इतना है कि जो , सूची में पहले से ही हल है कि इसका मतलब है 1230 00:51:51,780 --> 00:51:54,320 और हम सब के माध्यम से चलाया जाता है और इसे हल है कि जाँच करें. 1231 00:51:54,320 --> 00:51:56,110 1232 00:51:56,110 --> 00:51:56,855 कूल. 1233 00:51:56,855 --> 00:51:57,355 ठीक है. 1234 00:51:57,355 --> 00:51:58,980 1235 00:51:58,980 --> 00:52:01,920 आप यहाँ देख तो, जैसा कि हम अभी कुछ और रेखांकन है. 1236 00:52:01,920 --> 00:52:02,660 तो एन चुकता. 1237 00:52:02,660 --> 00:52:03,780 1238 00:52:03,780 --> 00:52:05,120 मज़ा. 1239 00:52:05,120 --> 00:52:09,730 जितना हम देख एन से भी बदतर है, और लॉग 2N से भी बदतर, ज्यादा. 1240 00:52:09,730 --> 00:52:12,060 और फिर आप भी प्रवेश लॉग में मिलता है. 1241 00:52:12,060 --> 00:52:18,020 और आप 124 ले, आप में मिलता है पागलों की तरह है जो प्रवेश स्टार की तरह. 1242 00:52:18,020 --> 00:52:20,172 आप रुचि रखते हैं तो, देखने का प्रवेश सितारा. 1243 00:52:20,172 --> 00:52:20,880 यह मजाक की तरह है. 1244 00:52:20,880 --> 00:52:22,800 1245 00:52:22,800 --> 00:52:24,220 इसलिए हम इस महान चार्ट है. 1246 00:52:24,220 --> 00:52:25,360 1247 00:52:25,360 --> 00:52:28,720 सिर्फ एक को सिर, यह एक अद्भुत चार्ट है करने के लिए 1248 00:52:28,720 --> 00:52:31,350 हम क्योंकि अपनी मध्य अवधि के लिए आप इन thins पूछने के लिए लंबे समय. 1249 00:52:31,350 --> 00:52:36,090 तो सिर्फ एक को सिर, पर यह है आपकी अपने अच्छे धोखा शीट पर मध्यावधि 1250 00:52:36,090 --> 00:52:36,616 क्या आप वहां मौजूद हैं. 1251 00:52:36,616 --> 00:52:37,990 तो हम बस बुलबुला तरह देखा. 1252 00:52:37,990 --> 00:52:39,510 1253 00:52:39,510 --> 00:52:42,370 सबसे बुरी स्थिति, एन, एन सबसे अच्छा मामले चुकता. 1254 00:52:42,370 --> 00:52:43,367 1255 00:52:43,367 --> 00:52:44,950 और हम दूसरों को देखने के लिए जा रहे हैं. 1256 00:52:44,950 --> 00:52:47,940 >> और आप ही देख सकते हैं वास्तव में अच्छी तरह से करता है कि एक 1257 00:52:47,940 --> 00:52:50,910 हम क्यों में मिल जाएगा जो मर्ज तरह है. 1258 00:52:50,910 --> 00:52:52,690 1259 00:52:52,690 --> 00:52:55,215 तो हम पर जाने के लिए जा रहे हैं अगले एक here-- चयन तरह. 1260 00:52:55,215 --> 00:52:56,360 1261 00:52:56,360 --> 00:52:58,420 किसी को कैसे याद करता है चयन प्रकार का काम किया है? 1262 00:52:58,420 --> 00:53:05,200 1263 00:53:05,200 --> 00:53:05,700 इसके लिए जाओ. 1264 00:53:05,700 --> 00:53:08,210 >> छात्र: असल में के माध्यम से जाना एक आदेश और एक नई सूची बनाने. 1265 00:53:08,210 --> 00:53:11,001 और तुम तत्व डाल रहे हैं बस के रूप में में, सही जगह में डाल 1266 00:53:11,001 --> 00:53:11,750 नई सूची में. 1267 00:53:11,750 --> 00:53:14,040 >> प्रशिक्षक: तो लगता है कि प्रविष्टि प्रकार की तरह अधिक. 1268 00:53:14,040 --> 00:53:15,040 लेकिन अगर आप वास्तव में बंद कर रहे हैं. 1269 00:53:15,040 --> 00:53:15,915 वे बहुत समान हैं. 1270 00:53:15,915 --> 00:53:17,440 यहां तक ​​कि मैं उन्हें कभी कभी मिश्रित मिलता है. 1271 00:53:17,440 --> 00:53:18,981 मैं जैसा था इस खंड से पहले, रुको. 1272 00:53:18,981 --> 00:53:20,130 1273 00:53:20,130 --> 00:53:20,630 ठीक. 1274 00:53:20,630 --> 00:53:24,141 तो आप करना चाहते हैं करना, चयन प्रकार है 1275 00:53:24,141 --> 00:53:25,890 आप सोच सकते हैं रास्ता यह और रास्ते के बारे में 1276 00:53:25,890 --> 00:53:30,140 मुझे यकीन है कि मैं पाने के लिए नहीं की कोशिश कर उन्हें यह माध्यम से चला जाता है, मिलाया 1277 00:53:30,140 --> 00:53:33,280 और यह चुनता है सबसे छोटी संख्या है और यह 1278 00:53:33,280 --> 00:53:36,070 अपनी सूची की शुरुआत में उस डालता है. 1279 00:53:36,070 --> 00:53:37,730 ऐसा लगता है कि पहले स्थान के साथ यह स्वैप. 1280 00:53:37,730 --> 00:53:42,600 1281 00:53:42,600 --> 00:53:45,370 वे वास्तव में मेरे लिए एक उदाहरण है. 1282 00:53:45,370 --> 00:53:46,540 बहुत बढ़िया. 1283 00:53:46,540 --> 00:53:50,130 तो सिर्फ एक रास्ता it-- चयन के बारे में सोच क्रमबद्ध, छोटी मूल्य का चयन करें. 1284 00:53:50,130 --> 00:53:51,940 और हम करने जा रहे हैं एक उदाहरण के माध्यम से चलाने के 1285 00:53:51,940 --> 00:53:55,320 मैं क्योंकि मदद करेगा लगता है कि मैं दृश्यों हमेशा मदद लगता है. 1286 00:53:55,320 --> 00:53:58,510 इसलिए हम कुछ के साथ बाहर शुरू कि पूरी तरह से unsorted है. 1287 00:53:58,510 --> 00:54:00,730 लाल, unsorted हो जाएगा हरी हल किया जाएगा. 1288 00:54:00,730 --> 00:54:02,190 यह सब एक दूसरे में समझ कर देगा. 1289 00:54:02,190 --> 00:54:08,950 >> इसलिए हम के माध्यम से जाने के लिए और हम पुनरावृति शुरू से अंत तक. 1290 00:54:08,950 --> 00:54:12,320 और हम ठीक है, 2 है, का कहना है हमारी सबसे छोटी संख्या. 1291 00:54:12,320 --> 00:54:15,680 इसलिए हम 2 लेने के लिए जा रहे हैं और हम जा रहे हैं हमारे सरणी के सामने करने के लिए यह कदम 1292 00:54:15,680 --> 00:54:17,734 यह इसलिए है क्योंकि सबसे छोटी संख्या हमने. 1293 00:54:17,734 --> 00:54:19,150 इसलिए कि यह यहाँ क्या कर रहा है है. 1294 00:54:19,150 --> 00:54:20,820 यह सिर्फ उन दो स्वैप करने के लिए जा रहा है. 1295 00:54:20,820 --> 00:54:21,850 1296 00:54:21,850 --> 00:54:25,450 तो अब हम एक हल हिस्सा और एक unsorted हिस्सा. 1297 00:54:25,450 --> 00:54:27,810 और याद करने के लिए क्या अच्छा है चयन प्रकार के बारे में 1298 00:54:27,810 --> 00:54:30,690 हम केवल चयन किये जा रहे है unsorted भाग से. 1299 00:54:30,690 --> 00:54:32,220 1300 00:54:32,220 --> 00:54:34,527 >> हल हिस्सा आप सिर्फ अकेला छोड़ दो. 1301 00:54:34,527 --> 00:54:35,660 मम-एचएम? 1302 00:54:35,660 --> 00:54:38,452 >> छात्र: क्या है यह पता है कैसे यह तुलना के बिना सबसे छोटी 1303 00:54:38,452 --> 00:54:39,868 सरणी में हर दूसरे मूल्य के लिए. 1304 00:54:39,868 --> 00:54:41,250 प्रशिक्षक: यह तुलना करता है. 1305 00:54:41,250 --> 00:54:42,041 हम इसे छोड़ दिया पसंद है. 1306 00:54:42,041 --> 00:54:43,850 यह समग्र अभी सामान्य है. 1307 00:54:43,850 --> 00:54:44,831 हाँ. 1308 00:54:44,831 --> 00:54:47,205 हम मैं हूँ कोड लिखने सुनिश्चित करें कि आप अधिक से संतुष्ट हो जाएगा. 1309 00:54:47,205 --> 00:54:48,696 1310 00:54:48,696 --> 00:54:53,030 लेकिन अगर आप पहली बार इस दुकान छोटी से छोटी के रूप में तत्व. 1311 00:54:53,030 --> 00:54:56,110 आप तुलना और आप ठीक है, यह छोटा है, कहते हैं? 1312 00:54:56,110 --> 00:54:56,660 हां. 1313 00:54:56,660 --> 00:54:57,460 यह रखें. 1314 00:54:57,460 --> 00:54:58,640 यहाँ यह छोटा होता है? 1315 00:54:58,640 --> 00:54:59,660 कोई? 1316 00:54:59,660 --> 00:55:02,510 >> यह आपकी छोटी से छोटी है अपने मूल्य के लिए इसे पुन: असाइन. 1317 00:55:02,510 --> 00:55:06,340 और तुम बहुत खुश हो जाएगा हम कोड के माध्यम से जाना. 1318 00:55:06,340 --> 00:55:07,510 1319 00:55:07,510 --> 00:55:13,970 इसलिए हम के माध्यम से जाना, हम तो फिर, यह स्वैप हम इस unsorted हिस्से पर दिखेगा. 1320 00:55:13,970 --> 00:55:15,810 इसलिए हम तीन बाहर का चयन करने के लिए जा रहे हैं. 1321 00:55:15,810 --> 00:55:18,890 हम पर उस पर डाल करने के लिए जा रहे हैं हमारे हल भाग के अंत. 1322 00:55:18,890 --> 00:55:20,267 1323 00:55:20,267 --> 00:55:23,100 और हम बस कर रखने के लिए जा रहे हैं कर रही है कि, और कर रही है कि, कि. 1324 00:55:23,100 --> 00:55:24,130 1325 00:55:24,130 --> 00:55:27,420 तो यह यहाँ pseudocode की हमारी तरह है. 1326 00:55:27,420 --> 00:55:29,470 1327 00:55:29,470 --> 00:55:31,380 हम एक दूसरे में यहाँ यह अप कोड करेंगे. 1328 00:55:31,380 --> 00:55:34,140 1329 00:55:34,140 --> 00:55:37,270 लेकिन अभी कुछ चलने के लिए एक उच्च स्तर पर के माध्यम से. 1330 00:55:37,270 --> 00:55:40,275 आप से जाने के लिए जा रहे हैं मैं n करने के लिए शून्य से 2 0 के बराबर होती है. 1331 00:55:40,275 --> 00:55:41,570 1332 00:55:41,570 --> 00:55:43,530 यही एक और अनुकूलन है. 1333 00:55:43,530 --> 00:55:45,020 इसके बारे में बहुत ज्यादा चिंता मत करो. 1334 00:55:45,020 --> 00:55:46,620 तो जैसा कि आप कह रहे थे. 1335 00:55:46,620 --> 00:55:49,660 1336 00:55:49,660 --> 00:55:54,406 याकूब कह रहा था, हम कैसे करते हैं हमारे न्यूनतम है क्या का ट्रैक रखने? 1337 00:55:54,406 --> 00:55:55,030 हमें कैसे पता है? 1338 00:55:55,030 --> 00:55:57,060 हम तुलना करने के लिए है हमारी सूची में सब कुछ. 1339 00:55:57,060 --> 00:55:59,600 >> तो कम से कम मैं बराबर होती है. 1340 00:55:59,600 --> 00:56:03,870 यह सिर्फ इस मामले में कह रहा है हमारे न्यूनतम मूल्य सूचकांक. 1341 00:56:03,870 --> 00:56:07,660 तो फिर यह माध्यम से पुनरावृति जा रहा है जम्मू मैं प्लस 1 के बराबर होती है और यह हो जाता है. 1342 00:56:07,660 --> 00:56:11,420 तो हम पहले से ही जानते हैं कि कि हमारा पहला तत्व है. 1343 00:56:11,420 --> 00:56:13,240 हम खुद के लिए यह तुलना करने की जरूरत नहीं है. 1344 00:56:13,240 --> 00:56:16,970 इसलिए हम अगले करने के लिए यह तुलना शुरू यह मैं प्लस 1 n करने के लिए कारण है जिनमें से एक है 1345 00:56:16,970 --> 00:56:20,110 शून्य से 1, जो वहाँ सरणी के अंत. 1346 00:56:20,110 --> 00:56:25,090 और हम सरणी में अगर कहा जम्मू, सरणी मिनट से भी कम समय है 1347 00:56:25,090 --> 00:56:29,200 तो हम जहां फिरसेआबंटितकरें हमारे न्यूनतम सूचकांकों है. 1348 00:56:29,200 --> 00:56:37,470 >> और अगर मिनट के रूप में, मैं करने के बराबर नहीं है जहां में हम वापस यहाँ पर थे. 1349 00:56:37,470 --> 00:56:38,950 1350 00:56:38,950 --> 00:56:41,790 हम पहली बार इस एक था जब बहुत पसंद है. 1351 00:56:41,790 --> 00:56:49,310 इस मामले में, यह कम से शुरू होगा शून्य, यह दो खत्म किया जा रहा होगा. 1352 00:56:49,310 --> 00:56:53,010 तो मिनट अंत में मैं बराबर नहीं होता. 1353 00:56:53,010 --> 00:56:55,720 यही कारण है कि हमें पता है कि हम उन्हें स्वैप करने की जरूरत है. 1354 00:56:55,720 --> 00:56:57,420 1355 00:56:57,420 --> 00:57:00,470 मैं एक ठोस उदाहरण की तरह लग रहा है इस तुलना में बहुत अधिक मदद मिलेगी. 1356 00:57:00,470 --> 00:57:04,970 इसलिए मैं आप लोगों के साथ इस कोड करेंगे अब ठीक है और मैं इसे बेहतर हो जाएगा. 1357 00:57:04,970 --> 00:57:07,380 1358 00:57:07,380 --> 00:57:11,350 >> प्रकार है कि उस तरह से काम करते हैं यह सिर्फ उन्हें देखने के लिए अक्सर बेहतर है. 1359 00:57:11,350 --> 00:57:12,780 1360 00:57:12,780 --> 00:57:17,280 तो हम क्या करना चाहते है हम पहली बार सबसे छोटी चाहते हैं 1361 00:57:17,280 --> 00:57:19,890 सरणी में अपनी स्थिति में तत्व. 1362 00:57:19,890 --> 00:57:21,280 वास्तव में याकूब क्या कह रहा था. 1363 00:57:21,280 --> 00:57:23,090 आप किसी भी तरह कि दुकान की जरूरत है. 1364 00:57:23,090 --> 00:57:25,900 तो हम यहाँ शुरू करने जा रहे हैं सरणी पर पुनरावृति. 1365 00:57:25,900 --> 00:57:28,970 हम यह कहने के लिए जा रहे हैं हमारे बस के साथ शुरू करने के लिए सबसे पहले एक. 1366 00:57:28,970 --> 00:57:38,308 तो हम int करने जा रहे हैं सबसे छोटी मैं पर सरणी के बराबर है. 1367 00:57:38,308 --> 00:57:40,500 1368 00:57:40,500 --> 00:57:45,050 >> तो एक बात, हर सूचना के लिए इस पाश कार्यान्वित समय, 1369 00:57:45,050 --> 00:57:48,550 हम साथ एक कदम आगे शुरू कर रहे हैं. 1370 00:57:48,550 --> 00:57:54,780 1371 00:57:54,780 --> 00:57:57,440 जब हम शुरू हम इस एक पर दिखेगा. 1372 00:57:57,440 --> 00:58:00,840 हम के माध्यम से पुनरावृति अगली बार, हम इस एक में शुरू कर रहे हैं 1373 00:58:00,840 --> 00:58:02,680 और यह हमारे सबसे छोटे मूल्य बताए. 1374 00:58:02,680 --> 00:58:10,450 तो यह बुलबुला तरह के समान है हम जानते हैं कि जहां एक पास के बाद कि, 1375 00:58:10,450 --> 00:58:11,700 यह पिछले तत्व हल है. 1376 00:58:11,700 --> 00:58:12,810 1377 00:58:12,810 --> 00:58:15,120 चयन प्रकार के साथ, यह सिर्फ विपरीत है. 1378 00:58:15,120 --> 00:58:18,950 >> हर दर्रे पर, हम जानते हैं कि पहले एक हल है. 1379 00:58:18,950 --> 00:58:21,360 दूसरा पास करने के बाद, दूसरा एक सुलझा लिया जाएगा. 1380 00:58:21,360 --> 00:58:26,470 और आप स्लाइड उदाहरण के साथ देखा था, हमारे छाँटे गए भाग सिर्फ बढ़ती रहती है. 1381 00:58:26,470 --> 00:58:34,020 इसलिए हमारे सबसे छोटी एक सेट करके सरणियों के लिए मैं यह सब कर रहा है 1382 00:58:34,020 --> 00:58:37,340 बाधा है क्या हम इतने के रूप में देख रहे हैं 1383 00:58:37,340 --> 00:58:40,164 संख्या कम करने के लिए तुलना की हम बनाते हैं. 1384 00:58:40,164 --> 00:58:41,770 कि हर किसी को मतलब? 1385 00:58:41,770 --> 00:58:42,920 1386 00:58:42,920 --> 00:58:46,380 क्या आपको लगता है कि के माध्यम से चलाने के लिए मेरी जरूरत फिर धीमी या अलग शब्दों में? 1387 00:58:46,380 --> 00:58:47,180 मैं खुश हूँ. 1388 00:58:47,180 --> 00:58:48,095 1389 00:58:48,095 --> 00:58:48,595 ठीक. 1390 00:58:48,595 --> 00:58:50,060 1391 00:58:50,060 --> 00:58:55,540 >> इसलिए हम भंडारण कर रहे हैं इस बिंदु पर मूल्य, 1392 00:58:55,540 --> 00:58:57,840 लेकिन हम भी सूचकांक संग्रहीत करना चाहते हैं. 1393 00:58:57,840 --> 00:59:01,010 इसलिए हम स्टोर करने के लिए जा रहे हैं छोटी से छोटी की स्थिति 1394 00:59:01,010 --> 00:59:02,770 बस मैं होने जा रहा है, जो एक. 1395 00:59:02,770 --> 00:59:04,357 1396 00:59:04,357 --> 00:59:05,440 तो अब याकूब संतुष्ट है. 1397 00:59:05,440 --> 00:59:06,870 हम संग्रहीत बातें हैं. 1398 00:59:06,870 --> 00:59:08,240 1399 00:59:08,240 --> 00:59:11,870 और अब हम के माध्यम से देखने की जरूरत सरणी की unsorted हिस्सा. 1400 00:59:11,870 --> 00:59:18,170 इस मामले में यह तो हमारे unsorted होगा. 1401 00:59:18,170 --> 00:59:20,980 1402 00:59:20,980 --> 00:59:22,462 यह मैं है. 1403 00:59:22,462 --> 00:59:25,430 1404 00:59:25,430 --> 00:59:26,210 ठीक. 1405 00:59:26,210 --> 00:59:30,040 >> तो क्या हम क्या करने जा रहे हैं एक पाश के लिए होने जा रहा है. 1406 00:59:30,040 --> 00:59:32,066 आप जब भी जरूरत एक सरणी के माध्यम से पुनरावृति, 1407 00:59:32,066 --> 00:59:33,440 अपने मन एक पाश के लिए करने के लिए जा सकते हैं. 1408 00:59:33,440 --> 00:59:34,760 1409 00:59:34,760 --> 00:59:38,090 कुछ पूर्णांक कश्मीर के लिए तो हम क्या सोचते हैं equals-- 1410 00:59:38,090 --> 00:59:39,700 कश्मीर के साथ शुरू करने के लिए बराबर करने के लिए जा रहा है? 1411 00:59:39,700 --> 00:59:41,580 1412 00:59:41,580 --> 00:59:44,766 यह हम अपने सबसे छोटे रूप में सेट क्या है मूल्य और हम यह तुलना करना चाहते हैं. 1413 00:59:44,766 --> 00:59:47,090 हम करने के लिए यह तुलना करने के लिए क्या चाहिए? 1414 00:59:47,090 --> 00:59:48,730 यह सही है, यह अगले एक होने जा रहा है? 1415 00:59:48,730 --> 00:59:53,200 इसलिए हम प्रारंभ की जा कश्मीर चाहते हैं मैं प्लस 1 शुरू करने के लिए. 1416 00:59:53,200 --> 00:59:55,350 1417 00:59:55,350 --> 01:00:02,800 >> और हम इस मामले में कश्मीर चाहते हैं हम पहले से ही आकार यहां संग्रहीत है, 1418 01:00:02,800 --> 01:00:03,930 तो हम सिर्फ आकार का उपयोग कर सकते हैं. 1419 01:00:03,930 --> 01:00:06,240 आकार सरणी के आकार जा रहा है. 1420 01:00:06,240 --> 01:00:09,620 और हम बस करना चाहते हैं एक-एक समय से कश्मीर का अद्यतन करें. 1421 01:00:09,620 --> 01:00:17,410 1422 01:00:17,410 --> 01:00:17,910 कूल. 1423 01:00:17,910 --> 01:00:19,650 1424 01:00:19,650 --> 01:00:23,430 तो अब हम खोजने की जरूरत है यहाँ सबसे छोटी तत्व. 1425 01:00:23,430 --> 01:00:24,470 1426 01:00:24,470 --> 01:00:31,380 इसलिए हम के माध्यम से पुनरावृति, तो हम कहना चाहता हूँ, अगर कश्मीर में सरणी 1427 01:00:31,380 --> 01:00:37,080 हमारी छोटी से छोटी value-- से कम है हम वास्तव में कर रहे हैं जहां यह है 1428 01:00:37,080 --> 01:00:42,950 क्या का ट्रैक रखने छोटी से छोटी here-- 1429 01:00:42,950 --> 01:00:47,740 तो हम पुन: असाइन करना चाहते हैं हमारे सबसे छोटे मूल्य क्या है. 1430 01:00:47,740 --> 01:00:50,645 >> इस ओह, हम कर रहे हैं, इसका मतलब है कि यहां से होकर फिर. 1431 01:00:50,645 --> 01:00:51,699 1432 01:00:51,699 --> 01:00:53,740 जो भी मूल्य यहाँ है नहीं हमारे सबसे छोटी बात. 1433 01:00:53,740 --> 01:00:54,448 हम यह नहीं चाहते हैं. 1434 01:00:54,448 --> 01:00:56,100 हम इसे पुन: असाइन करना चाहते हैं. 1435 01:00:56,100 --> 01:01:02,050 हम इसे फिर नियत कर रहे हैं, क्या करते हैं आप यहाँ इस कोड में हो सकता है? 1436 01:01:02,050 --> 01:01:04,160 हम पुन: असाइन करना चाहते हैं छोटी से छोटी और स्थिति. 1437 01:01:04,160 --> 01:01:05,740 1438 01:01:05,740 --> 01:01:07,010 तो अब सबसे छोटी क्या है? 1439 01:01:07,010 --> 01:01:08,422 1440 01:01:08,422 --> 01:01:09,130 छात्र: ऐरे कश्मीर. 1441 01:01:09,130 --> 01:01:09,963 प्रशिक्षक: ऐरे कश्मीर. 1442 01:01:09,963 --> 01:01:13,480 1443 01:01:13,480 --> 01:01:15,956 और स्थिति अब क्या है? 1444 01:01:15,956 --> 01:01:20,940 1445 01:01:20,940 --> 01:01:23,000 के सूचकांक क्या है हमारी छोटी से छोटी मूल्य है? 1446 01:01:23,000 --> 01:01:24,030 1447 01:01:24,030 --> 01:01:24,530 यह सिर्फ कश्मीर है. 1448 01:01:24,530 --> 01:01:25,690 1449 01:01:25,690 --> 01:01:27,790 सरणी कश्मीर, कश्मीर तो, वे मैच. 1450 01:01:27,790 --> 01:01:31,670 1451 01:01:31,670 --> 01:01:33,120 इसलिए हम चाहते हैं कि पुन: असाइन करना चाहता था. 1452 01:01:33,120 --> 01:01:34,390 1453 01:01:34,390 --> 01:01:39,950 और हम, हमारी सबसे छोटी पाया तो बाद पाश के लिए इस के अंत में तो 1454 01:01:39,950 --> 01:01:45,100 यहाँ हमने पाया है कि क्या हमारी छोटी से छोटी मूल्य है, तो हम सिर्फ यह स्वैप. 1455 01:01:45,100 --> 01:01:47,100 1456 01:01:47,100 --> 01:01:50,816 इस मामले में, जैसे हमारे कहने छोटे मूल्य के यहाँ बाहर है. 1457 01:01:50,816 --> 01:01:51,940 यह हमारी सबसे छोटी मूल्य है. 1458 01:01:51,940 --> 01:01:57,690 >> हम बस है, जो यहाँ यह स्वैप करना चाहते हैं क्या तल पर कि स्वैप समारोह 1459 01:01:57,690 --> 01:02:01,270 हम सिर्फ लिखा था, जो किया एक साथ एक दो मिनट पहले. 1460 01:02:01,270 --> 01:02:02,775 तो यह परिचित दिखना चाहिए. 1461 01:02:02,775 --> 01:02:04,320 1462 01:02:04,320 --> 01:02:08,030 और फिर यह सिर्फ पुनरावृति होगी के माध्यम से यह सभी तरह पहुँचता तक 1463 01:02:08,030 --> 01:02:13,100 आप जिसका मतलब है कि अंत करने के लिए unsorted हैं कि शून्य तत्व है 1464 01:02:13,100 --> 01:02:14,800 और सब कुछ सुलझा लिया गया है. 1465 01:02:14,800 --> 01:02:16,216 1466 01:02:16,216 --> 01:02:16,715 समझ बनाने के लिए? 1467 01:02:16,715 --> 01:02:18,010 1468 01:02:18,010 --> 01:02:19,280 अधिक concretely एक छोटी सी? 1469 01:02:19,280 --> 01:02:19,990 कोड की मदद? 1470 01:02:19,990 --> 01:02:21,720 1471 01:02:21,720 --> 01:02:26,410 >> छात्र: एक आकार के लिए, आप कभी नहीं वास्तव में यह परिभाषित या इसे बदलने, 1472 01:02:26,410 --> 01:02:27,340 यह कैसे पता है? 1473 01:02:27,340 --> 01:02:32,380 >> प्रशिक्षक: तो एक बात करने के लिए पूर्णांक आकार है यहाँ नोटिस. 1474 01:02:32,380 --> 01:02:35,680 इसलिए हम इस sort-- प्रकार में कह रहे हैं इस में एक समारोह में यह है case-- 1475 01:02:35,680 --> 01:02:40,770 चयन प्रकार, यह पारित कर दिया है समारोह के साथ में. 1476 01:02:40,770 --> 01:02:43,460 इसे पारित नहीं किया गया तो अगर में, आप कुछ करना होगा 1477 01:02:43,460 --> 01:02:47,840 सरणी की लंबाई के साथ की तरह या आप के माध्यम से पुनरावृति होगी 1478 01:02:47,840 --> 01:02:49,390 लंबाई लगता है. 1479 01:02:49,390 --> 01:02:52,680 लेकिन यह पारित कर दिया है, क्योंकि में, हम सिर्फ इसका इस्तेमाल कर सकते हैं. 1480 01:02:52,680 --> 01:02:55,720 तुम सिर्फ उपयोगकर्ता को लगता है कि आप एक वैध आकार दिया कि 1481 01:02:55,720 --> 01:02:57,698 वास्तव में प्रतिनिधित्व करता है आपके सरणी के आकार. 1482 01:02:57,698 --> 01:02:59,461 1483 01:02:59,461 --> 01:02:59,960 कूल? 1484 01:02:59,960 --> 01:03:01,610 1485 01:03:01,610 --> 01:03:05,870 >> तुम लोगों को इन के साथ किसी भी मुसीबत है या अधिक अभ्यास कोडिंग प्रकार चाहते हैं 1486 01:03:05,870 --> 01:03:08,050 अपने दम पर, तुम चाहिए study.cs50 के पास जाओ. 1487 01:03:08,050 --> 01:03:11,560 1488 01:03:11,560 --> 01:03:12,670 यह एक उपकरण है. 1489 01:03:12,670 --> 01:03:15,040 वे एक चेकर है कि आप वास्तव में लिख सकते हैं. 1490 01:03:15,040 --> 01:03:16,180 वे स्यूडोकोड करते हैं. 1491 01:03:16,180 --> 01:03:19,310 वे और अधिक वीडियो और स्लाइड है मैं यहाँ का उपयोग लोगों सहित. 1492 01:03:19,310 --> 01:03:23,150 आप अभी भी एक महसूस कर रहे हैं तो थोड़ा फजी, कि बाहर की कोशिश. 1493 01:03:23,150 --> 01:03:25,670 हमेशा की तरह, भी, मुझसे बात आते हैं. 1494 01:03:25,670 --> 01:03:26,320 प्रश्न? 1495 01:03:26,320 --> 01:03:28,611 >> छात्र: आप कह रहे हैं आकार पहले से परिभाषित किया गया है? 1496 01:03:28,611 --> 01:03:29,234 1497 01:03:29,234 --> 01:03:29,900 प्रशिक्षक: हाँ. 1498 01:03:29,900 --> 01:03:35,570 आकार पहले से परिभाषित किया गया है यहां समारोह घोषणा में. 1499 01:03:35,570 --> 01:03:39,060 तो आप उस में पारित किया गया है कि ग्रहण उपयोगकर्ता द्वारा, और सादगी की खातिर, 1500 01:03:39,060 --> 01:03:41,896 हम मानते हैं कि करने के लिए जा रहे हैं उपयोगकर्ता हमें सही आकार दिया. 1501 01:03:41,896 --> 01:03:43,240 कूल. 1502 01:03:43,240 --> 01:03:44,390 इसलिए कि चयन प्रकार है. 1503 01:03:44,390 --> 01:03:45,590 1504 01:03:45,590 --> 01:03:47,640 दोस्तों, मैं हम आज बहुत कुछ सीख रहे हैं. 1505 01:03:47,640 --> 01:03:49,710 यह खंड के लिए एक सघन डेटा है. 1506 01:03:49,710 --> 01:03:51,880 1507 01:03:51,880 --> 01:03:57,340 उस के साथ तो, हम जा रहे हैं प्रविष्टि प्रकार के लिए जाने के लिए. 1508 01:03:57,340 --> 01:04:01,550 1509 01:04:01,550 --> 01:04:02,510 >> ठीक. 1510 01:04:02,510 --> 01:04:06,100 इसलिए कि इससे पहले कि हम क्या करना है हमारे यहाँ क्रम विश्लेषण. 1511 01:04:06,100 --> 01:04:10,190 , सबसे अच्छा मामले में तो मैं तुम से पता चला के बाद दी 1512 01:04:10,190 --> 01:04:11,960 तालिका में पहले से ही मैं एक तरह से इसे दूर दे दी है. 1513 01:04:11,960 --> 01:04:15,430 लेकिन सबसे अच्छा मामले क्रम, हम क्या सोचते हैं? 1514 01:04:15,430 --> 01:04:17,310 1515 01:04:17,310 --> 01:04:18,130 सब कुछ हल. 1516 01:04:18,130 --> 01:04:21,040 1517 01:04:21,040 --> 01:04:22,070 एन चुकता. 1518 01:04:22,070 --> 01:04:24,780 किसी को भी एक व्याख्या है तुम क्यों लगता है? 1519 01:04:24,780 --> 01:04:29,060 1520 01:04:29,060 --> 01:04:30,519 >> छात्र: आप through-- तुलना कर रहे हैं 1521 01:04:30,519 --> 01:04:31,268 प्रशिक्षक: ठीक है. 1522 01:04:31,268 --> 01:04:32,540 आप के माध्यम से तुलना कर रहे हैं. 1523 01:04:32,540 --> 01:04:35,630 हर यात्रा में, भले ही हम एक एक करके इस decrementing रहे 1524 01:04:35,630 --> 01:04:38,950 आप अभी के माध्यम से खोज कर रहे हैं सब कुछ छोटी से छोटी एक खोजने के लिए. 1525 01:04:38,950 --> 01:04:42,390 तो भले ही अपनी छोटी मूल्य शुरुआत में यहाँ है 1526 01:04:42,390 --> 01:04:44,710 आप अभी भी यह तुलना कर रहे हैं सब कुछ के खिलाफ 1527 01:04:44,710 --> 01:04:46,550 यह छोटी से छोटी बात है बनाना. 1528 01:04:46,550 --> 01:04:49,820 तो आप के माध्यम से चल रहा समाप्त होगा लगभग एन बार चुकता. 1529 01:04:49,820 --> 01:04:51,090 1530 01:04:51,090 --> 01:04:51,590 ठीक है. 1531 01:04:51,590 --> 01:04:52,785 और सबसे खराब स्थिति क्या है? 1532 01:04:52,785 --> 01:04:54,350 1533 01:04:54,350 --> 01:04:57,980 आप जा रहे हैं, क्योंकि इसके अलावा एन चुकता कि एक ही प्रक्रिया कर रही हो. 1534 01:04:57,980 --> 01:05:01,670 इस मामले में, चयन तो क्रमबद्ध कुछ है 1535 01:05:01,670 --> 01:05:04,010 हम यह भी उम्मीद क्रम कि कॉल. 1536 01:05:04,010 --> 01:05:07,400 तो दूसरों में, हम सिर्फ इतना पता ऊपरी और निचले सीमा. 1537 01:05:07,400 --> 01:05:11,180 कैसे पागल के आधार पर हमारे सूची है या कैसे unsorted यह है, 1538 01:05:11,180 --> 01:05:15,350 वे n या n चुकता बीच बदलती हैं. 1539 01:05:15,350 --> 01:05:16,550 हम नहीं जानते. 1540 01:05:16,550 --> 01:05:22,820 >> लेकिन चयन प्रकार का ही है क्योंकि सबसे खराब और सबसे अच्छा मामले, कि हमें बताता है कि 1541 01:05:22,820 --> 01:05:25,880 इनपुट की कोई बात नहीं किस प्रकार हम यह पूरी तरह से है कि क्या है, 1542 01:05:25,880 --> 01:05:29,130 हल या पूरी तरह से यह है, हल रिवर्स 1543 01:05:29,130 --> 01:05:30,740 समय का एक ही राशि लेने के लिए जा रहा है. 1544 01:05:30,740 --> 01:05:33,760 उस मामले में तो, आप अगर हमारी मेज से याद है, 1545 01:05:33,760 --> 01:05:38,610 यह वास्तव में एक मूल्य था कि इन दो प्रकार नहीं है 1546 01:05:38,610 --> 01:05:40,390 जो उम्मीद की क्रम है. 1547 01:05:40,390 --> 01:05:43,350 इसलिए हम जानते हैं कि जब भी हम चयन क्रमबद्ध चलाने, 1548 01:05:43,350 --> 01:05:45,380 यह करने के लिए गारंटी है एक n चुकता समय चला रहे हैं. 1549 01:05:45,380 --> 01:05:46,630 वहाँ कोई परिवर्तनशीलता है. 1550 01:05:46,630 --> 01:05:47,630 यह सिर्फ उम्मीद है. 1551 01:05:47,630 --> 01:05:48,820 1552 01:05:48,820 --> 01:05:52,140 और, फिर से, आप सीखना चाहते हैं अधिक वसंत में सीएस 124 ले. 1553 01:05:52,140 --> 01:05:55,370 1554 01:05:55,370 --> 01:05:56,712 ठीक है. 1555 01:05:56,712 --> 01:05:57,545 हम इस एक देखा है. 1556 01:05:57,545 --> 01:05:58,530 1557 01:05:58,530 --> 01:05:59,030 कूल. 1558 01:05:59,030 --> 01:06:00,930 तो प्रविष्टि तरह. 1559 01:06:00,930 --> 01:06:03,330 और मैं शायद जा रहा हूँ इस के माध्यम से ज्वाला. 1560 01:06:03,330 --> 01:06:05,440 मैं तुम लोगों से यह कोड नहीं होगा. 1561 01:06:05,440 --> 01:06:06,580 हम सिर्फ यह माध्यम से चलना होगा. 1562 01:06:06,580 --> 01:06:10,500 तो सम्मिलन सॉर्ट तरह है चयन सॉर्ट के समान 1563 01:06:10,500 --> 01:06:14,460 उस में हम दोनों एक unsorted है और सरणी का हिस्सा हल. 1564 01:06:14,460 --> 01:06:20,260 >> लेकिन क्या अलग है कि है हम एक-एक कर के माध्यम से जाने के रूप में, 1565 01:06:20,260 --> 01:06:24,210 हम अभी जो कुछ भी संख्या ले , हमारे unsorted में अगले है 1566 01:06:24,210 --> 01:06:28,507 और इसे सही ढंग से सॉर्ट हमारे हल सरणी में. 1567 01:06:28,507 --> 01:06:30,090 यह एक उदाहरण के साथ और अधिक समझ कर दूँगा. 1568 01:06:30,090 --> 01:06:31,140 1569 01:06:31,140 --> 01:06:35,430 इतना सब कुछ unsorted के रूप में शुरू होता है, सिर्फ चयन प्रकार के साथ पसंद है. 1570 01:06:35,430 --> 01:06:38,740 और हम में सॉर्ट करने के लिए जा रहे हैं हम किया गया है के रूप में आरोही क्रम. 1571 01:06:38,740 --> 01:06:40,360 1572 01:06:40,360 --> 01:06:43,340 हमारी पहली पास पर तो हम पहले मान ले 1573 01:06:43,340 --> 01:06:46,700 और हम ठीक है, आप कर रहे हैं, का कहना है अब अपने आप से एक सूची में. 1574 01:06:46,700 --> 01:06:49,150 >> आप एक सूची में हैं क्योंकि अपने आप से, आप हल कर रहे हैं. 1575 01:06:49,150 --> 01:06:52,460 होने के लिए बधाई इस सरणी में पहला तत्व. 1576 01:06:52,460 --> 01:06:54,800 आप पहले से ही अपने दम पर सब हल कर रहे हैं. 1577 01:06:54,800 --> 01:06:58,900 तो अब हम एक हल और एक unsorted सरणी. 1578 01:06:58,900 --> 01:07:01,760 तो अब हम पहले ले. 1579 01:07:01,760 --> 01:07:05,600 क्या यहाँ के बीच होता है और यहाँ, हम कहते हैं कि है 1580 01:07:05,600 --> 01:07:08,890 ठीक है, हम को देखने के लिए जा रहे हैं हमारे unsorted सरणी के पहले मूल्य 1581 01:07:08,890 --> 01:07:13,270 और हम में निवेश करने के लिए यह जा रहे हैं इसकी हल सरणी में सही जगह है. 1582 01:07:13,270 --> 01:07:21,460 >> इसलिए हम 5 ले जाता है कि हमें क्या करना है और हम, 5 में से 3 से अधिक है, ठीक है, कहना 1583 01:07:21,460 --> 01:07:24,630 तो हम सिर्फ सही डालें उस के अधिकार के लिए. 1584 01:07:24,630 --> 01:07:25,130 हम अच्छा कर रहे हैं. 1585 01:07:25,130 --> 01:07:26,200 1586 01:07:26,200 --> 01:07:28,420 तो फिर हम अपने अगले एक पर चलते हैं. 1587 01:07:28,420 --> 01:07:29,720 और हम 2 ले. 1588 01:07:29,720 --> 01:07:34,330 हम ठीक है, 2 कम है, का कहना है 3 से, तो हम जानते हैं कि यह है कि 1589 01:07:34,330 --> 01:07:36,220 पर होने की जरूरत है अब हमारी सूची के सामने. 1590 01:07:36,220 --> 01:07:41,800 तो क्या हम क्या हम नीचे 3 और 5 धक्का है और हम हैं कि पहले स्लॉट में 2 चाल है. 1591 01:07:41,800 --> 01:07:42,990 1592 01:07:42,990 --> 01:07:45,870 तो हम बस में डालने रहे यह होना चाहिए सही जगह है. 1593 01:07:45,870 --> 01:07:46,960 1594 01:07:46,960 --> 01:07:49,470 >> तो फिर हम पर देखने के लिए हमारे अगले एक, और हम 6 कहना. 1595 01:07:49,470 --> 01:07:53,620 ठीक है, 6 से अधिक है हमारे हल सरणी में सब कुछ, 1596 01:07:53,620 --> 01:07:56,000 तो हम सिर्फ अंत करने के लिए उस पर टैग. 1597 01:07:56,000 --> 01:07:56,960 और फिर हम 4 पर दिखेगा. 1598 01:07:56,960 --> 01:07:58,130 1599 01:07:58,130 --> 01:08:03,020 4 से 6 से कम नहीं है, यह कम है 5 से लेकिन यह 3 से अधिक है. 1600 01:08:03,020 --> 01:08:06,270 तो हम सिर्फ सही में डालें 3 और 5 के बीच के बीच. 1601 01:08:06,270 --> 01:08:07,380 1602 01:08:07,380 --> 01:08:10,530 तो एक छोटे से बनाना अधिक ठोस सा, 1603 01:08:10,530 --> 01:08:12,280 यहाँ की तरह है क्या हुआ विचार. 1604 01:08:12,280 --> 01:08:16,430 प्रत्येक unsorted तत्व के लिए तो, हम जहां हल हिस्से में निर्धारित 1605 01:08:16,430 --> 01:08:17,090 यह है. 1606 01:08:17,090 --> 01:08:20,680 >> तो ध्यान में रखते हुए हल और unsorted, 1607 01:08:20,680 --> 01:08:26,080 हम के माध्यम से और आंकड़ा पार करने के लिए है इसे हल सरणी में फिट बैठता है, जहां बाहर. 1608 01:08:26,080 --> 01:08:31,460 और हम स्थानांतरण द्वारा डालें इसे सही करने के लिए नीचे तत्वों. 1609 01:08:31,460 --> 01:08:34,910 और फिर हम सिर्फ रखना हम जब तक के माध्यम से पुनरावृति 1610 01:08:34,910 --> 01:08:39,270 एक पूरी तरह से सॉर्ट की गई सूची है अब शून्य जहां unsorted है 1611 01:08:39,270 --> 01:08:41,720 और हल तक ले जाता है हमारी सूची की सम्पूर्णता. 1612 01:08:41,720 --> 01:08:43,146 1613 01:08:43,146 --> 01:08:45,854 तो, फिर से, यहां तक ​​कि चीजें बनाने के लिए अधिक ठोस, हम स्यूडोकोड है. 1614 01:08:45,854 --> 01:08:47,979 1615 01:08:47,979 --> 01:08:52,410 >> तो बुनियादी तौर पर मैं है के लिए एन शून्य से 1 0 के बराबर, 1616 01:08:52,410 --> 01:08:54,790 कि हमारे सरणी की सिर्फ लंबाई है. 1617 01:08:54,790 --> 01:09:00,979 हम के बराबर है कि कुछ तत्व है पहले सरणी या पहले सूचकांकों. 1618 01:09:00,979 --> 01:09:03,200 हम बराबर जम्मू निर्धारित किया है. 1619 01:09:03,200 --> 01:09:04,649 1620 01:09:04,649 --> 01:09:09,210 जम्मू से अधिक है तो, जबकि शून्य और सरणी, जम्मू शून्य से 1 1621 01:09:09,210 --> 01:09:11,660 से अधिक है तत्व, यह सब इसलिए कर रहा है 1622 01:09:11,660 --> 01:09:17,479 कि यकीन कर रहा है आपकी जम्मू वास्तव में प्रतिनिधित्व करता है 1623 01:09:17,479 --> 01:09:20,010 सरणी की unsorted भाग. 1624 01:09:20,010 --> 01:09:30,745 >> अभी भी वहाँ चीज़ें है इसलिए जब सॉर्ट और जम्मू शून्य से एक क्या is-- को 1625 01:09:30,745 --> 01:09:31,840 तत्व उसकी है? 1626 01:09:31,840 --> 01:09:34,760 जम्मू यहां परिभाषित नहीं किया गया. 1627 01:09:34,760 --> 01:09:35,677 यह कष्टप्रद की तरह है. 1628 01:09:35,677 --> 01:09:36,176 ठीक. 1629 01:09:36,176 --> 01:09:36,689 वैसे भी. 1630 01:09:36,689 --> 01:09:39,899 इसलिए जम्मू शून्य से 1, आप जाँच कर रहे हैं यह पहले तत्व. 1631 01:09:39,899 --> 01:09:46,460 आप ठीक है, तत्व है, कह रहे हैं मैं चलो am-- जहाँ भी पहले 1632 01:09:46,460 --> 01:09:47,540 वास्तव में यह बाहर खींचना. 1633 01:09:47,540 --> 01:09:52,580 1634 01:09:52,580 --> 01:09:56,830 तो चलो यह है हम कहते हैं हमारे दूसरा पास पर पसंद है. 1635 01:09:56,830 --> 01:09:59,525 तो मैं बराबर होने जा रहा है 1 को, जो यहाँ है. 1636 01:09:59,525 --> 01:10:03,310 1637 01:10:03,310 --> 01:10:06,025 >> तो मैं 1 के बराबर होने जा रहा है. 1638 01:10:06,025 --> 01:10:09,510 1639 01:10:09,510 --> 01:10:13,702 यह 2, 4, 5, 6, 7 होगा. 1640 01:10:13,702 --> 01:10:16,060 1641 01:10:16,060 --> 01:10:16,750 ठीक है. 1642 01:10:16,750 --> 01:10:20,945 इस मामले में तो हमारे तत्व 4 के बराबर होने जा रहा है. 1643 01:10:20,945 --> 01:10:22,110 1644 01:10:22,110 --> 01:10:24,946 और हम हैं कि कुछ J है 1 के बराबर होने जा रहा. 1645 01:10:24,946 --> 01:10:29,770 1646 01:10:29,770 --> 01:10:30,971 ओह, जम्मू decrementing है. 1647 01:10:30,971 --> 01:10:31,720 यही कारण है कि यह क्या है. 1648 01:10:31,720 --> 01:10:35,680 इसलिए जम्मू मैं करने के लिए बराबर है, तो यह क्या है कहावत है, हम आगे बढ़ना है कि है 1649 01:10:35,680 --> 01:10:37,530 हम सिर्फ यह सुनिश्चित कर रहे हैं हम खत्म नहीं कर रहे हैं कि 1650 01:10:37,530 --> 01:10:43,520 हम कोशिश कर रहे हैं जब इस तरह अनुक्रमण हमारे सॉर्ट की गई सूची में चीजें डालने के लिए. 1651 01:10:43,520 --> 01:10:49,850 >> इसलिए जम्मू इस मामले में 1 के बराबर है और जब इसलिए सरणी जम्मू शून्य से 1 one-- सरणी जम्मू ऋण 1652 01:10:49,850 --> 01:10:54,610 कि अगर इस case-- में 2 है तत्व से अधिक, 1653 01:10:54,610 --> 01:10:57,700 तो यह सब कर रही है बातें नीचे जा रहा है. 1654 01:10:57,700 --> 01:11:04,790 इस मामले में, सरणी जम्मू शून्य से एक तो 2 है जो सरणी शून्य होगा. 1655 01:11:04,790 --> 01:11:08,430 2, 4 से अधिक नहीं है इसलिए इस पर अमल नहीं करता है. 1656 01:11:08,430 --> 01:11:11,460 तो पारी नीचे कदम नहीं करता है. 1657 01:11:11,460 --> 01:11:18,790 क्या इस यहाँ करता है नीचे अपने हल सरणी चलती. 1658 01:11:18,790 --> 01:11:22,340 1659 01:11:22,340 --> 01:11:26,400 इस मामले में, वास्तव में, हम do-- सकता है, इस 3 बनाते हैं. 1660 01:11:26,400 --> 01:11:28,080 1661 01:11:28,080 --> 01:11:31,970 तो हम साथ के माध्यम से चलने के लिए कर रहे हैं इस उदाहरण के लिए, हम यहाँ अब कर रहे हैं. 1662 01:11:31,970 --> 01:11:32,740 यह हल है. 1663 01:11:32,740 --> 01:11:34,492 1664 01:11:34,492 --> 01:11:35,200 इस unsorted है. 1665 01:11:35,200 --> 01:11:39,090 1666 01:11:39,090 --> 01:11:39,860 कूल? 1667 01:11:39,860 --> 01:11:46,620 तो मैं तो, 2 के बराबर है हमारे तत्व 3 के बराबर है. 1668 01:11:46,620 --> 01:11:47,920 1669 01:11:47,920 --> 01:11:52,270 और हमारे जे 2 के बराबर है. 1670 01:11:52,270 --> 01:12:00,620 तो हम हम और के माध्यम से देखो ठीक है, सरणी जम्मू शून्य से एक है, का कहना है 1671 01:12:00,620 --> 01:12:03,470 तत्व से अधिक हम देख रहे हैं कि? 1672 01:12:03,470 --> 01:12:05,540 और जवाब सही, हां में है? 1673 01:12:05,540 --> 01:12:11,275 4 3 और जम्मू से अधिक है 2 है, इसलिए इस कोड को निष्पादित करता है. 1674 01:12:11,275 --> 01:12:12,510 1675 01:12:12,510 --> 01:12:18,550 >> तो अब हम पर एक सरणी क्या 2, यहीं तो, हम उन्हें स्वैप. 1676 01:12:18,550 --> 01:12:25,620 तो हम बस ठीक है, सरणी, कहना 2 पर अब 3 होने जा रहा है. 1677 01:12:25,620 --> 01:12:28,130 1678 01:12:28,130 --> 01:12:32,340 और जम्मू बराबर करने के लिए जा रहा है 1 है जो जम्मू शून्य से 1,. 1679 01:12:32,340 --> 01:12:34,590 1680 01:12:34,590 --> 01:12:37,200 यही कारण है, भयानक है लेकिन तुम लोग विचार मिलता है. 1681 01:12:37,200 --> 01:12:38,360 जम्मू अब 1 के बराबर है. 1682 01:12:38,360 --> 01:12:44,360 और सरणी जम्मू बस होने जा रहा है 4 थी जो हमारे तत्व, के बराबर. 1683 01:12:44,360 --> 01:12:45,950 1684 01:12:45,950 --> 01:12:48,570 मैं कुछ मिट मैं नहीं करना चाहिए है या miswrote कुछ, 1685 01:12:48,570 --> 01:12:49,910 लेकिन तुम लोगों को विचार मिलता है. 1686 01:12:49,910 --> 01:12:50,640 >> यह n पर ले जाते हैं. 1687 01:12:50,640 --> 01:12:51,920 1688 01:12:51,920 --> 01:12:57,960 इस थे तो और, अगर यह पाश होगा फिर और यह ठीक है, जे अब 1 है, कहेंगे. 1689 01:12:57,960 --> 01:13:00,665 और सरणी जम्मू शून्य से 1 अब 2 है. 1690 01:13:00,665 --> 01:13:01,750 1691 01:13:01,750 --> 01:13:03,760 2 हमारे तत्व से कम है? 1692 01:13:03,760 --> 01:13:04,540 कोई? 1693 01:13:04,540 --> 01:13:07,970 यही कारण है कि हम है कि इसका मतलब है इस तत्व डाला 1694 01:13:07,970 --> 01:13:10,110 हमारे हल सरणी में सही जगह में. 1695 01:13:10,110 --> 01:13:14,400 तो फिर हम इस ले जा सकते हैं और हम कहते हैं, ठीक है, हमारे हल सरणी यहाँ है. 1696 01:13:14,400 --> 01:13:19,940 और यह इस संख्या 6 ले और होगा जैसे, ठीक है, यह संख्या 6 से कम है? 1697 01:13:19,940 --> 01:13:20,480 कोई? 1698 01:13:20,480 --> 01:13:21,080 कूल. 1699 01:13:21,080 --> 01:13:22,680 हम ठीक कर रहे हैं. 1700 01:13:22,680 --> 01:13:23,530 >> इसे फिर से करना. 1701 01:13:23,530 --> 01:13:24,740 हम 7 कहना. 1702 01:13:24,740 --> 01:13:29,010 अंत से 7 कम है हमारे हल सरणी की? 1703 01:13:29,010 --> 01:13:29,520 नहीं. 1704 01:13:29,520 --> 01:13:30,430 तो हम ठीक कर रहे हैं. 1705 01:13:30,430 --> 01:13:32,760 तो इस हल किया जाएगा. 1706 01:13:32,760 --> 01:13:38,610 असल में यह सब होता है इसे ले कह रहा है 1707 01:13:38,610 --> 01:13:42,060 का पहला तत्व अपने unsorted सरणी, 1708 01:13:42,060 --> 01:13:46,010 यह हो जाता है जहां यह पता लगाने आपके हल सरणी में. 1709 01:13:46,010 --> 01:13:48,780 और यह सिर्फ ख्याल रखता है स्वैप के ऐसा करने के लिए. 1710 01:13:48,780 --> 01:13:51,300 आप मूल रूप से बस गमागमन रहे जब तक यह सही जगह में है. 1711 01:13:51,300 --> 01:13:53,600 1712 01:13:53,600 --> 01:13:56,990 दृश्य छवि आप कर रहे हैं कि है कि ऐसा करके सब कुछ नीचे घूम रहा है. 1713 01:13:56,990 --> 01:13:59,420 >> तो यह आधा बुलबुले की तरह क्रमबद्ध-esque एक है. 1714 01:13:59,420 --> 01:14:02,280 1715 01:14:02,280 --> 01:14:03,420 अध्ययन में 50 की जाँच करें. 1716 01:14:03,420 --> 01:14:06,000 मैं अत्यधिक कोशिश की सिफारिश अपने दम पर इस कोड को. 1717 01:14:06,000 --> 01:14:07,220 1718 01:14:07,220 --> 01:14:12,450 आप किसी भी मुद्दे या आप चाहते हैं एक प्रविष्टि प्रकार के लिए नमूना कोड देखते हैं, 1719 01:14:12,450 --> 01:14:13,750 कृपया मुझे बताओ. 1720 01:14:13,750 --> 01:14:14,500 मैं हमेशा के आसपास रहा हूँ. 1721 01:14:14,500 --> 01:14:16,600 1722 01:14:16,600 --> 01:14:20,200 तो सबसे ज्यादा मामले क्रम और सबसे अच्छा मामले क्रम. 1723 01:14:20,200 --> 01:14:30,700 आप आदमी को मैं पहले से ही मेज से देखा यह चुकता और एन दोनों N, आप दिखाया. 1724 01:14:30,700 --> 01:14:35,590 >> इतनी तरह की हम बात क्या की बंद रहा हमारे पिछले प्रकार के साथ के बारे में, सबसे खराब 1725 01:14:35,590 --> 01:14:38,760 मामले क्रम है कि अगर यह पूरी तरह से unsorted है, 1726 01:14:38,760 --> 01:14:42,530 हम इन एन बार के सभी तुलना करने के लिए है. 1727 01:14:42,530 --> 01:14:47,020 हम तुलना की एक पूरी बहुत कुछ यह रिवर्स क्रम में है क्योंकि अगर, 1728 01:14:47,020 --> 01:14:50,360 हम, ठीक है, यह कहने के लिए जा रहे हैं , यह अच्छा है, एक ही है 1729 01:14:50,360 --> 01:14:54,650 और इस एक तुलना करना होगा पहले एक के खिलाफ वापस ले जाया जाना है. 1730 01:14:54,650 --> 01:14:56,710 और हम की ओर पाने के रूप में पूंछ अंत, हम हैं 1731 01:14:56,710 --> 01:14:59,440 तुलना तुलना, और करने के लिए सब कुछ के खिलाफ की तुलना करें. 1732 01:14:59,440 --> 01:15:03,030 >> तो यह जा रहा है लगभग एन चुकता. 1733 01:15:03,030 --> 01:15:09,510 यह तो आप सही है आप अच्छा कर रहे हैं, 2, ठीक है, का कहना है. 1734 01:15:09,510 --> 01:15:11,330 3, आप 2 की तुलना कर रहे हैं. 1735 01:15:11,330 --> 01:15:12,310 आप अच्छे हो. 1736 01:15:12,310 --> 01:15:14,150 4, तुम सिर्फ पूंछ से तुलना करें. 1737 01:15:14,150 --> 01:15:14,990 आप अच्छे हो. 1738 01:15:14,990 --> 01:15:17,140 6, तुम ठीक हो, पूंछ से तुलना करें. 1739 01:15:17,140 --> 01:15:20,870 इसलिए हर जगह के लिए यह पहले से ही है तो हल, आप एक तुलना कर रहे हैं. 1740 01:15:20,870 --> 01:15:22,320 तो यह सिर्फ एन. 1741 01:15:22,320 --> 01:15:26,840 और हम एक सबसे अच्छा मामले क्रम है क्योंकि और एन एन के एक सबसे खराब स्थिति क्रम के 1742 01:15:26,840 --> 01:15:28,680 चुकता, हम कोई उम्मीद क्रम है. 1743 01:15:28,680 --> 01:15:31,290 1744 01:15:31,290 --> 01:15:34,020 >> यह बस पर निर्भर करता है वहाँ हमारी सूची की अराजकता. 1745 01:15:34,020 --> 01:15:35,860 1746 01:15:35,860 --> 01:15:39,530 और फिर, एक और ग्राफ और एक अन्य टेबल. 1747 01:15:39,530 --> 01:15:41,170 प्रकार के बीच मतभेद तो. 1748 01:15:41,170 --> 01:15:44,180 मैं बस के माध्यम से हवा करने के लिए जा रहा हूँ, मैं हम बड़े पैमाने पर बात की है की तरह लग रहा है 1749 01:15:44,180 --> 01:15:46,570 कैसे वे सभी तरह के बारे में की बदलती हैं और एक साथ जोड़ने. 1750 01:15:46,570 --> 01:15:50,564 तो क्रमबद्ध पिछले एक है विलय मैं के साथ तुम लोग बोर करेगा. 1751 01:15:50,564 --> 01:15:52,105 हम एक बहुत रंगीन तस्वीर है. 1752 01:15:52,105 --> 01:15:53,860 1753 01:15:53,860 --> 01:15:56,040 तो प्रकार का एक पुनरावर्ती एल्गोरिथ्म है विलय. 1754 01:15:56,040 --> 01:15:59,910 तो तुम लोगों को पता है क्या एक पुनरावर्ती समारोह है? 1755 01:15:59,910 --> 01:16:01,550 1756 01:16:01,550 --> 01:16:03,320 >> किसी को भी कहना चाहते हैं? 1757 01:16:03,320 --> 01:16:04,739 आप कोशिश करना चाहते हैं? 1758 01:16:04,739 --> 01:16:07,280 तो एक पुनरावर्ती समारोह बस है खुद कहता है कि एक समारोह. 1759 01:16:07,280 --> 01:16:08,570 1760 01:16:08,570 --> 01:16:11,590 तो तुम लोग परिचित हैं फाइबोनैचि अनुक्रम के साथ, 1761 01:16:11,590 --> 01:16:15,670 कि क्योंकि पुनरावर्ती समझा है आप पिछले दो ले 1762 01:16:15,670 --> 01:16:17,530 और उन्हें एक साथ जोड़ने अपने अगले एक पाने के लिए. 1763 01:16:17,530 --> 01:16:21,440 तो पुनरावर्ती, मुझे हमेशा लगता है एक सर्पिल तरह के रूप में प्रत्यावर्तन की 1764 01:16:21,440 --> 01:16:24,430 तो आप यह नीचे में चढ़ती पसंद कर रहे हैं. 1765 01:16:24,430 --> 01:16:27,150 लेकिन यह सिर्फ एक समारोह है कि खुद कहता है. 1766 01:16:27,150 --> 01:16:32,660 >> और, वास्तव में, वास्तव में जल्दी से मैं कि कैसा लग रहा है आपको दिखा सकते हैं. 1767 01:16:32,660 --> 01:16:34,260 1768 01:16:34,260 --> 01:16:41,840 हम देखें तो यहाँ तो पुनरावर्ती, यह है पुनरावर्ती रास्ता एक सरणी से अधिक योग करने के लिए. 1769 01:16:41,840 --> 01:16:45,900 1770 01:16:45,900 --> 01:16:47,880 तो सब है कि हम क्या है हम योग समारोह 1771 01:16:47,880 --> 01:16:52,210 एक आकार और एक सरणी लेता है कि राशि. 1772 01:16:52,210 --> 01:16:55,210 और अगर तुम नोटिस, आकार एक-एक समय से decrements. 1773 01:16:55,210 --> 01:17:00,365 और यह सब होता एक्स के बराबर है यदि है zero-- इसलिए यदि सरणी के आकार 1774 01:17:00,365 --> 01:17:02,710 यह शून्य रिटर्न zero-- के बराबर है. 1775 01:17:02,710 --> 01:17:10,440 >> अन्यथा यह इस रकम सरणी के अंतिम तत्व, 1776 01:17:10,440 --> 01:17:14,790 और तब की राशि लेता है सरणी के बाकी. 1777 01:17:14,790 --> 01:17:17,555 तो यह सिर्फ यह टूट रहा है और छोटे छोटे समस्याओं में. 1778 01:17:17,555 --> 01:17:18,990 1779 01:17:18,990 --> 01:17:21,890 लंबी कहानी संक्षेप, प्रत्यावर्तन, खुद कहता है कि समारोह. 1780 01:17:21,890 --> 01:17:25,740 कि तुम इस से बाहर हो गया सब है, कि एक पुनरावर्ती समारोह में है. 1781 01:17:25,740 --> 01:17:29,870 आप 51 ले, तो आप बहुत मिल जाएगा, प्रत्यावर्तन के साथ बहुत सहज. 1782 01:17:29,870 --> 01:17:31,110 1783 01:17:31,110 --> 01:17:32,370 यह वास्तव में अच्छा है. 1784 01:17:32,370 --> 01:17:34,660 यह तरह में समझदारी है बाहर 3 हूँ एक रात. 1785 01:17:34,660 --> 01:17:37,900 और मैं, क्यों की तरह था मैं इस का उपयोग कभी नहीं किया है? 1786 01:17:37,900 --> 01:17:39,170 1787 01:17:39,170 --> 01:17:42,430 >> असल में, मर्ज प्रकार के लिए तो क्या ऐसा करने जा रहा है यह बात है 1788 01:17:42,430 --> 01:17:45,620 इसे तोड़ने के नीचे और इसे तोड़ने के लिए जा रहा यह सिर्फ एक तत्व है जब तक नीचे. 1789 01:17:45,620 --> 01:17:47,570 एकल तत्वों सॉर्ट करने के लिए आसान कर रहे हैं. 1790 01:17:47,570 --> 01:17:48,070 हम देखते हैं कि. 1791 01:17:48,070 --> 01:17:50,760 आप एक तत्व है, यह है पहले से ही हल माना. 1792 01:17:50,760 --> 01:17:53,800 N तत्वों की एक इनपुट पर तो, एन कम से कम 2 है, 1793 01:17:53,800 --> 01:17:58,120 सिर्फ इतना है कि क्योंकि इसका मतलब लौटने यह हमने देखा है के रूप में 0 या 1 या तो है. 1794 01:17:58,120 --> 01:18:00,050 उन हल तत्व माना जाता है. 1795 01:18:00,050 --> 01:18:02,170 >> अन्यथा यह आधे में टूट गया. 1796 01:18:02,170 --> 01:18:06,336 दूसरा सॉर्ट, पहली छमाही क्रमबद्ध आधा, और फिर उन्हें एक साथ विलय. 1797 01:18:06,336 --> 01:18:07,460 क्यों यह मर्ज प्रकार का कहा जाता है. 1798 01:18:07,460 --> 01:18:08,700 1799 01:18:08,700 --> 01:18:12,155 हम इन सुलझा लेंगे तो हम यहाँ है. 1800 01:18:12,155 --> 01:18:13,410 1801 01:18:13,410 --> 01:18:17,210 इसलिए हम उन्हें कर रखना सरणी आकार 1 है जब तक. 1802 01:18:17,210 --> 01:18:20,790 यह 1 है, इसलिए जब हम बस वापस जाने इस एक हल सरणी है क्योंकि, 1803 01:18:20,790 --> 01:18:23,940 और यह एक हल सरणी है, और वह है एक हल सरणी, हम सब हल कर रहे हैं. 1804 01:18:23,940 --> 01:18:25,390 1805 01:18:25,390 --> 01:18:29,420 तो फिर हम क्या हम है उन्हें एक साथ विलय शुरू करते हैं. 1806 01:18:29,420 --> 01:18:31,820 >> तो जिस तरह से आप कर सकते हैं विलय के बारे में सोचना 1807 01:18:31,820 --> 01:18:36,240 तुम सिर्फ छोटे हटाने उप सरणियों में से प्रत्येक की संख्या 1808 01:18:36,240 --> 01:18:38,330 और सिर्फ उभरा सरणी के लिए संलग्न. 1809 01:18:38,330 --> 01:18:44,290 तो अगर हम जब तुम, यहाँ देखो इन सेटों हम 4, 6, और 1 है. 1810 01:18:44,290 --> 01:18:47,280 हम इन मर्ज करना चाहते हैं, हम इन पहले दो पर देखने के लिए 1811 01:18:47,280 --> 01:18:50,730 और हम 1 छोटा होता है, ठीक है, का कहना है, यह सामने करने के लिए चला जाता है. 1812 01:18:50,730 --> 01:18:54,330 4 और 6, तुलना करने के लिए कुछ भी नहीं है यह सिर्फ अंत करने के लिए उस पर टैग करने के लिए. 1813 01:18:54,330 --> 01:18:58,020 >> हम इन दो गठबंधन है, हम बस , इन दोनों के छोटे से एक ले 1814 01:18:58,020 --> 01:18:59,310 तो यह 1 है. 1815 01:18:59,310 --> 01:19:01,690 और अब हम ले इन दो, तो 2 से छोटे. 1816 01:19:01,690 --> 01:19:03,330 इन दो, 3 की छोटी. 1817 01:19:03,330 --> 01:19:06,260 इन दो, 4, 5, 6 के छोटे. 1818 01:19:06,260 --> 01:19:08,630 तो तुम सिर्फ इन खींच रहे हैं. 1819 01:19:08,630 --> 01:19:11,210 और वे है क्योंकि पहले से सुलझा लिया गया, 1820 01:19:11,210 --> 01:19:14,300 आप सिर्फ एक है तुलना वहाँ हर बार. 1821 01:19:14,300 --> 01:19:19,610 यहाँ तो अधिक कोड, सिर्फ प्रतिनिधित्व. 1822 01:19:19,610 --> 01:19:24,410 तो आप बीच में शुरू और आप क्रमबद्ध बाएँ और दाएँ 1823 01:19:24,410 --> 01:19:26,180 और तो आप सिर्फ उन विलय. 1824 01:19:26,180 --> 01:19:30,080 >> और हम कोड नहीं है के लिए यहीं विलय. 1825 01:19:30,080 --> 01:19:34,110 लेकिन, फिर से, आप पर जाना 50 अध्ययन, यह वहाँ हो जाएगा. 1826 01:19:34,110 --> 01:19:36,860 अन्यथा मुझे बात करने आते हैं यदि आप अभी भी उलझन में है. 1827 01:19:36,860 --> 01:19:42,340 यहाँ तो शांत बात यह है कि सबसे अच्छी स्थिति है, सबसे खराब स्थिति, और उम्मीद क्रम 1828 01:19:42,340 --> 01:19:46,250 एन सभी प्रवेश में जो कर रहे हैं हम है की तुलना में कहीं बेहतर है 1829 01:19:46,250 --> 01:19:48,000 हमारे प्रकार के आराम के लिए देखा. 1830 01:19:48,000 --> 01:19:51,840 हमने देखा एन चुकता कर लिया है और वास्तव में क्या हम 1831 01:19:51,840 --> 01:19:54,380 जो महान है, एन लॉग है यहां मिलता है. 1832 01:19:54,380 --> 01:19:55,830 >> वह यह है कि कितना बेहतर कर रहे हैं. 1833 01:19:55,830 --> 01:19:56,780 इस तरह एक अच्छा वक्र. 1834 01:19:56,780 --> 01:19:58,130 1835 01:19:58,130 --> 01:20:00,120 इसलिए बहुत अधिक कुशल है. 1836 01:20:00,120 --> 01:20:03,510 आप कभी भी कर सकते हैं, उपयोग प्रकार का विलय. 1837 01:20:03,510 --> 01:20:04,810 यह समय की बचत होगी. 1838 01:20:04,810 --> 01:20:07,670 तो फिर, जैसा कि हमने कहा, अगर यदि आप इस निचले क्षेत्र में नीचे रहे हैं 1839 01:20:07,670 --> 01:20:09,480 यह कि नहीं कर सकता है एक फर्क इतना. 1840 01:20:09,480 --> 01:20:11,360 आप हजारों करने के लिए उठो और जानकारी के हजारों, 1841 01:20:11,360 --> 01:20:13,318 आप निश्चित रूप से एक चाहते अधिक कुशल एल्गोरिथ्म. 1842 01:20:13,318 --> 01:20:14,730 1843 01:20:14,730 --> 01:20:19,400 सभी की और, फिर से, हमारी प्यारी तालिका तुम लोग आज सीखा कि तरह. 1844 01:20:19,400 --> 01:20:21,157 >> इसलिए मैं इसे एक घने दिन हो गया है पता है. 1845 01:20:21,157 --> 01:20:23,490 यह जरूरी नहीं जा रहा है अपने pset के साथ मदद करने के लिए. 1846 01:20:23,490 --> 01:20:28,250 लेकिन मैं सिर्फ एक त्याग करना चाहते हैं कि खंड सिर्फ psets के बारे में नहीं है. 1847 01:20:28,250 --> 01:20:31,240 यह सब सामग्री उचित है अपने midterms के लिए खेल. 1848 01:20:31,240 --> 01:20:35,430 और तुम सीएस के साथ जारी करना भी अगर, ये वास्तव में महत्वपूर्ण बुनियादी बातों हैं 1849 01:20:35,430 --> 01:20:37,870 कि आप को पता है की आवश्यकता होगी. 1850 01:20:37,870 --> 01:20:41,700 तो कुछ दिनों में हो जाएगा एक थोड़ा अधिक pset मदद, 1851 01:20:41,700 --> 01:20:44,600 लेकिन कुछ सप्ताह हो जाएगा और अधिक वास्तविक सामग्री 1852 01:20:44,600 --> 01:20:46,600 कि सुपर प्रतीत नहीं हो सकता अब ठीक है आप के लिए उपयोगी, 1853 01:20:46,600 --> 01:20:51,215 आप जारी रखते हैं, लेकिन मैं वादा करता हूँ पर बहुत, बहुत उपयोगी हो जाएगा. 1854 01:20:51,215 --> 01:20:52,560 1855 01:20:52,560 --> 01:20:54,250 >> तो यह है कि खंड के लिए है. 1856 01:20:54,250 --> 01:20:55,250 तार के लिए नीचे. 1857 01:20:55,250 --> 01:20:56,570 मैं एक मिनट के भीतर ऐसा किया था. 1858 01:20:56,570 --> 01:20:58,262 1859 01:20:58,262 --> 01:20:58,970 लेकिन वहाँ तुम जाओ. 1860 01:20:58,970 --> 01:21:01,240 और मैं डोनट्स या कैंडी होगा. 1861 01:21:01,240 --> 01:21:03,464 एलर्जी किसी को है वैसे कुछ भी,? 1862 01:21:03,464 --> 01:21:05,307 1863 01:21:05,307 --> 01:21:05,890 अंडे और दूध. 1864 01:21:05,890 --> 01:21:08,120 तो डोनट्स एक नहीं हैं? 1865 01:21:08,120 --> 01:21:09,400 1866 01:21:09,400 --> 01:21:10,160 ठीक. 1867 01:21:10,160 --> 01:21:10,770 ठीक है. 1868 01:21:10,770 --> 01:21:12,120 चॉकलेट नहीं? 1869 01:21:12,120 --> 01:21:12,620 स्टारबर्स्ट. 1870 01:21:12,620 --> 01:21:13,837 1871 01:21:13,837 --> 01:21:14,670 Starbursts अच्छा कर रहे हैं. 1872 01:21:14,670 --> 01:21:15,170 ठीक. 1873 01:21:15,170 --> 01:21:17,045 हम करने जा रहे हैं फिर अगले सप्ताह स्टारबर्स्ट. 1874 01:21:17,045 --> 01:21:18,240 यही कारण है कि मैं क्या मिलेगा है. 1875 01:21:18,240 --> 01:21:19,690 तुम लोग एक महान सप्ताह है. 1876 01:21:19,690 --> 01:21:20,460 अपनी कल्पना पढ़ें. 1877 01:21:20,460 --> 01:21:22,130 >> आप किसी भी प्रश्न हैं मुझे जानते हैं. 1878 01:21:22,130 --> 01:21:25,300 Pset दो ग्रेड होना चाहिए गुरुवार को आप को बाहर. 1879 01:21:25,300 --> 01:21:28,320 आप किसी भी सवाल है, तो मैं कुछ श्रेणीबद्ध तरीके के बारे में 1880 01:21:28,320 --> 01:21:32,250 या क्यों मैं जिस तरह से मैं कुछ श्रेणीबद्ध , कृपया मुझे ईमेल किया था, मुझसे बात आते हैं. 1881 01:21:32,250 --> 01:21:34,210 मैं एक छोटे से पागल इस हूँ सप्ताह, लेकिन मैं वादा करता हूँ 1882 01:21:34,210 --> 01:21:36,340 मैं अभी भी 24 घंटे के भीतर जवाब देंगे. 1883 01:21:36,340 --> 01:21:38,240 तो एक महान सप्ताह, हर किसी को है. 1884 01:21:38,240 --> 01:21:40,090 अपने pset पर गुड लक. 1885 01:21:40,090 --> 01:21:41,248