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