1 00:00:00,000 --> 00:00:03,332 >> [संगीत बजाना] 2 00:00:03,332 --> 00:00:06,490 >> ANDI PENG: खंड के 3 सप्ताह के लिए आपका स्वागत है। 3 00:00:06,490 --> 00:00:09,550 सभी आने के लिए धन्यवाद, तुम लोग, यह पहले शुरू करने का समय आज के लिए। 4 00:00:09,550 --> 00:00:11,466 हम एक अच्छा है, थोड़ा मिल गया है अंतरंग समूह आज। 5 00:00:11,466 --> 00:00:14,570 इसलिए उम्मीद है कि हम के लिए मिल जाएगा खत्म, शायद, जल्दी, 6 00:00:14,570 --> 00:00:15,780 एक छोटा सा आज जल्दी। 7 00:00:15,780 --> 00:00:22,057 तो जल्दी, सिर्फ कुछ एजेंडा आज के लिए घोषणाओं। 8 00:00:22,057 --> 00:00:23,890 हम शुरू करने से पहले, हम कर रहे हैं बस पर जाने के लिए जा 9 00:00:23,890 --> 00:00:28,910 कुछ संक्षिप्त सैन्य मुद्दों, pset सवाल, पूछताछ, इस तरह बातें। 10 00:00:28,910 --> 00:00:30,250 और फिर हम सही में गोता करेंगे। 11 00:00:30,250 --> 00:00:34,710 हम करने के लिए GDB नामक एक डिबगर इस्तेमाल करेंगे हमारे कोड, debunking शुरू दाऊद 12 00:00:34,710 --> 00:00:36,550 दूसरे दिन व्याख्यान में विस्तार से बताया। 13 00:00:36,550 --> 00:00:39,420 हम एक तरह की चार प्रकार पर जायेंगे। 14 00:00:39,420 --> 00:00:42,310 हम बहुत जल्दी से उन पर जाना होगा वे बहुत गहन रहे हैं के बाद। 15 00:00:42,310 --> 00:00:45,710 लेकिन सभी जानते हैं कि स्लाइड और स्रोत कोड ऑनलाइन हमेशा से रहे हैं। 16 00:00:45,710 --> 00:00:50,810 तो, आपके अवलोकन पर, बेझिझक वापस जाने के लिए और उस पर एक नज़र रखना। 17 00:00:50,810 --> 00:00:53,930 >> हम माध्यम से जाना होगा उपगामी संकेतन, जो 18 00:00:53,930 --> 00:00:55,944 सिर्फ एक अच्छा तरीका है कह "runtimes," 19 00:00:55,944 --> 00:00:58,360 हम बड़े हे है, जो जहां डेविड व्याख्यान में विस्तार से बताया। 20 00:00:58,360 --> 00:01:01,550 और हम भी ओमेगा, जो है कम बाध्य क्रम है। 21 00:01:01,550 --> 00:01:06,450 और हम थोड़ा और अधिक बात करेंगे में गहराई से कैसे उन काम के बारे में। 22 00:01:06,450 --> 00:01:10,160 और अंत में, हम, द्विआधारी खोज पर जायेंगे क्योंकि पहले से ही है, जो आप में एक बहुत 23 00:01:10,160 --> 00:01:15,190 अपने psets पर नजर शायद जानते हैं कि कि अपने pset में है कि एक सवाल है। 24 00:01:15,190 --> 00:01:17,470 तो आप सब खुश हो जाएगा हम आज यह है कि कवर। 25 00:01:17,470 --> 00:01:20,610 >> और अंत में, प्रति अपने खंड प्रतिक्रिया है, मैं वास्तव में 26 00:01:20,610 --> 00:01:23,000 पर लगभग 15 मिनट के लिए छोड़ दिया अंत में बस पर जाने के लिए 27 00:01:23,000 --> 00:01:27,730 pset3 की रसद, किसी भी सवाल, शायद मार्गदर्शन का एक सा है, अगर तुम जाएगा, 28 00:01:27,730 --> 00:01:28,990 हम प्रोग्रामिंग शुरू होने से पहले। 29 00:01:28,990 --> 00:01:30,890 तो चलो माध्यम से प्राप्त करने की कोशिश करते हैं बहुत जल्दी सामग्री। 30 00:01:30,890 --> 00:01:33,880 और फिर हम कुछ समय खर्च कर सकते हैं pset के लिए अधिक प्रश्नों ले रही है। 31 00:01:33,880 --> 00:01:35,230 ठीक। 32 00:01:35,230 --> 00:01:39,570 >> जल्दी है, तो बस कुछ हम पहले घोषणाओं आज शुरू करते हैं। 33 00:01:39,570 --> 00:01:45,410 सबसे पहले, बनाने के लिए स्वागत अपने psets के दो के माध्यम से यह। 34 00:01:45,410 --> 00:01:49,432 मैं your-- हाँ, चलो पर एक नज़र लिया कि एक के लिए प्रशंसा का एक दौर हो। 35 00:01:49,432 --> 00:01:51,140 असल में, मैं वास्तव में था वास्तव में प्रभावित। 36 00:01:51,140 --> 00:01:55,800 मैं आप लोगों के लिए पहली pset श्रेणीबद्ध पिछले हफ्ते और तुम लोगों को अविश्वसनीय था। 37 00:01:55,800 --> 00:01:58,290 >> शैली बिंदु पर था कुछ टिप्पणियों के अलावा। 38 00:01:58,290 --> 00:02:00,660 सुनिश्चित करें कि आप हमेशा से रहे हैं बनाओ अपने कोड टिप्पणी। 39 00:02:00,660 --> 00:02:03,040 लेकिन अपने psets बिंदु पर थे। 40 00:02:03,040 --> 00:02:05,549 और इसे रखने के लिए। 41 00:02:05,549 --> 00:02:08,090 और यह करने के लिए ग्रेडर के लिए अच्छा है तुम लोगों को लगा रहे हैं कि वहाँ 42 00:02:08,090 --> 00:02:10,704 अपनी शैली में बहुत प्रयास के रूप में अपने कोड में और अपने डिजाइन 43 00:02:10,704 --> 00:02:12,120 आप को देखने के लिए हम चाहते हैं कि। 44 00:02:12,120 --> 00:02:16,450 इसलिए मैं अपनी कृतज्ञता के साथ गुजर रहा हूँ TAs के आराम के लिए। 45 00:02:16,450 --> 00:02:19,210 >> वहाँ रहे हैं लेकिन एक कुछ पूछताछ सवाल 46 00:02:19,210 --> 00:02:22,010 मैं सिर्फ इतना है कि ऊपर जाने के लिए चाहते हैं दोनों मेरे जीवन बनाना होगा 47 00:02:22,010 --> 00:02:24,900 और अन्य का एक बहुत TAs 'थोड़ा आसान रहता है। 48 00:02:24,900 --> 00:02:28,220 सबसे पहले, मैंने देखा है यह अतीत आप में से कितने week-- 49 00:02:28,220 --> 00:02:32,301 पर check50 चल रहा है इससे पहले कि आप अपने कोड प्रस्तुत? 50 00:02:32,301 --> 00:02:32,800 ठीक। 51 00:02:32,800 --> 00:02:36,690 तो हर कोई check50 कर दिया जाना चाहिए, वास्तव में हम एक secret-- because-- 52 00:02:36,690 --> 00:02:41,540 हमारी शुद्धता के हिस्से के रूप में check50 चलाने अपने कोड के परीक्षण के लिए स्क्रिप्ट। 53 00:02:41,540 --> 00:02:45,480 अपने कोड में विफल रहा है तो अगर check50, सभी संभावना में, 54 00:02:45,480 --> 00:02:47,570 यह शायद करने के लिए जा रहा है के रूप में अच्छी तरह से हमारी जांच असफल। 55 00:02:47,570 --> 00:02:49,320 कभी-कभी आप लोग सही जवाब है। 56 00:02:49,320 --> 00:02:52,200 की तरह, लालची, कुछ अगर आप सही संख्या है, 57 00:02:52,200 --> 00:02:53,960 आप बस कुछ अतिरिक्त सामान बाहर प्रिंट। 58 00:02:53,960 --> 00:02:55,940 और कहा कि अतिरिक्त सामान वास्तव में जांच करने में विफल रहता है, 59 00:02:55,940 --> 00:02:58,440 कंप्यूटर नहीं करता है क्योंकि वास्तव में इसके लिए क्या देख रही है पता है। 60 00:02:58,440 --> 00:03:00,981 और तो यह सिर्फ माध्यम से चलेंगे अपने उत्पादन नहीं करता है कि वहाँ 61 00:03:00,981 --> 00:03:03,810 हम जवाब की उम्मीद क्या मैच हो सकता है, और यह गलत है चिह्नित करने के लिए। 62 00:03:03,810 --> 00:03:06,560 >> और मैं में हुआ पता है कि अपने मामलों में से कुछ इस सप्ताह। 63 00:03:06,560 --> 00:03:09,870 इसलिए मैं वापस और मैन्युअल चला गया हर किसी का कोड regraded। 64 00:03:09,870 --> 00:03:12,780 हालांकि भविष्य में, , कृपया सुनिश्चित करें कृपया 65 00:03:12,780 --> 00:03:14,570 आप चला रहे हैं कि अपने कोड पर 50 की जाँच करें। 66 00:03:14,570 --> 00:03:17,970 यह टीए के लिए एक दर्द की तरह है क्योंकि regrade मैन्युअल वापस जाने के लिए और करने के लिए 67 00:03:17,970 --> 00:03:21,197 हर एक के लिए हर एक pset एकल, छोटी सी चूक उदाहरण। 68 00:03:21,197 --> 00:03:22,530 तो मैं किसी भी अंक से नहीं लिया। 69 00:03:22,530 --> 00:03:25,210 मैंने सोचा कि मैं शायद दूर ले गया लगता है एक या डिजाइन के लिए दो। 70 00:03:25,210 --> 00:03:27,710 हालांकि भविष्य में, यदि आप check50 असफल रहे हैं 71 00:03:27,710 --> 00:03:31,330 अंक ले जाया जाएगा शुद्धता के लिए बंद। 72 00:03:31,330 --> 00:03:35,020 >> इसके अलावा, psets हैं दोपहर में शुक्रवार की वजह से। 73 00:03:35,020 --> 00:03:38,990 मैं एक सात मिनट लगता है कि वहाँ हम आपको दे कि देर से रियायती अवधि। 74 00:03:38,990 --> 00:03:42,434 हार्वर्ड समय के अनुसार, वे करने के लिए अनुमति दी हो सात मिनट देर से सब कुछ करने के लिए किया जाना है। 75 00:03:42,434 --> 00:03:44,350 यहाँ तो येल में, हम करेंगे साथ ही उस पर कायम रहें। 76 00:03:44,350 --> 00:03:47,910 लेकिन बहुत ज्यादा, 00:07 पर, अपने pset में नहीं है, 77 00:03:47,910 --> 00:03:49,720 यह रूप में देर के रूप में चिह्नित किया जा रहा है। 78 00:03:49,720 --> 00:03:53,160 इसलिए जब और यह चिह्नित है के रूप में देर से, TA-- मैं कर रहा हूँ 79 00:03:53,160 --> 00:03:54,870 अभी भी अपने psets ग्रेडिंग किया जा रहा है। 80 00:03:54,870 --> 00:03:56,760 तो आप अभी भी एक ग्रेड दिखाई देगा। 81 00:03:56,760 --> 00:03:58,820 हालांकि, कम से जानते हैं कि सेमेस्टर के अंत में, 82 00:03:58,820 --> 00:04:02,270 सब देर psets बस हो जाएगा स्वचालित रूप से कंप्यूटर द्वारा चुना। 83 00:04:02,270 --> 00:04:04,490 >> हम दो कारणों के लिए ऐसा करते हैं। 84 00:04:04,490 --> 00:04:09,220 एक, कभी कभी हम मिल डीन के बहाने की तरह, माफ़, 85 00:04:09,220 --> 00:04:10,762 बाद में उस पर मैं अभी तक के बारे में पता नहीं है। 86 00:04:10,762 --> 00:04:13,761 तो हम ग्रेडिंग रहे हैं सुनिश्चित करने के लिए की तरह बस के मामले में सब कुछ है, जैसे, मैं कर रहा हूँ 87 00:04:13,761 --> 00:04:15,080 एक डीन बहाना याद आ रही है। 88 00:04:15,080 --> 00:04:17,000 और दूसरी बात, में रखना मन, तुम अब भी कर सकते हैं 89 00:04:17,000 --> 00:04:19,370 एक pset कि ड्रॉप पूरी गुंजाइश अंक है। 90 00:04:19,370 --> 00:04:21,430 और इसलिए हम ग्रेड के लिए पसंद अपने psets के सभी बस 91 00:04:21,430 --> 00:04:24,730 अपने कार्यक्षेत्र के लिए सुनिश्चित करें कि करने के लिए वहाँ और आप उन्हें कोशिश कर रहे हैं। 92 00:04:24,730 --> 00:04:29,150 यह देर हो चुकी है, तो भी अगर आप अभी भी हूँ गुंजाइश अंक के लिए ऋण मिलता है, मुझे लगता है। 93 00:04:29,150 --> 00:04:33,730 >> कहानी है तो नैतिक, बनाना सुनिश्चित करें कि आपके psets पर समय में कर रहे हैं। 94 00:04:33,730 --> 00:04:38,350 और वे समय पर नहीं कर रहे हैं, यह बहुत अच्छा नहीं है कि पता है। 95 00:04:38,350 --> 00:04:41,678 हाँ, मुझे आगे बढ़ने से पहले, किसी को भी करता है pset प्रतिक्रिया के बारे में कोई सवाल? 96 00:04:41,678 --> 00:04:42,178 हाँ। 97 00:04:42,178 --> 00:04:43,630 >> दर्शकों: आप हम कहा था psets में से एक को छोड़ सकते हैं? 98 00:04:43,630 --> 00:04:44,296 >> ANDI PENG: हाँ। 99 00:04:44,296 --> 00:04:47,050 तो नौ psets समग्र वहाँ सेमेस्टर के पाठ्यक्रम पर। 100 00:04:47,050 --> 00:04:50,610 और अगर आप गुंजाइश है, तो points-- इतनी गुंजाइश है, बस है 101 00:04:50,610 --> 00:04:53,567 बहुत ज्यादा, आप प्रयास कर रहे हैं समस्या यह है कि आप समय में डाल रहे हैं 102 00:04:53,567 --> 00:04:56,150 क्या आप है कि दिखा रहे हैं प्रदर्शन आप कल्पना पढ़ा है। 103 00:04:56,150 --> 00:04:57,191 यह काफी गुंजाइश है। 104 00:04:57,191 --> 00:04:59,370 और अगर आप को पूरा कर रहे हैं, तो गुंजाइश अंक, हम 105 00:04:59,370 --> 00:05:03,360 सबसे कम ड्रॉप कर सकते हैं पूर्ण दायरे से बाहर है। 106 00:05:03,360 --> 00:05:06,790 तो यह है कि अपने लाभ में है को पूरा करने और हर pset प्रयास करें। 107 00:05:06,790 --> 00:05:10,320 >> यहाँ तक कि upload-- कोई नहीं करता है, तो उन्हें उन सब को अपलोड, काम करते हैं। 108 00:05:10,320 --> 00:05:13,711 और फिर हम उम्मीद कर सकेंगे आप उन बिंदुओं में से कुछ वापस दे। 109 00:05:13,711 --> 00:05:14,210 कूल। 110 00:05:14,210 --> 00:05:16,780 कोई ओर प्रश्न? 111 00:05:16,780 --> 00:05:17,840 अच्छा है। 112 00:05:17,840 --> 00:05:21,960 >> दूसरे, कार्यालय में कुछ hours-- कार्यालय समय के बारे में जल्दी नोट। 113 00:05:21,960 --> 00:05:24,300 तो पहले, शुरुआती सप्ताह में आते हैं। 114 00:05:24,300 --> 00:05:26,909 कोई भी कभी भी है सोमवार को कार्यालय समय। 115 00:05:26,909 --> 00:05:28,700 क्राइस्टाबेल के लिए आया था कार्यालय समय कल रात। 116 00:05:28,700 --> 00:05:29,691 हाँ, क्राइस्टाबेल। 117 00:05:29,691 --> 00:05:32,190 और हम ऑफिस पर क्या किया है घंटे कल रात, क्राइस्टाबेल? 118 00:05:32,190 --> 00:05:33,020 >> दर्शकों: हम आइसक्रीम था। 119 00:05:33,020 --> 00:05:36,160 >> ANDI PENG: तो यह सही है, हम था कार्यालय समय में आइसक्रीम कल रात। 120 00:05:36,160 --> 00:05:39,390 मुझे लगता है कि आप वादा नहीं कर सकते हम कार्यालय समय में आइसक्रीम होगा 121 00:05:39,390 --> 00:05:43,230 हर हफ्ते, मैं तुमसे वादा कर सकते हैं उल्लेखनीय है कि एक नहीं होगा कि है 122 00:05:43,230 --> 00:05:45,380 प्रादेशिक सेना के अनुपात को बेहतर छात्र। 123 00:05:45,380 --> 00:05:47,650 कानूनी तरह, यह 3-1 की तरह है। 124 00:05:47,650 --> 00:05:50,350 के साथ कि इसके विपरीत जबकि गुरुवार, आप के बारे में 150 मिल गया है 125 00:05:50,350 --> 00:05:52,830 वास्तव में बच्चों और कोई आइसक्रीम पर बल दिया। 126 00:05:52,830 --> 00:05:55,360 और यह सिर्फ किसी के लिए भी उपयोगी नहीं है। 127 00:05:55,360 --> 00:05:58,730 कहानी का तो नैतिक, जल्दी आ जाता है, कार्यालय समय और अच्छी बातें करने के लिए 128 00:05:58,730 --> 00:06:00,310 क्या होगा। 129 00:06:00,310 --> 00:06:02,110 >> इसके अलावा, सवाल पूछने के लिए तैयार आना। 130 00:06:02,110 --> 00:06:03,200 आपको पता है? 131 00:06:03,200 --> 00:06:05,420 भले ही क्या TAs की, मैं , कह दिया गया है लगता है, 132 00:06:05,420 --> 00:06:10,710 हम एक दो छात्रों को मिल रहा है 10:50, जैसे, पर गुरुवार को में आने वाले 133 00:06:10,710 --> 00:06:15,100 कल्पना पढ़ने वाले नहीं मेरी मदद की तरह किया जा रहा है, मेरी मदद करो। 134 00:06:15,100 --> 00:06:18,200 दुर्भाग्य से उस बिंदु पर, वहाँ है बहुत ज्यादा नहीं है हम आपकी मदद कर सकते हैं। 135 00:06:18,200 --> 00:06:19,590 इतनी जल्दी सप्ताह में आ कृपया। 136 00:06:19,590 --> 00:06:22,040 कार्यालय समय के लिए जल्दी आओ। 137 00:06:22,040 --> 00:06:23,350 सवाल पूछने के लिए तैयार आओ। 138 00:06:23,350 --> 00:06:25,310 के रूप में, यकीन है कि आपको लगता है कि बनाओ एक छात्र, जहां हैं 139 00:06:25,310 --> 00:06:27,620 तुम इतनी है कि होने की जरूरत Tas, साथ में मार्गदर्शन कर सकते हैं 140 00:06:27,620 --> 00:06:32,850 क्या कार्यालय समय है जो चाहिए के लिए आवंटित किया। 141 00:06:32,850 --> 00:06:37,380 >> दूसरी बात है, तो मैं प्रोफेसरों को पता है परीक्षण के साथ हमें आश्चर्य की तरह है। 142 00:06:37,380 --> 00:06:39,439 मैं एक प्रोफेसर उन था यो, तरह, जिस तरह से, 143 00:06:39,439 --> 00:06:41,230 कि मध्यावधि याद आप अगले सोमवार है। 144 00:06:41,230 --> 00:06:42,855 हाँ, मुझे लगता है कि मध्यावधि के बारे में पता नहीं था। 145 00:06:42,855 --> 00:06:45,630 इसलिए मुझे लगता है कि होने जा रहा हूँ टीए कि तुम सब है कि प्रश्नोत्तरी याद दिलाता है 146 00:06:45,630 --> 00:06:47,270 तुम्हें पता है, क्योंकि 0--, हम सीएस कर रहे हैं। 147 00:06:47,270 --> 00:06:50,730 अब हम किया सरणियों है कि आप मिलता है यह प्रश्नोत्तरी 0 क्यों है, एह एक प्रश्नोत्तरी नहीं? 148 00:06:50,730 --> 00:06:51,320 ठीक। 149 00:06:51,320 --> 00:06:52,490 ओह, मुझे लगता है कि एक पर कुछ दूसरे से टकराए मिला है। 150 00:06:52,490 --> 00:06:53,120 ठीक। 151 00:06:53,120 --> 00:06:59,710 >> तो प्रश्नोत्तरी 0 यदि 14 अक्टूबर होगी आप सोमवार से बुधवार खंड में हो 152 00:06:59,710 --> 00:07:02,920 और 15 अक्टूबर आप में कर रहे हैं मंगलवार गुरुवार अनुभाग। 153 00:07:02,920 --> 00:07:05,630 इस के लिए लागू नहीं होता हार्वर्ड में आप उन लोगों के 154 00:07:05,630 --> 00:07:10,350 मैं आप सभी को हो जाएगा लगता who-- 14 तारीख को अपने क्विज़ ले रही है। 155 00:07:10,350 --> 00:07:13,560 >> तो हाँ, अगले सप्ताह, यदि डेविड, व्याख्यान में चला जाता है, 156 00:07:13,560 --> 00:07:15,747 हाँ, उसके बारे में इतना प्रश्नोत्तरी अगले सप्ताह है, आप सभी 157 00:07:15,747 --> 00:07:17,580 क्योंकि हैरान नहीं की जाएगी आप अनुभाग के लिए आया था 158 00:07:17,580 --> 00:07:19,664 और आप जानते हैं कि आपके प्रश्नोत्तरी 0 दो हफ्तों में है। 159 00:07:19,664 --> 00:07:21,580 और हम समीक्षा करनी होगी सत्र और सब कुछ। 160 00:07:21,580 --> 00:07:26,360 के बारे में तो कोई चिंता नहीं उस के लिए डरा दिया जा रहा है। 161 00:07:26,360 --> 00:07:29,890 किसी भी सवाल का कोई प्रश्न के before-- सब के बारे में सैन्य मुद्दों पर, 162 00:07:29,890 --> 00:07:32,591 ग्रेडिंग, कार्यालय समय, वर्गों? 163 00:07:32,591 --> 00:07:33,090 हाँ। 164 00:07:33,090 --> 00:07:35,100 >> दर्शकों: प्रश्नोत्तरी है तो व्याख्यान के दौरान होने जा रहा? 165 00:07:35,100 --> 00:07:35,766 >> ANDI PENG: हाँ। 166 00:07:35,766 --> 00:07:39,460 प्रश्नोत्तरी तो, मुझे लगता है, 60 है उस समय स्लॉट में आवंटित मिनट 167 00:07:39,460 --> 00:07:42,240 आप बस ले लेंगे कि व्याख्यान कक्ष में। 168 00:07:42,240 --> 00:07:44,810 तो अगर आप में आने की जरूरत नहीं है एक यादृच्छिक 19:00, जैसे, पर। 169 00:07:44,810 --> 00:07:46,140 यह सब अच्छा है। 170 00:07:46,140 --> 00:07:47,100 हाँ। 171 00:07:47,100 --> 00:07:50,060 कूल। 172 00:07:50,060 --> 00:07:50,840 >> ठीक है। 173 00:07:50,840 --> 00:07:54,330 तो हम करने जा रहे हैं आप के लिए एक अवधारणा को लागू 174 00:07:54,330 --> 00:08:00,760 डेविड तरह पहले से ही है कि इस सप्ताह की यह पिछले सप्ताह व्याख्यान में पर छुआ। 175 00:08:00,760 --> 00:08:02,010 यह GDB कहा जाता है। 176 00:08:02,010 --> 00:08:05,570 और आप में से कितने, जबकि में अपने psets लिख ज़ाहिर है, 177 00:08:05,570 --> 00:08:09,981 कहते हैं कि एक बड़े बटन देखा है अपने आईडीई के शीर्ष पर "डिबग"? 178 00:08:09,981 --> 00:08:10,480 ठीक। 179 00:08:10,480 --> 00:08:13,770 तो अब हम वास्तव में पर्दाफाश करने के लिए मिल जाएगा क्या है कि बटन के रहस्य वास्तव में 180 00:08:13,770 --> 00:08:14,270 करता है। 181 00:08:14,270 --> 00:08:16,790 और मुझे लगता है कि यह एक है, आप की गारंटी सुंदर, सुंदर बात। 182 00:08:16,790 --> 00:08:20,740 >> अब तक, मुझे लगता है कि ऊपर तो वहाँ दो चीजें हो गया है 183 00:08:20,740 --> 00:08:23,320 छात्रों को आम तौर पर किया गया है psets जब debugging कर रही है। 184 00:08:23,320 --> 00:08:27,635 एक, वे या तो में जोड़ने printf () - तो हर कुछ लाइनों, 185 00:08:27,635 --> 00:08:29,760 वे एक printf () में जोड़ - ओह, यह चर क्या है? 186 00:08:29,760 --> 00:08:32,551 ओह, यह चर क्या है now-- और आप किस तरह की प्रगति देख 187 00:08:32,551 --> 00:08:33,940 अपने कोड की यह रन के रूप में। 188 00:08:33,940 --> 00:08:37,030 या बच्चों को क्या दूसरी विधि है वे अभी पूरी बात लिखने कि 189 00:08:37,030 --> 00:08:38,610 और फिर अंत में इस तरह चलते हैं। 190 00:08:38,610 --> 00:08:39,970 उम्मीद है कि यह काम करता है। 191 00:08:39,970 --> 00:08:44,851 मैं तुम्हें गारंटी, GDB बेहतर है उन तरीकों में से दोनों की तुलना में। 192 00:08:44,851 --> 00:08:45,350 हाँ। 193 00:08:45,350 --> 00:08:46,980 तो यह अपने नए सबसे अच्छा दोस्त हो जाएगा। 194 00:08:46,980 --> 00:08:51,780 यह एक खूबसूरत चीज है क्योंकि कि नेत्रहीन प्रदर्शित करता है दोनों 195 00:08:51,780 --> 00:08:54,850 क्या अपने कोड से कर रही है एक विशिष्ट बिंदु पर 196 00:08:54,850 --> 00:08:57,486 के रूप में अच्छी तरह से क्या सब के रूप में अपने चर ले जा रहे हैं, 197 00:08:57,486 --> 00:08:59,610 उनके मूल्यों को क्या कर रहे हैं जैसे, कि विशिष्ट बिंदु पर। 198 00:08:59,610 --> 00:09:02,670 और इस तरह से, तुम सच में कर सकते हैं अपने कोड में ब्रेकप्वाइंट निर्धारित किया है। 199 00:09:02,670 --> 00:09:04,350 आप लाइन से लाइन के माध्यम से चला सकते हैं। 200 00:09:04,350 --> 00:09:07,324 और GDB बस के लिए होगा आप, आप के लिए प्रदर्शित 201 00:09:07,324 --> 00:09:09,490 क्या अपने सभी चर की , वे क्या कर रहे हैं, 202 00:09:09,490 --> 00:09:10,656 क्या कोड में चल रहा है। 203 00:09:10,656 --> 00:09:13,240 और इस तरह से, यह है इतना आसान देखने के लिए 204 00:09:13,240 --> 00:09:17,120 क्या printf हैैं की बजाय क्या हो रहा है या अपने बयानों नीचे लिख। 205 00:09:17,120 --> 00:09:19,160 >> तो हम बाद में इस का एक उदाहरण क्या करेंगे। 206 00:09:19,160 --> 00:09:20,660 तो यह थोड़ी संक्षिप्त लगता है। 207 00:09:20,660 --> 00:09:23,490 कोई चिंता नहीं, हम उदाहरण क्या करेंगे। 208 00:09:23,490 --> 00:09:29,170 और तो अनिवार्य रूप से, तीन सबसे बड़े, आप GDB में की आवश्यकता होगी कार्यों सबसे अधिक इस्तेमाल किया 209 00:09:29,170 --> 00:09:32,500 इसके बाद, खत्म हो गया कदम है, और बटन में कदम। 210 00:09:32,500 --> 00:09:34,860 मैं सिर पर जा रहा हूँ वहाँ है, वास्तव में, अब ठीक है। 211 00:09:34,860 --> 00:09:40,930 >> तो तुम लोग सब देख सकते हैं कि या मैं एक बिट में ज़ूम चाहिए? 212 00:09:40,930 --> 00:09:43,220 213 00:09:43,220 --> 00:09:44,470 पीठ में, आप देख सकते हैं कि? 214 00:09:44,470 --> 00:09:45,730 मैं में ज़ूम चाहिए? 215 00:09:45,730 --> 00:09:46,480 बस थोड़ा सा? 216 00:09:46,480 --> 00:09:49,390 अच्छा ठीक है। 217 00:09:49,390 --> 00:09:50,280 हम वहाँ चलें। 218 00:09:50,280 --> 00:09:50,960 ठीक। 219 00:09:50,960 --> 00:09:57,000 >> इसलिए मुझे लगता है कि मेरे लिए, यहाँ है लालची के लिए कार्यान्वयन। 220 00:09:57,000 --> 00:10:01,430 और आप लोगों का एक बहुत कुछ लिखा है, जबकि कि form-- जबकि पाश में लालची 221 00:10:01,430 --> 00:10:04,890 ऐसा करने के लिए एक पूरी तरह से स्वीकार्य तरीका है यह बस के लिए है करने के लिए एक और रास्ता it-- 222 00:10:04,890 --> 00:10:06,280 सापेक्ष में विभाजित करते हैं। 223 00:10:06,280 --> 00:10:09,290 तो तुम हो सकता है क्योंकि आपके मूल्य और फिर अपने शेष है। 224 00:10:09,290 --> 00:10:11,150 और फिर तुम सिर्फ कर सकते हैं यह सब एक साथ जोड़ें। 225 00:10:11,150 --> 00:10:13,390 मैं क्या कर रहा हूँ के तर्क करता है यहां हर किसी को समझ कर, 226 00:10:13,390 --> 00:10:14,117 हम शुरू करने से पहले? 227 00:10:14,117 --> 00:10:16,760 228 00:10:16,760 --> 00:10:17,980 एक प्रकार का? 229 00:10:17,980 --> 00:10:18,710 कूल। 230 00:10:18,710 --> 00:10:19,210 अच्छा है। 231 00:10:19,210 --> 00:10:21,290 यह एक बहुत सेक्सी टुकड़ा है कोड की है, मैं कहूँगा। 232 00:10:21,290 --> 00:10:23,502 जैसे मैंने दाऊद में कहा, एक समय के बाद, व्याख्यान, 233 00:10:23,502 --> 00:10:25,960 आप सभी कोड देखकर शुरू करेंगे सुंदर है कि कुछ के रूप में। 234 00:10:25,960 --> 00:10:29,950 और कभी कभी तुम सुंदर जब देखते हैं कोड, यह एक ऐसी अद्भुत लग रहा है। 235 00:10:29,950 --> 00:10:35,410 >> ताकि हालांकि, इस कोड को बहुत है, जबकि सुंदर, यह ठीक से काम नहीं करता है। 236 00:10:35,410 --> 00:10:37,750 तो चलो इस पर check50 चलाते हैं। 237 00:10:37,750 --> 00:10:39,440 50 20-- OOP की जाँच करें। 238 00:10:39,440 --> 00:10:43,221 239 00:10:43,221 --> 00:10:43,720 2? 240 00:10:43,720 --> 00:10:44,990 कि pset2 है? 241 00:10:44,990 --> 00:10:46,870 हाँ। 242 00:10:46,870 --> 00:10:47,520 ओह, pset1। 243 00:10:47,520 --> 00:10:50,970 244 00:10:50,970 --> 00:10:52,890 ठीक। 245 00:10:52,890 --> 00:10:53,900 इसलिए हम check50 चलाते हैं। 246 00:10:53,900 --> 00:11:01,550 247 00:11:01,550 --> 00:11:07,170 >> और तुम लोग यहाँ देख सकते हैं, यह मामलों के एक जोड़े असफल साबित हुई है। 248 00:11:07,170 --> 00:11:10,165 और आप में से कुछ के लिए आपकी समस्या को सेट कर रही है, ज़ाहिर है, 249 00:11:10,165 --> 00:11:11,110 आह, क्यों यह काम नहीं कर रहा है, जैसे आप कर रहे हैं। 250 00:11:11,110 --> 00:11:13,318 ऐसा क्यों है कि कुछ के लिए काम कर रहा है मूल्यों लेकिन दूसरों के लिए नहीं? 251 00:11:13,318 --> 00:11:17,760 खैर, GDB आप आंकड़ा मदद करने के लिए जा रहा है बाहर क्यों उन सूचनाओं के काम नहीं कर रहे थे। 252 00:11:17,760 --> 00:11:18,320 >> ठीक। 253 00:11:18,320 --> 00:11:21,640 तो चलो, में से एक देखते हैं मैं check50 में असफल रहा था के चेक 254 00:11:21,640 --> 00:11:24,920 0.41 के इनपुट मूल्य था। 255 00:11:24,920 --> 00:11:27,830 सही जवाब तो यह है कि आप हो जाना चाहिए एक 4 है। 256 00:11:27,830 --> 00:11:33,090 लेकिन इसके बजाय मैं बाहर मुद्रण रहा हूँ जो गलत है 3-एन, है। 257 00:11:33,090 --> 00:11:36,190 तो बस, चलो बस इस मैन्युअल चलाते हैं check50 काम कर रहा है कि सुनिश्चित करें। 258 00:11:36,190 --> 00:11:36,940 के ./greedy करते हैं। 259 00:11:36,940 --> 00:11:40,130 260 00:11:40,130 --> 00:11:43,340 उफ़, मैं लालची बनाने के लिए है। 261 00:11:43,340 --> 00:11:43,840 हम वहाँ चलें। 262 00:11:43,840 --> 00:11:44,381 अब ./greedy। 263 00:11:44,381 --> 00:11:46,950 264 00:11:46,950 --> 00:11:47,670 >> कितना बकाया है? 265 00:11:47,670 --> 00:11:49,550 के 0.41 करते हैं। 266 00:11:49,550 --> 00:11:52,590 और हां, हम यहाँ देखें यह 3 outputting है कि 267 00:11:52,590 --> 00:11:55,160 जब सही जवाब है, वास्तव में, 4 होना चाहिए। 268 00:11:55,160 --> 00:12:01,460 तो चलो GDB में प्रवेश करते हैं और हम देखते हैं कि कैसे इस समस्या को सुधारने के बारे में जाना जा सकता है। 269 00:12:01,460 --> 00:12:03,992 >> में पहला कदम तो हमेशा अपने कोड डिबगिंग 270 00:12:03,992 --> 00:12:05,950 एक breakpoint स्थापित करने के लिए है, या एक बिंदु है जिस पर आप 271 00:12:05,950 --> 00:12:09,079 कंप्यूटर या करना चाहते हैं डिबगर पर तलाश शुरू की। 272 00:12:09,079 --> 00:12:11,120 अगर आप ऐसा करेंगे तो वास्तव में नहीं है आपकी समस्या क्या है, 273 00:12:11,120 --> 00:12:14,670 आमतौर पर, ठेठ बात हम करना चाहते हैं ऐसा मुख्य हमारे breakpoint सेट करने के लिए है। 274 00:12:14,670 --> 00:12:18,520 तो तुम लोग यह देख सकते हैं सही वहाँ लाल बटन, 275 00:12:18,520 --> 00:12:22,860 हां, कि मुझे स्थापित किया गया एक मुख्य समारोह के लिए ब्रेकपाइंट। 276 00:12:22,860 --> 00:12:24,130 मुझे लगता है कि क्लिक करें। 277 00:12:24,130 --> 00:12:26,130 >> और फिर मैं अपने डीबग बटन तक जा सकता है। 278 00:12:26,130 --> 00:12:27,036 मुझे लगता है कि बटन मारा। 279 00:12:27,036 --> 00:12:31,710 280 00:12:31,710 --> 00:12:36,555 अगर मैं कर सकता मुझे वापस बाहर ज़ूम करते हैं। 281 00:12:36,555 --> 00:12:38,020 हम वहाँ चलें। 282 00:12:38,020 --> 00:12:40,730 इसलिए हम यहाँ, सही पर एक पैनल है। 283 00:12:40,730 --> 00:12:43,680 मैं वापस में, लोगों को माफी चाहता हूँ, तुम सच में बहुत अच्छी तरह से नहीं देख सकता। 284 00:12:43,680 --> 00:12:49,090 लेकिन अनिवार्य रूप से सभी यह सही पैनल कर रहा है 285 00:12:49,090 --> 00:12:53,130 दोनों पर प्रकाश डाला की नज़र रखे हुए है कोड की लाइन है, जो लाइन, 286 00:12:53,130 --> 00:12:56,640 कंप्यूटर वर्तमान में चल रहा है, के रूप में अच्छी तरह से अपने चर के सभी के रूप में 287 00:12:56,640 --> 00:12:57,600 यहाँ नीचे। 288 00:12:57,600 --> 00:13:00,487 >> तो अगर आप सेंट, सिक्के, एन मिल गया है, सब अलग अलग बातें करने के लिए घोषित 289 00:13:00,487 --> 00:13:01,070 इस समय। 290 00:13:01,070 --> 00:13:04,850 कोई चिंता नहीं, क्योंकि हम वास्तव में नहीं है अभी तक किसी भी चर करने के लिए उन्हें initialized। 291 00:13:04,850 --> 00:13:07,200 आपके कंप्यूटर में तो अपने कंप्यूटर सिर्फ देख रहा है, 292 00:13:07,200 --> 00:13:14,376 ओह, 32767 पिछले इस्तेमाल समारोह था अपने कंप्यूटर में है कि स्मृति अंतरिक्ष की। 293 00:13:14,376 --> 00:13:16,000 सेंट वर्तमान में है, जहां और इतना है कि है। 294 00:13:16,000 --> 00:13:19,360 लेकिन कोई है कि एक बार आप कोड को चलाने यह initialized हो जाना चाहिए। 295 00:13:19,360 --> 00:13:24,110 >> तो चलो द्वारा, लाइन के माध्यम से चलते हैं लाइन, क्या हो रहा है यहाँ। 296 00:13:24,110 --> 00:13:25,350 ठीक। 297 00:13:25,350 --> 00:13:29,400 यहां तक ​​तो तीन हैं मैं सिर्फ समझाया कि बटन। 298 00:13:29,400 --> 00:13:34,090 आपको खेलने, या भागो समारोह है बटन, आप बटन पर कदम है 299 00:13:34,090 --> 00:13:36,600 और आप भी बटन में कदम है। 300 00:13:36,600 --> 00:13:41,260 और अनिवार्य रूप से, इन तीनों का उन्हें तो बस अपने कोड के माध्यम से जाना 301 00:13:41,260 --> 00:13:42,690 और अलग अलग बातें करते हैं। 302 00:13:42,690 --> 00:13:45,680 >> तो आम तौर पर, आप डिबगिंग कर रहे हैं, हम बस खेलते मारा नहीं करना चाहते हैं, 303 00:13:45,680 --> 00:13:47,930 प्ले सिर्फ चलेंगे क्योंकि यह अंत करने के लिए अपने कोड। 304 00:13:47,930 --> 00:13:49,070 और फिर आप वास्तव में नहीं होगा क्या पता है कि आपकी समस्या 305 00:13:49,070 --> 00:13:51,432 अगर आप कई breakpoints सेट जब तक है। 306 00:13:51,432 --> 00:13:53,890 अगर आप कई ब्रेकप्वाइंट सेट करते हैं, यह सिर्फ स्वचालित रूप से होगा 307 00:13:53,890 --> 00:13:56,030 एक ब्रेकप्वाइंट से चलाने के लिए, अगले करने के लिए अगले करने के लिए। 308 00:13:56,030 --> 00:13:58,030 लेकिन इस मामले में हम है सिर्फ एक है कि, क्योंकि हम 309 00:13:58,030 --> 00:13:59,970 हमारे रास्ते में काम करना चाहते हैं नीचे करने के लिए ऊपर से नीचे। 310 00:13:59,970 --> 00:14:04,830 तो हम उस बटन को अनदेखा करने के लिए जा रहे हैं अभी इस कार्यक्रम के उद्देश्यों के लिए। 311 00:14:04,830 --> 00:14:08,230 >> समारोह पर कदम तो बस हर एक लाइन पर कदम 312 00:14:08,230 --> 00:14:11,510 और आपको बताता है क्या कंप्यूटर से कर रही है। 313 00:14:11,510 --> 00:14:14,630 समारोह में कदम चला जाता है वास्तविक समारोह में 314 00:14:14,630 --> 00:14:16,000 कि कोड की अपनी लाइन पर है। 315 00:14:16,000 --> 00:14:19,070 तो उदाहरण के लिए, printf की तरह (), कि ठीक है, एक समारोह है? 316 00:14:19,070 --> 00:14:21,980 मैं शारीरिक रूप से कदम करना चाहता था printf () समारोह में, 317 00:14:21,980 --> 00:14:25,610 मैं वास्तव में के टुकड़े में जाना होगा printf () लिखा है और यह देखने गया था, जहां कोड 318 00:14:25,610 --> 00:14:26,730 वहाँ क्या हो रहा है। 319 00:14:26,730 --> 00:14:29,924 >> लेकिन आम तौर पर, हम मानते हैं कि हम आपको दे कि कोड काम करता है। 320 00:14:29,924 --> 00:14:31,340 हम () काम कर रहा है printf मान। 321 00:14:31,340 --> 00:14:33,170 हम GetInt () काम कर रहा है कि मान। 322 00:14:33,170 --> 00:14:35,170 तो कोई ज़रूरत नहीं करने के लिए भी नहीं है उन कार्यों में कदम। 323 00:14:35,170 --> 00:14:37,170 लेकिन कार्य है कि अगर वहाँ आप अपने आप को लिखने कि 324 00:14:37,170 --> 00:14:39,060 आप जाँच करना चाहते हैं पर क्या हो रहा है, 325 00:14:39,060 --> 00:14:41,200 आप कदम करने के लिए चाहते हो जाएगा उस समारोह में। 326 00:14:41,200 --> 00:14:43,940 >> इसलिए अभी हम सिर्फ जा रहे हैं कोड के इस टुकड़े पर कदम। 327 00:14:43,940 --> 00:14:44,485 तो चलो देखते हैं। 328 00:14:44,485 --> 00:14:46,547 ओह, प्रिंट, "ओह हाई, कैसे ज्यादा बदलाव बकाया है? " 329 00:14:46,547 --> 00:14:47,130 हम परवाह नहीं है। 330 00:14:47,130 --> 00:14:49,830 हम जानते हैं कि काम कर रहा है पता है, इसलिए हम इस पर कदम। 331 00:14:49,830 --> 00:14:53,290 >> इसलिए n, हमारी नाव है, जो कि हम initialized-- है या declared-- 332 00:14:53,290 --> 00:14:56,810 शीर्ष पर, अब हम कर रहे हैं GetFloat करने के लिए उस के बराबर ()। 333 00:14:56,810 --> 00:14:57,810 तो चलो कि पर कदम चलो। 334 00:14:57,810 --> 00:14:59,580 और हम पर देखना नीचे यहाँ, कार्यक्रम 335 00:14:59,580 --> 00:15:03,360 एक मूल्य के निवेश करने के लिए मुझे उत्साह है। 336 00:15:03,360 --> 00:15:08,580 तो इनपुट का हम चाहते हैं मूल्य देना 0.41 है, जो यहां का परीक्षण करने के लिए। 337 00:15:08,580 --> 00:15:09,160 अच्छा है। 338 00:15:09,160 --> 00:15:12,780 >> तो अब N-- तुम लोगों को देख कर यहाँ, bottom-- पर यह है 339 00:15:12,780 --> 00:15:15,140 stored-- क्योंकि हम अभी तक गोल नहीं किया है, यह है 340 00:15:15,140 --> 00:15:19,540 इस तरह की दिग्गज कंपनी में संग्रहीत ०.४०९९९९९९९६ है कि नाव, 341 00:15:19,540 --> 00:15:22,550 के काफी करीब है, जो हमारे उद्देश्यों, अभी, 0.41 तक। 342 00:15:22,550 --> 00:15:26,090 और फिर हम, पर बाद में के रूप में देखेंगे हम कार्यक्रम पर आगे बढ़ जारी है, 343 00:15:26,090 --> 00:15:29,850 यहां के बाद, एन बन गया है गोल और सेंट 41 हो गई है। 344 00:15:29,850 --> 00:15:30,350 अच्छा है। 345 00:15:30,350 --> 00:15:32,230 इसलिए हम अपने गोलाई का काम कर रहे हैं पता है। 346 00:15:32,230 --> 00:15:34,700 हम जानते हैं कि सेंट की सही संख्या, 347 00:15:34,700 --> 00:15:36,990 इसलिए हम चाहते हैं कि पता है कि नहीं वास्तव में समस्या। 348 00:15:36,990 --> 00:15:40,050 >> इसलिए हम घुसने के लिए जारी इस कार्यक्रम में पर। 349 00:15:40,050 --> 00:15:40,900 हम यहाँ जाना। 350 00:15:40,900 --> 00:15:46,139 और तो कोड की इस पंक्ति के बाद, हम हम कितने तिमाहियों पता होना चाहिए। 351 00:15:46,139 --> 00:15:46,680 हम पर कदम। 352 00:15:46,680 --> 00:15:52,040 और तुम हम, वास्तव में, एक है देखना तिमाही हम 25 घटाया गया है क्योंकि 353 00:15:52,040 --> 00:15:53,790 41 के बारे में हमारी प्रारंभिक मूल्य से। 354 00:15:53,790 --> 00:15:55,890 और हम अपने पैसे के लिए 16 छोड़ दिया है। 355 00:15:55,890 --> 00:15:58,830 >> हर किसी को समझ में कैसे करता है कार्यक्रम के माध्यम से आगे बढ़ रहा है 356 00:15:58,830 --> 00:16:02,980 और क्यों सेंट अब 16 हो गई है और यही कारण है, अब, सिक्के 1 बन गया है? 357 00:16:02,980 --> 00:16:04,610 हर कोई उस तर्क पीछा कर रहा है? 358 00:16:04,610 --> 00:16:05,110 कूल। 359 00:16:05,110 --> 00:16:07,860 , इस बिंदु के रूप में तो कार्यक्रम के काम, है ना? 360 00:16:07,860 --> 00:16:09,797 हम इसे ठीक कर रहा है पता हम यह करने के लिए क्या चाहते हैं। 361 00:16:09,797 --> 00:16:11,880 और हम वास्तव में नहीं था ओह, बाहर मुद्रित करने के लिए है, क्या 362 00:16:11,880 --> 00:16:14,430 इस बिंदु पर सेंट है, इस बिंदु पर सिक्के क्या है। 363 00:16:14,430 --> 00:16:17,170 >> हम कार्यक्रम के माध्यम से जा रहे हैं। 364 00:16:17,170 --> 00:16:18,100 चहलकदमी। 365 00:16:18,100 --> 00:16:18,620 कूल। 366 00:16:18,620 --> 00:16:19,700 हम डाइम्स खत्म हो जाना। 367 00:16:19,700 --> 00:16:20,200 अच्छा है। 368 00:16:20,200 --> 00:16:22,367 हम इसे ले लिया है कि वहाँ एक पैसा के लिए 0.10 $ बंद। 369 00:16:22,367 --> 00:16:23,450 और अब हम दो सिक्के हैं। 370 00:16:23,450 --> 00:16:25,260 यह सही है। 371 00:16:25,260 --> 00:16:31,555 >> हम पैसे खत्म हो जाने और हम देखते हैं हम सेंट के ऊपर छोड़ दिया गया है। 372 00:16:31,555 --> 00:16:32,680 हम्म, यह अजीब है। 373 00:16:32,680 --> 00:16:37,540 यहां कार्यक्रम पर, मैं चाहिए था मेरे पैसे घटा दिए गए हैं। 374 00:16:37,540 --> 00:16:39,400 शायद मैं अभी नहीं था कि लाइन ठीक कर रहा। 375 00:16:39,400 --> 00:16:42,190 और अफसोस, आप देख सकते हैं यहाँ, क्योंकि हम जानते हैं 376 00:16:42,190 --> 00:16:44,360 हम कदम रख रहे हैं कि लाइनों के 32 और 33 के माध्यम से, 377 00:16:44,360 --> 00:16:50,560 कि जहां हमारे कार्यक्रम अनुचित तरीके से चर चला था। 378 00:16:50,560 --> 00:16:55,136 तो हम देखते हैं और ओह, देख सकते हैं, मैं यहाँ सेंट घटाकर रहा हूँ, 379 00:16:55,136 --> 00:16:57,010 लेकिन मैं वास्तव में नहीं हूँ मेरा सिक्का मूल्य को जोड़ने। 380 00:16:57,010 --> 00:16:57,860 मैं सेंट करने के लिए जोड़ रहा हूँ। 381 00:16:57,860 --> 00:17:00,234 और मैं करने के लिए जोड़ नहीं करना चाहते हैं सेंट, मैं सिक्कों को जोड़ना चाहते हैं। 382 00:17:00,234 --> 00:17:05,420 इसलिए हम सिक्के करने के लिए है कि बदलते हैं, हम काम कर रहे एक कार्यक्रम मिल गया है। 383 00:17:05,420 --> 00:17:06,730 मैं check50 चला सकते हैं। 384 00:17:06,730 --> 00:17:11,063 तुम बस GDB सही से बाहर निकलें कर सकते हैं यहाँ और उसके बाद फिर से check50 चलाते हैं। 385 00:17:11,063 --> 00:17:11,938 मैं सिर्फ यह कर सकता है। 386 00:17:11,938 --> 00:17:14,822 387 00:17:14,822 --> 00:17:18,480 मैं लालची बनाने के लिए है। 388 00:17:18,480 --> 00:17:19,940 0.41। 389 00:17:19,940 --> 00:17:22,819 और यहाँ, यह मुद्रण है सही जवाब बाहर। 390 00:17:22,819 --> 00:17:26,569 >> तुम लोगों को देख सकते हैं, GDB एक बहुत शक्तिशाली उपकरण है 391 00:17:26,569 --> 00:17:29,940 हम इतना कोड है जब के लिए चल रहा है और इतने सारे चर 392 00:17:29,940 --> 00:17:32,510 यह के रूप में, हमारे लिए मुश्किल है कि एक मानव का ट्रैक रखने के लिए। 393 00:17:32,510 --> 00:17:35,360 GDB में कंप्यूटर, डिबगर, क्षमता है, 394 00:17:35,360 --> 00:17:37,020 सब कुछ का ट्रैक रखने के लिए। 395 00:17:37,020 --> 00:17:40,480 मैं शायद Visionaire में, तुम लोगों को पता है, कुछ विभाजन दोष हिट हो सकता है 396 00:17:40,480 --> 00:17:43,150 आप चल रहे थे क्योंकि अपने सरणी की सीमा से बाहर। 397 00:17:43,150 --> 00:17:46,510 सीजर का उदाहरण में, कि वास्तव में मैं यहाँ क्या क्रियान्वित किया है। 398 00:17:46,510 --> 00:17:50,060 >> इसलिए मुझे लगता है के लिए जाँच करने के लिए भूल गया क्या होगा अगर मैं 399 00:17:50,060 --> 00:17:52,510 दो कमांड लाइन तर्क नहीं था। 400 00:17:52,510 --> 00:17:53,880 मैं सिर्फ इतना है कि जांच में नहीं डाली। 401 00:17:53,880 --> 00:17:57,380 मैं Debug-- चलाते हैं और इसलिए मैं सेट मेरी ब्रेकप्वाइंट वहाँ सही करने के लिए। 402 00:17:57,380 --> 00:17:58,055 मैं डिबग चलाते हैं। 403 00:17:58,055 --> 00:18:15,880 404 00:18:15,880 --> 00:18:16,550 >> ठीक। 405 00:18:16,550 --> 00:18:17,050 हाँ। 406 00:18:17,050 --> 00:18:20,350 तो वास्तव में, GDB चाहिए था वहाँ मुझे बताया है कि करने के लिए 407 00:18:20,350 --> 00:18:22,300 वहाँ एक विभाजन गलती थी। 408 00:18:22,300 --> 00:18:24,883 मैं क्या चल रहा था पता नहीं है सही वहाँ है, लेकिन मैं इसे दौड़ा 409 00:18:24,883 --> 00:18:25,590 यह काम कर रहा था। 410 00:18:25,590 --> 00:18:29,410 आप के माध्यम से कोड की लाइनों चलाते हैं और GDB बस अचानक, तुम पर छोड़ सकता है 411 00:18:29,410 --> 00:18:31,540 ऊपर जाना और लाल त्रुटि है क्या देखो। 412 00:18:31,540 --> 00:18:33,930 यह, हे, क्या आप बता देंगे एक विभाजन गलती की थी, 413 00:18:33,930 --> 00:18:38,550 जो आप का उपयोग करने की कोशिश की है कि इसका मतलब है मौजूद नहीं था कि एक सरणी में अंतरिक्ष। 414 00:18:38,550 --> 00:18:39,050 हाँ। 415 00:18:39,050 --> 00:18:43,280 >> अगले समस्या में तो इस सप्ताह की स्थापना की, तुम लोग 416 00:18:43,280 --> 00:18:45,600 शायद का एक बहुत कुछ होगा चर खाक छानने। 417 00:18:45,600 --> 00:18:48,560 आपको यह सुनिश्चित होना नहीं जा रहे हैं क्या वे सभी एक निश्चित बिंदु पर मतलब है। 418 00:18:48,560 --> 00:18:53,560 तो GDB वास्तव में लगाना करने में मदद मिलेगी वे सब बराबर कर रहे हैं बाहर 419 00:18:53,560 --> 00:18:55,940 और नेत्रहीन कि देखने में सक्षम किया जा रहा है। 420 00:18:55,940 --> 00:19:01,995 किसी को कैसे पर उलझन में है उस के किसी भी काम कर रहा था? 421 00:19:01,995 --> 00:19:02,495 कूल। 422 00:19:02,495 --> 00:19:10,121 423 00:19:10,121 --> 00:19:10,620 ठीक है। 424 00:19:10,620 --> 00:19:14,260 तो उसके बाद, हम कर रहे हैं सही गोता करने के लिए जा रहा 425 00:19:14,260 --> 00:19:17,562 में अलग-अलग चार हैं इस सप्ताह के लिए हर तरह के प्रकार। 426 00:19:17,562 --> 00:19:19,520 आप में से कितने, प्रथम सभी को, हम शुरू करने से पहले, 427 00:19:19,520 --> 00:19:23,020 pset3 के लिए पूरे कल्पना पढ़ा है? 428 00:19:23,020 --> 00:19:23,824 ठीक। 429 00:19:23,824 --> 00:19:24,740 मैं तुम लोगों पर गर्व है। 430 00:19:24,740 --> 00:19:29,110 उस वर्ग के आधे की तरह है, जो पिछली बार की तुलना में काफी अधिक है। 431 00:19:29,110 --> 00:19:33,950 >> तो यह है कि बहुत अच्छा है, क्योंकि जब हम सामग्री के बारे में बात करते हैं 432 00:19:33,950 --> 00:19:36,170 lecture-- या खेद में, section-- में मुझे पसंद है 433 00:19:36,170 --> 00:19:38,210 उस का एक बहुत से संबद्ध करने की वापस pset क्या है 434 00:19:38,210 --> 00:19:40,210 और आप चाहते हैं कि कैसे अपने pset में है कि लागू करने। 435 00:19:40,210 --> 00:19:42,400 आप कर आते हैं तो कल्पना पढ़ा, यह हूँ 436 00:19:42,400 --> 00:19:45,510 आप समझने के लिए एक बहुत आसान हो मैं जब मैं कहता हूँ के बारे में बात कर रहा हूँ, 437 00:19:45,510 --> 00:19:48,720 अरे ओह, यह एक सच में हो सकता है इस तरह लागू करने के लिए अच्छी जगह है। 438 00:19:48,720 --> 00:19:52,870 पढ़ा है जो आप उन लोगों के तो अपने pset के हिस्से के रूप में जानते हैं कि, कल्पना, 439 00:19:52,870 --> 00:19:54,900 आप के लिए करने जा रहे हैं तरह का एक प्रकार लिखें। 440 00:19:54,900 --> 00:19:58,670 तो यह बहुत उपयोगी हो सकता है आप में से बहुत आज के लिए। 441 00:19:58,670 --> 00:20:01,760 >> तो हम साथ शुरू करेंगे, अनिवार्य रूप से, सबसे सरल प्रकार 442 00:20:01,760 --> 00:20:04,580 की तरह, चयन तरह। 443 00:20:04,580 --> 00:20:06,800 के लिए विशिष्ट एल्गोरिथ्म हम इस बारे में जाना चाहते हैं कि कैसे 444 00:20:06,800 --> 00:20:10,460 है- डेविड सब में इन के माध्यम से चला गया व्याख्यान, तो मैं जल्दी से साथ ले जाने देंगे 445 00:20:10,460 --> 00:20:13,900 here-- आप अनिवार्य है मूल्यों की एक सरणी है। 446 00:20:13,900 --> 00:20:17,170 और फिर आप पाते हैं छोटी से छोटी अवर्गीकृत मूल्य 447 00:20:17,170 --> 00:20:20,200 और आपको लगता है कि मूल्य के साथ स्वैप पहले अवर्गीकृत मूल्य। 448 00:20:20,200 --> 00:20:22,700 और फिर आप बस दोहराते रहते हैं अपनी सूची के आराम के साथ। 449 00:20:22,700 --> 00:20:25,740 >> और यहाँ एक दृश्य विवरण है कि कैसे काम करेगा की। 450 00:20:25,740 --> 00:20:30,460 अगर हम थे तो उदाहरण के लिए, शुरू करने के लिए पांच तत्वों की एक सरणी, सूचकांक के साथ 451 00:20:30,460 --> 00:20:35,910 0-4, के साथ 3, 5, 2, 6, और 4 मूल्यों इसलिए अभी array-- में रखा गया है, 452 00:20:35,910 --> 00:20:38,530 हम सिर्फ कल्पना करने के लिए जा रहे हैं वे सब अवर्गीकृत कर रहे हैं कि 453 00:20:38,530 --> 00:20:41,130 हम अन्यथा परीक्षण नहीं किया है क्योंकि। 454 00:20:41,130 --> 00:20:44,130 >> तो आप कैसे एक चयन तरह होगा काम है कि यह पहली बार होगा 455 00:20:44,130 --> 00:20:46,800 संपूर्णता के माध्यम से चलाने अवर्गीकृत सरणी की। 456 00:20:46,800 --> 00:20:49,120 यह छोटी मूल्य बाहर ले जाएगा। 457 00:20:49,120 --> 00:20:51,750 इस मामले में, 3 में, सही अब, सबसे छोटी है। 458 00:20:51,750 --> 00:20:52,680 यह 5 के लिए हो जाता है। 459 00:20:52,680 --> 00:20:55,620 नहींं, 5 than-- बड़ा नहीं होता या क्षमा करें, 3 than-- कम नहीं है। 460 00:20:55,620 --> 00:20:57,779 तो न्यूनतम मूल्य अभी भी 3 है। 461 00:20:57,779 --> 00:20:58,695 और फिर आप 2 को मिलता है। 462 00:20:58,695 --> 00:21:00,990 ओह, देखता कंप्यूटर, 2 कम से कम 3 है। 463 00:21:00,990 --> 00:21:02,750 2 अब न्यूनतम मूल्य होना चाहिए। 464 00:21:02,750 --> 00:21:06,630 और इतना है कि पहले मूल्य के साथ 2 स्वैप। 465 00:21:06,630 --> 00:21:10,702 >> एक तो पास के बाद, हम वास्तव में देखते हैं कि 2 और 3 बदली हैं। 466 00:21:10,702 --> 00:21:13,910 और हम बस कर जारी करने जा रहे हैं इस बार फिर सरणी के आराम के साथ। 467 00:21:13,910 --> 00:21:17,660 तो हम बस के माध्यम से चलाने के लिए जा रहे हैं सरणी के अंतिम चार अनुक्रमित। 468 00:21:17,660 --> 00:21:20,670 हम 3 है कि देखेंगे अगले न्यूनतम मूल्य। 469 00:21:20,670 --> 00:21:23,240 इसलिए हम 4 के साथ कि स्वैप करने के लिए जा रहे हैं। 470 00:21:23,240 --> 00:21:26,900 और फिर हम सिर्फ रखने के लिए जा रहे हैं अंत में, जब तक के माध्यम से चल रहा है, आप 471 00:21:26,900 --> 00:21:33,730 एक सॉर्ट सरणी के लिए मिलता है, जिसमें 2, 3, 4, 5 और 6 सब क्रमबद्ध हैं। 472 00:21:33,730 --> 00:21:37,530 हर कोई तर्क समझ में आया एक चयन तरह कैसे काम करता है? 473 00:21:37,530 --> 00:21:39,669 >> तुम बस किसी प्रकार का है एक न्यूनतम मूल्य का। 474 00:21:39,669 --> 00:21:41,210 तुम्हें पता है कि क्या है का ट्रैक रख रहे हैं। 475 00:21:41,210 --> 00:21:45,170 आपको यह लगता है और जब भी, आप यह स्वैप array-- में पहली मूल्य के साथ 476 00:21:45,170 --> 00:21:48,740 या, न पहले value-- सरणी में अगले मूल्य। 477 00:21:48,740 --> 00:21:50,150 कूल। 478 00:21:50,150 --> 00:21:55,460 >> तो तुम लोगों के रूप में एक तरह से एक संक्षिप्त झलक से देखा था, 479 00:21:55,460 --> 00:21:58,450 हम इस बाहर pseudocode करने के लिए जा रहे हैं। 480 00:21:58,450 --> 00:22:02,510 तो पीठ में तुम लोगों के लिए चाहते हैं एक मेज पर एक समूह है, हर किसी के लिए फार्म 481 00:22:02,510 --> 00:22:06,170 एक छोटे साथी फार्म कर सकते हैं, मैं जा रहा हूँ आप तीन मिनट की तरह लोगों को देने के लिए 482 00:22:06,170 --> 00:22:08,190 बस के माध्यम से बात करने के लिए तर्क, अंग्रेजी में, 483 00:22:08,190 --> 00:22:14,161 हम लागू करने में सक्षम हो सकता है की कैसे स्यूडोकोड एक चयन तरह लिखने के लिए। 484 00:22:14,161 --> 00:22:14,910 और कैंडी नहीं है। 485 00:22:14,910 --> 00:22:16,118 आते हैं और कैंडी प्राप्त करें। 486 00:22:16,118 --> 00:22:19,520 आप पीठ में रहे हैं और आप चाहते हैं कैंडी, मैं अपने आप को कैंडी फेंक सकते हैं। 487 00:22:19,520 --> 00:22:22,850 असल में, you-- शांत करते हैं। 488 00:22:22,850 --> 00:22:23,552 मुझे माफ करें। 489 00:22:23,552 --> 00:22:26,751 490 00:22:26,751 --> 00:22:27,250 ठीक। 491 00:22:27,250 --> 00:25:23,880 492 00:25:23,880 --> 00:25:27,140 >> हम के रूप में, चाहते हैं तो अगर एक वर्ग है, लिखने स्यूडोकोड 493 00:25:27,140 --> 00:25:30,466 एक दृष्टिकोण हो सकता है कि कैसे के लिए यह समस्या सिर्फ स्वतंत्र। 494 00:25:30,466 --> 00:25:32,340 मैं बस के चारों ओर जाने के लिए और करेंगे, आदेश में, समूहों पूछना 495 00:25:32,340 --> 00:25:35,065 की अगली पंक्ति के लिए हम क्या कर किया जाना चाहिए। 496 00:25:35,065 --> 00:25:37,840 तुम लोगों को शुरू करना चाहते हैं तो बंद, पहली बात यह है कि क्या हो रहा है 497 00:25:37,840 --> 00:25:40,600 आप करने की कोशिश कर रहे हैं, जब ऐसा करने के लिए इस कार्यक्रम को हल करने के लिए एक तरह से लागू 498 00:25:40,600 --> 00:25:43,480 चुनिंदा एक सूची को सॉर्ट करने के लिए? 499 00:25:43,480 --> 00:25:46,349 अभी हम यह मान के चलो एक सरणी, सब ठीक है? 500 00:25:46,349 --> 00:25:49,088 >> दर्शकों: आप कुछ बनाना चाहते हैं की तरह [सुनाई] क्या आप कर रहे हैं कि 501 00:25:49,088 --> 00:25:50,420 अपने पूरे सरणी के माध्यम से चल रहा है। 502 00:25:50,420 --> 00:25:51,128 >> ANDI PENG: ठीक है। 503 00:25:51,128 --> 00:25:54,100 तो अगर आप पुनरावृति करना चाहते करने जा रहे हैं हर जगह के माध्यम से, है ना? 504 00:25:54,100 --> 00:26:05,490 इतना महान। 505 00:26:05,490 --> 00:26:08,600 तुम लोग मुझे देना चाहते हैं अगले पीठ में, हाँ line--। 506 00:26:08,600 --> 00:26:11,414 507 00:26:11,414 --> 00:26:13,290 >> दर्शकों: उन्हें चेक सभी छोटी के लिए। 508 00:26:13,290 --> 00:26:14,248 >> ANDI PENG: हम वहाँ जाते हैं। 509 00:26:14,248 --> 00:26:17,438 इसलिए हम के माध्यम से जाने के लिए और करने के लिए जाँच करना चाहते हैं न्यूनतम मूल्य सही है, क्या देख रहे हो? 510 00:26:17,438 --> 00:26:22,110 511 00:26:22,110 --> 00:26:24,840 मैं करने के लिए कि संक्षिप्त करने के लिए जा रहा हूँ "मि।" 512 00:26:24,840 --> 00:26:27,658 तुम लोगों को बाद क्या करना चाहते हैं आप कम से कम मूल्य मिल गया है? 513 00:26:27,658 --> 00:26:28,533 >> दर्शकों: [अश्राव्य] 514 00:26:28,533 --> 00:26:29,942 515 00:26:29,942 --> 00:26:33,150 ANDI PENG: तो आप चाहते करने के लिए जा रहे हैं उस सरणी के पहले के साथ यह स्विच, 516 00:26:33,150 --> 00:26:33,650 है ना? 517 00:26:33,650 --> 00:26:45,120 518 00:26:45,120 --> 00:26:46,850 यही कारण है कि मैं कहने जा रहा हूँ, शुरुआत है। 519 00:26:46,850 --> 00:26:47,220 ठीक है। 520 00:26:47,220 --> 00:26:50,386 तो अब आप पहली बार बदली है कि एक, क्या आपको लगता है कि बाद क्या करना चाहते हैं? 521 00:26:50,386 --> 00:26:54,840 तो अब हम जानते हैं कि इस यहाँ एक ठीक है, छोटी मूल्य होना चाहिए? 522 00:26:54,840 --> 00:26:58,310 तो फिर तुम एक अतिरिक्त बाकी है अवर्गीकृत है कि सरणी के। 523 00:26:58,310 --> 00:27:01,569 तो अगर आप हैं, तो यहाँ क्या करना चाहते हैं लोग मुझे अगली पंक्ति देना चाहते हैं? 524 00:27:01,569 --> 00:27:04,610 दर्शकों: तो फिर तुम पुनरावृति करना चाहते हैं सरणी के शेष के माध्यम से। 525 00:27:04,610 --> 00:27:05,276 ANDI PENG: हाँ। 526 00:27:05,276 --> 00:27:09,857 और तो के माध्यम से पुनरावृति करता है एक तरह से हम शायद आवश्यकता होगी समझा जाए? 527 00:27:09,857 --> 00:27:10,440 किस प्रकार का-- 528 00:27:10,440 --> 00:27:12,057 >> दर्शकों: ओह, एक अतिरिक्त चर? 529 00:27:12,057 --> 00:27:13,890 ANDI PENG: शायद पाश के लिए एक और, है ना? 530 00:27:13,890 --> 00:27:28,914 तो हम शायद चाहते करने के लिए जा रहे हैं through-- महान पुनरावृति करने के लिए। 531 00:27:28,914 --> 00:27:31,830 और फिर तुम वापस जाने के लिए जा रहे हैं और शायद फिर से न्यूनतम जाँच, 532 00:27:31,830 --> 00:27:32,100 है ना? 533 00:27:32,100 --> 00:27:34,975 और अगर आप को दोहरा रखने के लिए जा रहे हैं इस छोरों क्योंकि बस जा 534 00:27:34,975 --> 00:27:36,010 ठीक है, चालू रखने के लिए? 535 00:27:36,010 --> 00:27:39,190 >> तो तुम लोग, हम देख सकते हैं सिर्फ एक सामान्य स्यूडोकोड है 536 00:27:39,190 --> 00:27:41,480 हम चाहते हैं कि कैसे इस कार्यक्रम को देखने के लिए। 537 00:27:41,480 --> 00:27:46,646 यहां यह पुनरावृति, हम क्या करें आम तौर पर हमारे कोड में लिखने की जरूरत 538 00:27:46,646 --> 00:27:49,270 हम एक के माध्यम से पुनरावृति करना चाहते हैं संरचना की सरणी, किस तरह के? 539 00:27:49,270 --> 00:27:51,030 मैं क्राइस्टाबेल लगता है पहले से ही से पहले यह बात कही। 540 00:27:51,030 --> 00:27:51,500 >> दर्शकों: पाश के लिए एक। 541 00:27:51,500 --> 00:27:52,160 >> ANDI PENG: पाश के लिए एक? 542 00:27:52,160 --> 00:27:52,770 बिल्कुल सही। 543 00:27:52,770 --> 00:27:56,060 तो यह शायद है एक पाश के लिए होने जा रहा। 544 00:27:56,060 --> 00:27:59,240 संकेत करने के लिए जा रहा यहां एक जांच क्या है? 545 00:27:59,240 --> 00:28:02,536 आमतौर पर, आप जाँच करना चाहते हैं कुछ कुछ होता है, तो else-- 546 00:28:02,536 --> 00:28:03,270 >> दर्शकों: यदि। 547 00:28:03,270 --> 00:28:06,790 >> ANDI PENG: एक हैं, तो ठीक है? 548 00:28:06,790 --> 00:28:10,790 यहां स्वैप और फिर, हम करेंगे बाद में खत्म हो जाने के डेविड क्योंकि 549 00:28:10,790 --> 00:28:12,770 के रूप में अच्छी तरह से व्याख्यान में उस के माध्यम से चला गया। 550 00:28:12,770 --> 00:28:14,580 और फिर दूसरा पुनरावृति implies-- 551 00:28:14,580 --> 00:28:15,120 >> दर्शकों: पाश के लिए एक और। 552 00:28:15,120 --> 00:28:16,745 >> ANDI PENG: बिल्कुल, पाश के लिए --another। 553 00:28:16,745 --> 00:28:19,870 554 00:28:19,870 --> 00:28:22,000 हम देख रहे हैं तो सही ढंग से इस पर, हम 555 00:28:22,000 --> 00:28:24,680 हम शायद रहे हैं कि देख सकते हैं पाश के लिए एक नेस्टेड की जरूरत जा 556 00:28:24,680 --> 00:28:28,330 वहाँ में एक सशर्त बयान के साथ और उसके बाद कोड की एक वास्तविक टुकड़ा है कि 557 00:28:28,330 --> 00:28:31,360 मूल्यों स्वैप करने के लिए जा रहा है। 558 00:28:31,360 --> 00:28:35,980 इसलिए मैं सिर्फ आम तौर पर लिखा है यहां एक स्यूडोकोड कोड। 559 00:28:35,980 --> 00:28:38,910 और फिर हम वास्तव में जा रहे हैं शारीरिक रूप से करने के लिए, एक वर्ग के रूप में, 560 00:28:38,910 --> 00:28:40,700 यह आज से लागू करने के लिए प्रयास करें। 561 00:28:40,700 --> 00:28:42,486 चलो इस आईडीई में वापस जाओ। 562 00:28:42,486 --> 00:28:49,243 563 00:28:49,243 --> 00:28:50,230 >> उह ओह। 564 00:28:50,230 --> 00:28:51,754 वहाँ क्यों not-- यह है कि है। 565 00:28:51,754 --> 00:28:52,253 ठीक। 566 00:28:52,253 --> 00:28:55,834 567 00:28:55,834 --> 00:28:57,500 क्षमा करें, मुझे थोड़ा और अधिक ज़ूम करने के लिए कोशिश करते हैं। 568 00:28:57,500 --> 00:28:59,310 हम वहाँ चलें। 569 00:28:59,310 --> 00:29:05,060 मैं यहाँ क्या कर रहा हूँ मैं बना लिया है एक कार्यक्रम में कहा, "चयन / sort.c।" 570 00:29:05,060 --> 00:29:10,860 मैं नौ वर्ष की एक सरणी बना लिया है मूल्यों, 4, 8, 2, 1, 6, 9, 7, 5, 3। 571 00:29:10,860 --> 00:29:14,370 वर्तमान में, के रूप में आप कर सकते हैं वे अव्यवस्थित हैं, देखते हैं। 572 00:29:14,370 --> 00:29:17,880 n संख्या होने जा रहा है कि आप मूल्यों की राशि बताता है 573 00:29:17,880 --> 00:29:18,920 आप अपने सरणी में है। 574 00:29:18,920 --> 00:29:20,670 इस मामले में, हम नौ मूल्य नहीं है। 575 00:29:20,670 --> 00:29:23,760 और मैं बस यहाँ एक पाश के लिए मिल गया है कि अवर्गीकृत सरणी बाहर प्रिंट। 576 00:29:23,760 --> 00:29:28,370 >> और अंत में, मैं भी एक मिल गया है बस इसे फिर से बाहर है कि प्रिंट पाश। 577 00:29:28,370 --> 00:29:32,070 तो सैद्धांतिक रूप से, इस कार्यक्रम यदि अंत में, सही ढंग से काम कर रहा है, 578 00:29:32,070 --> 00:29:35,670 आप एक पाश के लिए मुद्रित देखना चाहिए जिसमें 1, 2, 3, 4, 5, 6, 7, 8, 579 00:29:35,670 --> 00:29:39,310 9 क्रम में सभी सही ढंग से कर रहे हैं। 580 00:29:39,310 --> 00:29:43,410 >> तो हम यहाँ हमारे स्यूडोकोड मिल गया है। 581 00:29:43,410 --> 00:29:46,090 मैं अभी कर रहा हूँ है-- किसी को चाहता है volunteers-- के लिए पूछने के लिए जाना जा रहा 582 00:29:46,090 --> 00:29:49,540 क्या हुआ अगर टाइप करने के लिए वास्तव में मुझे बताओ हम पहली बार, बस पुनरावृति करना चाहते हैं 583 00:29:49,540 --> 00:29:52,840 इस सरणी की शुरुआत के माध्यम से? 584 00:29:52,840 --> 00:29:55,204 मैं कर रहा हूँ कोड की लाइन क्या है शायद यहां की जरूरत के लिए जा रहे हैं? 585 00:29:55,204 --> 00:29:56,990 >> दर्शकों: [अश्राव्य] 586 00:29:56,990 --> 00:29:59,010 >> ANDI PENG: हाँ, लगता है मुक्त है-- क्षमा करें, आप 587 00:29:59,010 --> 00:30:02,318 up-- महसूस खड़ा करने के लिए नहीं है अपनी आवाज एक सा उठाने के लिए स्वतंत्र। 588 00:30:02,318 --> 00:30:08,190 >> दर्शकों: पूर्णांक मैं बराबर होती है के लिए 0-- 589 00:30:08,190 --> 00:30:10,690 >> ANDI PENG: हाँ, अच्छा है। 590 00:30:10,690 --> 00:30:15,220 >> दर्शकों: मैं सरणी लंबाई की तुलना में कम है। 591 00:30:15,220 --> 00:30:19,630 >> ANDI PENG: तो में रखना , यहाँ कोई आपत्ति क्योंकि हम 592 00:30:19,630 --> 00:30:23,060 एक समारोह में नहीं है कि हमें एक सरणी की लंबाई बताता है, 593 00:30:23,060 --> 00:30:25,790 हम पहले से ही एक है भंडार है कि कि मूल्य। 594 00:30:25,790 --> 00:30:27,920 है ना? 595 00:30:27,920 --> 00:30:31,010 एक और बात रखने के लिए एक सरणी में mind-- में 596 00:30:31,010 --> 00:30:33,940 नौ मूल्यों का, अनुक्रमित क्या कर रहे हैं? 597 00:30:33,940 --> 00:30:38,720 चलो बस इस सरणी 0-3 था कहते हैं। 598 00:30:38,720 --> 00:30:41,500 आप पिछले कि वहाँ सूचकांक वास्तव में 3 है। 599 00:30:41,500 --> 00:30:45,530 यह वहाँ है, भले ही 4 नहीं है सरणी में चार मूल्यों। 600 00:30:45,530 --> 00:30:49,866 >> यहाँ में तो, हम बहुत सावधान रहना होगा लंबाई के लिए क्या हमारी हालत की 601 00:30:49,866 --> 00:30:50,490 होने जा रहा है। 602 00:30:50,490 --> 00:30:51,948 >> दर्शकों: यह n शून्य से 1 नहीं होगा? 603 00:30:51,948 --> 00:30:54,440 ANDI PENG: यह हो रहा है वास्तव में एन शून्य से 1,। 604 00:30:54,440 --> 00:30:57,379 कि मतलब, क्यों करता है यह n है शून्य से 1, सबको? 605 00:30:57,379 --> 00:30:58,920 सरणियों शून्य अनुक्रमित रहे हैं क्योंकि यह है। 606 00:30:58,920 --> 00:31:02,010 वे 0 से शुरू और 1 एन शून्य तक चला। 607 00:31:02,010 --> 00:31:03,210 हाँ, यह थोड़ा मुश्किल है। 608 00:31:03,210 --> 00:31:03,730 ठीक। 609 00:31:03,730 --> 00:31:05,929 और फिर-- 610 00:31:05,929 --> 00:31:08,054 दर्शकों: Isnt'1 कि पहले से ही यद्यपि का ध्यान रखा, 611 00:31:08,054 --> 00:31:11,400 बस की तुलना में कम या ज्यादा "यह नहीं कह रहा द्वारा बराबर कम से कम "और सिर्फ यह कह" करने के लिए? " 612 00:31:11,400 --> 00:31:13,108 >> ANDI PENG: यह एक है वास्तव में अच्छा सवाल है। 613 00:31:13,108 --> 00:31:13,630 इसलिए हां। 614 00:31:13,630 --> 00:31:17,410 लेकिन यह भी, हम जिस तरह से कर रहे हैं कि जाँच सही लागू करने, 615 00:31:17,410 --> 00:31:19,120 आप दो मूल्यों की तुलना करने की जरूरत है। 616 00:31:19,120 --> 00:31:21,009 तो अगर आप वास्तव में करना चाहते हैं "करने के लिए" खाली छोड़ दें। 617 00:31:21,009 --> 00:31:23,050 यदि आप तुलना क्योंकि यह एक है, आप नहीं जा रहे हैं 618 00:31:23,050 --> 00:31:25,530 इसे करने के बाद कुछ भी ठीक है, के लिए की तुलना करने के लिए? 619 00:31:25,530 --> 00:31:27,460 हाँ। 620 00:31:27,460 --> 00:31:29,297 तो मैं ++। 621 00:31:29,297 --> 00:31:30,380 के दशक में हमारे कोष्ठक जोड़ दें। 622 00:31:30,380 --> 00:31:30,880 वूप्स। 623 00:31:30,880 --> 00:31:33,950 624 00:31:33,950 --> 00:31:34,710 अच्छा है। 625 00:31:34,710 --> 00:31:39,117 इसलिए हम शुरुआत है हमारे बाहरी पाश की। 626 00:31:39,117 --> 00:31:41,450 तो अब हम शायद करना चाहते हैं रखने के लिए एक परिवर्तनीय बनाने 627 00:31:41,450 --> 00:31:43,085 छोटी मूल्य का ट्रैक, है ना? 628 00:31:43,085 --> 00:31:45,751 किसी ने मुझे देने के लिए चाहता है ऐसा होता है कि कोड की लाइन? 629 00:31:45,751 --> 00:31:48,700 630 00:31:48,700 --> 00:31:53,570 हम जा रहे हैं, तो हम क्या जरूरत है कुछ स्टोर करने के लिए करना चाहते हैं? 631 00:31:53,570 --> 00:31:55,047 >> ठीक है। 632 00:31:55,047 --> 00:31:57,630 उस के लिए शायद एक बेहतर नाम "अस्थायी" be-- होगा पूरी तरह से works-- 633 00:31:57,630 --> 00:32:00,655 शायद अधिक जिसे उपयुक्त होगा नामक एक, हम सबसे छोटी value-- चाहते हैं 634 00:32:00,655 --> 00:32:01,624 >> दर्शकों: न्यूनतम। 635 00:32:01,624 --> 00:32:02,790 ANDI PENG: मिनट, वहाँ हम चले। 636 00:32:02,790 --> 00:32:05,230 मिनट के लिए अच्छा होगा। 637 00:32:05,230 --> 00:32:08,340 और यहाँ तो, हम क्या करें करने के लिए इसे प्रारंभ करने के लिए करना चाहते हैं? 638 00:32:08,340 --> 00:32:09,620 यह थोड़ा मुश्किल है। 639 00:32:09,620 --> 00:32:13,580 क्योंकि अभी पर इस सरणी की शुरुआत 640 00:32:13,580 --> 00:32:15,730 अगर आप सही, कुछ भी नहीं देखा है? 641 00:32:15,730 --> 00:32:19,200 स्वचालित रूप से तो क्या, यदि हम सिर्फ मैं 0 बराबरी पर हैं 642 00:32:19,200 --> 00:32:22,302 हम प्रारंभ करने के लिए क्या चाहते हो हमारी पहली न्यूनतम मूल्य है? 643 00:32:22,302 --> 00:32:22,802 दर्शकों: मैं। 644 00:32:22,802 --> 00:32:24,790 ANDI PENG: मैं, वास्तव में। 645 00:32:24,790 --> 00:32:27,040 क्राइस्टाबेल, हम क्यों चाहते हो मैं करने के लिए इसे प्रारंभ करने के लिए? 646 00:32:27,040 --> 00:32:28,510 >> दर्शकों: ठीक है, क्योंकि हम 0 के साथ शुरू कर रहे हैं। 647 00:32:28,510 --> 00:32:31,660 हम तुलना करने के लिए कुछ भी नहीं है क्योंकि तो यह न्यूनतम 0 खत्म किया जा रहा होगा। 648 00:32:31,660 --> 00:32:32,451 >> ANDI PENG: बिल्कुल। 649 00:32:32,451 --> 00:32:34,400 तो वह बिल्कुल सही है। 650 00:32:34,400 --> 00:32:36,780 हम वास्तव में नहीं है, क्योंकि , अभी तक कुछ भी देखा 651 00:32:36,780 --> 00:32:38,680 हम अपने न्यूनतम मूल्य क्या है पता नहीं है। 652 00:32:38,680 --> 00:32:41,960 हम सिर्फ करने के लिए इसे प्रारंभ करने के लिए करना चाहते हैं मैं, जो वर्तमान में, यहीं है। 653 00:32:41,960 --> 00:32:44,750 और हम करने के लिए जारी रखने के रूप इस सरणी नीचे ले जाते हैं, 654 00:32:44,750 --> 00:32:48,122 हम एक दूसरे के साथ, कि देख लेंगे अतिरिक्त पास, मैं वेतन वृद्धि। 655 00:32:48,122 --> 00:32:49,830 और तो उस बिंदु पर, मैं शायद जा रहा है 656 00:32:49,830 --> 00:32:52,329 न्यूनतम होना चाहता हूँ, यह जो कुछ भी होने जा रहा है क्योंकि 657 00:32:52,329 --> 00:32:54,520 अवर्गीकृत सरणी की शुरुआत है। 658 00:32:54,520 --> 00:32:55,270 कूल। 659 00:32:55,270 --> 00:32:58,720 >> तो अब हम जोड़ना चाहते हैं यहाँ इस पाश के लिए है कि 660 00:32:58,720 --> 00:33:03,225 के माध्यम से पुनरावृति करने के लिए जा रहा अवर्गीकृत, या इस सरणी के बाकी। 661 00:33:03,225 --> 00:33:05,808 किसी ने मुझे एक देने के लिए चाहता है ऐसा होता है कि कोड की लाइन? 662 00:33:05,808 --> 00:33:08,870 663 00:33:08,870 --> 00:33:11,330 Hint-- क्या हम यहाँ नीचे की ज़रूरत है? 664 00:33:11,330 --> 00:33:17,320 665 00:33:17,320 --> 00:33:18,820 क्या पाश के लिए इस में जाना जा रहा है? 666 00:33:18,820 --> 00:33:19,465 हाँ। 667 00:33:19,465 --> 00:33:21,590 दर्शकों: तो हम करने के लिए चाहता हूँ एक अलग पूर्णांक है, 668 00:33:21,590 --> 00:33:25,080 हम बाकी के माध्यम से चल रहे हैं, क्योंकि इसके बजाय मैं की सरणी, तो हो सकता है की 669 00:33:25,080 --> 00:33:25,760 जम्मू। 670 00:33:25,760 --> 00:33:27,301 >> ANDI PENG: हाँ, जम्मू मुझे अच्छा लगता है। 671 00:33:27,301 --> 00:33:27,850 बराबर होती है? 672 00:33:27,850 --> 00:33:33,930 >> दर्शकों: तो, क्योंकि मैं होना प्लस 1 होगा आप अगले मूल्य पर शुरू कर रहे हैं। 673 00:33:33,930 --> 00:33:40,395 और फिर तो फिर end-- करने के लिए, J है n शून्य से 1, और फिर J ++ से कम है। 674 00:33:40,395 --> 00:33:41,103 ANDI PENG: ग्रेट। 675 00:33:41,103 --> 00:33:48,510 676 00:33:48,510 --> 00:33:52,750 >> और फिर यहाँ में, हम चाहते हैं करने के लिए जा रहे हैं हमारी शर्त पूरी होती है देखने के लिए जाँच करने के लिए, 677 00:33:52,750 --> 00:33:53,250 है ना? 678 00:33:53,250 --> 00:33:55,740 आप करना चाहते हैं क्योंकि न्यूनतम मूल्य बदल जाते हैं 679 00:33:55,740 --> 00:33:58,700 की तुलना में यह वास्तव में छोटा है, तो क्या आप सही करने के लिए यह तुलना कर रहे हैं? 680 00:33:58,700 --> 00:34:01,146 तो क्या हम यहाँ में चाहते करने के लिए जा रहे हैं? 681 00:34:01,146 --> 00:34:04,160 682 00:34:04,160 --> 00:34:04,897 देखने के लिए जांचें। 683 00:34:04,897 --> 00:34:06,730 बयान किस प्रकार की हम शायद जा रहे हैं 684 00:34:06,730 --> 00:34:08,389 तिवारी यदि उपयोग करना चाहते हैं हम कुछ जाँच करना चाहते हैं? 685 00:34:08,389 --> 00:34:09,360 >> दर्शकों: एक बयान है। 686 00:34:09,360 --> 00:34:10,485 >> ANDI PENG: एक अगर बयान। 687 00:34:10,485 --> 00:34:13,155 तो if-- और होना करने के लिए क्या हो रहा है हम अंदर चाहते हैं कि हालत 688 00:34:13,155 --> 00:34:13,988 हमारे यदि बयान की? 689 00:34:13,988 --> 00:34:18,255 690 00:34:18,255 --> 00:34:22,960 >> दर्शकों: यदि जम्मू के मूल्य i-- के मूल्य से कम है 691 00:34:22,960 --> 00:34:24,600 >> ANDI PENG: बिल्कुल। 692 00:34:24,600 --> 00:34:27,480 तो if-- तो यह सरणी "सरणी।" कहा जाता है 693 00:34:27,480 --> 00:34:27,980 अच्छा है। 694 00:34:27,980 --> 00:34:30,465 क्या था कि array-- तो अगर? 695 00:34:30,465 --> 00:34:31,090 दोबारा कहना। 696 00:34:31,090 --> 00:34:39,590 >> दर्शकों: सरणी-जम्मू से कम है सरणी-मैं, तो हम न्यूनतम बदल जाएगा। 697 00:34:39,590 --> 00:34:41,590 इसलिए मिनट जम्मू होगा। 698 00:34:41,590 --> 00:34:44,590 699 00:34:44,590 --> 00:34:47,249 >> ANDI PENG: कि मतलब है? 700 00:34:47,249 --> 00:34:48,670 ठीक। 701 00:34:48,670 --> 00:34:52,929 और अब यहाँ नीचे, हम वास्तव में ठीक है, स्वैप लागू करना चाहते हैं? 702 00:34:52,929 --> 00:34:58,285 तो, व्याख्यान में, याद डेविड, जब कि वह the-- क्या था स्वैप करने के लिए कोशिश कर रहा था 703 00:34:58,285 --> 00:34:59,996 it-- संतरे का रस और milk-- 704 00:34:59,996 --> 00:35:01,150 >> दर्शकों: यह है कि सकल था। 705 00:35:01,150 --> 00:35:02,816 >> ANDI PENG: हाँ, उस तरह का सकल था। 706 00:35:02,816 --> 00:35:05,310 लेकिन यह एक बहुत अच्छा था अवधारणा समय का प्रदर्शन है। 707 00:35:05,310 --> 00:35:08,430 तो यहाँ अपने मूल्यों के बारे में सोच। 708 00:35:08,430 --> 00:35:10,794 आप एक सरणी मिल गया है मिनट की है, मैं की एक सरणी, 709 00:35:10,794 --> 00:35:12,460 या हम यहाँ स्वैप करने के लिए कोशिश कर रहे थे जो भी हो। 710 00:35:12,460 --> 00:35:15,310 और तुम शायद में उन्हें डालना नहीं कर सकते एक ही समय में एक दूसरे को, है ना? 711 00:35:15,310 --> 00:35:17,180 इसलिए हम जा रहे हैं यहाँ बनाने की जरूरत है 712 00:35:17,180 --> 00:35:19,126 सही ढंग से मूल्यों को स्वैप करने के क्रम में? 713 00:35:19,126 --> 00:35:19,820 >> दर्शकों: एक अस्थायी चर। 714 00:35:19,820 --> 00:35:21,370 >> ANDI PENG: एक अस्थायी चर। 715 00:35:21,370 --> 00:35:22,570 तो चलो पूर्णांक अस्थायी करते हैं। 716 00:35:22,570 --> 00:35:25,681 यह एक बेहतर होगा, देखें वाह है-- समय, कि क्या था? 717 00:35:25,681 --> 00:35:26,180 ठीक। 718 00:35:26,180 --> 00:35:29,800 तो यह एक अच्छा होता समय चर "अस्थायी।" नाम करने के लिए 719 00:35:29,800 --> 00:35:30,730 तो चलो पूर्णांक अस्थायी करते हैं। 720 00:35:30,730 --> 00:35:32,563 हम क्या करने जा रहे हैं यहाँ के बराबर अस्थायी सेट? 721 00:35:32,563 --> 00:35:34,752 722 00:35:34,752 --> 00:35:35,335 दर्शकों: न्यूनतम? 723 00:35:35,335 --> 00:35:38,508 724 00:35:38,508 --> 00:35:39,716 ANDI PENG: यह थोड़ा मुश्किल है। 725 00:35:39,716 --> 00:35:43,110 726 00:35:43,110 --> 00:35:44,880 यह वास्तव में अंत में कोई फर्क नहीं पड़ता। 727 00:35:44,880 --> 00:35:47,690 यह बात नहीं है क्या आदेश आप में स्वैप करने के लिए चुनें 728 00:35:47,690 --> 00:35:50,862 जब तक आप सुनिश्चित कर रहे हैं के रूप में आप कर रहे हैं आप स्वैपिंग क्या कर रहे हैं का ट्रैक रखने के। 729 00:35:50,862 --> 00:35:52,250 >> दर्शकों: यह सरणी-मैं हो सकता है। 730 00:35:52,250 --> 00:35:53,666 >> ANDI PENG: हाँ, चलो सरणी-मैं करते हैं। 731 00:35:53,666 --> 00:35:55,950 732 00:35:55,950 --> 00:35:59,305 और फिर अगली पंक्ति क्या है कोड की हम यहाँ करना चाहते हैं? 733 00:35:59,305 --> 00:36:00,680 दर्शकों: सरणी-मैं सरणी-जम्मू के बराबर होती है। 734 00:36:00,680 --> 00:36:07,154 735 00:36:07,154 --> 00:36:08,070 ANDI PENG: और अंत में? 736 00:36:08,070 --> 00:36:12,070 दर्शकों: सरणी-जम्मू सरणी-मैं के बराबर होती है। 737 00:36:12,070 --> 00:36:14,525 दर्शकों: या सरणी-जम्मू बराबरी सरणी-temp-- या, अस्थायी। 738 00:36:14,525 --> 00:36:17,135 739 00:36:17,135 --> 00:36:19,430 >> ANDI PENG: ठीक है। 740 00:36:19,430 --> 00:36:21,510 तो चलो इस चलाते हैं और देखते हैं यह काम करने के लिए जा रहा है। 741 00:36:21,510 --> 00:36:37,520 742 00:36:37,520 --> 00:36:39,335 कि कहाँ क्या हो रहा है? 743 00:36:39,335 --> 00:36:40,210 ओह, यह एक समस्या है। 744 00:36:40,210 --> 00:36:44,320 हम कर रहे हैं, लाइन 40 पर, देखें सरणी-जे का उपयोग करने की कोशिश कर रहा है? 745 00:36:44,320 --> 00:36:47,022 लेकिन जहां एक ही में जम्मू मौजूद है? 746 00:36:47,022 --> 00:36:48,402 >> दर्शकों: पाश के लिए। 747 00:36:48,402 --> 00:36:49,110 ANDI PENG: ठीक है। 748 00:36:49,110 --> 00:36:51,730 तो हम क्या करने की जरूरत के लिए जा रहे हैं? 749 00:36:51,730 --> 00:36:53,170 >> दर्शकों: the-- बाहर यह परिभाषित करें 750 00:36:53,170 --> 00:36:57,777 751 00:36:57,777 --> 00:37:00,610 दर्शकों: हाँ, मैं तुम्हें लगता है कि बयान, सही है, तो दूसरे का उपयोग करने के लिए? 752 00:37:00,610 --> 00:37:05,230 तो, जैसे यदि minimum-- सब ठीक है, मुझे लगता है। 753 00:37:05,230 --> 00:37:08,170 754 00:37:08,170 --> 00:37:09,990 >> ANDI PENG: दोस्तों, कोशिश एक नज़र चलो लेने के लिए 755 00:37:09,990 --> 00:37:11,270 , हम यहाँ कुछ क्या कर सकते हैं चलो देखते? 756 00:37:11,270 --> 00:37:11,811 >> दर्शकों: ठीक है। 757 00:37:11,811 --> 00:37:15,900 न्यूनतम बराबर नहीं करता है तो न्यूनतम है, तो j-- तो अभी भी i-- 758 00:37:15,900 --> 00:37:17,570 फिर हम स्वैप करने के लिए नहीं होता। 759 00:37:17,570 --> 00:37:22,450 760 00:37:22,450 --> 00:37:24,712 >> ANDI PENG: मुझे लगता है कि बराबर करता है? 761 00:37:24,712 --> 00:37:25,920 आप यहाँ क्या कहना चाहते हो? 762 00:37:25,920 --> 00:37:30,494 >> दर्शकों: या हाँ, यदि न्यूनतम हाँ, बराबर नहीं मैं नहीं करता है। 763 00:37:30,494 --> 00:37:39,627 764 00:37:39,627 --> 00:37:40,210 ANDI PENG: ठीक है। 765 00:37:40,210 --> 00:37:42,040 अच्छा है कि हमारी समस्याओं, एक तरह से हल करती है। 766 00:37:42,040 --> 00:37:47,265 लेकिन यह है कि अभी भी हल नहीं करता जम्मू के बाद से j-- क्या होता है अगर की समस्या 767 00:37:47,265 --> 00:37:49,890 इसके बारे में बाहर मौजूद नहीं है, क्या आप हम इसके साथ क्या करना चाहते हैं? 768 00:37:49,890 --> 00:37:50,698 बाहर यह घोषणा? 769 00:37:50,698 --> 00:37:59,410 770 00:37:59,410 --> 00:38:02,730 चलो इस चलाने की कोशिश करते हैं। 771 00:38:02,730 --> 00:38:04,435 उह ओह। 772 00:38:04,435 --> 00:38:06,200 हमारी तरह काम नहीं कर रहा। 773 00:38:06,200 --> 00:38:10,060 >> यदि आप हमारे प्रारंभिक देख सकते हैं सरणी उन मूल्यों था। 774 00:38:10,060 --> 00:38:14,800 और इसे बाद में करना चाहिए था 1, 2, 3, 4, 5, 6, 7, 8, 9 में किया गया। 775 00:38:14,800 --> 00:38:15,530 काम नहीं कर रहा। 776 00:38:15,530 --> 00:38:16,030 आह। 777 00:38:16,030 --> 00:38:17,184 हम क्या करें? 778 00:38:17,184 --> 00:38:17,850 दर्शकों: डिबग। 779 00:38:17,850 --> 00:38:21,787 780 00:38:21,787 --> 00:38:23,370 ANDI PENG: ठीक है, हम कोशिश कर सकते हैं। 781 00:38:23,370 --> 00:38:25,030 हम डिबग कर सकते हैं। 782 00:38:25,030 --> 00:38:26,042 थोड़ा बाहर ज़ूम। 783 00:38:26,042 --> 00:38:31,177 784 00:38:31,177 --> 00:38:33,656 चलो हमारे breakpoint सेट करते हैं। 785 00:38:33,656 --> 00:38:37,280 के like-- ठीक चलते हैं। 786 00:38:37,280 --> 00:38:40,444 >> हम पहले से ही जानते हैं कि क्योंकि तो इन लाइनों, 15 22 के माध्यम से, 787 00:38:40,444 --> 00:38:43,610 मैं क्या कर रहा हूँ सब है, क्योंकि working-- रहे हैं बस के माध्यम से और printing-- पुनरावृति 788 00:38:43,610 --> 00:38:45,406 मुझे आगे जाना है और उस को छोड़ सकते हैं। 789 00:38:45,406 --> 00:38:47,280 की लाइन 25 पर शुरू करते हैं। 790 00:38:47,280 --> 00:38:48,712 OOP, मुझे उस से छुटकारा मिलता है। 791 00:38:48,712 --> 00:38:51,598 792 00:38:51,598 --> 00:38:54,057 >> दर्शकों: तो ब्रेकप्वाइंट का डिबगिंग जहां शुरू होता है? 793 00:38:54,057 --> 00:38:54,890 ANDI PENG: या बंद हो जाता है। 794 00:38:54,890 --> 00:38:55,670 दर्शकों: या बंद हो जाता है। 795 00:38:55,670 --> 00:38:55,930 ANDI PENG: हाँ। 796 00:38:55,930 --> 00:38:58,640 आप कई ब्रेकप्वाइंट सेट कर सकते हैं और यह सिर्फ एक दूसरे से कूद कर सकते हैं। 797 00:38:58,640 --> 00:39:01,590 लेकिन इस मामले में हम नहीं जानते जहां गलती हो रहा है। 798 00:39:01,590 --> 00:39:03,780 तो हम बस करना चाहते हैं ऊपर से नीचे शुरू करते हैं। 799 00:39:03,780 --> 00:39:05,020 हाँ। 800 00:39:05,020 --> 00:39:05,550 ठीक। 801 00:39:05,550 --> 00:39:08,460 >> यहाँ तो इस लाइन में, हम में कदम कर सकते हैं। 802 00:39:08,460 --> 00:39:11,499 आप यहाँ नीचे देख सकते हैं हम एक सरणी मिल गया है। 803 00:39:11,499 --> 00:39:13,290 उन मान रहे हैं सरणी में हैं। 804 00:39:13,290 --> 00:39:16,360 तुम देखते हो, कि कैसे सूचकांक 0, यह , ओह value-- से मेल खाती है 805 00:39:16,360 --> 00:39:17,526 मैं में ज़ूम करने की कोशिश करने के लिए जा रहा हूँ। 806 00:39:17,526 --> 00:39:20,650 क्षमा करें, यह वास्तव में मुश्किल है सरणी 0 सूचकांक में see-- करने के लिए, 807 00:39:20,650 --> 00:39:24,090 हम 4 के एक मूल्य है और तो बहुत आगे है और इतने पर। 808 00:39:24,090 --> 00:39:25,670 हम अपने स्थानीय चर है। 809 00:39:25,670 --> 00:39:28,570 अभी मैं के बराबर है हम यह देखना चाहते हैं जो 0,। 810 00:39:28,570 --> 00:39:31,540 811 00:39:31,540 --> 00:39:33,690 >> और तो के माध्यम से निकलते रहते हैं। 812 00:39:33,690 --> 00:39:36,850 हमारे न्यूनतम, 0 के बराबर है जो हम भी इसे देखना चाहते हैं। 813 00:39:36,850 --> 00:39:39,470 814 00:39:39,470 --> 00:39:45,560 और फिर हम के लिए हमारी दूसरी दर्ज पाश, सरणी-जम्मू सरणी-मैं से कम है तो, 815 00:39:45,560 --> 00:39:46,380 जो ऐसा नहीं था। 816 00:39:46,380 --> 00:39:48,130 तो आप कैसे देखा था कि उस पर छोड़ दिया? 817 00:39:48,130 --> 00:39:52,430 >> दर्शकों: यदि हां चाहिए न्यूनतम, सभी that-- नहीं करना चाहिए कि 818 00:39:52,430 --> 00:39:55,424 पाश के लिए पहले के अंदर हो सकता है? 819 00:39:55,424 --> 00:39:57,340 ANDI PENG: नहीं, क्योंकि आप अभी भी परीक्षण करना चाहते हैं। 820 00:39:57,340 --> 00:40:00,329 आप हर एक तुलना करना चाहते हैं समय, आप इसे माध्यम से चलाने के बाद भी। 821 00:40:00,329 --> 00:40:02,620 आप सिर्फ यह करना है नहीं करना चाहते हैं पहले पास के माध्यम से पर। 822 00:40:02,620 --> 00:40:05,240 यह आप के साथ क्या करना चाहते हैं फिर प्रत्येक अतिरिक्त गुजरती हैं। 823 00:40:05,240 --> 00:40:07,198 तो क्या आप के लिए जाँच करना चाहते हैं अंदर अपनी हालत। 824 00:40:07,198 --> 00:40:11,610 825 00:40:11,610 --> 00:40:13,746 तो हम बस करने के लिए जा रहे हैं यहाँ के माध्यम से चालू रखने के लिए। 826 00:40:13,746 --> 00:40:17,337 827 00:40:17,337 --> 00:40:18,420 मैं तुम लोगों को एक संकेत देता हूँ। 828 00:40:18,420 --> 00:40:23,910 यह इस तथ्य के साथ क्या करना है जब कि यदि आप अपने सशर्त जाँच कर रहे हैं 829 00:40:23,910 --> 00:40:26,600 आप की जाँच नहीं कर रहे हैं सही सूचकांक के लिए। 830 00:40:26,600 --> 00:40:32,510 इसलिए अभी आप के लिए जाँच कर रहे हैं जम्मू की सरणी सूचकांक सरणी से भी कम है 831 00:40:32,510 --> 00:40:33,970 मैं के सूचकांक। 832 00:40:33,970 --> 00:40:36,580 लेकिन क्या आप पर क्या कर रहे हैं पाश के लिए की शुरुआत? 833 00:40:36,580 --> 00:40:38,260 तुम्हें पता है मैं के बराबर जम्मू की स्थापना नहीं कर रहे हैं? 834 00:40:38,260 --> 00:40:41,260 835 00:40:41,260 --> 00:40:45,415 >> हाँ, तो हम वास्तव में कर सकते हैं यहां डिबगर से बाहर निकलें। 836 00:40:45,415 --> 00:40:47,040 तो चलो हमारे स्यूडोकोड पर एक नजर डालते हैं। 837 00:40:47,040 --> 00:40:50,070 838 00:40:50,070 --> 00:40:52,580 For-- हम करने जा रहे हैं मैं 0 के बराबर होती है पर शुरू करते हैं। 839 00:40:52,580 --> 00:40:54,760 हम 1 एन शून्य तक जाने के लिए जा रहे हैं। 840 00:40:54,760 --> 00:40:58,040 की जांच करते हैं, हम चाहते हैं कि सही किया है? 841 00:40:58,040 --> 00:40:59,580 हाँ, यह सही था। 842 00:40:59,580 --> 00:41:02,080 >> तो फिर यहां के अंदर है, हम कर रहे हैं एक न्यूनतम मूल्य बनाने के लिए जा रहा 843 00:41:02,080 --> 00:41:03,630 और मैं करने के लिए कि बराबर सेट। 844 00:41:03,630 --> 00:41:04,950 हम जानते हैं कि क्या किया? 845 00:41:04,950 --> 00:41:06,270 हाँ, ऐसा ही किया। 846 00:41:06,270 --> 00:41:10,430 अब हमारे भीतर के लिए पाश में, हम कर रहे हैं जम्मू में क्या करने जा मैं n करने के लिए शून्य से 1 के बराबर होती है। 847 00:41:10,430 --> 00:41:11,950 हम जानते हैं कि क्या किया? 848 00:41:11,950 --> 00:41:15,540 दरअसल, हम ऐसा ही किया। 849 00:41:15,540 --> 00:41:19,922 >> ताकि हालांकि, हम यहाँ क्या तुलना कर रहे हैं? 850 00:41:19,922 --> 00:41:20,925 >> दर्शकों: जम्मू प्लस 1। 851 00:41:20,925 --> 00:41:21,716 ANDI PENG: बिल्कुल। 852 00:41:21,716 --> 00:41:24,184 853 00:41:24,184 --> 00:41:27,350 और फिर आप सेट करना चाहते करने जा रहे हैं जम्मू प्लस 1 के रूप में अच्छी तरह से करने के लिए बराबर अपने न्यूनतम। 854 00:41:27,350 --> 00:41:31,057 855 00:41:31,057 --> 00:41:32,640 इसलिए मैं वास्तव में जल्दी से उस के माध्यम से चला गया। 856 00:41:32,640 --> 00:41:36,190 आप लोग समझ रहे हो ऐसा क्यों है कि जम्मू प्लस 1 है? 857 00:41:36,190 --> 00:41:36,890 ठीक। 858 00:41:36,890 --> 00:41:40,700 >> अपने सरणी में, में तो के माध्यम से अपने पहले पास, 859 00:41:40,700 --> 00:41:44,850 अपने पाश के लिए, पूर्णांक के लिए मैं 0 के बराबर होती है, चलो बस जाने 860 00:41:44,850 --> 00:41:46,740 यह अभी तक बदला नहीं गया मान। 861 00:41:46,740 --> 00:41:53,180 862 00:41:53,180 --> 00:41:56,760 हम पूरी तरह से, की एक सरणी है, सिर्फ चार अवर्गीकृत तत्वों, है ना? 863 00:41:56,760 --> 00:42:00,760 इसलिए हम मैं 0 के बराबर प्रारंभ करने के लिए चाहते हैं। 864 00:42:00,760 --> 00:42:03,650 और मैं करने जा रहा है सिर्फ इस लूप के माध्यम से चला रहे हैं। 865 00:42:03,650 --> 00:42:08,560 और तो पहले पास में, हम जा रहे हैं "मिनट" नामक एक चर प्रारंभ करने के लिए 866 00:42:08,560 --> 00:42:11,245 वह भी, क्योंकि मैं बराबर होती है हम एक न्यूनतम मूल्य नहीं है। 867 00:42:11,245 --> 00:42:12,870 तो यह है कि के रूप में अच्छी तरह से करने के लिए 0 वर्तमान बराबर है। 868 00:42:12,870 --> 00:42:16,182 869 00:42:16,182 --> 00:42:17,640 और फिर हम के माध्यम से जाने के लिए जा रहे हैं। 870 00:42:17,640 --> 00:42:19,270 और हम फिर से पुनरावृति करना चाहते हैं। 871 00:42:19,270 --> 00:42:22,900 अब हमने पाया है कि क्या हमारे न्यूनतम हम के माध्यम से पुनरावृति करना चाहते है, 872 00:42:22,900 --> 00:42:25,190 यह तुलना है, तो फिर ठीक है, यह देखने के लिए? 873 00:42:25,190 --> 00:42:40,440 इसलिए जम्मू, यहाँ, जा रहा है बराबर मैं करने के लिए 0 है, जो। 874 00:42:40,440 --> 00:42:46,320 और फिर यदि सरणी जम्मू अलावा मैं, जो कम के रूप में, अगले खत्म हो चुका है कि एक है 875 00:42:46,320 --> 00:42:49,270 क्या अपने वर्तमान न्यूनतम से मूल्य आप स्वैप करने के लिए चाहते हैं। 876 00:42:49,270 --> 00:42:56,850 >> तो बस हम है कहना चलो 2, 5, 1, 8, जैसे, मिला है। 877 00:42:56,850 --> 00:43:01,610 अभी, मैं करने के लिए बराबर है 0 और जे 0 के बराबर है। 878 00:43:01,610 --> 00:43:05,210 और कहा कि हमारी न्यूनतम मूल्य है। 879 00:43:05,210 --> 00:43:09,950 सरणी-जम्मू प्लस अगर i-- एक है, इसलिए यदि कि हम देख रहे हैं एक के बाद है 880 00:43:09,950 --> 00:43:13,450 यह पहले एक से अधिक होता है यह न्यूनतम बनने जा रही है। 881 00:43:13,450 --> 00:43:18,120 >> यहाँ तो हम 5 कि वहाँ कि कम से कम नहीं है। 882 00:43:18,120 --> 00:43:19,730 तो यह 5 नहीं किया जा रहा है। 883 00:43:19,730 --> 00:43:23,580 हम एक सही, कम से कम 2 है कि वहाँ? 884 00:43:23,580 --> 00:43:32,970 तो अब हम हमारे न्यूनतम पता है कि 0, 1, 2 में सूचकांक मूल्य होने जा रहा। 885 00:43:32,970 --> 00:43:34,030 हाँ? 886 00:43:34,030 --> 00:43:39,170 और फिर तुम, यहाँ नीचे मिलता है जब आप सही मान स्वैप कर सकते हैं। 887 00:43:39,170 --> 00:43:42,610 >> तो तुम लोग सिर्फ जम्मू कर रहे थे जब इससे पहले, आप एक बार में नहीं दिख रहे थे 888 00:43:42,610 --> 00:43:43,260 इसके बाद। 889 00:43:43,260 --> 00:43:44,520 आप पर देख रहे थे एक ही मूल्य है, जो 890 00:43:44,520 --> 00:43:46,290 यह सिर्फ कुछ भी नहीं कर रहा था, यही वजह है। 891 00:43:46,290 --> 00:43:49,721 कि हर किसी के लिए समझ पड़ता है, यही कारण है कि हम उस के साथ साथ वहाँ 1 की ज़रूरत है? 892 00:43:49,721 --> 00:43:50,220 ठीक। 893 00:43:50,220 --> 00:43:53,345 अब इसे बनाने के लिए के माध्यम से चलो बस चलाते हैं सुनिश्चित करें कि कोड के बाकी सही है। 894 00:43:53,345 --> 00:44:04,424 895 00:44:04,424 --> 00:44:05,340 यही वजह है कि क्या हो रहा है? 896 00:44:05,340 --> 00:44:14,780 897 00:44:14,780 --> 00:44:16,364 आह, यह यहीं मिनट है। 898 00:44:16,364 --> 00:44:17,780 हम गलत मान तुलना थे। 899 00:44:17,780 --> 00:44:24,944 900 00:44:24,944 --> 00:44:25,906 अरे नहीं। 901 00:44:25,906 --> 00:44:30,720 902 00:44:30,720 --> 00:44:33,482 >> अरे हाँ, यहाँ नीचे हम थे के रूप में अच्छी तरह से गलत मूल्यों स्वैपिंग। 903 00:44:33,482 --> 00:44:34,940 हम मैं और जम्मू में देख रहे थे क्योंकि। 904 00:44:34,940 --> 00:44:36,440 हम जाँच कर रहे थे लोग कर रहे हैं। 905 00:44:36,440 --> 00:44:39,160 हम वास्तव में स्वैप करना चाहता हूँ कम से कम, वर्तमान न्यूनतम, 906 00:44:39,160 --> 00:44:40,550 साथ जो कुछ भी एक के बाहर है। 907 00:44:40,550 --> 00:44:59,510 908 00:44:59,510 --> 00:45:05,402 और तुम लोग नीचे देख सकते हैं यहाँ, हम एक सॉर्ट सरणी है। 909 00:45:05,402 --> 00:45:07,110 यह बस के साथ करना था तथ्य यह है कि जब 910 00:45:07,110 --> 00:45:09,350 हम जाँच कर रहे थे हम तुलना थे मूल्यों, 911 00:45:09,350 --> 00:45:11,226 हम सही मूल्यों पर नहीं लग रहे थे। 912 00:45:11,226 --> 00:45:13,850 हम एक ही एक को देख रहे थे यहाँ, वास्तव में यह स्वैपिंग नहीं। 913 00:45:13,850 --> 00:45:17,135 आप अगले एक को देखने के लिए यह करने के लिए और फिर तुम स्वैप कर सकते हैं। 914 00:45:17,135 --> 00:45:19,260 तो यह है कि एक तरह से वह क्या था पहले हमारे कोड गुस्सा दिलाना। 915 00:45:19,260 --> 00:45:22,460 और क्या मैं यहाँ सब कुछ किया है डिबगर आप के लिए किया जा सकता है 916 00:45:22,460 --> 00:45:23,810 मैं तो बस पर किया था बोर्ड, क्योंकि यह आसान है 917 00:45:23,810 --> 00:45:26,320 कोशिश कर के बजाय देखने के लिए डिबगर पर ज़ूम करने के लिए। 918 00:45:26,320 --> 00:45:29,391 कि हर किसी के लिए मतलब? 919 00:45:29,391 --> 00:45:29,890 कूल। 920 00:45:29,890 --> 00:45:34,800 921 00:45:34,800 --> 00:45:35,410 >> ठीक है। 922 00:45:35,410 --> 00:45:41,070 हम इस बारे में बात करने पर स्थानांतरित कर सकते हैं उपगामी संकेतन, जो 923 00:45:41,070 --> 00:45:44,580 कहने का सिर्फ एक अच्छा तरीका है इन प्रकार के सभी के runtimes। 924 00:45:44,580 --> 00:45:47,650 इसलिए मैं व्याख्यान में, डेविड पता है, runtimes पर छुआ। 925 00:45:47,650 --> 00:45:52,124 और वह पूरे सूत्र के माध्यम से चला गया के runtimes गणना करने के लिए कैसे। 926 00:45:52,124 --> 00:45:53,040 उस बारे में कोई चिंता नहीं है। 927 00:45:53,040 --> 00:45:54,660 क्या तुम सच में उत्सुक हैं कि कैसे काम करता है पर, 928 00:45:54,660 --> 00:45:55,810 अनुभाग के बाद मुझसे बात करने के लिए स्वतंत्र महसूस। 929 00:45:55,810 --> 00:45:57,560 हम के माध्यम से चल सकता है एक साथ फार्मूले। 930 00:45:57,560 --> 00:46:00,689 लेकिन यह सब आप लोग वास्तव में करने के लिए है जानते 2 n खत्म चुकता है कि 931 00:46:00,689 --> 00:46:01,980 n चुकता रूप में एक ही बात है। 932 00:46:01,980 --> 00:46:04,710 सबसे बड़ी संख्या है, इसलिए प्रतिपादक, सबसे बढ़ता है। 933 00:46:04,710 --> 00:46:06,590 और इसलिए हमारे उद्देश्यों के लिए, हम देखभाल के बारे में सब 934 00:46:06,590 --> 00:46:09,470 बढ़ रही है कि कि विशाल संख्या है। 935 00:46:09,470 --> 00:46:13,340 >> तो क्या सबसे अच्छा मामला है चयन प्रकार के क्रम? 936 00:46:13,340 --> 00:46:15,830 आपके पास करने के लिए जा रहे हैं एक सूची के माध्यम से पुनरावृति 937 00:46:15,830 --> 00:46:18,712 और उसके बाद के माध्यम से पुनरावृति उस सूची के बाकी है, 938 00:46:18,712 --> 00:46:20,420 कितनी बार कर रहे हैं आप शायद करने के लिए जा रहा 939 00:46:20,420 --> 00:46:24,612 में सबसे खराब case-- में मामले सबसे अच्छा माध्यम से चलाने के sorry--? 940 00:46:24,612 --> 00:46:27,070 शायद बेहतर सवाल है पूछने के लिए, सबसे खराब स्थिति क्या है 941 00:46:27,070 --> 00:46:28,153 चयन प्रकार का क्रम। 942 00:46:28,153 --> 00:46:29,366 दर्शकों: एन चुकता। 943 00:46:29,366 --> 00:46:30,740 ANDI PENG: यह पता सही, चुकता है। 944 00:46:30,740 --> 00:46:36,986 इस तरह से है की तो एक आसान तरीका लगता है, आप छोरों के लिए नेस्ट दो है किसी भी समय, 945 00:46:36,986 --> 00:46:38,110 यह n चुकता किया जा रहा है। 946 00:46:38,110 --> 00:46:40,386 आप कर रहे हैं, क्योंकि न केवल एक बार फिर से के माध्यम से चल रहा है, 947 00:46:40,386 --> 00:46:42,260 तुम वापस जाना है आसपास है और इसके माध्यम से चलाने के 948 00:46:42,260 --> 00:46:44,980 एक बार फिर हर मूल्य के लिए अंदर। 949 00:46:44,980 --> 00:46:48,640 उस मामले में तो, आप n चला रहे हैं बार n, माफ करना है- जो चुकता 950 00:46:48,640 --> 00:46:50,505 n बार एन, एन चुकता बराबर होती है जो। 951 00:46:50,505 --> 00:46:53,230 952 00:46:53,230 --> 00:46:56,360 >> और तरह यह भी एक सा है इस अर्थ में अद्वितीय 953 00:46:56,360 --> 00:46:59,774 यह इन यदि कोई फर्क नहीं पड़ता कि मूल्यों क्रम में पहले से ही कर रहे हैं। 954 00:46:59,774 --> 00:47:01,440 यह अभी भी वैसे भी माध्यम से चलाने के लिए जा रहा है। 955 00:47:01,440 --> 00:47:03,872 चलो बस यह 1, 2, 3, 4 था कहते हैं। 956 00:47:03,872 --> 00:47:07,080 भले ही यह किया गया था या नहीं आदेश, यह अभी भी माध्यम से भाग गया होता 957 00:47:07,080 --> 00:47:08,620 और अभी भी कम से कम मूल्य की जाँच की। 958 00:47:08,620 --> 00:47:10,100 यह बना दिया जाएगा चेकों की एक ही नंबर 959 00:47:10,100 --> 00:47:12,780 हर एक समय, यहां तक ​​कि अगर यह वास्तव में कुछ भी नहीं छुआ। 960 00:47:12,780 --> 00:47:16,940 >> इस तरह के एक मामले में तो, सबसे अच्छा और सबसे खराब runtimes वास्तव में बराबर हैं। 961 00:47:16,940 --> 00:47:19,160 इसलिए उम्मीद क्रम चयन की तरह, 962 00:47:19,160 --> 00:47:23,790 जो हम प्रतीक द्वारा नामित थीटा, थीटा, इस मामले में, 963 00:47:23,790 --> 00:47:24,790 भी n चुकता किया जाएगा। 964 00:47:24,790 --> 00:47:26,480 इन सभी के तीन n चुकता किया जाएगा। 965 00:47:26,480 --> 00:47:29,653 यही कारण है पर हर किसी को स्पष्ट है क्रम n चुकता है? 966 00:47:29,653 --> 00:47:33,360 967 00:47:33,360 --> 00:47:33,980 >> ठीक है। 968 00:47:33,980 --> 00:47:39,120 तो मैं बस जल्दी से चलाने के लिए जा रहा हूँ एक तरह की बाकी के माध्यम से। 969 00:47:39,120 --> 00:47:41,137 के लिए एल्गोरिथ्म बुलबुला, याद sort-- 970 00:47:41,137 --> 00:47:43,220 यह पहली बार एक था डेविड व्याख्यान में खत्म हो गया था। 971 00:47:43,220 --> 00:47:46,000 अनिवार्य रूप से, आप कदम पूरी सूची के माध्यम 972 00:47:46,000 --> 00:47:48,950 और तुम सिर्फ तुम swap-- एक समय में दो की तुलना करें। 973 00:47:48,950 --> 00:47:51,350 और एक, अधिक से अधिक है, तो आप की तुलना में सिर्फ उन्हें स्वैप। 974 00:47:51,350 --> 00:47:53,590 इन अधिक कर रहे हैं, तो आप स्वैप होगा। 975 00:47:53,590 --> 00:47:56,180 मैं यहीं अधिकारी मिल गया है। 976 00:47:56,180 --> 00:47:59,100 >> तो चलो बस आप 8, 6, 4, 2 था कहते हैं। 977 00:47:59,100 --> 00:48:00,571 आप 8 और एक 6 तुलना चाहते हैं। 978 00:48:00,571 --> 00:48:01,570 आप उन्हें स्वैप करने की जरूरत थी। 979 00:48:01,570 --> 00:48:02,610 आप 8 और 4 तुलना होगा। 980 00:48:02,610 --> 00:48:03,609 आप उन्हें स्वैप करने की जरूरत थी। 981 00:48:03,609 --> 00:48:07,000 आप 8 स्वैप करने के लिए है, तो और 2, के रूप में अच्छी तरह से बदल दिया है। 982 00:48:07,000 --> 00:48:10,760 इस तरह के एक अर्थ में तो, आप देख सकते हैं समय की एक लंबी अवधि में बाहर खेला, 983 00:48:10,760 --> 00:48:13,730 कैसे बुलबुला के मूल्यों तरह करने के लिए है, जो समाप्त हो जाती है, हम इसे क्यों फोन 984 00:48:13,730 --> 00:48:15,320 बुलबुले की तरह। 985 00:48:15,320 --> 00:48:19,950 >> हम बस पर फिर से के माध्यम से चला जाएगा हमारे दूसरे के पास है, और हमारे तीसरे पास, 986 00:48:19,950 --> 00:48:21,150 और हमारा चौथा गुजरती हैं। 987 00:48:21,150 --> 00:48:25,820 मूलतः, बुलबुला तरह बस चलाता है आप किसी भी अधिक स्वैप करना नहीं है जब तक। 988 00:48:25,820 --> 00:48:31,109 इस अर्थ में कि तो, यह सिर्फ है इसके लिए सामान्य स्यूडोकोड। 989 00:48:31,109 --> 00:48:32,650 कोई चिंता नहीं, इन सभी ऑनलाइन हो जाएगा। 990 00:48:32,650 --> 00:48:34,990 हम वास्तव में इस पर जाने के लिए नहीं है। 991 00:48:34,990 --> 00:48:38,134 >> हम सिर्फ एक काउंटर से प्रारंभ 0 पर शुरू होता है कि चर। 992 00:48:38,134 --> 00:48:39,800 और हम पूरे सरणी के माध्यम से पुनरावृति। 993 00:48:39,800 --> 00:48:43,420 और एक मूल्य अगर यह है- यदि मूल्य, कि मूल्य से अधिक है 994 00:48:43,420 --> 00:48:44,610 आप उन्हें स्वैप करने के लिए जा रहे हैं। 995 00:48:44,610 --> 00:48:46,860 और फिर आप बस रहे हैं जा रहा रखने के लिए जा रहा है। 996 00:48:46,860 --> 00:48:47,970 और अगर आप गिनती करने के लिए जा रहे हैं। 997 00:48:47,970 --> 00:48:50,845 और तुम बस कर रखने के लिए जा रहे हैं इस काउंटर अधिक से अधिक है, जबकि 998 00:48:50,845 --> 00:48:53,345 जिसका मतलब है कि 0, से हर बार जब आप स्वैप करने के लिए है, 999 00:48:53,345 --> 00:48:55,220 क्या आप जाना चाहते हैं पीठ और फिर से जाँच करें। 1000 00:48:55,220 --> 00:48:59,510 क्या आप जानते हैं कि जब तक जाँच रखना चाहते हैं कि तुम अब और स्वैप करने की जरूरत नहीं है। 1001 00:48:59,510 --> 00:49:05,570 >> तो सबसे अच्छा और सबसे खराब क्या कर रहे हैं मामले बुलबुला तरह के लिए Runtimes? 1002 00:49:05,570 --> 00:49:09,300 और hint-- यह वास्तव में अलग है इस अर्थ में चयन प्रकार से 1003 00:49:09,300 --> 00:49:11,810 इन दो जवाब ही नहीं हैं। 1004 00:49:11,810 --> 00:49:14,709 में क्या होगा के बारे में सोचो एक मामले में यह पहले से ही हल किया गया था यदि। 1005 00:49:14,709 --> 00:49:16,500 और के बारे में क्या सोचते हैं यह था तो क्या होगा 1006 00:49:16,500 --> 00:49:18,372 मामले में जिसमें इसे हल नहीं किया गया था। 1007 00:49:18,372 --> 00:49:20,580 और आप की तरह चला सकते हैं यही कारण है कि के माध्यम से हो रहा है। 1008 00:49:20,580 --> 00:49:22,954 मैं 30 की तरह, तुम लोगों को दे दूँगा सेकंड उस बारे में सोचने के लिए। 1009 00:49:22,954 --> 00:49:52,330 1010 00:49:52,330 --> 00:49:53,540 >> ठीक। 1011 00:49:53,540 --> 00:49:57,462 किसी को क्या में एक अनुमान है बुलबुला तरह के सबसे ज्यादा मामले क्रम है? 1012 00:49:57,462 --> 00:49:57,962 हाँ। 1013 00:49:57,962 --> 00:50:07,810 >> दर्शकों: यह, जैसे, n बार होगा n शून्य से लगता है कि जैसे एक या कुछ और? 1014 00:50:07,810 --> 00:50:10,650 की तरह यह भी चलाता है हर बार, यह एक स्वैप कम है, की तरह, सिर्फ है 1015 00:50:10,650 --> 00:50:10,960 जो कुछ भी है कि यह गया था। 1016 00:50:10,960 --> 00:50:12,668 >> ANDI PENG: हाँ, तो आप पूरी तरह से सही हो। 1017 00:50:12,668 --> 00:50:15,940 और इस एक मामले में जो है आपके जवाब वास्तव में और अधिक जटिल था 1018 00:50:15,940 --> 00:50:17,240 एक से हम देने की जरूरत है। 1019 00:50:17,240 --> 00:50:19,772 तो यह है कि मैं कर रहा हूँ run-- जा रहा है यहां यह सब मिटा करने के लिए जा रहा है। 1020 00:50:19,772 --> 00:50:20,480 हर किसी को अच्छा है? 1021 00:50:20,480 --> 00:50:21,869 मैं इस मिटा सकता हूँ? 1022 00:50:21,869 --> 00:50:22,368 ठीक। 1023 00:50:22,368 --> 00:50:27,904 1024 00:50:27,904 --> 00:50:30,320 आप n के माध्यम से चलाने के लिए जा रहे हैं बार पहली बार है, है ना? 1025 00:50:30,320 --> 00:50:33,200 और वे के माध्यम से चलाने के लिए जा रहे हैं n शून्य से 1 दूसरी बार, है ना? 1026 00:50:33,200 --> 00:50:37,130 और फिर आप रखने के लिए जा रहे हैं एन खान 2, वगैरह, जा रहा है। 1027 00:50:37,130 --> 00:50:40,210 डेविड जहां एक व्याख्यान में इस किया था, आप उन सभी मूल्यों के लिए कहा, तो 1028 00:50:40,210 --> 00:50:48,080 आप है कि कुछ पाने के like-- yeah-- अनिवार्य रूप से सिर्फ कम कर देता है, जो 2, खत्म 1029 00:50:48,080 --> 00:50:49,784 n करने के लिए नीचे चुकता। 1030 00:50:49,784 --> 00:50:51,700 आप एक पाने के लिए जा रहे हैं वहाँ में अजीब अंश। 1031 00:50:51,700 --> 00:50:53,892 और तो बस इतना पता है कि n हमेशा चुकता 1032 00:50:53,892 --> 00:50:55,350 अंश पर पूर्वता लेता है। 1033 00:50:55,350 --> 00:50:58,450 और हां, इस मामले में सबसे खराब क्रम n चुकता किया जाएगा। 1034 00:50:58,450 --> 00:51:00,210 यह उतरते में था आदेश, आपको लगता है 1035 00:51:00,210 --> 00:51:02,530 एक स्वैप हर बार बनाने के लिए है। 1036 00:51:02,530 --> 00:51:05,170 >> संभवतः, क्या होगा, सबसे अच्छा मामले क्रम? 1037 00:51:05,170 --> 00:51:08,580 सूची में पहले से ही था, तो चलो बस कहना है आदेश में, क्रम क्या होगा? 1038 00:51:08,580 --> 00:51:09,565 >> दर्शकों: एन। 1039 00:51:09,565 --> 00:51:10,690 ANDI PENG: यह वास्तव में, N है। 1040 00:51:10,690 --> 00:51:11,600 और क्यों यह n है? 1041 00:51:11,600 --> 00:51:13,850 दर्शकों: तुम क्योंकि बस प्रत्येक एक बार पर जांच के लिए है। 1042 00:51:13,850 --> 00:51:14,770 ANDI PENG: बिल्कुल। 1043 00:51:14,770 --> 00:51:17,150 श्रेष्ठ संभव क्रम में तो इस सूची में पहले से ही था, तो 1044 00:51:17,150 --> 00:51:20,270 sorted--, चलो 1, 2, 3, हम कहते हैं 4-- आप बस के माध्यम से जाना होगा, आप, जांच होगी 1045 00:51:20,270 --> 00:51:21,720 आप ओह, वे सब बाहर पैन, देखना होगा। 1046 00:51:21,720 --> 00:51:22,636 मैं स्वैप करने के लिए नहीं था। 1047 00:51:22,636 --> 00:51:23,370 मेरा काम हो गया। 1048 00:51:23,370 --> 00:51:26,500 तो उस मामले में, यह सिर्फ n है या कदम की संख्या तुम सिर्फ 1049 00:51:26,500 --> 00:51:29,870 पहली सूची में जांच की थी। 1050 00:51:29,870 --> 00:51:33,990 >> और बाद में, हम अब मारा प्रविष्टि तरह, जहां 1051 00:51:33,990 --> 00:51:39,260 एल्गोरिथ्म डिवाइड करने के लिए अनिवार्य है यह एक हल और अवर्गीकृत भाग में। 1052 00:51:39,260 --> 00:51:42,810 और फिर एक के बाद एक, अवर्गीकृत मान रहे हैं 1053 00:51:42,810 --> 00:51:46,880 उनके उचित में डाला सूची की शुरुआत में पदों। 1054 00:51:46,880 --> 00:51:52,120 >> तो उदाहरण के लिए, हम एक हैं 3 की सूची, 5, 2, 6, 4 फिर से। 1055 00:51:52,120 --> 00:51:54,750 हम यह वर्तमान में है कि पता अवर्गीकृत हम सिर्फ है क्योंकि 1056 00:51:54,750 --> 00:51:57,030 यह देख शुरू कर दिया। 1057 00:51:57,030 --> 00:52:00,610 हम एक बार देख लेते हैं और हम जानते हैं कि पहले मूल्य, सही हल है? 1058 00:52:00,610 --> 00:52:04,190 आप केवल की एक सरणी में देख रहे हैं आकार एक, आप यह हल है कि पता है। 1059 00:52:04,190 --> 00:52:08,230 >> तो फिर हम जानते हैं कि अन्य चार अवर्गीकृत हैं। 1060 00:52:08,230 --> 00:52:10,980 हम के माध्यम से जाने के लिए और हम उस मूल्य देखते हैं। 1061 00:52:10,980 --> 00:52:11,730 चलिये वापस चलते हैं। 1062 00:52:11,730 --> 00:52:13,130 5 के उस मूल्य को देखने? 1063 00:52:13,130 --> 00:52:14,110 हम इस पर एक नज़र रखना। 1064 00:52:14,110 --> 00:52:15,204 हम 3 की तुलना करें। 1065 00:52:15,204 --> 00:52:17,870 हम यह अधिक से अधिक है कि पता 3, तो हम उस हल है कि पता है। 1066 00:52:17,870 --> 00:52:22,940 इसलिए अब हम जानते हैं कि पहले दो हल और पिछले तीन नहीं कर रहे हैं। 1067 00:52:22,940 --> 00:52:24,270 >> हम 2 पर एक नज़र रखना। 1068 00:52:24,270 --> 00:52:25,720 हम पहले 5 के साथ यह जाँच करें। 1069 00:52:25,720 --> 00:52:26,700 यह 5 से कम है? 1070 00:52:26,700 --> 00:52:27,240 यह नहीं। 1071 00:52:27,240 --> 00:52:29,510 इसलिए हम नीचे देख कर रख दिया है। 1072 00:52:29,510 --> 00:52:30,940 तो आप 3 से 2 की जाँच करें। 1073 00:52:30,940 --> 00:52:31,850 की तुलना में यह कम है? 1074 00:52:31,850 --> 00:52:32,350 नहीं। 1075 00:52:32,350 --> 00:52:35,430 तो तुम एक दो डाला हो गया है पता है सामने में और 3 और 5 1076 00:52:35,430 --> 00:52:38,200 दोनों बाहर धक्का दे दिया जाना है। 1077 00:52:38,200 --> 00:52:42,190 6 और 4 के साथ फिर से यह मत करो। 1078 00:52:42,190 --> 00:52:48,962 और हम बस, अनिवार्य रूप से जाँच कर रखना हम बस की जांच जहां, जाँच की जाँच करें। 1079 00:52:48,962 --> 00:52:51,170 और यह सही में है जब तक स्थिति, हम किस तरह की बस 1080 00:52:51,170 --> 00:52:54,890 सही स्थिति में डालने, जो इसे का नाम कहाँ से आया है। 1081 00:52:54,890 --> 00:52:59,830 >> तो यह है कि सिर्फ एल्गोरिथ्म है, स्यूडोकोड प्रतिशत से है, एक तरह से, 1082 00:52:59,830 --> 00:53:04,990 हम लागू होगा पर एक प्रविष्टि तरह। 1083 00:53:04,990 --> 00:53:05,954 Pseudocode यहाँ है। 1084 00:53:05,954 --> 00:53:06,620 यह सब ऑनलाइन है। 1085 00:53:06,620 --> 00:53:10,720 कोई चिंता नहीं है कि तुम लोग कर रहे हैं यह नीचे की नकल करने की कोशिश कर रहा है। 1086 00:53:10,720 --> 00:53:14,500 तो एक बार फिर से, एक ही question-- क्या सबसे अच्छा और सबसे खराब runtimes होगा 1087 00:53:14,500 --> 00:53:16,120 प्रविष्टि प्रकार के लिए? 1088 00:53:16,120 --> 00:53:17,750 यह आखिरी सवाल के समान है। 1089 00:53:17,750 --> 00:53:20,479 मैं 30 की तरह, तुम लोगों को दे दूँगा सेकंड के रूप में अच्छी तरह से इस बारे में सोचने के लिए। 1090 00:53:20,479 --> 00:53:47,150 1091 00:53:47,150 --> 00:53:50,071 >> किसी को भी चाहता है कि ठीक मुझे सबसे खराब क्रम दे? 1092 00:53:50,071 --> 00:53:50,570 हाँ। 1093 00:53:50,570 --> 00:53:51,490 >> दर्शकों: एन चुकता। 1094 00:53:51,490 --> 00:53:52,573 >> ANDI PENG: यह n चुकता है। 1095 00:53:52,573 --> 00:53:53,730 और क्यों यह n चुकता है? 1096 00:53:53,730 --> 00:53:57,562 >> दर्शकों: में क्योंकि रिवर्स क्रम, आपके पास 1097 00:53:57,562 --> 00:54:02,619 है- जो, एन समय के माध्यम से जाना n करने के लिए 1098 00:54:02,619 --> 00:54:03,660 ANDI PENG: हाँ, बिल्कुल। 1099 00:54:03,660 --> 00:54:06,610 बुलबुला तरह के रूप में तो एक ही बात है। 1100 00:54:06,610 --> 00:54:08,720 इस सूची में है, तो अवरोही क्रम, आप कर रहे हैं 1101 00:54:08,720 --> 00:54:11,240 पहले एक बार जांच करने के लिए किया जा रहा। 1102 00:54:11,240 --> 00:54:13,470 और फिर साथ हर अतिरिक्त मूल्य, आप कर रहे हैं 1103 00:54:13,470 --> 00:54:16,390 के लिए जा खिलाफ यह जांच करने के लिए सही हर एक मूल्य? 1104 00:54:16,390 --> 00:54:20,290 और तो कुल मिलाकर, आप करने जा रहे हैं एक एन पास समय एक और एन, जो पास 1105 00:54:20,290 --> 00:54:21,750 n चुकता है। 1106 00:54:21,750 --> 00:54:22,860 क्या सबसे अच्छा मामले के बारे में? 1107 00:54:22,860 --> 00:54:24,360 हाँ। 1108 00:54:24,360 --> 00:54:28,840 >> दर्शकों: एन शून्य से 1, क्योंकि पहले एक पहले से ही चुकता है। 1109 00:54:28,840 --> 00:54:30,270 >> ANDI PENG: तो, करीब है। 1110 00:54:30,270 --> 00:54:31,850 जवाब वास्तव n है। 1111 00:54:31,850 --> 00:54:37,189 पहले से एक है क्योंकि जब तक हल, यह है कि यह actually-- नहीं हो सकता 1112 00:54:37,189 --> 00:54:38,980 हम बस में, बाहर lucked कि उदाहरण के लिए, कि 2 1113 00:54:38,980 --> 00:54:40,930 सबसे छोटी संख्या हो हुआ। 1114 00:54:40,930 --> 00:54:43,680 लेकिन यह हमेशा मामला नहीं होगा। 1115 00:54:43,680 --> 00:54:48,040 2 पहले से ही शुरुआत में हल किया जाता है तो लेकिन आप देखते हैं और यहां एक 1 वहाँ 1116 00:54:48,040 --> 00:54:49,144 1 यह टक्कर करने के लिए जा रहा है। 1117 00:54:49,144 --> 00:54:51,060 और यह अंत करने के लिए जा रहा है ऊपर वैसे भी टकरा जा रहा है। 1118 00:54:51,060 --> 00:54:56,250 >> , सबसे अच्छी स्थिति में तो यह वास्तव में सिर्फ एन होने जा रहा है। 1119 00:54:56,250 --> 00:54:59,090 यदि आपके पास 1, 2, 3, 4, 5, 6, 7, 8, आप कर रहे हैं 1120 00:54:59,090 --> 00:55:00,940 के माध्यम से चलाने के लिए जा कि पूरी सूची एक बार 1121 00:55:00,940 --> 00:55:03,430 सब कुछ ठीक है, तो देखने के लिए जाँच करने के लिए। 1122 00:55:03,430 --> 00:55:07,390 चल रहा है पर हर किसी को स्पष्ट है के रूप में अच्छी तरह से चयन के समय? 1123 00:55:07,390 --> 00:55:09,960 मैं मैं के माध्यम से जा रहा हूँ ये वास्तव में तेजी से। 1124 00:55:09,960 --> 00:55:13,330 लेकिन सिर्फ अगर आप जानते हैं कि पता है सामान्य अवधारणाओं, आप अच्छा होना चाहिए। 1125 00:55:13,330 --> 00:55:16,070 ठीक। 1126 00:55:16,070 --> 00:55:19,790 तो मैं बस की तरह है, शायद तुम लोगों को दे देंगे, एक मिनट के अपने पड़ोसियों से बात करने के लिए 1127 00:55:19,790 --> 00:55:21,890 क्या कर रहे हैं बस कुछ पर मुख्य अंतर 1128 00:55:21,890 --> 00:55:23,540 एक तरह की इन प्रकार के बीच। 1129 00:55:23,540 --> 00:56:24,571 1130 00:56:24,571 --> 00:56:25,570 हम जानते हैं कि जल्द ही खत्म जाना होगा। 1131 00:56:25,570 --> 00:56:26,444 दर्शकों: ठीक है, ओह। 1132 00:56:26,444 --> 00:56:27,320 ANDI PENG: हाँ। 1133 00:56:27,320 --> 00:56:28,380 ठीक। 1134 00:56:28,380 --> 00:56:33,420 कूल, चलो एक वर्ग के रूप में reconvene करते हैं। 1135 00:56:33,420 --> 00:56:34,330 ठीक। 1136 00:56:34,330 --> 00:56:37,579 तो यह था तरह का एक इस अर्थ में ओपन एंडेड सवाल 1137 00:56:37,579 --> 00:56:39,120 कि उन्हें जवाब के बहुत सारे है। 1138 00:56:39,120 --> 00:56:40,746 और हम संक्षेप उनमें से कुछ पर जायेंगे। 1139 00:56:40,746 --> 00:56:43,411 मैं सिर्फ तुम लोगों को प्राप्त करना चाहता था विभेदित के बारे में क्या सोच 1140 00:56:43,411 --> 00:56:44,530 एक तरह की सभी तीन प्रकार के। 1141 00:56:44,530 --> 00:56:47,440 और मुझे लगता है, यह भी एक महान सुना क्या करना तरह मर्ज करता question--? 1142 00:56:47,440 --> 00:56:50,110 बड़ा सवाल है, क्योंकि है कि क्या हम अगले कवर कर रहे हैं। 1143 00:56:50,110 --> 00:56:52,850 >> इसलिए तरह है विलय कार्य करता है कि एक तरह का 1144 00:56:52,850 --> 00:56:56,100 बहुत अलग ढंग से अन्य प्रकार से। 1145 00:56:56,100 --> 00:56:58,180 तुम लोगों को see-- सकते हैं डेविड डेमो कि क्या किया 1146 00:56:58,180 --> 00:57:01,130 वह सब शांत था, जहां विलय कैसे देखने का शोर 1147 00:57:01,130 --> 00:57:04,010 क्रमबद्ध असीम, जैसे, भागा अन्य दो प्रकार की तुलना में तेजी? 1148 00:57:04,010 --> 00:57:04,510 ठीक। 1149 00:57:04,510 --> 00:57:07,580 तो यह है कि मर्ज क्योंकि है क्रमबद्ध कि डिवाइड को लागू करता है 1150 00:57:07,580 --> 00:57:11,020 और हम है कि अवधारणा को जीत व्याख्यान में एक बहुत कुछ के बारे में बात की थी। 1151 00:57:11,020 --> 00:57:14,550 हम काम करना चाहते हैं कि इस अर्थ में कि होशियार, आप बांटने के समय, कठिन नहीं 1152 00:57:14,550 --> 00:57:18,120 और समस्याओं को जीत के लिए, और उन्हें तोड़ने नीचे, और फिर उन्हें एक साथ रखा 1153 00:57:18,120 --> 00:57:19,930 हमेशा अच्छी बातें होती हैं। 1154 00:57:19,930 --> 00:57:21,960 >> विलय उस तरह से तो क्रमबद्ध अनिवार्य रूप से काम करता है 1155 00:57:21,960 --> 00:57:24,660 यह एक बांटता है कि है छमाही में अवर्गीकृत सरणी। 1156 00:57:24,660 --> 00:57:26,500 और फिर यह सरणियों के दो हिस्सों को मिल गया है। 1157 00:57:26,500 --> 00:57:28,220 और यह सिर्फ उन दो हिस्सों तरह। 1158 00:57:28,220 --> 00:57:31,750 यह बस में, आधे में विभाजित रहता है आधे आधे में सब कुछ हल है जब तक 1159 00:57:31,750 --> 00:57:33,680 और फिर बारी बारी यह सब एक साथ डालता है। 1160 00:57:33,680 --> 00:57:36,550 >> तो यह है कि वास्तव में सार है। 1161 00:57:36,550 --> 00:57:38,750 इसलिए इस स्यूडोकोड का सिर्फ एक सा है। 1162 00:57:38,750 --> 00:57:41,040 उस में समझ बनाने के लिए यह चल रहा है तरीका है? 1163 00:57:41,040 --> 00:57:43,870 तो बस आप एक का कहना है कि चलो n तत्वों की सरणी, है ना? 1164 00:57:43,870 --> 00:57:45,450 2 n से कम है, तो आप वापसी कर सकते हैं। 1165 00:57:45,450 --> 00:57:49,040 क्योंकि तुम्हें पता है कि अगर वहाँ केवल एक ही बात है, इसे हल किया जाना चाहिए। 1166 00:57:49,040 --> 00:57:52,600 वरना, आप बाईं आधे से तरह, और फिर तुम ठीक आधे से तरह, 1167 00:57:52,600 --> 00:57:54,140 और फिर आप विलय। 1168 00:57:54,140 --> 00:57:56,979 >> कि वास्तव में आसान लग रहा है तो, जबकि वास्तव में, इसके बारे में सोच रहा है 1169 00:57:56,979 --> 00:58:00,270 मुश्किल की तरह। आप पसंद कर रहे हैं क्योंकि, खैर, उस तरह की पर ही चल रहा है। 1170 00:58:00,270 --> 00:58:00,769 है ना? 1171 00:58:00,769 --> 00:58:02,430 यह अपने आप पर चल रहा है। 1172 00:58:02,430 --> 00:58:05,479 तो उस अर्थ में, डेविड छुआ कक्षा में प्रत्यावर्तन पर। 1173 00:58:05,479 --> 00:58:07,270 और कहा कि एक अवधारणा है हम और अधिक के बारे में बात करेंगे। 1174 00:58:07,270 --> 00:58:11,430 यह यह है कि, इन दो लाइनों है यहाँ, वास्तव में सिर्फ कार्यक्रम है 1175 00:58:11,430 --> 00:58:13,860 यह कह रही है खुद को चलाने के लिए विभिन्न इनपुट के साथ। 1176 00:58:13,860 --> 00:58:17,230 तो बजाय साथ ही चला की तुलना n तत्वों की सम्पूर्णता, 1177 00:58:17,230 --> 00:58:20,530 आप में यह टूट सकता है बाईं आधा और सही आधा 1178 00:58:20,530 --> 00:58:22,680 और फिर इसे फिर से चला रहे हैं। 1179 00:58:22,680 --> 00:58:26,050 >> और फिर हम यह नेत्रहीन में देख लेंगे मैं एक दृश्य शिक्षार्थी हूँ क्योंकि। 1180 00:58:26,050 --> 00:58:27,270 यह मेरे लिए बेहतर काम करता है। 1181 00:58:27,270 --> 00:58:29,890 तो हम यहाँ एक दृश्य उदाहरण में देख लेंगे। 1182 00:58:29,890 --> 00:58:36,237 >> छह की हम एक सरणी हम कहते हैं कि तत्वों, 3, 5, 2, 6, 4, 1, हल नहीं। 1183 00:58:36,237 --> 00:58:37,820 ठीक है, इस पृष्ठ पर एक बहुत कुछ है। 1184 00:58:37,820 --> 00:58:43,179 तुम लोगों को देख सकते हैं तो अगर यहाँ पहला कदम है, 3, 5, 2, 6, 4, 1, 1185 00:58:43,179 --> 00:58:44,220 आप छमाही में विभाजित कर सकते हैं। 1186 00:58:44,220 --> 00:58:45,976 आप 3, 5, 2, 6, 4, 1 है। 1187 00:58:45,976 --> 00:58:48,850 आप इन आप aren't-- जानते हैं कि वे हल या नहीं कर रहे हैं पता नहीं है, 1188 00:58:48,850 --> 00:58:52,517 इसलिए आप छमाही में, उन्हें टूट रखने के लिए, छमाही में, आधे में, अंत तक, 1189 00:58:52,517 --> 00:58:53,600 आप केवल एक ही तत्व है। 1190 00:58:53,600 --> 00:58:56,790 और एक तत्व हमेशा सही, हल है? 1191 00:58:56,790 --> 00:59:01,560 >> इसलिए हम जानते हैं कि 3, 5, 2, 4, 6, 1, खुद के द्वारा हल कर रहे हैं। 1192 00:59:01,560 --> 00:59:05,870 और अब हम उन्हें एक साथ वापस डाल सकते हैं। 1193 00:59:05,870 --> 00:59:07,510 इसलिए हम 3, 5 में पता है। 1194 00:59:07,510 --> 00:59:08,510 हम एक साथ उन डाल दिया। 1195 00:59:08,510 --> 00:59:09,617 हम जानते हैं कि हल है पता है। 1196 00:59:09,617 --> 00:59:10,450 वहाँ अभी भी 2। 1197 00:59:10,450 --> 00:59:11,830 हम एक साथ 4 और 6 डाल सकते हैं। 1198 00:59:11,830 --> 00:59:13,996 हम चाहते हैं कि हल है कि पता है इसलिए हम एक साथ डाल दिया है कि। 1199 00:59:13,996 --> 00:59:14,940 और एक नहीं है। 1200 00:59:14,940 --> 00:59:18,720 >> और फिर आप बस को देखो यहीं से इन दो हिस्सों। 1201 00:59:18,720 --> 00:59:21,300 आप 3, 5, 2, 2, 3, 5 लोगों की है। 1202 00:59:21,300 --> 00:59:23,465 तुम बस तुलना कर सकते हैं सब कुछ की शुरुआत। 1203 00:59:23,465 --> 00:59:26,340 आप इस हल है कि क्योंकि मुझे पता है और आपको लगता है कि हल है कि पता है। 1204 00:59:26,340 --> 00:59:29,360 तो फिर आप भी करने की जरूरत नहीं है 5 की तुलना, तुम सिर्फ 3 की तुलना करें। 1205 00:59:29,360 --> 00:59:32,070 और 2 इसलिए, 3 की तुलना में कम है आप 2 अंत में जाना चाहिए पता है। 1206 00:59:32,070 --> 00:59:33,120 >> वहाँ पर एक ही बात। 1207 00:59:33,120 --> 00:59:34,740 1 यहाँ से जाना चाहिए। 1208 00:59:34,740 --> 00:59:37,330 जब तुम जाओ और फिर डाल करने के लिए एक साथ उन दो मूल्यों, 1209 00:59:37,330 --> 00:59:39,950 आप इस हल है कि पता है और आपको लगता है कि हल है कि पता है। 1210 00:59:39,950 --> 00:59:43,240 तो फिर एक और 2, 1 कम से कम 2 है। 1211 00:59:43,240 --> 00:59:45,570 यही कारण है कि एक आपको बताता है कि इस के अंत पर जाना चाहिए 1212 00:59:45,570 --> 00:59:47,480 यहां तक ​​कि 3 या 5 पर देख के बिना। 1213 00:59:47,480 --> 00:59:50,100 और फिर 4, तुम सिर्फ कर सकते हैं यह यहाँ में ठीक हो जाता है, की जाँच करें। 1214 00:59:50,100 --> 00:59:51,480 आप 5 में देखने की जरूरत नहीं है। 1215 00:59:51,480 --> 00:59:52,570 6 के साथ एक ही बात है। 1216 00:59:52,570 --> 00:59:55,860 तुम्हें पता है 6-- यह है कि बस देखा होने की जरूरत नहीं होती। 1217 00:59:55,860 --> 00:59:57,870 >> और तो उस रास्ते में, आप कर रहे हैं बस अपने आप बचत 1218 00:59:57,870 --> 00:59:59,526 कदम की एक बहुत आप तुलना कर रहे हैं। 1219 00:59:59,526 --> 01:00:02,150 आप हर की तुलना करने की जरूरत नहीं है अन्य तत्वों के खिलाफ तत्व। 1220 01:00:02,150 --> 01:00:05,230 आप सिर्फ लोगों के खिलाफ तुलना यह आप के खिलाफ की तुलना करने की जरूरत है। 1221 01:00:05,230 --> 01:00:06,870 तो यह है कि एक अमूर्त अवधारणा की तरह है। 1222 01:00:06,870 --> 01:00:10,540 कोई चिंता नहीं है अगर ऐसा नहीं है बहुत सही अभी तक तुम मार। 1223 01:00:10,540 --> 01:00:14,740 लेकिन आम तौर पर, यह है कैसे एक मर्ज तरह काम करता है। 1224 01:00:14,740 --> 01:00:17,750 प्रश्न, जल्दी सवाल, मैं आगे बढ़ने से पहले? 1225 01:00:17,750 --> 01:00:18,550 हाँ। 1226 01:00:18,550 --> 01:00:22,230 >> दर्शकों: तो क्या आप ने कहा कि 1, और फिर 4 और 6 1227 01:00:22,230 --> 01:00:23,860 और में डाल दिया। 1228 01:00:23,860 --> 01:00:26,800 तो those-- नहीं कर रहे हैं नहीं कर रहे हैं आप उन्हें देख 1229 01:00:26,800 --> 01:00:28,544 नहीं पूरे के रूप में अलग तत्वों, के रूप में? 1230 01:00:28,544 --> 01:00:29,210 ANDI PENG: हाँ। 1231 01:00:29,210 --> 01:00:32,020 तो क्या चल रहा है आपको लगता है कि मूल रूप से है 1232 01:00:32,020 --> 01:00:33,650 एक ब्रांड नई सरणी पैदा कर रहे हैं। 1233 01:00:33,650 --> 01:00:36,690 तो तुम, यहाँ, मैं पता है कि आकार 3 के दो सरणियों, है ना? 1234 01:00:36,690 --> 01:00:39,600 तो तुम्हें पता है कि मेरी सॉर्ट सरणी छह तत्वों की जरूरत है। 1235 01:00:39,600 --> 01:00:42,270 तो तुम सिर्फ एक बनाने स्मृति की नई राशि। 1236 01:00:42,270 --> 01:00:44,270 तो अगर आप की तरह की तरह कर रहे हैं स्मृति के बेकार जा रहा है 1237 01:00:44,270 --> 01:00:46,186 लेकिन लगता है कि कोई फर्क नहीं पड़ता यह इतना छोटा है क्योंकि। 1238 01:00:46,186 --> 01:00:48,590 तो अगर आप एक को देखने और आप 2 को देखो। 1239 01:00:48,590 --> 01:00:50,770 और तुम 1 कम से कम 2 है कि पता है। 1240 01:00:50,770 --> 01:00:53,840 तो तुम एक में जाना चाहिए पता उन सभी की शुरुआत। 1241 01:00:53,840 --> 01:00:55,850 >> आप भी करने की जरूरत नहीं है 3 और 5 को देखो। 1242 01:00:55,850 --> 01:00:57,400 तो अगर आप 1 वहाँ चला जाता है पता है। 1243 01:00:57,400 --> 01:00:59,300 तो फिर आप मूल रूप से एक बंद काट लें। 1244 01:00:59,300 --> 01:01:00,370 यह हमारे लिए मर चुका है, जैसे, है। 1245 01:01:00,370 --> 01:01:03,690 तो फिर हम सिर्फ 2 है, 3, 5, और फिर 4 और 6। 1246 01:01:03,690 --> 01:01:06,270 और फिर आप, आप जानते हैं कि तुलना 4 और 2, 1247 01:01:06,270 --> 01:01:07,560 ओह, 2 में वहाँ जाना चाहिए। 1248 01:01:07,560 --> 01:01:09,685 तो आप 2 नीचे खटखटाने, आप इसे बंद कर काट लें। 1249 01:01:09,685 --> 01:01:12,060 तो फिर आप सिर्फ 3 है और 4 और 6 में 5। 1250 01:01:12,060 --> 01:01:14,650 और आप बस इसे काट रखना आप सरणी में उन्हें डाल दिया जब तक। 1251 01:01:14,650 --> 01:01:17,110 >> दर्शकों: तो तुम सिर्फ हमेशा से रहे हैं [अश्राव्य] की तुलना? 1252 01:01:17,110 --> 01:01:17,710 >> ANDI PENG: बिल्कुल। 1253 01:01:17,710 --> 01:01:19,590 तो उस अर्थ में, आप कर रहे हैं बस की तुलना, अनिवार्य रूप से, 1254 01:01:19,590 --> 01:01:21,240 दूसरे नंबर के खिलाफ एक नंबर। 1255 01:01:21,240 --> 01:01:22,990 और आप जानते हैं क्योंकि यह आप हल है कि 1256 01:01:22,990 --> 01:01:24,350 के माध्यम से देखने की जरूरत नहीं है संख्या के सभी। 1257 01:01:24,350 --> 01:01:25,870 आप सिर्फ पहले एक पर नजर है। 1258 01:01:25,870 --> 01:01:27,582 और फिर आप बस खटखटाने से कर सकते हैं उन्हें नीचे, क्योंकि आप जानते हैं 1259 01:01:27,582 --> 01:01:29,640 वे हैं जरूरत है, जहां वे हैं। 1260 01:01:29,640 --> 01:01:31,030 हाँ। 1261 01:01:31,030 --> 01:01:32,920 अच्छा प्रश्न। 1262 01:01:32,920 --> 01:01:35,290 >> और फिर आप की यदि कोई हो एक सा महत्वाकांक्षी हैं, 1263 01:01:35,290 --> 01:01:38,660 इस कोड को देखने के लिए स्वतंत्र महसूस। 1264 01:01:38,660 --> 01:01:40,680 यह वास्तव में है शारीरिक कार्यान्वयन 1265 01:01:40,680 --> 01:01:42,150 हम मर्ज तरह लिखना होगा कैसे की। 1266 01:01:42,150 --> 01:01:44,070 और अगर आप इसे बहुत ही कम है, देख सकते हैं। 1267 01:01:44,070 --> 01:01:46,310 पीछे लेकिन विचारों यह बहुत जटिल हैं। 1268 01:01:46,310 --> 01:01:50,865 तो अगर आप इस बाहर ड्राइंग की तरह लग रहा है अपने होमवर्क आज रात में करने के लिए स्वतंत्र महसूस हो रहा है। 1269 01:01:50,865 --> 01:01:54,050 1270 01:01:54,050 --> 01:01:54,740 >> ठीक। 1271 01:01:54,740 --> 01:01:58,070 तब दाऊद भी व्याख्यान में यह खत्म हो गया था। 1272 01:01:58,070 --> 01:02:00,660 सबसे अच्छा मामले में क्या कर रहे हैं runtimes, सबसे ज्यादा मामले runtimes, 1273 01:02:00,660 --> 01:02:05,680 और मर्ज प्रकार की उम्मीद runtimes? 1274 01:02:05,680 --> 01:02:07,260 कुछ सेकंड सोचने के लिए। 1275 01:02:07,260 --> 01:02:11,198 यह बहुत मुश्किल है, लेकिन एक तरह से आप इसके बारे में सहज ज्ञान युक्त अगर आपको लगता। 1276 01:02:11,198 --> 01:02:20,090 1277 01:02:20,090 --> 01:02:23,054 ठीक है। 1278 01:02:23,054 --> 01:02:25,269 >> दर्शकों: सबसे बुरी स्थिति एन लॉग n है? 1279 01:02:25,269 --> 01:02:26,060 ANDI PENG: बिल्कुल। 1280 01:02:26,060 --> 01:02:29,380 और क्यों यह n लॉग एन जाता है। 1281 01:02:29,380 --> 01:02:32,230 >> दर्शकों: ऐसा नहीं है कि यह क्योंकि , तेजी से तेजी से हो जाता है 1282 01:02:32,230 --> 01:02:35,390 तो यह इस बात का एक समारोह की तरह है बजाय सिर्फ और सिर्फ एन होने का 1283 01:02:35,390 --> 01:02:37,529 चुकता या कुछ और? 1284 01:02:37,529 --> 01:02:38,320 ANDI PENG: बिल्कुल। 1285 01:02:38,320 --> 01:02:40,750 तो कारण क्यों इस पर क्रम लॉग n है 1286 01:02:40,750 --> 01:02:44,310 आप क्या कर रहे हैं because-- n है इन सभी चरणों के में कर रही है? 1287 01:02:44,310 --> 01:02:46,190 तुम सिर्फ सही, यह आधे में काट रहे हैं? 1288 01:02:46,190 --> 01:02:48,750 और इसलिए हम कर रहे हैं जब यह कर रहा है वह सब है, लॉग इन करें 1289 01:02:48,750 --> 01:02:53,150 छमाही में एक समस्या विभाजित है, छमाही में, आधे में, अधिक हिस्सों में। 1290 01:02:53,150 --> 01:02:56,430 और उस अर्थ में, आप की तरह कर सकते हैं के रेखीय मॉडल खत्म 1291 01:02:56,430 --> 01:02:57,510 कि हम प्रयोग किया गया है। 1292 01:02:57,510 --> 01:03:00,254 आप काट क्योंकि जब छमाही में बातें करते हैं, यह एक लॉग है। 1293 01:03:00,254 --> 01:03:02,420 वह सिर्फ गणितीय है यह प्रतिनिधित्व करने का तरीका है। 1294 01:03:02,420 --> 01:03:06,310 >> और फिर अंत में, अंत में, आप कर रहे हैं बस एक आखिरी पास के माध्यम से कर रही है 1295 01:03:06,310 --> 01:03:07,930 ठीक है, क्रम में उन सभी को रखा है? 1296 01:03:07,930 --> 01:03:10,330 और इसलिए तुम बस के लिए किया है एक बात की जांच, कि n है। 1297 01:03:10,330 --> 01:03:13,420 और तो आप की तरह कर रहे हैं दोनों एक साथ गुणा। 1298 01:03:13,420 --> 01:03:17,660 आपको लगता है कि अंतिम मिल गया है तो ऐसा है n का एक प्रवेश के साथ यहाँ नीचे N के लिए जाँच 1299 01:03:17,660 --> 01:03:18,390 यहाँ। 1300 01:03:18,390 --> 01:03:21,060 और आप गुणा यदि उन्हें, कि n लॉग एन रहा है। 1301 01:03:21,060 --> 01:03:26,100 >> और इसलिए सबसे अच्छा मामले और सबसे खराब मामला है और सभी n लॉग एन रहे हैं उम्मीद है। 1302 01:03:26,100 --> 01:03:27,943 यह एक और प्रकार की तरह भी है। 1303 01:03:27,943 --> 01:03:30,090 यह चयन प्रकार की तरह है यह इस अर्थ में कि 1304 01:03:30,090 --> 01:03:32,131 क्या कोई फर्क नहीं पड़ता अपने सूची में यह सिर्फ जा रहा है, है 1305 01:03:32,131 --> 01:03:34,801 एक ही बात हर बार ऐसा करने के लिए। 1306 01:03:34,801 --> 01:03:35,300 ठीक। 1307 01:03:35,300 --> 01:03:39,950 भले ही, तुम लोगों को देख सकते हैं हम n through-- चला गया है कि प्रकार 1308 01:03:39,950 --> 01:03:41,660 चुकता, यह बहुत ही कुशल नहीं है। 1309 01:03:41,660 --> 01:03:47,060 और यहां तक ​​कि इस n लॉग n है सबसे कुशल नहीं। 1310 01:03:47,060 --> 01:03:49,720 तुम लोगों को उत्सुक हैं, क्रमबद्ध तंत्र नहीं है, 1311 01:03:49,720 --> 01:03:54,310 वे कर रहे हैं कि इतने कुशल हैं कि लगभग अनिवार्य रूप से फ्लैट क्रम में। 1312 01:03:54,310 --> 01:03:55,420 >> आप कुछ लॉग एन के मिल गया है। 1313 01:03:55,420 --> 01:03:58,190 आप कुछ लॉग लॉग एन के मिल गया है। 1314 01:03:58,190 --> 01:04:00,330 हम उन पर नहीं टिकते अभी इस वर्ग में। 1315 01:04:00,330 --> 01:04:02,663 लेकिन तुम लोगों को उत्सुक हैं, क्या है, गूगल के लिए स्वतंत्र महसूस 1316 01:04:02,663 --> 01:04:04,392 सबसे कुशल छँटाई तंत्र। 1317 01:04:04,392 --> 01:04:06,350 मैं देखते हैं, पता नहीं वास्तव में कुछ अजीब लोगों, 1318 01:04:06,350 --> 01:04:09,860 like-- वास्तव में कुछ भी नहीं है लोगों को करना है कि अजीब वाले। 1319 01:04:09,860 --> 01:04:12,210 और अगर आप आश्चर्य है कि कैसे वे कभी इस बारे में सोचा। 1320 01:04:12,210 --> 01:04:15,730 आप कुछ खाली है, तो गूगल समय पर, कुछ अजीब तरीके क्या हैं 1321 01:04:15,730 --> 01:04:17,730 उस के रूप में अच्छी तरह से people-- कुशल ways-- लोग 1322 01:04:17,730 --> 01:04:20,371 एक तरह से लागू करने में सक्षम है। 1323 01:04:20,371 --> 01:04:20,870 ठीक। 1324 01:04:20,870 --> 01:04:22,880 और यहाँ सिर्फ एक आसान सा चार्ट है। 1325 01:04:22,880 --> 01:04:26,850 मुझे लगता है कि प्रश्नोत्तरी 0 से पहले, आप सभी को पता है अपने कमरे में शायद कोशिश कर रहा होगा 1326 01:04:26,850 --> 01:04:27,960 कि याद करने के लिए। 1327 01:04:27,960 --> 01:04:30,940 तो यह है कि आप लोगों के लिए वहाँ में अच्छा है। 1328 01:04:30,940 --> 01:04:37,120 बस made-- कि तर्क मत भूलना क्यों उन लोगों की संख्या उत्पन्न थे। 1329 01:04:37,120 --> 01:04:39,870 आप हमेशा खो रहे हैं, सिर्फ बनाने सुनिश्चित करें कि आप एक तरह क्या कर रहे हैं पता है। 1330 01:04:39,870 --> 01:04:40,820 और आप के माध्यम से चला सकते हैं उन्हें अपने मन में 1331 01:04:40,820 --> 01:04:42,903 क्यों उन बाहर निकालने के लिए जवाब उन जवाब हैं। 1332 01:04:42,903 --> 01:04:46,250 1333 01:04:46,250 --> 01:04:47,600 >> ठीक है। 1334 01:04:47,600 --> 01:04:49,680 तो हम स्थानांतरित करने के लिए जा रहे हैं अंत में, खोज करने के लिए, पर। 1335 01:04:49,680 --> 01:04:51,638 क्योंकि आप उन लोगों के रूप में कौन pset में पढ़ा है, 1336 01:04:51,638 --> 01:04:55,175 खोज भी का हिस्सा है इस सप्ताह की समस्या सेट। 1337 01:04:55,175 --> 01:04:57,300 आप को लागू करने के लिए कहा जाएगा खोजों के दो प्रकार के। 1338 01:04:57,300 --> 01:05:00,070 एक एक रैखिक खोज है और एक एक द्विआधारी खोज है। 1339 01:05:00,070 --> 01:05:01,760 >> तो रैखिक खोज काफी आसान है। 1340 01:05:01,760 --> 01:05:04,070 तुम बस तत्व खोज करना चाहते हैं आप इसे पाने के लिए यदि एक सूची के देखने के लिए। 1341 01:05:04,070 --> 01:05:05,444 तुम बस के माध्यम से पुनरावृति के लिए है। 1342 01:05:05,444 --> 01:05:08,170 और यह कुछ के बराबर होती है, तो तुम सिर्फ सही, इसे वापस कर सकते? 1343 01:05:08,170 --> 01:05:10,890 लेकिन एक हम सबसे अधिक कर रहे हैं कि के बारे में बात करने में दिलचस्पी 1344 01:05:10,890 --> 01:05:14,550 द्विआधारी खोज है, जो सही है, फूट डालो और तंत्र को जीत जो 1345 01:05:14,550 --> 01:05:18,190 डेविड व्याख्यान में प्रदर्शन किया गया। 1346 01:05:18,190 --> 01:05:20,810 >> फोन की किताब उदाहरण याद रखें वह ऊपर लाने रहता है कि, 1347 01:05:20,810 --> 01:05:23,960 वह एक तरह से संघर्ष किया है कि एक यह पिछले वर्ष पर एक सा है, 1348 01:05:23,960 --> 01:05:27,530 आप आधे में समस्या विभाजित जहां, छमाही में, आधे में, फिर और फिर, 1349 01:05:27,530 --> 01:05:30,730 आप के लिए क्या देख रहे हैं लगता है जब तक? 1350 01:05:30,730 --> 01:05:33,727 और अगर तुम मिल गया है साथ ही साथ इस बात का क्रम। 1351 01:05:33,727 --> 01:05:35,810 और आप देख सकते हैं, यह है काफी अधिक कुशल 1352 01:05:35,810 --> 01:05:39,080 खोज के किसी भी अन्य प्रकार की तुलना में। 1353 01:05:39,080 --> 01:05:41,880 >> इसलिए हम के बारे में जाना होगा कि रास्ता एक द्विआधारी खोज लागू 1354 01:05:41,880 --> 01:05:46,510 है, हम एक सरणी था, सूचकांक 0-6, सात तत्वों, 1355 01:05:46,510 --> 01:05:49,790 हम right--, बीच में देख सकते हैं क्षमा करें, हमारे सवाल है, तो first-- 1356 01:05:49,790 --> 01:05:53,840 हम से सवाल पूछना चाहते हैं, तो करता है सरणी, 7 के तत्व शामिल 1357 01:05:53,840 --> 01:05:56,840 जाहिर है, मनुष्य जा रहा है, और कर रहे एक छोटा सा सरणी ऐसी है, यह हमारे लिए आसान है 1358 01:05:56,840 --> 01:05:58,210 हाँ कहने के लिए। 1359 01:05:58,210 --> 01:06:05,750 लेकिन जिस तरह से एक द्विआधारी को लागू करने के लिए खोज बीच में देखने के लिए होगा। 1360 01:06:05,750 --> 01:06:08,020 >> हम सूचकांक 3 पता है कि मध्य, क्योंकि हम 1361 01:06:08,020 --> 01:06:09,270 सात तत्व हैं पता है। 1362 01:06:09,270 --> 01:06:10,670 क्या 7 2 से विभाजित? 1363 01:06:10,670 --> 01:06:12,850 आप अतिरिक्त 1 कि काट कर सकते हैं। 1364 01:06:12,850 --> 01:06:14,850 आप बीच में 3 मिल गया है। 1365 01:06:14,850 --> 01:06:17,590 तो 7 के बराबर 3 की सरणी है? 1366 01:06:17,590 --> 01:06:18,900 यह सही नहीं है? 1367 01:06:18,900 --> 01:06:21,050 लेकिन हम जाँच के एक जोड़े को कर सकते हैं। 1368 01:06:21,050 --> 01:06:25,380 3 कम से कम 7 या की सरणी है 7 से अधिक 3 की सरणी है? 1369 01:06:25,380 --> 01:06:27,240 >> और हम इसे कम से कम 7 है कि पता है। 1370 01:06:27,240 --> 01:06:30,259 इसलिए हम जानते हैं कि ओह, यह करना चाहिए कि बाईं आधे में नहीं हो। 1371 01:06:30,259 --> 01:06:32,300 हम यह होना चाहिए कि पता ठीक आधे में, है ना? 1372 01:06:32,300 --> 01:06:34,662 तो हम बस आधे सरणी काट सकते हैं। 1373 01:06:34,662 --> 01:06:36,370 हम भी करने की जरूरत नहीं है अब इसे देखो। 1374 01:06:36,370 --> 01:06:38,711 हम जानते हैं कि क्योंकि हमारे problem-- के आधे 1375 01:06:38,711 --> 01:06:41,210 हम जवाब में पता चला है कि हमारी समस्या का सही आधा। 1376 01:06:41,210 --> 01:06:42,580 तो हम बस अब कि देखो। 1377 01:06:42,580 --> 01:06:44,860 >> तो अब हम को देखने क्या बचा है के बीच। 1378 01:06:44,860 --> 01:06:46,880 यही कारण है कि सूचकांक 5। 1379 01:06:46,880 --> 01:06:50,200 हम फिर से एक ही जांच करते हैं और हम इसे छोटा है कि देखते हैं। 1380 01:06:50,200 --> 01:06:52,050 तो हम उस के बाईं ओर देखो। 1381 01:06:52,050 --> 01:06:53,430 और फिर हम उस चेक को देखते हैं। 1382 01:06:53,430 --> 01:06:57,600 सरणी मूल्य पर है 7 के बराबर सूचकांक 4? 1383 01:06:57,600 --> 01:06:58,260 यह हे। 1384 01:06:58,260 --> 01:07:03,580 इसलिए हम सच वापसी क्योंकि सकते हैं हम हमारी सूची में मूल्य पाया। 1385 01:07:03,580 --> 01:07:06,738 मैं के माध्यम से चला गया रास्ता करता है हर किसी के लिए है कि मतलब? 1386 01:07:06,738 --> 01:07:08,760 ठीक। 1387 01:07:08,760 --> 01:07:11,670 मैं जैसे, शायद आप लोग दे दूँगा तीन, चार मिनट के बाहर निकालने के लिए 1388 01:07:11,670 --> 01:07:13,270 कैसे इस pseudocode करने के लिए। 1389 01:07:13,270 --> 01:07:18,070 >> तो मैं एक लिखने के लिए कहा की कल्पना लौट आया है कि समारोह में बुलाया खोज () 1390 01:07:18,070 --> 01:07:20,640 एक मूल्य, एक बूलियन मान, कि, की तरह सच था या false-- 1391 01:07:20,640 --> 01:07:22,970 आप अगर मिल सच मूल्य, तुम नहीं किया है, तो गलत। 1392 01:07:22,970 --> 01:07:25,230 और फिर तुम थे मूल्य में पारित आप 1393 01:07:25,230 --> 01:07:28,410 मूल्यों में देख रहे थे जो array-- ओह, मैं निश्चित रूप से डाल दिया है 1394 01:07:28,410 --> 01:07:29,410 गलत जगह में है। 1395 01:07:29,410 --> 01:07:29,580 ठीक। 1396 01:07:29,580 --> 01:07:31,829 वैसे भी, कि होना चाहिए मूल्यों का सही करने के लिए किया गया। 1397 01:07:31,829 --> 01:07:36,280 और फिर पूर्णांक n संख्या है उस सरणी में तत्वों की। 1398 01:07:36,280 --> 01:07:39,430 कैसे आप की कोशिश कर के बारे में जाना होगा में समस्या यह है कि pseudocode करने के लिए? 1399 01:07:39,430 --> 01:07:41,630 मैं तुम जैसे लोगों को दे देंगे तीन मिनट है कि क्या करना है। 1400 01:07:41,630 --> 01:08:00,137 1401 01:08:00,137 --> 01:08:02,595 नहीं, मैं only-- लगता है कि वहाँ हाँ, सही यहाँ वहाँ एक है। 1402 01:08:02,595 --> 01:08:03,261 दर्शकों: मैं कर सकता हूँ? 1403 01:08:03,261 --> 01:08:04,388 ANDI PENG: हाँ, मैं तुम्हें मिल गया। 1404 01:08:04,388 --> 01:08:09,410 1405 01:08:09,410 --> 01:08:11,050 कि काम कर रहा है? 1406 01:08:11,050 --> 01:08:12,290 अच्छा ठीक है। 1407 01:08:12,290 --> 01:10:43,590 1408 01:10:43,590 --> 01:10:44,720 >> ठीक। 1409 01:10:44,720 --> 01:10:47,630 सभी अधिकार दोस्तों, हम कर रहे हैं में यह लगाम लगाने के लिए जा रहा है। 1410 01:10:47,630 --> 01:10:49,730 ठीक। 1411 01:10:49,730 --> 01:10:54,020 इसलिए हम इस सुंदर मिल गया है ग्रहण उस में एन मूल्यों के साथ थोड़ा सरणी। 1412 01:10:54,020 --> 01:10:55,170 मैं लाइनों आकर्षित नहीं किया। 1413 01:10:55,170 --> 01:10:58,649 लेकिन हम के बारे में कैसे जाना होगा यह लिखने के लिए कोशिश कर रहा? 1414 01:10:58,649 --> 01:11:00,440 किसी को भी करना चाहते हैं मुझे पहली पंक्ति दे? 1415 01:11:00,440 --> 01:11:02,814 तुम मुझे देना चाहते हैं इस स्यूडोकोड की पहली पंक्ति। 1416 01:11:02,814 --> 01:11:06,563 1417 01:11:06,563 --> 01:11:08,430 >> दर्शकों: [अश्राव्य] 1418 01:11:08,430 --> 01:11:10,138 दर्शकों: आप चाहते हैं चाहते हैं through-- पुनरावृति करने के लिए 1419 01:11:10,138 --> 01:11:11,094 दर्शकों: बस एक और पाश के लिए? 1420 01:11:11,094 --> 01:11:11,760 दर्शकों: --FOr। 1421 01:11:11,760 --> 01:11:15,880 1422 01:11:15,880 --> 01:11:17,780 >> ANDI PENG: तो यह एक थोड़ा मुश्किल है। 1423 01:11:17,780 --> 01:11:23,130 आप चाहते हैं about-- सोचो इस लूप चालू रखने के लिए 1424 01:11:23,130 --> 01:11:27,950 पर और फिर जब तक? 1425 01:11:27,950 --> 01:11:30,819 >> दर्शकों: [अश्राव्य] तक मूल्य कि मूल्य के बराबर है। 1426 01:11:30,819 --> 01:11:31,610 ANDI PENG: बिल्कुल। 1427 01:11:31,610 --> 01:11:33,900 तो अगर आप वास्तव में सिर्फ write-- कर सकते हैं हम इसे और भी अधिक सरल कर सकते हैं। 1428 01:11:33,900 --> 01:11:35,630 हम सिर्फ सही, थोड़ी देर के पाश कर सकते हैं? 1429 01:11:35,630 --> 01:11:39,380 तो तुम सिर्फ loop-- हो सकता है हम यह एक समय है कि पता है। 1430 01:11:39,380 --> 01:11:42,850 लेकिन अभी के लिए, मैं जा रहा हूँ क्या माध्यम से - "पाश" कहने के लिए? 1431 01:11:42,850 --> 01:11:46,640 लूप क्या है until-- हमारे समाप्त होने की हालत? 1432 01:11:46,640 --> 01:11:47,510 मैं इसके बारे में सुना लगता है। 1433 01:11:47,510 --> 01:11:48,530 मैं किसी को यह कहते सुना। 1434 01:11:48,530 --> 01:11:51,255 >> दर्शकों: मान बीच बराबर होती है। 1435 01:11:51,255 --> 01:11:52,255 ANDI PENG: फिर से कहो। 1436 01:11:52,255 --> 01:11:54,470 जब तक या,: दर्शकों मूल्य आप खोज रहे हैं 1437 01:11:54,470 --> 01:11:58,470 के लिए मध्य मूल्य के बराबर है। 1438 01:11:58,470 --> 01:12:00,280 >> ANDI PENG: यह वहाँ में नहीं है तो क्या होगा? 1439 01:12:00,280 --> 01:12:03,113 क्या होगा यदि आप खोज रहे हैं मूल्य के लिए इस सरणी में वास्तव में नहीं है? 1440 01:12:03,113 --> 01:12:05,890 दर्शकों: आप एक वापसी। 1441 01:12:05,890 --> 01:12:08,850 >> ANDI PENG: लेकिन हम करने के लिए क्या करना चाहते हैं हम एक शर्त है, तो जब तक पाश? 1442 01:12:08,850 --> 01:12:09,350 हाँ। 1443 01:12:09,350 --> 01:12:11,239 >> दर्शकों: केवल एक ही मूल्य जब तक वहाँ? 1444 01:12:11,239 --> 01:12:13,530 ANDI PENG: तुम पाश until-- तो क्या आप कर रहे हैं पता 1445 01:12:13,530 --> 01:12:15,714 ठीक है, एक अधिकतम मूल्य के लिए जा रहे हैं? 1446 01:12:15,714 --> 01:12:18,130 और आप जा रहे हैं कि पता सही एक न्यूनतम मूल्य है, करने के लिए? 1447 01:12:18,130 --> 01:12:20,379 इसके अलावा, कुछ है कि क्योंकि मैंने पहले कहना भूल गया 1448 01:12:20,379 --> 01:12:22,640 है कि कुछ है कि द्विआधारी खोज के बारे में महत्वपूर्ण 1449 01:12:22,640 --> 01:12:24,182 अपने सरणी पहले से ही हल है कि है। 1450 01:12:24,182 --> 01:12:26,973 ऐसा करने का कोई तरीका नहीं है क्योंकि यह है कि वे सिर्फ यादृच्छिक मूल्यों कर रहे हैं। 1451 01:12:26,973 --> 01:12:29,190 एक अगर तुम नहीं जानते अन्य की तुलना में बड़ा है, है ना? 1452 01:12:29,190 --> 01:12:32,720 >> तो तुम्हें पता है कि अपने अधिकतम और अपने मिनट ठीक है, यहाँ कर रहे हैं? 1453 01:12:32,720 --> 01:12:35,590 आप को एडजस्ट करने के लिए जा रहे हैं अपने मिनट और mid-- में अपने अधिकतम 1454 01:12:35,590 --> 01:12:38,470 चलो बस कल्पना करते हैं अपने मध्य मूल्य सही here-- है 1455 01:12:38,470 --> 01:12:43,910 आप मूल रूप से करने के लिए जा रहे हैं पाश अपने न्यूनतम है, जब तक 1456 01:12:43,910 --> 01:12:47,510 ठीक है, अपने अधिकतम के रूप में एक ही है, या के बारे में अपने अधिकतम अपने न्यूनतम के रूप में ही नहीं है। 1457 01:12:47,510 --> 01:12:48,040 है ना? 1458 01:12:48,040 --> 01:12:51,340 जब ऐसा होता है, क्योंकि आप जानते हैं कि आप अंततः एक ही मूल्य मारा है। 1459 01:12:51,340 --> 01:12:59,135 तो अगर आप अपने मिनट तक लूप करना चाहते हैं , कम से कम या उफ़ बराबर है 1460 01:12:59,135 --> 01:13:01,510 नहीं करने के लिए या बराबर कम, अधिकतम around-- अन्य तरीका है। 1461 01:13:01,510 --> 01:13:15,110 1462 01:13:15,110 --> 01:13:16,160 >> वह समझ में आया था? 1463 01:13:16,160 --> 01:13:18,810 मुझे लगता है कि अधिकार पाने के लिए कुछ कोशिश करता है ले लिया। 1464 01:13:18,810 --> 01:13:21,869 लेकिन पाश अपने अधिकतम मूल्य तक अनिवार्य रूप से लगभग कम है 1465 01:13:21,869 --> 01:13:23,410 से या अपने न्यूनतम करने के लिए बराबर है, है ना? 1466 01:13:23,410 --> 01:13:25,201 क्या आप जानते हैं कि जब आप जुटे किया है। 1467 01:13:25,201 --> 01:13:29,290 दर्शकों: जब होगा आपके अधिकतम मूल्य न्यूनतम से भी कम हो सकता है? 1468 01:13:29,290 --> 01:13:31,040 ANDI PENG: आप रखने के लिए , यह समायोजन जो 1469 01:13:31,040 --> 01:13:32,380 हम जा रहे हैं इस में क्या कर रही हो। 1470 01:13:32,380 --> 01:13:33,460 समझ आया? 1471 01:13:33,460 --> 01:13:35,750 न्यूनतम और अधिकतम बस रहे हैं हम शायद रहे हैं कि पूर्णांकों 1472 01:13:35,750 --> 01:13:39,260 चाहते करने के लिए जा रहा रखने के लिए बनाने के लिए हम देख रहे हैं, जहां का ट्रैक। 1473 01:13:39,260 --> 01:13:41,790 सरणी मौजूद है, क्योंकि भले ही हम क्या कर रहे हैं। 1474 01:13:41,790 --> 01:13:45,030 की तरह, हम वास्तव में शारीरिक रूप से नहीं कर रहे हैं ठीक है, सरणी से काट रही? 1475 01:13:45,030 --> 01:13:47,261 हम सिर्फ समायोजन कर रहे हैं जहां हम देख रहे हैं। 1476 01:13:47,261 --> 01:13:48,136 समझ आया? 1477 01:13:48,136 --> 01:13:48,472 >> दर्शकों: हाँ। 1478 01:13:48,472 --> 01:13:49,110 >> ANDI PENG: ठीक है। 1479 01:13:49,110 --> 01:13:57,090 कि हमारे पाश के लिए शर्त है तो, हम इस लूप के अंदर क्या चाहते हो? 1480 01:13:57,090 --> 01:13:58,700 हम क्या करना चाहते हो जा रहे हैं? 1481 01:13:58,700 --> 01:14:02,390 इसलिए अभी, हमें मिल गया है एक अधिकतम और एक मिनट, ठीक है, 1482 01:14:02,390 --> 01:14:04,962 शायद यहीं कहीं ऊपर बनाया। 1483 01:14:04,962 --> 01:14:07,170 हम शायद चाहते करने के लिए जा रहे हैं सही एक मध्यम, खोजने के लिए? 1484 01:14:07,170 --> 01:14:08,450 हम कैसे होने जा रहे हैं बीच खोजने के लिए सक्षम? 1485 01:14:08,450 --> 01:14:09,491 Mathematical-- क्या है 1486 01:14:09,491 --> 01:14:11,079 दर्शकों: मैक्स प्लस 2 से विभाजित मिनट। 1487 01:14:11,079 --> 01:14:11,870 ANDI PENG: बिल्कुल। 1488 01:14:11,870 --> 01:14:20,300 1489 01:14:20,300 --> 01:14:21,620 समझ आया? 1490 01:14:21,620 --> 01:14:25,780 और तुम लोग क्यों हम देख रहे हो हम ऐसा क्यों सिर्फ use-- नहीं किया 1491 01:14:25,780 --> 01:14:27,850 बजाय करने का सिर्फ 2 n से विभाजित? 1492 01:14:27,850 --> 01:14:30,310 N एक मूल्य है, क्योंकि यह है कि एक ही रहने के लिए जा रहा है। 1493 01:14:30,310 --> 01:14:30,979 है ना? 1494 01:14:30,979 --> 01:14:34,020 लेकिन हम अपने न्यूनतम समायोजित के रूप में और अधिकतम मान, वे बदलने जा रहे हैं। 1495 01:14:34,020 --> 01:14:36,040 और एक परिणाम के रूप में, हमारे बीच भी बदलने जा रहा है। 1496 01:14:36,040 --> 01:14:37,873 हम चाहते हैं तो यही कारण है यहाँ यह सही करने के लिए। 1497 01:14:37,873 --> 01:14:38,510 ठीक। 1498 01:14:38,510 --> 01:14:41,600 >> और फिर, कि अब हम हाँ our-- पाया है। 1499 01:14:41,600 --> 01:14:44,270 >> दर्शकों: बस एक त्वरित question-- जब आप न्यूनतम और अधिकतम कहते हैं, 1500 01:14:44,270 --> 01:14:46,410 हम मान रहे हैं कि यह पहले से ही हल है? 1501 01:14:46,410 --> 01:14:48,400 >> ANDI PENG: हाँ, यह वास्तव में एक एक द्विआधारी खोज के लिए पूर्व शर्त, 1502 01:14:48,400 --> 01:14:49,816 आपको लगता है कि यह हल है पता करने के लिए। 1503 01:14:49,816 --> 01:14:53,660 क्यों तरह है, जो आप में लिखने के अपने समस्या अपने द्विआधारी खोज से पहले निर्धारित किया है। 1504 01:14:53,660 --> 01:14:55,910 ठीक। 1505 01:14:55,910 --> 01:14:58,876 तो अब हम जहां हमारे मध्यबिंदु पता है कि क्या आप यहाँ क्या करना चाहते हो रहा है? 1506 01:14:58,876 --> 01:15:01,789 1507 01:15:01,789 --> 01:15:04,319 >> दर्शकों: हम तुलना करना चाहते हैं एक दूसरे के लिए है। 1508 01:15:04,319 --> 01:15:05,110 ANDI PENG: बिल्कुल। 1509 01:15:05,110 --> 01:15:12,280 तो अगर आप की तुलना करने के लिए जा रहे हैं मूल्य के मध्य, है ना? 1510 01:15:12,280 --> 01:15:14,900 1511 01:15:14,900 --> 01:15:18,670 और कहा कि क्या बता करता है हमें हम तुलना कब? 1512 01:15:18,670 --> 01:15:22,226 क्या हम बाद में क्या करना चाहते हैं? 1513 01:15:22,226 --> 01:15:25,389 >> दर्शकों: मूल्य बड़ा है मध्य से, हम इसे बंद कटौती करना चाहते हैं। 1514 01:15:25,389 --> 01:15:26,180 ANDI PENG: बिल्कुल। 1515 01:15:26,180 --> 01:15:33,940 मूल्य बड़ा है तो अगर मध्य से, हम कर रहे हैं 1516 01:15:33,940 --> 01:15:36,550 इन बदलने के लिए चाहते हो जा न्यूनतम और maxes, है ना? 1517 01:15:36,550 --> 01:15:38,980 क्या हम बदलना चाहते हैं? 1518 01:15:38,980 --> 01:15:42,145 हम जानते हैं कि मूल्य कहीं है यहाँ में, हम बदलने के लिए आप क्या करते हैं? 1519 01:15:42,145 --> 01:15:44,758 हम अपने को बदलना चाहते हैं न्यूनतम सही, मध्य हो सकता है? 1520 01:15:44,758 --> 01:15:49,420 1521 01:15:49,420 --> 01:15:54,292 और तो और, यह इस में है आधा है, क्या हम बदलना चाहते हैं? 1522 01:15:54,292 --> 01:15:55,306 >> दर्शकों: आपका अधिकतम। 1523 01:15:55,306 --> 01:15:55,972 ANDI PENG: हाँ। 1524 01:15:55,972 --> 01:16:02,597 1525 01:16:02,597 --> 01:16:04,680 और फिर आप बस जा रहे हैं , सही पाशन रखने के लिए? 1526 01:16:04,680 --> 01:16:08,920 क्योंकि अब, एक यात्रा के बाद के माध्यम से, आप यहाँ एक अधिकतम मिल गया है। 1527 01:16:08,920 --> 01:16:10,760 और फिर आप एक मध्य पुनर्गणना कर सकते हैं। 1528 01:16:10,760 --> 01:16:11,990 और फिर आप तुलना कर सकते हैं। 1529 01:16:11,990 --> 01:16:14,766 और तुम जा रहा रखने के लिए जा रहे हैं मिनट और maxes तक 1530 01:16:14,766 --> 01:16:15,890 अनिवार्य रूप से जुटे हैं। 1531 01:16:15,890 --> 01:16:17,890 आप जानते हैं कि और है कि जब आप इसे के अंत मारा है। 1532 01:16:17,890 --> 01:16:20,280 और या तो आप यह पाया है या तुम उस बिंदु पर नहीं है। 1533 01:16:20,280 --> 01:16:23,170 >> इस सबको मतलब? 1534 01:16:23,170 --> 01:16:26,020 1535 01:16:26,020 --> 01:16:26,770 ठीक। 1536 01:16:26,770 --> 01:16:27,900 यह बहुत महत्वपूर्ण है तुम होगा क्योंकि 1537 01:16:27,900 --> 01:16:29,760 अपने कोड आज रात में यह लिखने के लिए। 1538 01:16:29,760 --> 01:16:32,660 लेकिन तुम लोगों को एक बहुत अच्छा है आप क्या करना चाहिए की भावना, 1539 01:16:32,660 --> 01:16:34,051 कौन सा अच्छा है। 1540 01:16:34,051 --> 01:16:34,550 ठीक। 1541 01:16:34,550 --> 01:16:38,840 इसलिए हम सात के बारे में मिल गया है मिनट अनुभाग छोड़ दिया है। 1542 01:16:38,840 --> 01:16:43,170 इसलिए हम इस बारे में बात करने जा रहे हैं हम क्या कर सकता हूँ कि इस pset। 1543 01:16:43,170 --> 01:16:46,410 तो pset दो हिस्सों में बांटा गया है। 1544 01:16:46,410 --> 01:16:50,230 पहली छमाही शामिल एक खोज को लागू 1545 01:16:50,230 --> 01:16:54,210 जिसमें आप एक रेखीय खोज लिखने के लिए, एक द्विआधारी खोज, और एक छँटाई एल्गोरिथ्म। 1546 01:16:54,210 --> 01:16:56,690 >> तो यह पहली बार है एक pset जहां में समय 1547 01:16:56,690 --> 01:17:00,050 कहा जाता है कि हम क्या तुम लोगों को दे सकता हूँ वितरण कोड, कोड है, जो 1548 01:17:00,050 --> 01:17:02,740 हम पूर्व लिखा है कि, लेकिन बस से कुछ टुकड़े छोड़ दिया 1549 01:17:02,740 --> 01:17:04,635 के लिए आप लिखने को समाप्त करने के लिए। 1550 01:17:04,635 --> 01:17:07,510 आप इस पर जब देखो तुम लोग तो कोड, आप सच में डर हो सकता है। 1551 01:17:07,510 --> 01:17:08,630 आप, आह, मैं बस की तरह कर रहे हैं कि क्या कर रहा है पता नहीं है, 1552 01:17:08,630 --> 01:17:11,670 मैं की तरह, लगता है कि पता नहीं है, इतना जटिल, आह, आराम करो। 1553 01:17:11,670 --> 01:17:12,170 यह ठीक है। 1554 01:17:12,170 --> 01:17:12,930 कल्पना पढ़ें। 1555 01:17:12,930 --> 01:17:16,920 कल्पना वास्तव में आप के लिए समझाना होगा इन सभी कार्यक्रमों के लिए क्या कर रहे हैं। 1556 01:17:16,920 --> 01:17:20,560 >> उदाहरण के लिए, generate.c एक कार्यक्रम है कि अपने pset के साथ आ जाएगा। 1557 01:17:20,560 --> 01:17:24,060 आप वास्तव में इसे छूने की जरूरत नहीं है, लेकिन आप यह क्या कर रहा है समझना चाहिए। 1558 01:17:24,060 --> 01:17:28,550 और generate.c, यह कर रहा है सब है या तो यादृच्छिक संख्या पैदा 1559 01:17:28,550 --> 01:17:32,400 या आप एक तरह, यह एक बीज दे सकते हैं लगता है कि यह योजनाबद्ध संख्या, 1560 01:17:32,400 --> 01:17:34,140 और इसे और अधिक संख्या उत्पन्न करता है। 1561 01:17:34,140 --> 01:17:37,170 तो एक विशिष्ट तरीके से करने के लिए नहीं है, generate.c लागू जिसमें 1562 01:17:37,170 --> 01:17:42,760 तुम सिर्फ संख्या का एक गुच्छा बना सकते हैं आप अपने अन्य तरीकों पर परीक्षण करने के लिए। 1563 01:17:42,760 --> 01:17:45,900 >> तो अगर तुम चाहते थे, के लिए उदाहरण के लिए, अपने मिल का परीक्षण, 1564 01:17:45,900 --> 01:17:48,970 आप generate.c चलाना चाहते हैं, , संख्या का एक गुच्छा उत्पन्न 1565 01:17:48,970 --> 01:17:50,880 और फिर अपने सहायकों समारोह चलाते हैं। 1566 01:17:50,880 --> 01:17:53,930 आप कर रहे हैं, जहां अपने सहायकों समारोह है वास्तव में शारीरिक रूप से कोड लिखने। 1567 01:17:53,930 --> 01:17:59,330 और एक पुस्तकालय फ़ाइल के रूप में सहायकों के बारे में सोच आप पाते हैं कि बुला रहा है लिख रहे हैं। 1568 01:17:59,330 --> 01:18:02,950 इसलिए helpers.c भीतर और, आप हूँ खोज और छँटाई करते हैं। 1569 01:18:02,950 --> 01:18:06,500 >> और फिर आप अनिवार्य रूप से करने के लिए जा रहे हैं बस उन्हें एक साथ सभी डाल दिया। 1570 01:18:06,500 --> 01:18:10,350 कैसे करने के लिए कल्पना आपको बता देगा कमांड लाइन पर डाल दिया है कि। 1571 01:18:10,350 --> 01:18:14,880 और तुम क्या परीक्षण करने में सक्षम हो जाएगा या नहीं अपने प्रकार और खोज कर रहे हैं। 1572 01:18:14,880 --> 01:18:15,870 कूल। 1573 01:18:15,870 --> 01:18:18,720 किसी को भी पहले से ही शुरू कर दिया है और आई समस्याओं या सवाल 1574 01:18:18,720 --> 01:18:20,520 वे इस के साथ अब ठीक है? 1575 01:18:20,520 --> 01:18:21,020 ठीक। 1576 01:18:21,020 --> 01:18:21,476 >> दर्शकों: रुको। 1577 01:18:21,476 --> 01:18:21,932 मेरा एक सवाल है। 1578 01:18:21,932 --> 01:18:22,844 >> ANDI PENG: हाँ। 1579 01:18:22,844 --> 01:18:28,390 >> दर्शकों: तो मैं शुरू कर रही है helpers.c में रैखिक खोज 1580 01:18:28,390 --> 01:18:29,670 और यह वास्तव में काम नहीं कर रहा था। 1581 01:18:29,670 --> 01:18:34,590 लेकिन फिर बाद में, मुझे लगता है हम अभी पता चला इसे हटा दें और द्विआधारी खोज करना है। 1582 01:18:34,590 --> 01:18:36,991 यह काम नहीं करता है तो यह फर्क पड़ता है? 1583 01:18:36,991 --> 01:18:39,700 1584 01:18:39,700 --> 01:18:41,510 >> ANDI PENG: संक्षिप्त जवाब नहीं है। 1585 01:18:41,510 --> 01:18:42,642 लेकिन जब से हम not-- रहे 1586 01:18:42,642 --> 01:18:44,350 दर्शकों: लेकिन कोई नहीं है वास्तव में जाँच। 1587 01:18:44,350 --> 01:18:46,058 ANDI PENG: हम कभी नहीं कर रहे देखना है कि जा रही है। 1588 01:18:46,058 --> 01:18:49,590 लेकिन आप शायद बनाना चाहते सुनिश्चित करें कि आपकी खोज कर रही है। 1589 01:18:49,590 --> 01:18:51,700 अपने रैखिक क्योंकि अगर खोज काम नहीं करता है, 1590 01:18:51,700 --> 01:18:54,410 तो संभावना है कि अपने द्विआधारी हैं खोज के रूप में अच्छी तरह से काम करने के लिए नहीं जा रहा है। 1591 01:18:54,410 --> 01:18:56,646 आप इसी तरह की है, क्योंकि उन दोनों में तर्क। 1592 01:18:56,646 --> 01:18:58,020 और नहीं, यह वास्तव में कोई फर्क नहीं है। 1593 01:18:58,020 --> 01:19:01,300 तो केवल लोगों को आप बदल देंगे में क्रमबद्ध और द्विआधारी खोज कर रहे हैं। 1594 01:19:01,300 --> 01:19:02,490 हाँ। 1595 01:19:02,490 --> 01:19:06,610 >> और यह भी, बच्चों की एक बहुत थे helpers.c संकलन करने के लिए कोशिश कर रहा है। 1596 01:19:06,610 --> 01:19:09,550 आप वास्तव में अनुमति नहीं कर रहे करना है कि, helpers.c क्योंकि लिए 1597 01:19:09,550 --> 01:19:11,200 एक मुख्य समारोह में नहीं है। 1598 01:19:11,200 --> 01:19:13,550 और इसलिए तुम ही चाहिए वास्तव में संकलन हो 1599 01:19:13,550 --> 01:19:18,670 कॉल लगता है क्योंकि, पैदा करते हैं और मिल helpers.c और यह के भीतर काम करता है। 1600 01:19:18,670 --> 01:19:20,790 कि डिबगिंग बनाता है तो बट में एक दर्द। 1601 01:19:20,790 --> 01:19:22,422 लेकिन यह है कि हमें क्या करना है क्या है। 1602 01:19:22,422 --> 01:19:23,880 दर्शकों: तुम सिर्फ सही, सब बनाते हैं? 1603 01:19:23,880 --> 01:19:27,290 ANDI PENG: तुम सिर्फ कर सकते हैं हाँ, के रूप में अच्छी तरह से सभी करते हैं। 1604 01:19:27,290 --> 01:19:28,060 ठीक। 1605 01:19:28,060 --> 01:19:32,570 तो यह है कि क्या करने के मामले में यह बात है pset आप सब करने के लिए पूछ रहा है। 1606 01:19:32,570 --> 01:19:35,160 आप किसी भी प्रश्न हैं, तो लग रहा है अनुभाग के बाद मुझे पूछने के लिए स्वतंत्र। 1607 01:19:35,160 --> 01:19:37,580 मैं 20 मिनट, जैसे, के लिए यहाँ हो जाएगा। 1608 01:19:37,580 --> 01:19:40,500 >> और हाँ, pset की सच है कि बुरा नहीं। 1609 01:19:40,500 --> 01:19:41,680 तुम लोग ठीक किया जाना चाहिए। 1610 01:19:41,680 --> 01:19:43,250 ये सिर्फ दिशा-निर्देशों का पालन करें। 1611 01:19:43,250 --> 01:19:47,840 एक तरह से तार्किक रूप से, की भावना है, क्या चाहिए हो रहा हो और तुम ठीक हो जाओगे। 1612 01:19:47,840 --> 01:19:48,690 भी डरो मत। 1613 01:19:48,690 --> 01:19:50,220 कोड का एक बहुत कुछ है वहां पहले से ही लिखा है। 1614 01:19:50,220 --> 01:19:53,011 अगर तुम नहीं भी डरो मत है कि सभी को इसका क्या मतलब समझते हैं। 1615 01:19:53,011 --> 01:19:54,749 यह एक बहुत कुछ है, तो यह पूरी तरह से ठीक है। 1616 01:19:54,749 --> 01:19:55,790 और कार्यालय समय के लिए आते हैं। 1617 01:19:55,790 --> 01:19:57,520 हम आपको एक बार देख लेने में मदद करेंगे। 1618 01:19:57,520 --> 01:20:00,810 >> दर्शकों: अतिरिक्त के साथ काम करता है, हम उन लोगों को देखने के लिए? 1619 01:20:00,810 --> 01:20:03,417 >> ANDI PENG: हाँ, उन कोड में हैं। 1620 01:20:03,417 --> 01:20:05,750 15 का खेल है, आधे से में यह पहले से ही आप के लिए लिखा है। 1621 01:20:05,750 --> 01:20:09,310 तो उन कार्य कर रहे हैं पहले से ही कोड में। 1622 01:20:09,310 --> 01:20:12,020 हाँ। 1623 01:20:12,020 --> 01:20:12,520 ठीक है। 1624 01:20:12,520 --> 01:20:14,000 खैर, बेस्ट ऑफ लक। 1625 01:20:14,000 --> 01:20:15,180 यह एक घृणित दिन है। 1626 01:20:15,180 --> 01:20:19,370 इसलिए उम्मीद है कि आप लोगों को भी नहीं लग रहा है अंदर रह रही है और कोडिंग के बारे में बुरा नहीं है। 1627 01:20:19,370 --> 01:20:22,133