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