1 00:00:00,000 --> 00:00:00,488 2 00:00:00,488 --> 00:00:10,800 >> [संगीत खेल] 3 00:00:10,800 --> 00:00:13,500 डेविड मालन: सब ठीक है. 4 00:00:13,500 --> 00:00:14,670 ठीक है, वापस स्वागत करते हैं. 5 00:00:14,670 --> 00:00:18,120 तो इस सप्ताह 4, शुरुआत है क्या है, पहले से ही. 6 00:00:18,120 --> 00:00:21,320 और तुम पिछले हफ्ते, हम डाल दिया कि याद करेंगे बस एक छोटा सा के लिए अलग कोड 7 00:00:21,320 --> 00:00:24,240 और हम एक छोटे से अधिक बातें करने लगे जैसी चीजों के बारे में उच्च स्तर, 8 00:00:24,240 --> 00:00:28,130 खोज और छँटाई जो यद्यपि कुछ हद तक सरल विचार कर रहे हैं 9 00:00:28,130 --> 00:00:31,840 समस्याओं का एक वर्ग के प्रतिनिधि आप विशेष रूप से हल करने के लिए शुरू हो जाएगा 10 00:00:31,840 --> 00:00:34,820 आप अंतिम के बारे में सोचना शुरू कर के रूप में परियोजनाओं और दिलचस्प समाधान आप 11 00:00:34,820 --> 00:00:36,760 असली दुनिया की समस्याओं के लिए हो सकता है. 12 00:00:36,760 --> 00:00:39,490 अब बुलबुला तरह सरलतम में से एक था ऐसे एल्गोरिदम, और यह 13 00:00:39,490 --> 00:00:42,900 इन कम संख्या होने से काम किया एक सूची में या किसी सरणी प्रकार के में 14 00:00:42,900 --> 00:00:46,530 बुलबुला उनके शीर्ष करने के लिए जिस तरह से ऊपर है, और बड़ी संख्या को नीचे अपने तरीके से स्थानांतरित 15 00:00:46,530 --> 00:00:47,930 उस सूची के अंत. 16 00:00:47,930 --> 00:00:50,650 >> और हम कल्पना कर सकता है कि याद बुलबुला तरह एक छोटे से 17 00:00:50,650 --> 00:00:52,310 कुछ इस तरह. 18 00:00:52,310 --> 00:00:53,640 तो मुझे आगे जाना है और प्रारंभ क्लिक करते हैं. 19 00:00:53,640 --> 00:00:55,350 मैं बुलबुला तरह चुने हुए लिया है. 20 00:00:55,350 --> 00:00:58,920 और यदि आपको याद है कि लम्बे नीला लाइनों छोटे, बड़े संख्या का प्रतिनिधित्व 21 00:00:58,920 --> 00:01:03,300 नीली लाइनों के रूप में, कम संख्या का प्रतिनिधित्व करते हैं हम बार - बार यह माध्यम से जाओ और 22 00:01:03,300 --> 00:01:07,680 फिर, प्रत्येक के लिए अगले दो बार की तुलना लाल रंग में अन्य, हम स्वैप करने के लिए जा रहे हैं 23 00:01:07,680 --> 00:01:11,010 सबसे बड़ी और अगर छोटी से छोटी वे आदेश से बाहर हैं. 24 00:01:11,010 --> 00:01:14,150 >> तो इस पर जाना होगा और पर जाना है और जाना पर, और आप देखेंगे कि बड़ा 25 00:01:14,150 --> 00:01:16,700 तत्वों को अपनी राह बना रहे हैं सही है, और छोटे तत्व हैं 26 00:01:16,700 --> 00:01:17,900 बाईं ओर अपनी राह बना. 27 00:01:17,900 --> 00:01:21,380 लेकिन हम यों के लिए शुरू किया दक्षता, 28 00:01:21,380 --> 00:01:22,970 इस एल्गोरिथ्म की गुणवत्ता. 29 00:01:22,970 --> 00:01:25,200 और जैसा कि हमने कहा है कि सबसे खराब में मामला है, इस एल्गोरिथ्म ले लिया 30 00:01:25,200 --> 00:01:27,940 मोटे तौर पर कितने कदम? 31 00:01:27,940 --> 00:01:28,980 >> तो पता चुकता. 32 00:01:28,980 --> 00:01:30,402 और एन क्या था? 33 00:01:30,402 --> 00:01:31,650 >> दर्शक: तत्वों की संख्या. 34 00:01:31,650 --> 00:01:32,790 >> डेविड मालन: तो पता था तत्वों की संख्या. 35 00:01:32,790 --> 00:01:33,730 और इसलिए हम अक्सर यह करूँगा. 36 00:01:33,730 --> 00:01:36,650 हम आकार के बारे में बात करना चाहते हैं किसी भी समय एक समस्या है या एक के आकार का 37 00:01:36,650 --> 00:01:39,140 इनपुट, या यह लगता है की राशि उत्पादन का उत्पादन करने के लिए, हम सिर्फ हूँ 38 00:01:39,140 --> 00:01:41,610 सामान्यीकृत जो कुछ भी इनपुट एन के रूप में है. 39 00:01:41,610 --> 00:01:45,970 तो वापस वीक 0 में, संख्या पन्ने फोन बुक में पता था. 40 00:01:45,970 --> 00:01:47,550 छात्रों की संख्या कमरे में एन था. 41 00:01:47,550 --> 00:01:49,630 तो यहां भी, हम पालन कर रहे हैं उस पैटर्न. 42 00:01:49,630 --> 00:01:52,800 >> अब पता चुकता विशेष रूप से नहीं है तेजी से, तो हम बेहतर करने की कोशिश की. 43 00:01:52,800 --> 00:01:55,970 और इसलिए हम एक जोड़े की तरफ देखा अन्य एल्गोरिदम, जो बीच में 44 00:01:55,970 --> 00:01:57,690 चयन के आधार पर क्रमबद्ध थे. 45 00:01:57,690 --> 00:01:59,180 इसलिए चयन के आधार पर क्रमबद्ध किया गया था थोड़ा अलग. 46 00:01:59,180 --> 00:02:03,130 यह लगभग आसान था, मैं कहता हूँ की हिम्मत, मैं के शुरू में शुरू कर दिया जिससे 47 00:02:03,130 --> 00:02:06,740 हमारे स्वयंसेवकों की सूची और बस फिर मैं और बार - बार के माध्यम से चला गया 48 00:02:06,740 --> 00:02:10,060 सूची छोटी बाहर तोड़ एक समय पर तत्व और उसे डालने या 49 00:02:10,060 --> 00:02:13,040 सूची की शुरुआत में उसे. 50 00:02:13,040 --> 00:02:16,410 >> लेकिन यह भी, एक बार हम सोचना शुरू कर दिया गणित के माध्यम से और बड़ा 51 00:02:16,410 --> 00:02:19,860 तस्वीर के बारे में सोचा कितनी बार मैं वापस आगे और पीछे जा रहा था 52 00:02:19,860 --> 00:02:24,090 और आगे, हम सबसे ज्यादा मामले में कहा, चयन के आधार पर क्रमबद्ध, भी, क्या था? 53 00:02:24,090 --> 00:02:24,960 n चुकता. 54 00:02:24,960 --> 00:02:27,490 अब असली दुनिया में, यह हो सकता है वास्तव में मामूली तेजी से हो. 55 00:02:27,490 --> 00:02:30,620 फिर, क्योंकि मैं रखने के लिए नहीं था मैं क्रमबद्ध किया था एक बार पीछे हट 56 00:02:30,620 --> 00:02:31,880 छोटी से छोटी तत्वों. 57 00:02:31,880 --> 00:02:35,090 लेकिन हम बहुत बड़ी n के बारे में सोचते हैं, और अगर आप की तरह गणित के रूप में बाहर करते हैं 58 00:02:35,090 --> 00:02:39,170 मैं चुकता एन के साथ, बोर्ड पर किया था शून्य से कुछ है, बाकी सब कुछ 59 00:02:39,170 --> 00:02:41,850 n चुकता इसके अलावा, एक बार n , वास्तव में बड़ा नहीं मिलते 60 00:02:41,850 --> 00:02:42,850 सच के रूप में ज्यादा फर्क. 61 00:02:42,850 --> 00:02:45,470 तो कंप्यूटर वैज्ञानिकों के रूप में, हम की तरह छोटे के लिए एक अंधे आँख बारी 62 00:02:45,470 --> 00:02:49,220 कारकों और केवल कारक में पर फोकस बनाने जा रहा है कि एक अभिव्यक्ति 63 00:02:49,220 --> 00:02:50,330 सबसे बड़ा अंतर है. 64 00:02:50,330 --> 00:02:52,840 >> खैर, अंत में, हम देखा प्रविष्टि के आधार पर क्रमबद्ध पर. 65 00:02:52,840 --> 00:02:56,620 और इस भावना में समान था, लेकिन iteratively के माध्यम से जाने के लिए और के बजाय 66 00:02:56,620 --> 00:03:01,250 एक में सबसे छोटा तत्व किसी एक का चयन समय, मैं बजाय हाथ लिया कि मैं 67 00:03:01,250 --> 00:03:04,070 सभी, निपटा, और मैंने तय कर लिया गया था ठीक है, तुम यहाँ के. 68 00:03:04,070 --> 00:03:06,160 तो मैं अगले तत्व पर चले गए और फैसला किया कि वह या 69 00:03:06,160 --> 00:03:07,470 वह यहाँ था. 70 00:03:07,470 --> 00:03:08,810 और फिर मैं पर और पर ले जाया गया. 71 00:03:08,810 --> 00:03:11,780 और मुझे लगता है, जिस तरह से साथ, करने के लिए हो सकता है के क्रम में इन लोगों बदलाव 72 00:03:11,780 --> 00:03:13,030 उनके लिए जगह बनाने. 73 00:03:13,030 --> 00:03:16,880 इसलिए कि मानसिक पलटने की तरह था चयन की तरह है कि हम 74 00:03:16,880 --> 00:03:18,630 सम्मिलन सॉर्ट बुलाया. 75 00:03:18,630 --> 00:03:20,810 >> इसलिए इन विषयों के लिए होते हैं असली दुनिया में. 76 00:03:20,810 --> 00:03:23,640 बस कुछ साल पहले, जब एक निश्चित सीनेटर, राष्ट्रपति के लिए चल रहा था 77 00:03:23,640 --> 00:03:27,160 समय पर सीईओ एरिक श्मिट, गूगल, वास्तव में अवसर मिला 78 00:03:27,160 --> 00:03:28,040 उसे साक्षात्कार के लिए. 79 00:03:28,040 --> 00:03:32,010 और हम हम इस यूट्यूब हिस्सा था हम बारी सकता है, यहाँ आप के लिए क्लिप 80 00:03:32,010 --> 00:03:32,950 मात्रा. 81 00:03:32,950 --> 00:03:39,360 >> [वीडियो प्लेबैक] 82 00:03:39,360 --> 00:03:44,620 >> अब, सीनेटर, आप यहाँ गूगल पर रहे और मैं राष्ट्रपति पद के बारे में सोचना पसंद 83 00:03:44,620 --> 00:03:46,042 एक नौकरी के साक्षात्कार के रूप में. 84 00:03:46,042 --> 00:03:47,770 >> [हंसी] 85 00:03:47,770 --> 00:03:50,800 >> अब इसे पाने के लिए मुश्किल है अध्यक्ष के रूप में एक काम है. 86 00:03:50,800 --> 00:03:52,480 और आप के माध्यम से जा रहे हैं अब कठोरता. 87 00:03:52,480 --> 00:03:54,330 यह गूगल पर एक नौकरी पाने के लिए भी मुश्किल है. 88 00:03:54,330 --> 00:03:59,610 हम प्रश्न हैं और हम पूछना हमारे उम्मीदवारों सवाल. 89 00:03:59,610 --> 00:04:02,250 और यह एक लैरी श्विमर से है. 90 00:04:02,250 --> 00:04:05,325 >> [हंसी] 91 00:04:05,325 --> 00:04:06,400 तुम लोगों को मैं मजाक कर रहा हूँ? 92 00:04:06,400 --> 00:04:08,750 यह ठीक है यहाँ है. 93 00:04:08,750 --> 00:04:12,110 सबसे कारगर तरीका क्या है एक लाख दो बिट पूर्णांक प्रकार? 94 00:04:12,110 --> 00:04:15,810 >> [हंसी] 95 00:04:15,810 --> 00:04:18,260 >> खैर, उह - 96 00:04:18,260 --> 00:04:19,029 >> -मैं माफी चाहता हूँ. 97 00:04:19,029 --> 00:04:19,745 शायद हम चाहिए - 98 00:04:19,745 --> 00:04:21,000 >> नहीं, नहीं, नहीं, नहीं, नहीं. 99 00:04:21,000 --> 00:04:21,470 >> कि एक नहीं है - 100 00:04:21,470 --> 00:04:22,185 ठीक है. 101 00:04:22,185 --> 00:04:25,328 >> मैं बुलबुला तरह होता लगता है गलत रास्ता तय करना हो. 102 00:04:25,328 --> 00:04:26,792 >> [हंसी] 103 00:04:26,792 --> 00:04:28,510 >> [जयकार और तालियां] 104 00:04:28,510 --> 00:04:31,211 >> जो इस उससे कहा, पर हो रहा है? 105 00:04:31,211 --> 00:04:32,155 ठीक है. 106 00:04:32,155 --> 00:04:33,350 >> [अंत वीडियो प्लेबैक] 107 00:04:33,350 --> 00:04:35,070 >> डेविड मालन: तो वहाँ तुम्हारे पास है. 108 00:04:35,070 --> 00:04:39,600 इसलिए हम इन चल यों के लिए शुरू किया कई बार, तो कुछ के साथ बात करने के लिए 109 00:04:39,600 --> 00:04:43,480 जो कहा जाता उपगामी संकेतन, बस मोड़ के बारे में हमारी तरह करने के लिए चर्चा करते हुए 110 00:04:43,480 --> 00:04:47,420 एक अंधा उन छोटे कारकों के लिए आंख और केवल समय चल रहा है पर देख रहे हैं, 111 00:04:47,420 --> 00:04:51,250 इन एल्गोरिदम का प्रदर्शन, n समय के साथ वास्तव में बड़ा हो जाता है. 112 00:04:51,250 --> 00:04:55,110 और इसलिए हम बड़ा ओ और बड़ी हे पेश हमने सोचा कि कुछ प्रतिनिधित्व 113 00:04:55,110 --> 00:04:57,000 की एक ऊपरी ही रूप में. 114 00:04:57,000 --> 00:04:59,570 और वास्तव में, बैरी, हम कम कर सकते हैं mic से एक छोटा सा? 115 00:04:59,570 --> 00:05:01,040 >> हम इस एक ऊपरी बाध्य है के बारे में सोचा. 116 00:05:01,040 --> 00:05:04,710 N की तो बड़ी हे चुकता मतलब है कि में सबसे खराब स्थिति, जैसे कुछ 117 00:05:04,710 --> 00:05:07,780 चयन के आधार पर क्रमबद्ध ले जाएगा n कदम चुकता. 118 00:05:07,780 --> 00:05:10,310 या सम्मिलन प्रकार की तरह कुछ n कदम चुकता करेंगे. 119 00:05:10,310 --> 00:05:15,150 अब प्रविष्टि की तरह कुछ के लिए सॉर्ट, सबसे खराब स्थिति क्या थी? 120 00:05:15,150 --> 00:05:18,200 एक सरणी को देखते हुए, सबसे बुरा क्या है आपको मिल सकता है कि संभव परिदृश्य 121 00:05:18,200 --> 00:05:20,650 खुद के साथ सामना करना पड़ा? 122 00:05:20,650 --> 00:05:21,860 >> यह ठीक है, पूरी तरह से पीछे की ओर है? 123 00:05:21,860 --> 00:05:24,530 क्योंकि यह पूरी तरह से पीछे की ओर, अगर आप काम की एक पूरी बहुत कुछ करना है. 124 00:05:24,530 --> 00:05:26,420 क्योंकि आप पूरी तरह से पीछे की ओर कर रहे हैं, आप खोजने के लिए जा रहे हैं 125 00:05:26,420 --> 00:05:28,840 यहां सबसे बड़ा तत्व है, भले ही यह वहाँ नीचे के अंतर्गत आता है. 126 00:05:28,840 --> 00:05:31,140 तो आप पर, सभी सही कहने जा रहे हैं समय में इस समय, तुम यहाँ के, 127 00:05:31,140 --> 00:05:32,310 तो आप उसे अकेला छोड़ दें. 128 00:05:32,310 --> 00:05:35,425 >> तो फिर तुम ओह, अरे नहीं, मैं करने के लिए है, एहसास इस थोड़ा छोटा तत्व के लिए कदम 129 00:05:35,425 --> 00:05:36,470 तुम छोड़ दिया. 130 00:05:36,470 --> 00:05:38,770 तब मैं फिर से ऐसा करने के लिए है और फिर और फिर. 131 00:05:38,770 --> 00:05:41,410 और मैं आपको आगे और पीछे चला गया की तरह का प्रदर्शन कैसा महसूस होगा 132 00:05:41,410 --> 00:05:45,540 कि एल्गोरिथ्म, क्योंकि लगातार मैं हूँ में नीचे हर किसी फेरबदल 133 00:05:45,540 --> 00:05:46,510 इसके लिए जगह बनाने के लिए सरणी. 134 00:05:46,510 --> 00:05:47,750 तो यह है कि सबसे खराब स्थिति है. 135 00:05:47,750 --> 00:05:48,570 >> इसके विपरीत करके - 136 00:05:48,570 --> 00:05:50,320 और यह आखिरी बार एक cliffhanger था - 137 00:05:50,320 --> 00:05:54,065 हमने कहा कि सम्मिलन सॉर्ट क्या से एक ओमेगा था? 138 00:05:54,065 --> 00:05:57,530 सर्वश्रेष्ठ मामले चल रहे हैं क्या है प्रविष्टि की तरह समय? 139 00:05:57,530 --> 00:05:58,520 तो यह n वास्तव में है. 140 00:05:58,520 --> 00:06:00,980 यही कारण है कि हम छोड़ दिया कि रिक्त था पिछली बार बोर्ड पर. 141 00:06:00,980 --> 00:06:03,160 >> क्योंकि और यही कारण है कि यह n के ओमेगा है? 142 00:06:03,160 --> 00:06:06,630 खैर, बहुत अच्छा मामले में, क्या हो रहा है सम्मिलन सॉर्ट सौंप दिया जा रहा है? 143 00:06:06,630 --> 00:06:09,830 खैर, पूरी तरह से हल है कि एक सूची ऐसा करने के लिए पहले से ही कम से कम काम करते हैं. 144 00:06:09,830 --> 00:06:12,460 लेकिन क्या प्रविष्टि प्रकार के बारे में साफ है है कि यह यहाँ शुरू होता है और क्योंकि 145 00:06:12,460 --> 00:06:15,340 , ओह, आप संख्या हैं फैसला एक, तुम यहाँ के. 146 00:06:15,340 --> 00:06:16,970 ओह, एक अच्छा भाग्य क्या. 147 00:06:16,970 --> 00:06:17,740 >> आप संख्या दो हो. 148 00:06:17,740 --> 00:06:19,030 तुम भी यहाँ के. 149 00:06:19,030 --> 00:06:21,010 तीन नंबर, और भी बेहतर, तुम यहाँ के. 150 00:06:21,010 --> 00:06:25,210 जैसे ही यह के अंत तक हो जाता है सूची, प्रविष्टि प्रति के आधार पर क्रमबद्ध pseudocode है 151 00:06:25,210 --> 00:06:28,010 हम मौखिक रूप से के माध्यम से चला गया है कि पिछली बार यह हो चुका है. 152 00:06:28,010 --> 00:06:32,790 लेकिन चयन के आधार पर क्रमबद्ध, इसके विपरीत, क्या कर रखा है? 153 00:06:32,790 --> 00:06:35,260 >> सूची के माध्यम से रखा जा रहा है फिर और फिर और फिर. 154 00:06:35,260 --> 00:06:39,160 महत्वपूर्ण जानकारी ही नहीं थी क्योंकि आप सभी तरह से करने के लिए देखा है एक बार 155 00:06:39,160 --> 00:06:42,500 सूची के अंत आप कुछ कर सकते हैं आप चयनित तत्व था कि 156 00:06:42,500 --> 00:06:45,560 वास्तव में वर्तमान में सबसे छोटा तत्व. 157 00:06:45,560 --> 00:06:48,920 इसलिए इन विभिन्न मानसिक मॉडल अंत ऊपर कुछ बहुत ही वास्तविक दुनिया से बेदखल 158 00:06:48,920 --> 00:06:53,130 हमारे लिए मतभेद है, साथ ही इन सैद्धांतिक उपगामी मतभेद. 159 00:06:53,130 --> 00:06:56,910 >> तो बस, फिर, एन की बड़ी हे संक्षिप्त करने के लिए चुकता, हम कुछ इस तरह देखा है 160 00:06:56,910 --> 00:06:58,350 एल्गोरिदम इस प्रकार अब तक. 161 00:06:58,350 --> 00:06:59,580 N की बड़ी हे? 162 00:06:59,580 --> 00:07:02,870 सकता है कि एक एल्गोरिथ्म क्या है n की बड़ी हे होने के लिए कहा जा सकता है? 163 00:07:02,870 --> 00:07:06,930 सबसे खराब स्थिति में, इसे लेता है कदम की एक रेखीय संख्या. 164 00:07:06,930 --> 00:07:07,810 >> ठीक है, रैखिक खोज. 165 00:07:07,810 --> 00:07:10,470 और सबसे खराब स्थिति में, जहां है आप देख रहे हैं तत्व जब 166 00:07:10,470 --> 00:07:12,950 रैखिक खोज को लागू करने? 167 00:07:12,950 --> 00:07:14,680 >> ठीक है, सबसे खराब स्थिति में, यह भी वहाँ नहीं है. 168 00:07:14,680 --> 00:07:17,000 या दूसरा सबसे खराब स्थिति में, यह है अंत में सभी तरह, जो है 169 00:07:17,000 --> 00:07:18,880 प्लस या माइनस एक एक कदम फर्क. 170 00:07:18,880 --> 00:07:21,180 , दिन के अंत में तो हम यह रेखीय कह सकते हैं. 171 00:07:21,180 --> 00:07:23,910 N की बड़ी हे, रैखिक खोज होगा क्योंकि सबसे खराब स्थिति में, 172 00:07:23,910 --> 00:07:26,610 तत्व भी वहाँ नहीं है या यह है अंत में सभी तरह. 173 00:07:26,610 --> 00:07:29,370 >> खैर, एन के प्रवेश की बड़ी हे. 174 00:07:29,370 --> 00:07:32,760 हम इस बारे में बहुत विस्तार से बात नहीं की यही नहीं, लेकिन हम पहले यह देखा है. 175 00:07:32,760 --> 00:07:36,840 क्या लघुगणक तथाकथित में रन सबसे खराब स्थिति में समय,? 176 00:07:36,840 --> 00:07:38,500 >> हाँ, तो द्विआधारी खोज. 177 00:07:38,500 --> 00:07:42,930 और सबसे खराब स्थिति में द्विआधारी खोज कहीं तत्व हो सकता है 178 00:07:42,930 --> 00:07:45,640 कहीं मध्यम, या सरणी के अंदर. 179 00:07:45,640 --> 00:07:48,040 आप लेकिन एक बार आप केवल यह लगता है में, आधे में सूची में विभाजित 180 00:07:48,040 --> 00:07:48,940 आधा आधा में, आधे में. 181 00:07:48,940 --> 00:07:50,200 और फिर देखा, तो वह वहाँ है. 182 00:07:50,200 --> 00:07:52,500 या फिर, सबसे ज्यादा मामले, यह भी वहाँ नहीं है. 183 00:07:52,500 --> 00:07:56,770 लेकिन आप यह नहीं है कि पता नहीं है आप की तरह है कि पिछले पहुँचने तक 184 00:07:56,770 --> 00:08:00,470 संयोग से नीचे सबसे तत्वों और संयोग और संयोग. 185 00:08:00,470 --> 00:08:01,400 >> 1 की बड़ी हे. 186 00:08:01,400 --> 00:08:03,540 इसलिए हम 2 की बड़ी हे, 3 की बड़ी हे सका. 187 00:08:03,540 --> 00:08:06,260 किसी भी समय आप सिर्फ एक निरंतर संख्या चाहते हैं, हम बस की तरह बस को आसान बनाने में 188 00:08:06,260 --> 00:08:07,280 1 के रूप में है कि बड़ी हे. 189 00:08:07,280 --> 00:08:10,440 हालांकि वास्तविक हैं, तो यह लेता है 2 या यहां तक ​​कि 100 कदम, यह एक है अगर 190 00:08:10,440 --> 00:08:13,680 कदम की लगातार संख्या, हम सिर्फ 1 की बड़ी हे कहते हैं. 191 00:08:13,680 --> 00:08:15,930 है कि एक एल्गोरिथ्म क्या है 1 की बड़ी हे में? 192 00:08:15,930 --> 00:08:18,350 >> दर्शक: लंबाई ढूँढना एक चर की. 193 00:08:18,350 --> 00:08:21,090 >> डेविड मालन: ढूँढना एक चर की लंबाई? 194 00:08:21,090 --> 00:08:23,870 >> दर्शक: नहीं, लंबाई यह पहले से ही हल है, तो. 195 00:08:23,870 --> 00:08:24,160 >> डेविड मालन: अच्छा. 196 00:08:24,160 --> 00:08:27,850 ठीक है, तो कुछ की लंबाई को खोजने अगर ऐसा कुछ, की लंबाई 197 00:08:27,850 --> 00:08:30,020 एक सरणी, कुछ चर में संग्रहीत किया जाता है. 198 00:08:30,020 --> 00:08:33,380 आप बस चर पढ़ सकते हैं क्योंकि, या चर मुद्रित, या 199 00:08:33,380 --> 00:08:34,960 सिर्फ आम तौर पर कि चर का उपयोग. 200 00:08:34,960 --> 00:08:37,299 और देखा, कि लगातार समय लगता है. 201 00:08:37,299 --> 00:08:38,909 >> इसके विपरीत, पीठ खरोंच के लिए लगता है. 202 00:08:38,909 --> 00:08:42,460 वापस सी के पहले सप्ताह के लिए सोचो बुला सिर्फ printf और मुद्रण 203 00:08:42,460 --> 00:08:46,240 स्क्रीन पर कुछ यकीनन है लगातार समय, यह सिर्फ लेता है क्योंकि 204 00:08:46,240 --> 00:08:50,880 दिखाने के लिए CPU चक्र की कुछ संख्या स्क्रीन पर उस पाठ. 205 00:08:50,880 --> 00:08:52,720 या इंतज़ार - करता है यह? 206 00:08:52,720 --> 00:08:56,430 कैसे हम मॉडल हो सकता है printf के प्रदर्शन? 207 00:08:56,430 --> 00:09:00,420 किसी असहमत करना चाहेंगे कि हो सकता है यह वास्तव में निरंतर समय नहीं है? 208 00:09:00,420 --> 00:09:03,600 क्या अर्थ हो सकता है printf के चलाने में समय, पर वास्तव में एक स्ट्रिंग मुद्रण 209 00:09:03,600 --> 00:09:05,580 स्क्रीन, कुछ हो निरंतर के अलावा अन्य. 210 00:09:05,580 --> 00:09:07,860 >> दर्शक: [सुनाई]. 211 00:09:07,860 --> 00:09:08,230 >> डेविड मालन: हाँ. 212 00:09:08,230 --> 00:09:09,300 तो यह हमारे दृष्टिकोण पर निर्भर करता है. 213 00:09:09,300 --> 00:09:13,390 हम वास्तव में करने के लिए निवेश के बारे में सोच printf स्ट्रिंग जा रहा है, और के रूप में 214 00:09:13,390 --> 00:09:16,380 इसलिए हम उस के आकार के उपाय इसकी लंबाई द्वारा इनपुट - तो चलो कहते हैं 215 00:09:16,380 --> 00:09:17,780 कि लंबाई n के रूप में अच्छी तरह से - 216 00:09:17,780 --> 00:09:21,990 यकीनन, printf n की बड़ी हे ही है यह आप n कदम उठाने जा रहा है क्योंकि 217 00:09:21,990 --> 00:09:24,750 उन n के प्रत्येक बाहर मुद्रित करने के लिए वर्ण, सबसे अधिक संभावना है. 218 00:09:24,750 --> 00:09:27,730 कम से कम हम मान लें कि सीमा तक हो सकता है कि यह एक पाश के लिए इस्तेमाल कर रहा है 219 00:09:27,730 --> 00:09:28,560 हुड के नीचे. 220 00:09:28,560 --> 00:09:30,860 >> लेकिन हम उस पर विचार करना होगा बेहतर यह समझने के लिए कोड. 221 00:09:30,860 --> 00:09:33,650 और वास्तव में, एक बार तुम लोग शुरू अपनी खुद की एल्गोरिदम का विश्लेषण, आप हूँ 222 00:09:33,650 --> 00:09:34,900 सचमुच कि बस. 223 00:09:34,900 --> 00:09:37,765 सॉर्ट के अपने कोड नेत्रगोलक और लगता है के बारे में - ठीक है, मैं इस लूप है 224 00:09:37,765 --> 00:09:41,870 यहाँ या मैं यहाँ एक नेस्टेड छोरों है कि एन हालात एन बार करने जा रहा है, 225 00:09:41,870 --> 00:09:46,050 और आप की तरह अपना रास्ता कारण कर सकते हैं यह कोड के माध्यम से, भले ही 226 00:09:46,050 --> 00:09:47,980 pseudocode और वास्तविक नहीं कोड. 227 00:09:47,980 --> 00:09:49,730 >> तो क्या पता की ओमेगा चुकता के बारे में? 228 00:09:49,730 --> 00:09:53,582 एक एल्गोरिथ्म क्या था कि सबसे अच्छा में मामले, अभी भी कदम चुकता पता लगा? 229 00:09:53,582 --> 00:09:54,014 हाँ? 230 00:09:54,014 --> 00:09:54,880 >> दर्शक: [सुनाई]. 231 00:09:54,880 --> 00:09:55,900 >> डेविड मालन: तो चयन के आधार पर क्रमबद्ध. 232 00:09:55,900 --> 00:09:59,150 क्योंकि वास्तव में कम है कि समस्या में फिर से, मैं नहीं जानता कि इस तथ्य को 233 00:09:59,150 --> 00:10:02,600 मैं जब तक वर्तमान के सबसे छोटे पाया है मैं सभी रफ़ू तत्वों की जाँच की है. 234 00:10:02,600 --> 00:10:08,050 तो ओमेगा का, कहना, एन हम सिर्फ एक के साथ आया था. 235 00:10:08,050 --> 00:10:09,300 सम्मिलन सॉर्ट. 236 00:10:09,300 --> 00:10:12,370 सूची हल होना होता है पहले से ही सबसे अच्छा मामले में हम अभी है 237 00:10:12,370 --> 00:10:15,090 इसके माध्यम से एक पास बनाने के लिए, हम सुनिश्चित कर रहे हैं पर जो बात. 238 00:10:15,090 --> 00:10:17,890 और फिर कहा जा सकता है सुनिश्चित करने के लिए, रेखीय हो. 239 00:10:17,890 --> 00:10:20,570 >> क्या 1 के ओमेगा के बारे में? 240 00:10:20,570 --> 00:10:23,790 सबसे अच्छा मामले में, लग सकता है क्या, कदम की एक निरंतर संख्या? 241 00:10:23,790 --> 00:10:27,220 तो रैखिक खोज, तुम सिर्फ भाग्यशाली हो अगर और आप देख रहे हैं तत्व 242 00:10:27,220 --> 00:10:31,000 , सही सूची की शुरुआत में है आप शुरू कर रहे हैं कि जहां अगर आपके 243 00:10:31,000 --> 00:10:33,070 उस सूची के रैखिक चंक्रमण. 244 00:10:33,070 --> 00:10:35,180 >> और यह एक का सच है बातें की संख्या. 245 00:10:35,180 --> 00:10:37,660 उदाहरण के लिए, यहां तक ​​कि बाइनरी खोज 1 की ओमेगा है. 246 00:10:37,660 --> 00:10:40,310 आप वास्तव में रफ़ू मिलता तो क्या वजह लकी और के बीच में एक प्रकार का जहाज़ थपका 247 00:10:40,310 --> 00:10:42,950 अपने सरणी संख्या है आप के लिए देख रहे हैं? 248 00:10:42,950 --> 00:10:45,730 तो आप के रूप में अच्छी तरह से, वहाँ भाग्यशाली हो सकता है. 249 00:10:45,730 --> 00:10:49,190 >> यह एक, अन्त में, लॉग एन एन की ओमेगा. 250 00:10:49,190 --> 00:10:52,573 इसलिए n लॉग एन, हम वास्तव में नहीं था अभी तक के बारे में बात करते हैं, लेकिन - 251 00:10:52,573 --> 00:10:53,300 >> दर्शक: सॉर्ट मर्ज? 252 00:10:53,300 --> 00:10:53,960 >> डेविड मालन: सॉर्ट मर्ज. 253 00:10:53,960 --> 00:10:56,920 आखिरी बार है कि के cliffhanger था, जहां हम प्रस्तावित है, और हम पता चला 254 00:10:56,920 --> 00:10:58,600 नेत्रहीन, एल्गोरिदम है कि वहाँ. 255 00:10:58,600 --> 00:11:02,470 और मर्ज की तरह सिर्फ एक ऐसी मूलरूप में तेजी से होता है कि एल्गोरिथ्म 256 00:11:02,470 --> 00:11:03,450 इन अन्य लोगों की तुलना में कुछ. 257 00:11:03,450 --> 00:11:07,800 वास्तव में, कम मर्ज में ही नहीं है सबसे अच्छा मामले n सबसे खराब में, लॉग एन 258 00:11:07,800 --> 00:11:09,460 मामले लॉग एन एन. 259 00:11:09,460 --> 00:11:14,540 और आप का यह संयोग है जब ओमेगा और बड़ी हे एक ही बात की जा रही है? 260 00:11:14,540 --> 00:11:17,310 हम वास्तव में क्या है कि के रूप में वर्णन कर सकते हैं यह है, हालांकि, थीटा नामक एक 261 00:11:17,310 --> 00:11:18,220 थोड़ा कम आम. 262 00:11:18,220 --> 00:11:21,730 लेकिन वह सिर्फ दो सीमा का मतलब है, इस मामले में, एक ही हैं. 263 00:11:21,730 --> 00:11:25,770 >> तो यह क्या करता है, के आधार पर क्रमबद्ध विलय वास्तव में हमारे लिए करने के लिए नीचे फोड़ा? 264 00:11:25,770 --> 00:11:27,000 खैर, प्रेरणा याद करते हैं. 265 00:11:27,000 --> 00:11:30,340 मुझे एक और एनीमेशन तक खींच लें कि हम पिछले समय में नहीं लग रही थी. 266 00:11:30,340 --> 00:11:33,390 यह एक ही विचार है, लेकिन यह एक छोटे से बड़ा है. 267 00:11:33,390 --> 00:11:36,160 और मुझे आगे जाना है और बाहर बात करने जा रहा हूँ पहला - हम की तरह पर प्रविष्टि है 268 00:11:36,160 --> 00:11:39,410 ऊपर छोड़ दिया, तो चयन के आधार पर क्रमबद्ध, बुलबुला तरह, अन्य प्रकार के एक जोड़े - 269 00:11:39,410 --> 00:11:42,670 जल्दी खोल और - हम बात नहीं की है कि के बारे में, और ढेर और तरह समा जाता है. 270 00:11:42,670 --> 00:11:47,090 >> तो कम से कम अपनी आँखें ध्यान केंद्रित करने की कोशिश ऊपर छोड़ दिया पर तीन और तब 271 00:11:47,090 --> 00:11:49,120 जब मैं क्लिक करें सॉर्ट मर्ज इस हरी तीर. 272 00:11:49,120 --> 00:11:51,900 लेकिन मैं अभी तक, उन सभी को चलाने दूँगा आप की विविधता की भावना दे 273 00:11:51,900 --> 00:11:53,980 दुनिया में मौजूद है कि एल्गोरिदम. 274 00:11:53,980 --> 00:11:56,180 मैं इस दौड़ जाने के लिए जा रहा हूँ बस कुछ सेकंड के लिए. 275 00:11:56,180 --> 00:11:59,640 और तुम अपनी आँखें ध्यान केंद्रित है - एक लेने एल्गोरिथ्म, के लिए उस पर ध्यान सिर्फ एक 276 00:11:59,640 --> 00:12:02,970 सेकंड - आप देखना शुरू कर देंगे इसे लागू करने की है कि पैटर्न. 277 00:12:02,970 --> 00:12:04,530 >> मर्ज सॉर्ट, नोटिस किया जाता है. 278 00:12:04,530 --> 00:12:06,430 ढेर प्रकार, त्वरित सॉर्ट, खोल - 279 00:12:06,430 --> 00:12:09,480 तो यह है कि हम तीन पेश लगता है सबसे खराब एल्गोरिदम पिछले हफ्ते. 280 00:12:09,480 --> 00:12:12,960 लेकिन यह है कि हम करने के लिए आज यहाँ हो यह अच्छी बात है में से एक है जो मर्ज सॉर्ट, पर देखने के लिए 281 00:12:12,960 --> 00:12:16,500 आसान लोगों को भी, पर लग रहा है यह शायद आपके मन झुकेगा हालांकि 282 00:12:16,500 --> 00:12:17,490 बस थोड़ा सा. 283 00:12:17,490 --> 00:12:21,130 यहाँ हम देख सकते हैं कि अभी कितना चयन के आधार पर क्रमबद्ध बेकार है. 284 00:12:21,130 --> 00:12:24,600 >> लेकिन दूसरा पहलू पर, यह है लागू करने के लिए वास्तव में आसान. 285 00:12:24,600 --> 00:12:28,160 और शायद सेट पी 3 के लिए, उस में से एक है आप को लागू करने के लिए चुना है एल्गोरिदम 286 00:12:28,160 --> 00:12:28,960 मानक संस्करण के लिए. 287 00:12:28,960 --> 00:12:30,970 बिल्कुल सही, बिल्कुल ठीक. 288 00:12:30,970 --> 00:12:35,210 >> आप अगर लेकिन फिर, एन के रूप में बड़े हो जाता है एक तेज कलन विधि को लागू करने के लिए चयन 289 00:12:35,210 --> 00:12:39,020 मर्ज प्रकार की तरह, बाधाओं बड़ा में हैं और बड़ा आदानों, अपने कोड अभी है 290 00:12:39,020 --> 00:12:39,800 तेजी से चलाने के लिए जा रहा. 291 00:12:39,800 --> 00:12:41,090 आपकी वेबसाइट को बेहतर काम करने के लिए जा रहा है. 292 00:12:41,090 --> 00:12:42,650 आपकी उपयोगकर्ताओं को खुश होने जा रहे हैं. 293 00:12:42,650 --> 00:12:45,280 और इसलिए इन इफेक्ट होते हैं वास्तव में दे रही है 294 00:12:45,280 --> 00:12:47,350 हमें कुछ गहरा सोचा. 295 00:12:47,350 --> 00:12:49,990 >> तो चलो क्या मर्ज पर एक नज़र सॉर्ट सब के बारे में वास्तव में है. 296 00:12:49,990 --> 00:12:52,992 शांत बात यह है कि मर्ज है तरह सिर्फ यह है. 297 00:12:52,992 --> 00:12:56,300 यह हम बुलाया है क्या, फिर, है pseudocode, pseudocode जा रहा है 298 00:12:56,300 --> 00:12:57,720 अंग्रेजी की तरह वाक्यविन्यास. 299 00:12:57,720 --> 00:12:59,890 और सादगी है एक तरह से आकर्षक. 300 00:12:59,890 --> 00:13:02,840 >> इसलिए n तत्वों के इनपुट पर - इतना है कि यहाँ सिर्फ एक सरणी है, इसका मतलब है. 301 00:13:02,840 --> 00:13:04,000 यह उस में एन चीजें मिल गया है. 302 00:13:04,000 --> 00:13:05,370 यही कारण है कि हम वहाँ कह रहे है. 303 00:13:05,370 --> 00:13:07,560 >> N कम से कम 2 है, तो वापसी. 304 00:13:07,560 --> 00:13:08,640 ताकि बस तुच्छ मामला है. 305 00:13:08,640 --> 00:13:12,580 N कम से कम 2 है, तो जाहिर है यह है 1 या 0, जो मामले में बात 306 00:13:12,580 --> 00:13:14,780 पहले से ही हल या nonexistent है, तो सिर्फ वापसी. 307 00:13:14,780 --> 00:13:15,900 ऐसा करने के लिए कुछ भी नहीं है. 308 00:13:15,900 --> 00:13:18,360 इसलिए कि बंद बांधना एक साधारण मामला है. 309 00:13:18,360 --> 00:13:20,110 >> वरना, हम तीन चरणों का है. 310 00:13:20,110 --> 00:13:23,650 सॉर्ट तत्वों की बाईं आधे को क्रमबद्ध तत्वों की सही आधा, 311 00:13:23,650 --> 00:13:26,650 और तब क्रमबद्ध हिस्सों विलय. 312 00:13:26,650 --> 00:13:29,400 क्या यहां दिलचस्प बात यह है कि मैं एक तरह से सही, punting रहा हूँ? 313 00:13:29,400 --> 00:13:32,300 तरह का एक परिपत्र परिभाषा नहीं है इस एल्गोरिथ्म के लिए. 314 00:13:32,300 --> 00:13:35,986 क्या मायने में इस एल्गोरिथ्म की है परिभाषा परिपत्र? 315 00:13:35,986 --> 00:13:37,850 >> दर्शक: [सुनाई]. 316 00:13:37,850 --> 00:13:41,670 >> डेविड मालन: हाँ, मेरे छँटाई एल्गोरिथ्म, अपने कदम के दो "प्रकार हैं 317 00:13:41,670 --> 00:13:44,640 कुछ और. "और इसलिए है कि भीख माँगता सवाल है, ठीक है, मैं क्या उपयोग करने के लिए जा रहा हूँ 318 00:13:44,640 --> 00:13:46,460 बाईं आधा सॉर्ट करने के लिए और सही आधा? 319 00:13:46,460 --> 00:13:49,600 और यहाँ सौंदर्य है कि भले ही फिर, यह है मन झुका 320 00:13:49,600 --> 00:13:54,030 संभावित हिस्सा है, आप एक ही उपयोग कर सकते हैं बाईं आधा सॉर्ट करने के लिए एल्गोरिथ्म. 321 00:13:54,030 --> 00:13:54,700 >> लेकिन एक मिनट रुको. 322 00:13:54,700 --> 00:13:57,070 आप सॉर्ट करने के लिए कहा हो जब बाईं आधा, दो क्या हैं 323 00:13:57,070 --> 00:13:58,240 कदम अगले होने जा रहा? 324 00:13:58,240 --> 00:14:00,550 हम छोड़ दिया आधा सुलझा लेंगे बाईं आधा और सही 325 00:14:00,550 --> 00:14:01,420 बाईं आधे का आधा. 326 00:14:01,420 --> 00:14:04,430 अरे नहीं, मैं कैसे उन दो प्रकार है अब आधा या चौथाई? 327 00:14:04,430 --> 00:14:05,260 >> लेकिन यह ठीक है. 328 00:14:05,260 --> 00:14:07,830 हम यहाँ एक छँटाई कलन विधि है. 329 00:14:07,830 --> 00:14:10,660 और आप में चिंता हो सकती है, भले ही पहले यह एक अनंत की तरह है 330 00:14:10,660 --> 00:14:12,780 पाश, यह कभी नहीं है कि एक चक्र है खत्म हो रहा है - यह जा रहा है 331 00:14:12,780 --> 00:14:15,770 क्या होता है एक बार अंत? 332 00:14:15,770 --> 00:14:16,970 N कम से कम 2 है एक बार. 333 00:14:16,970 --> 00:14:19,180 अंत में होने जा रहा है जो, क्योंकि आप संयोग रखने के लिए और अगर 334 00:14:19,180 --> 00:14:23,020 निश्चित रूप से, इन हिस्सों संयोग में संयोग अंततः आप समाप्त करने के लिए जा रहे हैं 335 00:14:23,020 --> 00:14:25,350 सिर्फ 1 या 0 तत्वों के साथ. 336 00:14:25,350 --> 00:14:28,500 जो बात, इस एल्गोरिथ्म पर आप कर रहे हैं कहते हैं. 337 00:14:28,500 --> 00:14:31,020 >> इस में तो असली जादू एल्गोरिथ्म में किया जा रहा है 338 00:14:31,020 --> 00:14:33,470 कि अंतिम चरण के विलय. 339 00:14:33,470 --> 00:14:37,190 सिर्फ दो विलय यह सरल विचार बातें, कि अंततः क्या हो रहा है 340 00:14:37,190 --> 00:14:40,920 हम में से एक सरणी सॉर्ट करने के लिए अनुमति देने के लिए, के, आठ तत्व कहते हैं. 341 00:14:40,920 --> 00:14:44,410 इसलिए मैं आठ और तनाव गेंदों ऊपर है यहां आठ कागज के टुकड़े, और एक 342 00:14:44,410 --> 00:14:45,500 गूगल ग्लास - 343 00:14:45,500 --> 00:14:46,140 जो मैं रखने के लिए मिलता है. 344 00:14:46,140 --> 00:14:46,960 >> [हंसी] 345 00:14:46,960 --> 00:14:48,970 >> डेविड मालन: हम आठ ले सकता है स्वयंसेवकों, और हम कर सकते हैं, तो चलो देखते हैं 346 00:14:48,970 --> 00:14:51,430 इसलिए, यह बाहर खेलते हैं. 347 00:14:51,430 --> 00:14:52,500 ठीक है, वाह. 348 00:14:52,500 --> 00:14:53,565 कम्प्यूटर साइंस मज़ा हो रही है. 349 00:14:53,565 --> 00:14:54,320 ठीक है. 350 00:14:54,320 --> 00:14:57,770 तो आप कैसे तीन के बारे में, वहाँ सबसे बड़ा हाथ ऊपर. 351 00:14:57,770 --> 00:14:58,580 पीठ में चार. 352 00:14:58,580 --> 00:15:02,220 और हम कैसे के बारे में आप क्या करेंगे इस पंक्ति में तीन? 353 00:15:02,220 --> 00:15:03,390 और सामने चार. 354 00:15:03,390 --> 00:15:04,920 तो आप आठ, ऊपर की ओर आते हैं. 355 00:15:04,920 --> 00:15:12,060 >> [हंसी] 356 00:15:12,060 --> 00:15:13,450 >> डेविड मालन: मैं वास्तव में हूँ यह क्या है यकीन नहीं. 357 00:15:13,450 --> 00:15:14,810 यह तनाव गेंदों है? 358 00:15:14,810 --> 00:15:16,510 डेस्क दीपक? 359 00:15:16,510 --> 00:15:18,650 सामग्री? 360 00:15:18,650 --> 00:15:19,680 इंटरनेट? 361 00:15:19,680 --> 00:15:20,160 >> ठीक है. 362 00:15:20,160 --> 00:15:21,310 तो ऊपर की ओर आते हैं. 363 00:15:21,310 --> 00:15:22,310 कौन चाहते हैं - 364 00:15:22,310 --> 00:15:23,570 ऊपर आते रहते हैं. 365 00:15:23,570 --> 00:15:24,240 चलो देखते हैं. 366 00:15:24,240 --> 00:15:26,460 और इस स्थान में डालता है - 367 00:15:26,460 --> 00:15:27,940 आप स्थान में हो. 368 00:15:27,940 --> 00:15:28,670 ओह, एक मिनट रुको. 369 00:15:28,670 --> 00:15:30,760 1, 2, 3, 4, 5, 6, 7 - ओह, अच्छा. 370 00:15:30,760 --> 00:15:31,310 ठीक है, हम अच्छा कर रहे हैं. 371 00:15:31,310 --> 00:15:35,130 ठीक है, तो हर कोई एक सीट है, लेकिन नहीं गूगल ग्लास पर. 372 00:15:35,130 --> 00:15:36,475 मुझे इन कतार के लिए करते हैं. 373 00:15:36,475 --> 00:15:37,115 तुम्हारा नाम क्या है? 374 00:15:37,115 --> 00:15:37,440 >> MICHELLE: मिशेल. 375 00:15:37,440 --> 00:15:38,090 >> डेविड मालन: मिशेल? 376 00:15:38,090 --> 00:15:42,000 सब ठीक है, आप की तरह लग रहे हो geek, यह ठीक है अगर. 377 00:15:42,000 --> 00:15:44,625 खैर, मैं भी, मुझे लगता है, बस एक पल के लिए. 378 00:15:44,625 --> 00:15:45,875 सब ठीक है, स्टैंडबाय. 379 00:15:45,875 --> 00:15:48,510 380 00:15:48,510 --> 00:15:50,950 हम एक साथ आने की कोशिश कर रहा है गूगल ग्लास के लिए मामले का उपयोग करें, और हम 381 00:15:50,950 --> 00:15:53,750 यह सिर्फ क्या करना मजेदार होगा इस लोगों को जब मंच पर हैं. 382 00:15:53,750 --> 00:15:57,120 हम विश्व रिकॉर्ड होगा उनके नजरिए से. 383 00:15:57,120 --> 00:15:58,410 ठीक है. 384 00:15:58,410 --> 00:15:59,830 शायद गूगल का इरादा नहीं है. 385 00:15:59,830 --> 00:16:02,260 सब ठीक है, तुम बुरा न मानो पहने यह अगले अजीब मिनट के लिए, 386 00:16:02,260 --> 00:16:03,150 उस अद्भुत होगा. 387 00:16:03,150 --> 00:16:08,620 >> ठीक है, तो हम यहां की एक सरणी है तत्वों, और प्रति के रूप में उस सरणी, 388 00:16:08,620 --> 00:16:11,480 इन लोगों में कागज के टुकड़े ' हाथ, वर्तमान unsorted है. 389 00:16:11,480 --> 00:16:12,050 >> MICHELLE: ओह, यह बहुत अजीब है. 390 00:16:12,050 --> 00:16:12,810 >> डेविड मालन: यह बहुत ज्यादा यादृच्छिक है. 391 00:16:12,810 --> 00:16:15,760 और बस एक पल में, हम कोशिश करने जा रहे हैं सॉर्ट साथ विलय को लागू करने के लिए 392 00:16:15,760 --> 00:16:17,950 कि महत्वपूर्ण जानकारी है और कहाँ देखते हैं. 393 00:16:17,950 --> 00:16:21,970 और मर्ज प्रकार के साथ यहाँ चाल है हम अभी तक ग्रहण नहीं किया है कि कुछ और. 394 00:16:21,970 --> 00:16:24,030 हम वास्तव में कुछ की जरूरत अतिरिक्त जगह. 395 00:16:24,030 --> 00:16:26,650 तो क्या विशेष रूप से होने जा रहा है इस बारे में दिलचस्प है कि इन 396 00:16:26,650 --> 00:16:29,270 लोग एक छोटे से चारों ओर ले जाने के लिए जा रहे हैं मैं मान जा रहा हूँ बिट, ऐसा इसलिए है क्योंकि 397 00:16:29,270 --> 00:16:31,880 अंतरिक्ष के एक अतिरिक्त सरणी है, सही उनके पीछे, कहते हैं. 398 00:16:31,880 --> 00:16:34,570 >> वे अपनी कुर्सी के पीछे रहे हैं तो अगर, कि माध्यमिक सरणी है. 399 00:16:34,570 --> 00:16:36,960 वे यहाँ बैठा रहे हैं, वह है, प्राथमिक सरणी. 400 00:16:36,960 --> 00:16:40,170 लेकिन यह है कि हम एक संसाधन है बुलबुले के साथ इस प्रकार अब तक leveraged नहीं 401 00:16:40,170 --> 00:16:42,040 सॉर्ट, चयन प्रकार के साथ, प्रविष्टि प्रकार के साथ. 402 00:16:42,040 --> 00:16:44,600 पिछले सप्ताह याद है, हर कोई बस एक तरह से जगह में फेरबदल. 403 00:16:44,600 --> 00:16:46,840 वे किसी भी अतिरिक्त मेमोरी का उपयोग नहीं किया. 404 00:16:46,840 --> 00:16:49,310 हम से लोगों के लिए कमरा बनाया आसपास के लोगों घूम रहा है. 405 00:16:49,310 --> 00:16:50,580 >> तो यह भी एक महत्वपूर्ण जानकारी है. 406 00:16:50,580 --> 00:16:53,410 इस व्यापार बंद में सामान्य रूप में, वहाँ संसाधनों के कंप्यूटर विज्ञान,. 407 00:16:53,410 --> 00:16:55,800 आप कुछ तेजी लाने के लिए चाहते हैं समय की तरह, आप करने जा रहे हैं 408 00:16:55,800 --> 00:16:56,900 एक मूल्य का भुगतान किया है. 409 00:16:56,900 --> 00:17:00,750 और उन मूल्यों का एक बहुत अक्सर है अंतरिक्ष, स्मृति की मात्रा या मुश्किल 410 00:17:00,750 --> 00:17:01,700 आप उपयोग कर रहे हैं कि डिस्क स्थान. 411 00:17:01,700 --> 00:17:03,640 या, स्पष्ट रूप से, राशि प्रोग्रामर समय की. 412 00:17:03,640 --> 00:17:06,700 यह आपको लगता है कि कितना समय, मानव, वास्तव में कुछ और लागू करने के लिए 413 00:17:06,700 --> 00:17:07,829 जटिल एल्गोरिथ्म. 414 00:17:07,829 --> 00:17:09,760 लेकिन आज के लिए, व्यापार बंद समय और स्थान है. 415 00:17:09,760 --> 00:17:11,930 >> तुम लोग बस को पकड़ सकता है तो अगर आपके संख्या तो हम आप कर रहे हैं देख सकते हैं 416 00:17:11,930 --> 00:17:15,839 वास्तव में 4, 2, 6, 1, 3, 7, 8 मिलान. 417 00:17:15,839 --> 00:17:16,599 बहुत बढ़िया. 418 00:17:16,599 --> 00:17:19,520 इसलिए मैं आर्केस्ट्रा की कोशिश करने जा रहा हूँ बातें, तुम लोग कर सकते हैं, बस 419 00:17:19,520 --> 00:17:21,800 यहाँ मेरे नेतृत्व का पालन करें. 420 00:17:21,800 --> 00:17:26,650 >> तो मुझे लगता है, सबसे पहले, लागू करने के लिए जा रहा हूँ जो pseudocode का पहला कदम 421 00:17:26,650 --> 00:17:29,440 n तत्वों के इनपुट पर, यदि n है 2 से भी कम, फिर लौट आते हैं. 422 00:17:29,440 --> 00:17:31,370 जाहिर है, कि नहीं करता लागू होते हैं, तो हम पर चलते हैं. 423 00:17:31,370 --> 00:17:33,340 इसलिए तत्वों की बाईं आधा सॉर्ट. 424 00:17:33,340 --> 00:17:36,220 तो यह है कि मैं ध्यान केंद्रित करने जा रहा हूँ मतलब है मेरे इन पर बस एक पल के लिए ध्यान 425 00:17:36,220 --> 00:17:37,310 यहां चार लोग. 426 00:17:37,310 --> 00:17:39,774 सब ठीक है, मुझे लगता है कि आगे क्या करना है? 427 00:17:39,774 --> 00:17:40,570 >> दर्शक: बाईं आधा तरह. 428 00:17:40,570 --> 00:17:42,780 >> डेविड मालन: तो अब मैं हल करना होगा इन लोगों के बाईं आधा. 429 00:17:42,780 --> 00:17:45,580 फिर, क्योंकि अपने आप को ग्रहण लक्ष्य बाईं आधा तरह है. 430 00:17:45,580 --> 00:17:46,440 आप यह कैसे करते हो? 431 00:17:46,440 --> 00:17:49,140 अभी भी, निर्देशों का पालन करें हम इसे फिर से कर रहे हैं. 432 00:17:49,140 --> 00:17:50,160 तो बाईं आधा सॉर्ट. 433 00:17:50,160 --> 00:17:52,030 अब मैं इन दो लोगों छँटाई कर रहा हूँ. 434 00:17:52,030 --> 00:17:53,563 आगे क्या आता है? 435 00:17:53,563 --> 00:17:54,510 >> दर्शक: बाईं आधा तरह. 436 00:17:54,510 --> 00:17:55,460 >> डेविड मालन: वाम आधा तरह. 437 00:17:55,460 --> 00:18:00,680 तो अब ये यहाँ इस सीट, 1 आकार की एक सूची है. 438 00:18:00,680 --> 00:18:01,365 और अपना नाम फिर क्या है? 439 00:18:01,365 --> 00:18:02,390 >> राजकुमारी डेज़ी: राजकुमारी डेज़ी. 440 00:18:02,390 --> 00:18:03,690 >> डेविड मालन: राजकुमारी डेज़ी यहाँ है. 441 00:18:03,690 --> 00:18:07,470 और इसलिए वह पहले से ही हल है क्योंकि सूची 1 आकार की है. 442 00:18:07,470 --> 00:18:09,490 मैं आगे क्या करते हैं? 443 00:18:09,490 --> 00:18:13,680 उस सूची का है क्योंकि, ठीक है, लौटने कम से कम 2 है, जो आकार 1,. 444 00:18:13,680 --> 00:18:14,320 तो फिर अगला कदम क्या है? 445 00:18:14,320 --> 00:18:17,490 और अब आप की तरह करने के लिए है आपके मन में पीछे. 446 00:18:17,490 --> 00:18:19,340 >> है, जो सही आधा तरह - 447 00:18:19,340 --> 00:18:19,570 आपका नाम क्या है? 448 00:18:19,570 --> 00:18:20,220 >> लिंडा: लिंडा. 449 00:18:20,220 --> 00:18:20,980 >> डेविड मालन: लिंडा. 450 00:18:20,980 --> 00:18:23,210 और इसलिए अब हमें क्या करना है कि हम आकार 1 की एक सूची है? 451 00:18:23,210 --> 00:18:24,440 >> दर्शक: वापसी. 452 00:18:24,440 --> 00:18:24,760 >> डेविड मालन: सावधान. 453 00:18:24,760 --> 00:18:29,540 हम पहले लौटने के लिए, और अब तीसरे मैं एक तरह से यह द्वारा शब्दों में वर्णन करना और अगर - कदम 454 00:18:29,540 --> 00:18:33,490 मैं अब, अब दो सीटों को गले लगाते इन दोनों तत्वों को मर्ज करने के लिए है. 455 00:18:33,490 --> 00:18:35,530 तो अब दुर्भाग्य से, तत्वों क्रम से बाहर हैं. 456 00:18:35,530 --> 00:18:39,920 लेकिन है कि जहां विलय प्रक्रिया सम्मोहक पाने के लिए शुरू होता है. 457 00:18:39,920 --> 00:18:42,410 >> तुम लोगों को बस के लिए खड़े हो सकते हैं तो अगर एक पल, मैं एक में, आप की जरूरत करने के लिए जा रहा हूँ 458 00:18:42,410 --> 00:18:44,170 पल, अपनी कुर्सी के पीछे करने के लिए कदम. 459 00:18:44,170 --> 00:18:46,480 और लिंडा, 2 है क्योंकि अगर 4, क्यों नहीं की तुलना में छोटे 460 00:18:46,480 --> 00:18:48,130 जब आप पहली बार के आसपास आ गए? 461 00:18:48,130 --> 00:18:48,690 वहाँ रहो. 462 00:18:48,690 --> 00:18:50,520 इसलिए लिंडा, आप पहली बार के आसपास आ गए. 463 00:18:50,520 --> 00:18:53,820 >> अब हकीकत में यह सिर्फ एक सरणी है अगर हम सिर्फ वास्तविक समय में उसे स्थानांतरित कर सकता 464 00:18:53,820 --> 00:18:55,360 इस कुर्सी से इस जगह पर. 465 00:18:55,360 --> 00:18:57,770 तो कुछ निरंतर लिया है कि कल्पना चरणों की संख्या 1. 466 00:18:57,770 --> 00:18:58,480 और अब - 467 00:18:58,480 --> 00:19:01,490 लेकिन हम में तुम डाल करने की आवश्यकता यहां पहला स्थान. 468 00:19:01,490 --> 00:19:03,930 >> और अब आप के आसपास आ सकता है साथ ही, हम करने जा रहे हैं 469 00:19:03,930 --> 00:19:06,300 स्थान दो में हो. 470 00:19:06,300 --> 00:19:09,120 और यह इस तरह का मानना ​​है कि भले ही एक समय लग रहा है, अब अच्छा क्या है 471 00:19:09,120 --> 00:19:14,710 उस की बाईं आधा बाईं आधा अब हल है. 472 00:19:14,710 --> 00:19:18,010 हम तो अब, अगर अगला कदम क्या था कहानी में आगे उल्टा? 473 00:19:18,010 --> 00:19:18,980 >> दर्शक: सही आधा. 474 00:19:18,980 --> 00:19:19,900 >> डेविड मालन: ठीक आधे तरह. 475 00:19:19,900 --> 00:19:21,320 तो तुम लोग ऐसा करने के लिए, के रूप में अच्छी तरह से. 476 00:19:21,320 --> 00:19:23,510 आप खड़े हो सकते तो अगर बस एक पल के लिए? 477 00:19:23,510 --> 00:19:25,192 और तुम्हारा नाम क्या है? 478 00:19:25,192 --> 00:19:25,540 >> जेस: जेस. 479 00:19:25,540 --> 00:19:25,870 >> डेविड मालन: जेस. 480 00:19:25,870 --> 00:19:29,720 ठीक है, तो जेस अब छोड़ दिया है ठीक आधे का आधा. 481 00:19:29,720 --> 00:19:31,400 और इसलिए वह आकार 1 की एक सूची है. 482 00:19:31,400 --> 00:19:32,380 वह स्पष्ट रूप से हल है. 483 00:19:32,380 --> 00:19:33,070 और अपना नाम फिर से? 484 00:19:33,070 --> 00:19:33,630 >> MICHELLE: मिशेल. 485 00:19:33,630 --> 00:19:35,340 >> डेविड मालन: मिशेल जाहिर है 1 आकार की एक सूची. 486 00:19:35,340 --> 00:19:36,050 वह पहले से ही हल है. 487 00:19:36,050 --> 00:19:38,690 तो अब जादू होता है विलय की प्रक्रिया. 488 00:19:38,690 --> 00:19:39,790 तो जो पहले आ रहा है? 489 00:19:39,790 --> 00:19:41,560 जाहिर मिशेल. 490 00:19:41,560 --> 00:19:43,280 तो तुम चारों ओर वापस आ सकता है. 491 00:19:43,280 --> 00:19:47,090 हम उसके लिए अब उपलब्ध है अंतरिक्ष यहीं इस कुर्सी के पीछे है. 492 00:19:47,090 --> 00:19:51,580 और अब आप के रूप में अच्छी तरह से वापस आ सकता है, अब हम स्पष्ट होना, है, दो 493 00:19:51,580 --> 00:19:53,810 आधा आकार 2 से प्रत्येक - 494 00:19:53,810 --> 00:19:57,090 और सिर्फ चित्रण के लिए के लिए, आप अगर एक अंतरिक्ष का एक छोटा सा कर सकता है - 495 00:19:57,090 --> 00:19:59,780 यहां एक बाएं आधा, एक यहाँ सही आधा. 496 00:19:59,780 --> 00:20:01,160 >> कहानी में आगे उल्टा. 497 00:20:01,160 --> 00:20:02,270 क्या कदम अगले है? 498 00:20:02,270 --> 00:20:03,030 >> दर्शक: मर्ज. 499 00:20:03,030 --> 00:20:04,160 >> डेविड मालन: तो अब हम विलय किया है. 500 00:20:04,160 --> 00:20:07,490 तो ठीक है, तो अब, शुक्र है, हम सिर्फ चार कुर्सियों को मुक्त कर दिया. 501 00:20:07,490 --> 00:20:11,480 तो हम दो बार के रूप में ज्यादा मेमोरी प्रयुक्त की है, लेकिन हम दोनों के बीच फ्लिप flopping दे सकते हैं 502 00:20:11,480 --> 00:20:12,330 दो सरणियों. 503 00:20:12,330 --> 00:20:14,190 तो जो नंबर पहले आ रहा है? 504 00:20:14,190 --> 00:20:14,850 तो मिशेल, जाहिर है. 505 00:20:14,850 --> 00:20:16,680 तो चारों ओर आने और ले यहाँ अपनी सीट. 506 00:20:16,680 --> 00:20:19,120 और तब संख्या 2 जाहिर है अगला, तो आप यहां आते हैं. 507 00:20:19,120 --> 00:20:21,520 नंबर 4, 6 नंबर. 508 00:20:21,520 --> 00:20:23,390 और फिर, एक नहीं है, भले ही शामिल चलने का थोड़ा सा, 509 00:20:23,390 --> 00:20:26,010 वास्तव में, इन तुरंत हो सकता है, - एक चलती द्वारा 510 00:20:26,010 --> 00:20:26,880 ठीक है, अच्छी तरह से खेला. 511 00:20:26,880 --> 00:20:28,350 >> [हंसी] 512 00:20:28,350 --> 00:20:29,680 >> डेविड मालन: और अब हम कर रहे हैं बहुत अच्छी हालत में. 513 00:20:29,680 --> 00:20:34,910 पूरे के बाईं आधा इनपुट अब सुलझा लिया गया है. 514 00:20:34,910 --> 00:20:37,370 ठीक है, तो इन लोगों की थी मेरे का लाभ - 515 00:20:37,370 --> 00:20:40,340 कैसे इस पर सभी लड़कियों को खत्म किया बाएँ और दाएँ पर सभी लड़कों? 516 00:20:40,340 --> 00:20:42,450 >> ठीक है, अब लोग 'की बारी है. 517 00:20:42,450 --> 00:20:44,680 इसलिए मैं आप के माध्यम से चलना होगा इन चरणों. 518 00:20:44,680 --> 00:20:46,550 हम फिर से लागू कर सकते हैं, तो हम देखेंगे एक ही pseudocode. 519 00:20:46,550 --> 00:20:50,050 तुम आगे बढ़ो और खड़े होने के लिए चाहते हैं, और तुम लोग, मुझे आप mic देते हैं. 520 00:20:50,050 --> 00:20:52,990 आप क्या नकल नहीं कर सकते हैं देखें हम बस पर यहाँ था 521 00:20:52,990 --> 00:20:53,880 सूची के दूसरे छोर. 522 00:20:53,880 --> 00:20:59,530 जो पहली बात करने की जरूरत है, एल्गोरिथ्म पर आधारित है? 523 00:20:59,530 --> 00:21:03,210 तो इससे पहले कि आप क्या कर रहे हैं समझाने आप किसी भी पैर आंदोलनों. 524 00:21:03,210 --> 00:21:05,930 >> स्पीकर 1: सब ठीक है, ताकि बाद मैं छोड़ दिया आधा हूँ 525 00:21:05,930 --> 00:21:07,790 आधा छोड़ दिया, मैं वापसी. 526 00:21:07,790 --> 00:21:08,730 है ना? 527 00:21:08,730 --> 00:21:09,250 >> डेविड मालन: अच्छा. 528 00:21:09,250 --> 00:21:10,350 >> स्पीकर 1: और फिर - 529 00:21:10,350 --> 00:21:11,800 >> डेविड मालन: कौन करता है mic अगले करने के लिए जाना? 530 00:21:11,800 --> 00:21:12,920 >> स्पीकर 1: अगला नंबर. 531 00:21:12,920 --> 00:21:14,720 >> अध्यक्ष 2: तो मैं सही आधा हूँ के बाईं आधे के 532 00:21:14,720 --> 00:21:17,830 आधा छोड़ दिया है, और मैं वापसी. 533 00:21:17,830 --> 00:21:18,050 >> डेविड मालन: अच्छा. 534 00:21:18,050 --> 00:21:18,550 आप वापसी. 535 00:21:18,550 --> 00:21:21,855 तो अब तुम दोनों के लिए अगले क्या हो रहा है? 536 00:21:21,855 --> 00:21:23,740 >> अध्यक्ष 2: हम छोटे कौन देखना चाहते हैं. 537 00:21:23,740 --> 00:21:24,200 >> डेविड मालन: बिल्कुल. 538 00:21:24,200 --> 00:21:24,940 हम मर्ज करना चाहते हैं. 539 00:21:24,940 --> 00:21:27,590 हम विलय करने के लिए उपयोग करने के लिए जा रहे हैं अंतरिक्ष आप वे कर रहे हैं, भले ही में 540 00:21:27,590 --> 00:21:30,250 जाहिर है पहले से ही हल है, हम जा रहे हैं एक ही कलन विधि का पालन करें. 541 00:21:30,250 --> 00:21:31,560 तो जो पहले वापस में चला जाता है? 542 00:21:31,560 --> 00:21:35,720 तो 3, और फिर 7. 543 00:21:35,720 --> 00:21:38,570 और अब mic चला जाता है इन लोगों के लिए, ठीक है? 544 00:21:38,570 --> 00:21:43,590 >> स्पीकर 3: तो मैं के ठीक आधे हूँ आधा छोड़ दिया, और मेरी मी से कम है 545 00:21:43,590 --> 00:21:45,048 1, तो मैं सिर्फ पारित करने के लिए जा रहा हूँ - 546 00:21:45,048 --> 00:21:46,380 >> डेविड मालन: अच्छा. 547 00:21:46,380 --> 00:21:49,450 >> अध्यक्ष 4: मैं के ठीक आधे हूँ सही सही आधे का आधा है, और मैं कर रहा हूँ 548 00:21:49,450 --> 00:21:51,740 यह भी एक व्यक्ति है, तो मैं कर रहा हूँ वापस जाने के लिए जा रहा है. 549 00:21:51,740 --> 00:21:52,990 तो अब हम विलय. 550 00:21:52,990 --> 00:21:55,140 551 00:21:55,140 --> 00:21:56,150 >> स्पीकर 3: तो हम वापस जाओ. 552 00:21:56,150 --> 00:21:57,160 >> डेविड मालन: तो तुम वापस में चलते हैं. 553 00:21:57,160 --> 00:21:59,200 तो 5 से 8 तो, पहले चला जाता है. 554 00:21:59,200 --> 00:22:01,240 और अब दर्शकों को, जो कदम हम अब उल्टा करने के लिए 555 00:22:01,240 --> 00:22:02,200 वापस हमारे मन में करने के लिए? 556 00:22:02,200 --> 00:22:02,940 >> दर्शक: मर्ज. 557 00:22:02,940 --> 00:22:07,270 >> डेविड मालन: विलय बाईं आधा और सही मूल बाईं आधे का आधा. 558 00:22:07,270 --> 00:22:08,840 तो अब - 559 00:22:08,840 --> 00:22:10,520 और बस, यह स्पष्ट करने के लिए अंतरिक्ष का एक छोटा सा कर 560 00:22:10,520 --> 00:22:11,690 आप दो लोगों के बीच. 561 00:22:11,690 --> 00:22:13,800 तो अब है कि दो सूची है, बाएँ और दाएँ. 562 00:22:13,800 --> 00:22:18,320 तो कैसे हम अब में तुम लोगों को मर्ज करते हैं फिर सीटों की आगे की पंक्ति? 563 00:22:18,320 --> 00:22:19,600 >> 3 पहले चला जाता है. 564 00:22:19,600 --> 00:22:20,850 फिर 5, जाहिर है. 565 00:22:20,850 --> 00:22:23,110 566 00:22:23,110 --> 00:22:27,330 फिर 7, और अब 8. 567 00:22:27,330 --> 00:22:28,710 ठीक है, और अब हम कर रहे हैं? 568 00:22:28,710 --> 00:22:29,650 >> दर्शक: ऐसा नहीं किया. 569 00:22:29,650 --> 00:22:32,440 >> डेविड मालन: ऐसा नहीं किया, क्योंकि जाहिर है, शेष एक कदम नहीं है. 570 00:22:32,440 --> 00:22:35,720 लेकिन फिर, कारण है कि मैं इस का उपयोग कर रहा हूँ जैसे शब्दजाल ", अपने मन में उल्टा" 571 00:22:35,720 --> 00:22:37,160 कि क्योंकि यह सच है क्या हो रहा है. 572 00:22:37,160 --> 00:22:39,610 हम इन सभी चरणों के माध्यम से जा रहे हैं, लेकिन हम एक तरह से एक के लिए रोक रहे हैं 573 00:22:39,610 --> 00:22:42,480 में पल, डाइविंग गहरी एल्गोरिथ्म, एक पल के लिए रोक, 574 00:22:42,480 --> 00:22:45,840 एल्गोरिथ्म में गहरी डाइविंग, और अब हम की तरह में उल्टा करने के लिए हमारे 575 00:22:45,840 --> 00:22:49,430 मन और इन परतों के सभी पूर्ववत हम की तरह ठंडे बस्ते में डाल दिया है. 576 00:22:49,430 --> 00:22:51,790 >> तो अब हम आकार 4 की दो सूची है. 577 00:22:51,790 --> 00:22:54,790 तुम लोगों को एक आखिरी बार खड़े हो सकते हैं और यहाँ अंतरिक्ष का एक सा बना 578 00:22:54,790 --> 00:22:57,230 इस बाएं है कि स्पष्ट करना मूल का आधा, 579 00:22:57,230 --> 00:22:58,620 मूल के ठीक आधे. 580 00:22:58,620 --> 00:23:01,060 कि हम पहले नंबर कौन है पीठ में खींचने की जरूरत है? 581 00:23:01,060 --> 00:23:01,870 मिशेल, बिल्कुल. 582 00:23:01,870 --> 00:23:03,230 >> तो हम यहाँ मिशेल डाल दिया. 583 00:23:03,230 --> 00:23:05,080 और जो नंबर 2 है? 584 00:23:05,080 --> 00:23:06,440 नंबर 2 के रूप में अच्छी तरह से पीठ पर आता है. 585 00:23:06,440 --> 00:23:07,800 नंबर 3? 586 00:23:07,800 --> 00:23:08,510 बहुत बढ़िया. 587 00:23:08,510 --> 00:23:16,570 नंबर 4, संख्या 5, 6 नंबर, संख्या 7, और 8 नंबर. 588 00:23:16,570 --> 00:23:18,850 >> ठीक है, तो यह एक बहुत की तरह महसूस किया कदम से, सुनिश्चित करने के लिए. 589 00:23:18,850 --> 00:23:22,390 लेकिन अब हम इस बात की पुष्टि नहीं कर सकते, तो चलो देखते हैं एक तरह से intuitively कि इस 590 00:23:22,390 --> 00:23:26,190 एल्गोरिथ्म मौलिक, खासकर के रूप में हमने देखा है के रूप में एन, वास्तव में बड़ा हो जाता है 591 00:23:26,190 --> 00:23:29,170 एनिमेशन के साथ है, मूलरूप में तेजी. 592 00:23:29,170 --> 00:23:33,400 इसलिए मैं सबसे खराब में, इस एल्गोरिथ्म का दावा मामला और भी सबसे अच्छा मामले में, 593 00:23:33,400 --> 00:23:36,160 एन बार का बिग हे लॉग एन रहा है. 594 00:23:36,160 --> 00:23:39,160 यानी, इस के कुछ पहलू है n कदम उठा लेता है, लेकिन है कि एल्गोरिथ्म 595 00:23:39,160 --> 00:23:43,110 एक और पहलू में कहीं नहीं है कि चलना, कि पाशन, कि 596 00:23:43,110 --> 00:23:44,410 लॉग n कदम उठा लेता है. 597 00:23:44,410 --> 00:23:49,154 हम क्या उन पर हमारे उंगली रख सकते हैं दो नंबर की बात कर रहे हैं? 598 00:23:49,154 --> 00:23:51,320 खैर, जहां - 599 00:23:51,320 --> 00:23:54,160 mic कहाँ जाना होगा? 600 00:23:54,160 --> 00:23:58,660 >> स्पीकर 1: लॉग n होगा दो में हमें तोड़ने - 601 00:23:58,660 --> 00:23:59,630 अनिवार्य रूप से, दो से विभाजित. 602 00:23:59,630 --> 00:24:00,120 >> डेविड मालन: बिल्कुल. 603 00:24:00,120 --> 00:24:03,000 हम इस प्रकार किसी भी एल्गोरिथ्म में देख किसी भी समय अब तक, इस पद्धति का हो गया है 604 00:24:03,000 --> 00:24:04,200 , विभाजित विभाजित विभाजित. 605 00:24:04,200 --> 00:24:05,700 और यह आमतौर पर कम है है कि कुछ करने के लिए 606 00:24:05,700 --> 00:24:07,100 लघुगणक, 2 आधार लॉग ऑन करें. 607 00:24:07,100 --> 00:24:10,180 लेकिन यह वास्तव में कुछ भी हो सकता है, लेकिन 2 आधार लॉग ऑन करें. 608 00:24:10,180 --> 00:24:11,330 >> अब क्या पता के बारे में? 609 00:24:11,330 --> 00:24:14,550 मुझे लगता है हम एक तरह से आप विभाजित देख सकते हैं कि लड़के - आप, आप विभाजित विभाजित, 610 00:24:14,550 --> 00:24:15,910 , आप विभाजित आप विभाजित. 611 00:24:15,910 --> 00:24:18,760 अंत कहाँ से आया है? 612 00:24:18,760 --> 00:24:19,810 >> इसलिए यह विलय है. 613 00:24:19,810 --> 00:24:20,610 इसके बारे में सोचते हैं. 614 00:24:20,610 --> 00:24:25,420 आप एक साथ आठ लोगों को मर्ज करते हैं, उनमें से आधे से चार का एक सेट कर रहे हैं जिससे 615 00:24:25,420 --> 00:24:27,770 और दूसरे आधे एक और कर रहे हैं चार के सेट, कैसे तुम जाते हो 616 00:24:27,770 --> 00:24:28,820 विलय करने के बारे में? 617 00:24:28,820 --> 00:24:30,830 खैर, तुम लोगों को यह किया काफी intuitively. 618 00:24:30,830 --> 00:24:34,140 >> लेकिन मैं बजाय यह एक छोटे से अधिक किया है विधिपूर्वक, मैं पर बताया कि हो सकता है 619 00:24:34,140 --> 00:24:38,090 मेरे बाएँ से पहले बाएँ तरफ के व्यक्ति हाथ, बाएँ तरफ के व्यक्ति पर बताया 620 00:24:38,090 --> 00:24:42,080 कि मेरे दाहिने हाथ के साथ आधा, और की सिर्फ बाद में के माध्यम से चला गया 621 00:24:42,080 --> 00:24:46,990 सूची, छोटी तत्व तरफ इशारा करते हुए हर बार, पर मेरी उंगली चलती है और 622 00:24:46,990 --> 00:24:48,970 के रूप में सूची में जरूरत से अधिक. 623 00:24:48,970 --> 00:24:51,890 लेकिन क्या इस विलय के बारे में महत्वपूर्ण है प्रक्रिया मैं इन जोड़ों तुलना कर रहा हूँ है 624 00:24:51,890 --> 00:24:53,460 तत्वों की. 625 00:24:53,460 --> 00:24:57,270 ठीक आधे से और बाएं से आधा, मैं एक बार पीछे हट कभी नहीं रहा हूँ. 626 00:24:57,270 --> 00:25:00,570 >> तो मर्ज ही ले जा रहा है कोई और अधिक n से कदम. 627 00:25:00,570 --> 00:25:03,250 और कितनी बार मैंने किया था कि विलय करना है? 628 00:25:03,250 --> 00:25:07,150 अभी हम अच्छी तरह से नहीं n से अधिक, और अंतिम मर्ज के साथ देखा. 629 00:25:07,150 --> 00:25:13,120 आप कुछ करते हैं और इसलिए लेता है कि n चरणों एन बार, या इसके विपरीत, लॉग 630 00:25:13,120 --> 00:25:15,210 यह हमें देने के लिए जा रहा है एन बार लॉग एन. 631 00:25:15,210 --> 00:25:16,310 >> और क्यों यह बेहतर है? 632 00:25:16,310 --> 00:25:19,600 खैर, हम पहले से ही है कि प्रवेश पता है अगर एन की तुलना में बेहतर है - ठीक है? 633 00:25:19,600 --> 00:25:22,590 हम फोन की किताब, द्विआधारी खोज में देखा उदाहरण के लिए, लॉग n निश्चित रूप से किया गया था 634 00:25:22,590 --> 00:25:23,760 रैखिक की तुलना में बेहतर है. 635 00:25:23,760 --> 00:25:28,420 इसलिए कि एन बार पता है लॉग इन करने का मतलब एन बार की तुलना में निश्चित रूप से बेहतर अन्य 636 00:25:28,420 --> 00:25:30,390 एन, उर्फ ​​एन चुकता. 637 00:25:30,390 --> 00:25:32,400 और कहा कि हम अंततः महसूस कर रहा है. 638 00:25:32,400 --> 00:25:34,928 >> इतनी बड़ी प्रशंसा का दौर, अगर हम इन लोगों के लिए, कर सकते थे. 639 00:25:34,928 --> 00:25:38,920 >> [वाहवाही] 640 00:25:38,920 --> 00:25:41,550 >> डेविड मालन: और अपने बिदाई उपहार - आप संख्या रख सकते हैं, 641 00:25:41,550 --> 00:25:44,010 अगर आप चाहते हैं. 642 00:25:44,010 --> 00:25:45,620 और अपने बिदाई उपहार, हमेशा की तरह. 643 00:25:45,620 --> 00:25:47,290 ओह, और हम आपको भेज देंगे फुटेज, मिशेल. 644 00:25:47,290 --> 00:25:48,343 धन्यवाद. 645 00:25:48,343 --> 00:25:49,250 ठीक है. 646 00:25:49,250 --> 00:25:50,400 एक तनाव गेंद को अपने आप को मदद. 647 00:25:50,400 --> 00:25:54,110 >> और मुझे बीच में, ऊपर खींच देना, पेशकश करने के लिए हमारे दोस्त रोब बोडेन 648 00:25:54,110 --> 00:25:59,520 इस पर कुछ अलग परिप्रेक्ष्य, आप इन के बारे में सोच सकते हैं के बाद से 649 00:25:59,520 --> 00:26:01,280 एक हद तक में हो रहा कदम अलग तरह से. 650 00:26:01,280 --> 00:26:04,750 वास्तव में, क्या रोब है के बारे में के लिए सेट अप हमें दिखाने के लिए हम है कि मानता है 651 00:26:04,750 --> 00:26:09,030 पहले से ही की डिवाइडिंग किया आठ छोटे सूचियों में बड़ी कंपनियों की सूची, 652 00:26:09,030 --> 00:26:10,570 आकार 1 में से प्रत्येक. 653 00:26:10,570 --> 00:26:13,350 >> इसलिए हम pseudocode एक बदल रहे हैं बस की तरह पर पाने के लिए थोड़ा सा 654 00:26:13,350 --> 00:26:15,320 विलय कैसे काम करता है के मूल विचार है. 655 00:26:15,320 --> 00:26:17,600 लेकिन समय चल रहा है क्या वह क्या करने के बारे में अभी भी है 656 00:26:17,600 --> 00:26:19,110 एक ही होने जा रहा. 657 00:26:19,110 --> 00:26:23,540 और फिर, यहाँ सेट अप है कि वह है आकार 1 के आठ सूचियों के साथ शुरू हो गया. 658 00:26:23,540 --> 00:26:27,730 तो आप वह हिस्सा है जहां बहुत याद किया वास्तव में लॉग n किया, लॉग एन लॉग एन 659 00:26:27,730 --> 00:26:31,205 इनपुट की डिवाइडिंग. 660 00:26:31,205 --> 00:26:32,120 >> [वीडियो प्लेबैक] 661 00:26:32,120 --> 00:26:33,615 >> -वह एक कदम के लिए है. 662 00:26:33,615 --> 00:26:38,270 बार बार कदम दो, के लिए सूचियों के जोड़े विलय. 663 00:26:38,270 --> 00:26:39,210 >> डेविड मालन: हम्म. 664 00:26:39,210 --> 00:26:41,270 केवल ऑडियो आ रहा है अपने कंप्यूटर के बाहर. 665 00:26:41,270 --> 00:26:42,520 चलो फिर से इस कोशिश करते हैं. 666 00:26:42,520 --> 00:26:45,330 667 00:26:45,330 --> 00:26:48,310 >> बस मनमाने ढंग से जो उठा - अब हम चार सूची है. 668 00:26:48,310 --> 00:26:51,590 669 00:26:51,590 --> 00:26:52,120 पहले जानें. 670 00:26:52,120 --> 00:26:53,040 >> डेविड मालन: हम वहाँ जाते हैं. 671 00:26:53,040 --> 00:27:00,510 >> -विलय 108 और 15, हम अंत सूची में 15, 108 के साथ. 672 00:27:00,510 --> 00:27:07,170 50 और 4 विलय, हम 4, 50 के साथ खत्म होता है. 673 00:27:07,170 --> 00:27:12,990 विलय 8 और 42, हम 8, 42 के साथ खत्म होता है. 674 00:27:12,990 --> 00:27:19,970 और 23 और 16 के विलय, हम 16, 23 के साथ खत्म होता है. 675 00:27:19,970 --> 00:27:23,270 >> अब हमारे सभी सूचियों आकार 2 के हैं. 676 00:27:23,270 --> 00:27:26,690 सूचना है कि के प्रत्येक चार सूचियों हल है. 677 00:27:26,690 --> 00:27:29,450 तो हम विलय शुरू कर सकते हैं फिर सूचियों के जोड़े. 678 00:27:29,450 --> 00:27:38,420 , 15 और 108 और 4 और 50 विलय हम पहले तो, 4, तो 15 ले 679 00:27:38,420 --> 00:27:41,500 50, फिर 108. 680 00:27:41,500 --> 00:27:50,610 8, 42 और 16, 23 मर्ज करना, हम पहले ले 8, फिर 16, फिर 23, 681 00:27:50,610 --> 00:27:52,700 फिर 42. 682 00:27:52,700 --> 00:27:57,600 >> तो अब हम आकार की सिर्फ दो सूची है 4, जिनमें से प्रत्येक का हल है. 683 00:27:57,600 --> 00:28:01,170 तो अब हम इन दो सूचियों विलय. 684 00:28:01,170 --> 00:28:11,835 सबसे पहले, हम 4 लेते हैं, तो हम ले 8, तो हम तो, फिर 15, 16 ले 685 00:28:11,835 --> 00:28:19,456 23, फिर 42, फिर 50, फिर 108. 686 00:28:19,456 --> 00:28:19,872 >> [अंत वीडियो प्लेबैक] 687 00:28:19,872 --> 00:28:23,430 >> डेविड मालन: एक बार फिर, नोटिस, वह कभी नहीं किसी दिए कप एक से अधिक बार छुआ 688 00:28:23,430 --> 00:28:24,860 यह परे आगे बढ़ाने के बाद. 689 00:28:24,860 --> 00:28:26,200 तो वह दोहरा कभी नहीं रहा है. 690 00:28:26,200 --> 00:28:29,850 इसलिए वह हमेशा पक्ष के लिए आगे बढ़ रहा है हम हमारे n मिल गया और है कि जहां. 691 00:28:29,850 --> 00:28:33,290 >> क्यों मुझे एक एनीमेशन ऊपर खींच देना नहीं हमने पहले देखा था, लेकिन यह है कि इस समय 692 00:28:33,290 --> 00:28:35,110 मर्ज प्रकार पर ही केंद्रित थी. 693 00:28:35,110 --> 00:28:38,030 मुझे आगे जाना है और ज़ूम इस यहाँ पर में. 694 00:28:38,030 --> 00:28:42,530 पहले मुझे एक यादृच्छिक इनपुट का चयन करते हैं, इस आवर्धन, और आप की तरह देख सकते हैं 695 00:28:42,530 --> 00:28:46,600 प्रदान के लिए हम क्या ले लिया, इससे पहले, सॉर्ट वास्तव में क्या कर रही है विलय. 696 00:28:46,600 --> 00:28:50,330 >> तो आप इन हिस्सों हो या कि नोटिस इन तिमाहियों या इन eighths 697 00:28:50,330 --> 00:28:53,140 समस्या यह है कि अचानक अच्छा आकार लेना शुरू करते हैं. 698 00:28:53,140 --> 00:28:57,070 और फिर अंत में, तुम पर देख बहुत कि बेम अंत, 699 00:28:57,070 --> 00:28:58,860 सब कुछ एक साथ मिला दिया गया है. 700 00:28:58,860 --> 00:29:01,690 >> तो ये सिर्फ तीन अलग हैं एक ही विचार पर ले जाता है. 701 00:29:01,690 --> 00:29:05,980 लेकिन महत्वपूर्ण अंतर्दृष्टि, बस डिवाइड पसंद और बहुत पहले वर्ग में जीत, 702 00:29:05,980 --> 00:29:10,640 हम किसी भी तरह विभाजित करने का निर्णय लिया गया था कि कुछ बड़ा, में में समस्या 703 00:29:10,640 --> 00:29:14,760 भावना में की तरह समान कुछ, लेकिन छोटे और छोटे और छोटे 704 00:29:14,760 --> 00:29:15,660 और छोटे. 705 00:29:15,660 --> 00:29:18,420 >> एक तरह से सोचने के लिए अब एक और मजेदार तरीका इन के बारे में, भले ही यह नहीं है 706 00:29:18,420 --> 00:29:20,520 आप एक ही सहज देने जा रहा समझ है, 707 00:29:20,520 --> 00:29:21,640 निम्नलिखित एनीमेशन. 708 00:29:21,640 --> 00:29:25,400 तो यह एक वीडियो किसी को एक साथ रखा है विभिन्न कि एसोसिएटेड 709 00:29:25,400 --> 00:29:29,970 के लिए विभिन्न कार्यों के साथ लगता है सम्मिलन सॉर्ट मर्ज प्रकार के लिए, और 710 00:29:29,970 --> 00:29:31,150 दूसरों के एक जोड़े के लिए. 711 00:29:31,150 --> 00:29:32,330 तो एक पल में, मैं खेलने के हिट करने के लिए जा रहा हूँ. 712 00:29:32,330 --> 00:29:33,600 यह लंबे समय से एक मिनट के बारे में है. 713 00:29:33,600 --> 00:29:37,410 और तुम अब भी देख सकते हैं, भले ही पैटर्न हो रहा है, आप कर सकते हैं इस समय 714 00:29:37,410 --> 00:29:41,420 भी इन एल्गोरिदम हैं कैसे सुना अलग तरह से और के साथ प्रदर्शन 715 00:29:41,420 --> 00:29:43,950 कुछ अलग पैटर्न. 716 00:29:43,950 --> 00:29:45,830 >> इस प्रविष्टि प्रकार का होता है. 717 00:29:45,830 --> 00:29:50,400 >> [टन खेलने] 718 00:29:50,400 --> 00:29:52,400 >> डेविड मालन: यह फिर से कोशिश कर रहा है प्रत्येक तत्व सम्मिलित करने के लिए 719 00:29:52,400 --> 00:29:52,900 जहां यह है में. 720 00:29:52,900 --> 00:29:54,628 यह बुलबुला तरह है. 721 00:29:54,628 --> 00:30:10,097 >> [टन खेलने] 722 00:30:10,097 --> 00:30:13,630 >> डेविड मालन: और आप की तरह महसूस कर सकते हैं यह कर रही है कि कैसे अपेक्षाकृत छोटे काम 723 00:30:13,630 --> 00:30:15,834 हर कदम पर. 724 00:30:15,834 --> 00:30:20,470 इस उकताहट कैसा लगता है. 725 00:30:20,470 --> 00:30:21,472 >> [टन खेलने] 726 00:30:21,472 --> 00:30:25,222 >> डेविड मालन: यह चयन प्रकार है हम तत्व का चयन करें जहां हम से चाहते हैं 727 00:30:25,222 --> 00:30:28,845 फिर और फिर और फिर से गुजर रही और शुरुआत में इसे लगाने. 728 00:30:28,845 --> 00:30:37,674 >> [टन खेलने] 729 00:30:37,674 --> 00:30:43,970 >> डेविड मालन: यह है, की तरह मर्ज है जो आप वास्तव में महसूस करना शुरू कर सकते हैं. 730 00:30:43,970 --> 00:30:51,810 >> [टन खेलने] 731 00:30:51,810 --> 00:30:54,770 >> [हंसी] 732 00:30:54,770 --> 00:30:58,395 >> डेविड मालन: कुछ कहा सूक्ति हम पर गौर नहीं किया है जो प्रकार,. 733 00:30:58,395 --> 00:31:13,630 >> [टन खेलने] 734 00:31:13,630 --> 00:31:17,910 >> डेविड मालन: तो मुझे देखते हैं, अब, उम्मीद है आप से कर रहे हैं के रूप में विचलित 735 00:31:17,910 --> 00:31:21,110 संगीत, मैं एक छोटी सी पर्ची कर सकते हैं यहां गणित की सा. 736 00:31:21,110 --> 00:31:24,850 तो हम कर सकते हैं कि एक चौथा रास्ता नहीं है यह इन का मतलब क्या है के बारे में सोचना 737 00:31:24,850 --> 00:31:29,210 कार्यों लोगों की तुलना में तेजी से हो हम पहले देखा है कि. 738 00:31:29,210 --> 00:31:32,470 और तुम से पाठ्यक्रम में आ रहे हैं एक गणित पृष्ठभूमि, आप 739 00:31:32,470 --> 00:31:36,030 वास्तव में पहले से ही शायद जानते हैं आप कि इस तकनीक पर एक शब्द थप्पड़ कर सकते हैं - 740 00:31:36,030 --> 00:31:40,400 अर्थात् प्रत्यावर्तन, एक समारोह कि किसी तरह खुद को कहता है. 741 00:31:40,400 --> 00:31:44,780 >> और फिर, याद सॉर्ट मर्ज कि pseudocode अर्थ में पुनरावर्ती था 742 00:31:44,780 --> 00:31:48,460 उस मर्ज तरह है कदमों में से एक सॉर्ट कॉल करने के लिए गया था - 743 00:31:48,460 --> 00:31:49,740 कि, खुद है. 744 00:31:49,740 --> 00:31:52,480 लेकिन शुक्र है, हम कर रखा है क्योंकि , की तरह बुला, या ऐसा मर्ज 745 00:31:52,480 --> 00:31:55,880 विशेष रूप से, एक और छोटे छोटे पर और छोटी सूची, हम अंततः 746 00:31:55,880 --> 00:32:00,005 हम फोन करता हूँ क्या करने के लिए धन्यवाद बाहर तली एक आधार के मामले, हार्ड कोडित मामले कि 747 00:32:00,005 --> 00:32:04,270 सूची छोटा है, ने कहा कि अगर कम से कम 2 उस मामले में, बस आती हूँ. 748 00:32:04,270 --> 00:32:07,550 हम चाहते हैं कि विशेष मामला नहीं था, एल्गोरिथ्म, बाहर नीचे कभी नहीं होगा 749 00:32:07,550 --> 00:32:11,010 और आप वास्तव में एक में मिल जाएगा वास्तव में हमेशा के लिए अनंत लूप. 750 00:32:11,010 --> 00:32:14,330 >> लेकिन अब हम करना चाहते थे कि लगता है यह, फिर से, का उपयोग n पर कुछ संख्या 751 00:32:14,330 --> 00:32:15,660 इनपुट के आकार के रूप में. 752 00:32:15,660 --> 00:32:18,680 और मैं क्या है, आप से पूछना चाहता था में शामिल कुल समय 753 00:32:18,680 --> 00:32:19,800 सॉर्ट मर्ज चल रहा है? 754 00:32:19,800 --> 00:32:22,960 या अधिक आम तौर पर, क्या है समय में यह की कीमत क्या है? 755 00:32:22,960 --> 00:32:24,730 >> वैसे यह है कि मापने के लिए बहुत आसान है. 756 00:32:24,730 --> 00:32:29,010 N कम से कम 2 है, तो समय शामिल n तत्वों छँटाई में, 757 00:32:29,010 --> 00:32:30,480 2 n है जहां, 0 है. 758 00:32:30,480 --> 00:32:31,410 हम बस वापस जाने की वजह से. 759 00:32:31,410 --> 00:32:32,510 कुछ किया जाना कोई काम नहीं है. 760 00:32:32,510 --> 00:32:35,660 अब यकीनन, शायद यह एक या दो कदम है राशि के लिए बाहर निकालने के लिए कदम 761 00:32:35,660 --> 00:32:38,420 काम, लेकिन यह 0 से काफी करीब है कि मैं अभी कोई काम नहीं है कहने जा रहा हूँ 762 00:32:38,420 --> 00:32:40,940 सूची इतना छोटा है तो आवश्यक शुष्क हो लिए. 763 00:32:40,940 --> 00:32:42,580 >> लेकिन इस मामले में दिलचस्प है. 764 00:32:42,580 --> 00:32:47,320 पुनरावर्ती मामले की शाखा थी किसी और ने कहा कि pseudocode है, की तरह 765 00:32:47,320 --> 00:32:52,000 बाईं आधा, सही तरह आधा, दो हिस्सों विलय. 766 00:32:52,000 --> 00:32:55,530 अब क्यों इस अभिव्यक्ति करता है उस खर्च का प्रतिनिधित्व करते हैं? 767 00:32:55,530 --> 00:32:58,690 खैर, एन टी बस का मतलब n तत्वों सॉर्ट करने के लिए समय है. 768 00:32:58,690 --> 00:33:03,070 और फिर दाहिने बाजू पर वहाँ पर हस्ताक्षर बराबरी, एन टी विभाजित 769 00:33:03,070 --> 00:33:06,600 2 से क्या की लागत की बात कर रहा है? 770 00:33:06,600 --> 00:33:07,570 बाईं आधा छँटाई. 771 00:33:07,570 --> 00:33:10,990 2 से विभाजित n के अन्य T है संभवतः के लिए लागत की चर्चा करते हुए 772 00:33:10,990 --> 00:33:12,390 ठीक आधे सॉर्ट. 773 00:33:12,390 --> 00:33:14,590 >> और फिर प्लस n? 774 00:33:14,590 --> 00:33:15,420 विलय है. 775 00:33:15,420 --> 00:33:19,120 क्योंकि आप दो सूचियों में से एक है अगर आकार पर 2 n और आकार n का एक और 776 00:33:19,120 --> 00:33:22,580 2 पर, आप अनिवार्य रूप से स्पर्श करने के लिए है उन तत्वों में से प्रत्येक के लिए, बस रोब पसंद 777 00:33:22,580 --> 00:33:24,990 कप में से प्रत्येक को छुआ, और बस हम में से प्रत्येक में बताया 778 00:33:24,990 --> 00:33:26,310 मंच पर स्वयंसेवकों. 779 00:33:26,310 --> 00:33:28,790 तो पता विलय की कीमत है. 780 00:33:28,790 --> 00:33:31,780 >> अब दुर्भाग्य से, इस सूत्र खुद पुनरावर्ती भी है. 781 00:33:31,780 --> 00:33:36,390 तो सवाल पूछा, तो पता कहते हैं, अगर, 16, मंच पर 16 लोग अगर वहाँ 782 00:33:36,390 --> 00:33:40,670 या वीडियो में 16 कप, कितने कुल कदम यह उन्हें तरह लेते हैं 783 00:33:40,670 --> 00:33:41,550 मर्ज प्रकार के साथ? 784 00:33:41,550 --> 00:33:45,790 यह वास्तव में एक स्पष्ट जवाब नहीं है, अब आप की तरह है क्योंकि 785 00:33:45,790 --> 00:33:48,500 बारी बारी से इस सूत्र का जवाब. 786 00:33:48,500 --> 00:33:51,190 >> मुझे का प्रस्ताव करते हैं लेकिन क्योंकि यह ठीक है, हम निम्नलिखित कर सकते हैं. 787 00:33:51,190 --> 00:33:56,670 16 लोगों या ऐसा करने के लिए शामिल समय 16 कप प्रतिनिधित्व किया जा रहा है 788 00:33:56,670 --> 00:33:58,020 आम तौर पर 16 से टी के रूप में. 789 00:33:58,020 --> 00:34:01,400 लेकिन उस के अनुसार, के बराबर होती है हमारी पिछले सूत्र, 2 गुना राशि 790 00:34:01,400 --> 00:34:04,780 समय की यह सॉर्ट करने के लिए ले जाता है 8 कप प्लस 16. 791 00:34:04,780 --> 00:34:08,590 और फिर, प्लस 16 मर्ज करने के लिए समय है, और 8 की दो बार टी है 792 00:34:08,590 --> 00:34:10,790 बाईं आधा और सही आधा सॉर्ट करने के लिए समय है. 793 00:34:10,790 --> 00:34:11,989 >> लेकिन फिर, यह पर्याप्त नहीं है. 794 00:34:11,989 --> 00:34:13,210 हम गहरे में गोता लगाने के लिए है. 795 00:34:13,210 --> 00:34:16,409 यह हम जवाब देने के लिए किया है इसका मतलब सवाल, 8 की टी क्या है? 796 00:34:16,409 --> 00:34:19,610 खैर 8 टी सिर्फ 2 है 4 प्लस 8 बार टी. 797 00:34:19,610 --> 00:34:20,520 खैर, 4 की टी क्या है? 798 00:34:20,520 --> 00:34:23,780 4 में से 2 टी प्लस 4 की सिर्फ 2 बार टी है. 799 00:34:23,780 --> 00:34:25,489 खैर, 2 टी क्या है? 800 00:34:25,489 --> 00:34:29,030 2 की 1 टी प्लस 2 की सिर्फ 2 बार टी है. 801 00:34:29,030 --> 00:34:31,940 >> और फिर, हम किस तरह की हो रही है इस चक्र में फँस गया. 802 00:34:31,940 --> 00:34:34,790 लेकिन यह है कि हिट करने के बारे में है आधार के मामले तथाकथित. 803 00:34:34,790 --> 00:34:37,310 1 टी क्या है, हम यह दावा किया? 804 00:34:37,310 --> 00:34:37,810 0. 805 00:34:37,810 --> 00:34:39,730 तो अब अंत में, हम पीछे की ओर काम कर सकते हैं. 806 00:34:39,730 --> 00:34:44,290 >> 1 टी 0 है, तो मैं अब एक को वापस जा सकते हैं यहाँ इस आदमी को लाइन, और मैं कर सकता हूँ 807 00:34:44,290 --> 00:34:46,330 1 के टी के लिए 0 में प्लग. 808 00:34:46,330 --> 00:34:51,770 ताकि, यह 2 बार शून्य के बराबर होती है इसका मतलब अन्यथा 0, प्लस 2 के रूप में जाना जाता है. 809 00:34:51,770 --> 00:34:53,739 और इतना है कि पूरे अभिव्यक्ति 2 है. 810 00:34:53,739 --> 00:34:58,740 >> अब मैं जिसका जवाब 2 का टी, ले 2, मध्य पंक्ति में प्लग है, टी 811 00:34:58,740 --> 00:35:02,740 4 की, कि मुझे 2 बार देता है 2 प्लस 4, इसलिए 8. 812 00:35:02,740 --> 00:35:07,080 मैं तो पिछले करने के लिए 8 में प्लग रेखा, कि मुझे 2 गुना 8, 16 देता है. 813 00:35:07,080 --> 00:35:12,470 और हम तो साथ कि जारी है 24, 16 में उनका कहना है, हम अंत में मिलता है एक 814 00:35:12,470 --> 00:35:13,820 64 की मूल्य. 815 00:35:13,820 --> 00:35:18,480 >> अब है कि तरह की बात करते हैं और खुद की n अंकन करने के लिए कुछ भी नहीं है, 816 00:35:18,480 --> 00:35:20,700 बड़ी हे, हम है कि ओमेगा के बारे में बात कर रहे हैं. 817 00:35:20,700 --> 00:35:24,890 लेकिन यह 64 वास्तव में पता चला है कि 16, इनपुट के आकार, 818 00:35:24,890 --> 00:35:27,110 16 में से 2 आधार लॉग ऑन करें. 819 00:35:27,110 --> 00:35:30,200 और यह सिर्फ एक छोटे से अपरिचित है अगर वापस लगता है, और यह वापस आ गया हूँ 820 00:35:30,200 --> 00:35:30,700 आप के लिए अंततः. 821 00:35:30,700 --> 00:35:33,775 इस प्रवेश 2 आधार है, तो यह 2 की तरह है क्या आप 16 देता करने के लिए उठाया? 822 00:35:33,775 --> 00:35:36,380 ओह, यह 4 है, तो यह 16 गुना 4 है. 823 00:35:36,380 --> 00:35:39,380 >> और फिर, यह एक बड़ा सौदा नहीं है यह अगर तरह का एक धुंधला स्मृति अब है. 824 00:35:39,380 --> 00:35:43,720 लेकिन अब के लिए, विश्वास पर लेना 16 प्रवेश 16 से 64 है. 825 00:35:43,720 --> 00:35:46,590 और तो वास्तव में, यह साधारण विवेक के साथ जाँच, हम पुष्टि की है - 826 00:35:46,590 --> 00:35:48,250 लेकिन औपचारिक रूप से साबित नहीं - 827 00:35:48,250 --> 00:35:52,800 उस मर्ज का समय चल रहा है सॉर्ट n लॉग एन वास्तव में है. 828 00:35:52,800 --> 00:35:53,790 >> इतना बुरा नहीं. 829 00:35:53,790 --> 00:35:57,260 यह निश्चित रूप से बेहतर है एल्गोरिदम हम इस प्रकार अब तक देखा है, और 830 00:35:57,260 --> 00:36:00,710 हम एक leveraged है, क्योंकि यह है प्रत्यावर्तन नामक तकनीक. 831 00:36:00,710 --> 00:36:03,880 लेकिन उस से अधिक दिलचस्प है कि, विभाजन और विजय की धारणा. 832 00:36:03,880 --> 00:36:07,460 फिर, सही मायने में सप्ताह 0 से सामान यहां तक ​​कि अब एक में आवर्ती है 833 00:36:07,460 --> 00:36:08,740 अधिक प्रभावशाली तरीके से. 834 00:36:08,740 --> 00:36:11,750 >> अब एक मजाक सा व्यायाम, आपने अगर यह कभी नहीं किया - और आप शायद 835 00:36:11,750 --> 00:36:14,660 , नहीं होता क्योंकि सामान्य की तरह लोगों को ऐसा करने के लिए नहीं लगता है. 836 00:36:14,660 --> 00:36:20,650 लेकिन मैं google.com पर और अगर जाना है मैं इस बारे में कुछ सीखना चाहते हैं 837 00:36:20,650 --> 00:36:22,356 प्रत्यावर्तन, लिखें. 838 00:36:22,356 --> 00:36:25,106 839 00:36:25,106 --> 00:36:29,058 >> [हंसी] 840 00:36:29,058 --> 00:36:32,030 [अधिक हँसी] 841 00:36:32,030 --> 00:36:33,385 डेविड मालन: बुरा मजाक धीरे धीरे फैल गया. 842 00:36:33,385 --> 00:36:34,450 [हंसी] 843 00:36:34,450 --> 00:36:36,970 डेविड मालन: बस के मामले में, यह वहाँ है. 844 00:36:36,970 --> 00:36:38,710 मैं इसे गलत जादू नहीं था और मजाक नहीं है. 845 00:36:38,710 --> 00:36:40,810 ठीक है. 846 00:36:40,810 --> 00:36:42,950 आप के बगल में लोगों को यह समझा यह काफी बस अभी तक क्लिक नहीं किया है. 847 00:36:42,950 --> 00:36:47,650 लेकिन प्रत्यावर्तन, अधिक आम तौर पर, संदर्भित करता है एक समारोह बुला की प्रक्रिया को 848 00:36:47,650 --> 00:36:51,430 ही है, या अधिक आम तौर पर, एक विभाजित हो सकता है कि कुछ में समस्या 849 00:36:51,430 --> 00:36:56,220 समान हल करके टुकड़ों हल प्रतिनिधि समस्याओं. 850 00:36:56,220 --> 00:36:58,400 >> ठीक है, चलो गियर बदलते हैं बस एक पल के लिए. 851 00:36:58,400 --> 00:37:00,840 हम निश्चित cliffhangers पर समाप्त करना, तो चलो स्थापित करने के लिए शुरू करते हैं 852 00:37:00,840 --> 00:37:05,870 चरण, कई मिनट के लिए, एक बहुत ही सरल विचार पर - 853 00:37:05,870 --> 00:37:07,620 दो तत्वों, सही गमागमन की है कि? 854 00:37:07,620 --> 00:37:10,040 इन एल्गोरिदम के सभी हम किया गया है पिछले कुछ के बारे में बात कर 855 00:37:10,040 --> 00:37:12,420 व्याख्यान कुछ शामिल की तरह गमागमन. 856 00:37:12,420 --> 00:37:14,630 आज यह उन्हें मिल रहा द्वारा कल्पना की गई थी अपनी कुर्सियों से बाहर और 857 00:37:14,630 --> 00:37:18,570 चारों ओर घूमना, लेकिन कोड में, हम करेंगे सिर्फ एक सरणी से एक तत्व ले 858 00:37:18,570 --> 00:37:20,370 और दूसरे में यह खटखटाने. 859 00:37:20,370 --> 00:37:21,880 >> तो कैसे हम यह करने के बारे में जाना है? 860 00:37:21,880 --> 00:37:24,850 खैर, मुझे आगे जाना है और लिखने यहाँ एक त्वरित कार्यक्रम. 861 00:37:24,850 --> 00:37:31,600 मुझे आगे जाना है और क्या करने जा रहा हूँ इस निम्नलिखित के रूप में. 862 00:37:31,600 --> 00:37:33,910 चलो यह कहते हैं - 863 00:37:33,910 --> 00:37:38,070 क्या हम इस एक नाम देना चाहते हैं? 864 00:37:38,070 --> 00:37:38,650 >> दरअसल, नहीं. 865 00:37:38,650 --> 00:37:39,420 मुझे उल्टा करते हैं. 866 00:37:39,420 --> 00:37:41,220 मैं ऐसा नहीं करना चाहता हूँ कि अभी तक cliffhanger. 867 00:37:41,220 --> 00:37:42,270 यह मजा खराब होगा. 868 00:37:42,270 --> 00:37:43,600 के बजाय यह करते हैं. 869 00:37:43,600 --> 00:37:47,430 >> मैं एक छोटे से लिखना चाहते हैं कि मान लीजिए कार्यक्रम और कहा कि अब यह गले लगाती 870 00:37:47,430 --> 00:37:48,700 प्रत्यावर्तन का विचार है. 871 00:37:48,700 --> 00:37:50,370 मैं एक तरह से वहाँ खुद से आगे हो गया. 872 00:37:50,370 --> 00:37:51,420 मैं निम्नलिखित करने के लिए जा रहा हूँ. 873 00:37:51,420 --> 00:38:00,220 >> सबसे पहले, एक त्वरित मानक io.h के शामिल, साथ ही एक cs50.h. के शामिल 874 00:38:00,220 --> 00:38:03,200 और फिर मैं आगे जाने के लिए जा रहा हूँ और int मुख्य शून्य घोषित 875 00:38:03,200 --> 00:38:04,360 हमेशा की तरह. 876 00:38:04,360 --> 00:38:07,920 मैं मैं फ़ाइल misnamed, इसलिए किया है एहसास हुआ मुझे सिर्फ इतना यहाँ एक. सी एक्सटेंशन जोड़ दें 877 00:38:07,920 --> 00:38:09,510 हम इसे ठीक से संकलन कर सकते हैं कि. 878 00:38:09,510 --> 00:38:10,970 इस समारोह में बंद शुरू करो. 879 00:38:10,970 --> 00:38:13,290 >> और मैं चाहता हूँ समारोह काफी, लिखने के लिए बस, पूछता है कि एक है 880 00:38:13,290 --> 00:38:16,210 फिर एक नंबर के लिए उपयोगकर्ता और इजाफा होता है उस बीच सभी नंबरों 881 00:38:16,210 --> 00:38:19,920 संख्या और कहते हैं, 0. 882 00:38:19,920 --> 00:38:22,510 तो पहले मैं आगे जाने के लिए जा रहा हूँ और int n घोषणा. 883 00:38:22,510 --> 00:38:24,760 तब मैं कुछ कोड की नकल है कि हम थोड़ी देर के लिए उपयोग किया है. 884 00:38:24,760 --> 00:38:26,660 कुछ सच है. 885 00:38:26,660 --> 00:38:28,000 मैं एक पल में वापस करने के लिए आया हूँ. 886 00:38:28,000 --> 00:38:29,010 >> मुझे क्या करना चाहते हैं? 887 00:38:29,010 --> 00:38:33,460 मैं सकारात्मक printf कहना चाहता हूँ कृपया पूर्णांक. 888 00:38:33,460 --> 00:38:36,130 और फिर मैं जा रहा हूँ n INT मिल जाता कहना. 889 00:38:36,130 --> 00:38:38,800 तो फिर, कुछ boilerplate कोड हम पहले का उपयोग किया है कि. 890 00:38:38,800 --> 00:38:40,810 और मैं यह करने के लिए जा रहा हूँ एन 1 से कम है, जबकि. 891 00:38:40,810 --> 00:38:44,120 तो यह सुनिश्चित करेंगे कि उपयोगकर्ता मुझे एक सकारात्मक पूर्णांक देता है. 892 00:38:44,120 --> 00:38:45,490 >> और अब मैं निम्नलिखित करने के लिए जा रहा हूँ. 893 00:38:45,490 --> 00:38:51,020 मैं संख्या के सभी को जोड़ने के लिए चाहते हैं 1 और और एन, या 0 और एन के बीच 894 00:38:51,020 --> 00:38:52,570 यों, कुल राशि प्राप्त करने के लिए. 895 00:38:52,570 --> 00:38:55,100 इतनी बड़ी सिग्मा प्रतीक आप याद कर सकते हैं. 896 00:38:55,100 --> 00:38:59,050 तो मैं पहली बार फोन करके यह करने के लिए जा रहा हूँ सिग्मा नामक समारोह, 897 00:38:59,050 --> 00:39:06,030 एन में इसे पारित, और फिर मैं जा रहा हूँ printf का कहना है, इस सवाल का जवाब सही नहीं है. 898 00:39:06,030 --> 00:39:08,180 >> तो संक्षेप में, मैं और उपयोगकर्ता से int. 899 00:39:08,180 --> 00:39:09,280 मैं यह सकारात्मक है सुनिश्चित करते हैं. 900 00:39:09,280 --> 00:39:12,700 मैं एक चर बुलाया जवाब घोषित int प्रकार और उस में वापसी की दुकान 901 00:39:12,700 --> 00:39:15,610 इनपुट के रूप में N गुजर सिग्मा के मूल्य,. 902 00:39:15,610 --> 00:39:17,060 और फिर मुझे लगता है कि जवाब बाहर प्रिंट. 903 00:39:17,060 --> 00:39:19,550 >> दुर्भाग्य से, भले ही सिग्मा आवाज़ में हो सकता है कि कुछ की तरह 904 00:39:19,550 --> 00:39:24,040 math.h फ़ाइल, इसकी घोषणा, यह वास्तव में नहीं है. 905 00:39:24,040 --> 00:39:24,690 तो यह ठीक है. 906 00:39:24,690 --> 00:39:26,170 मैं यह अपने आप लागू कर सकते हैं. 907 00:39:26,170 --> 00:39:29,160 मैं एक समारोह को लागू करने के लिए जा रहा हूँ सिग्मा, और इसे लेने के लिए जा रहा है एक 908 00:39:29,160 --> 00:39:29,900 पैरामीटर - 909 00:39:29,900 --> 00:39:32,100 चलो बस बस, एम कहते हैं इसलिए यह अलग है. 910 00:39:32,100 --> 00:39:35,910 और फिर यहाँ, मैं कहने जा रहा हूँ, एम 1 से कम है, तो ठीक है, - यह एक है 911 00:39:35,910 --> 00:39:38,180 बहुत शुष्क कार्यक्रम. 912 00:39:38,180 --> 00:39:41,700 तो मैं आगे जाने के लिए जा रहा हूँ तुरंत वापसी 0. 913 00:39:41,700 --> 00:39:45,920 यह सिर्फ सभी को जोड़ने के लिए मतलब नहीं है 1 और एम के बीच नंबरों अगर एम 914 00:39:45,920 --> 00:39:48,470 खुद को 0 या नकारात्मक है. 915 00:39:48,470 --> 00:39:50,900 >> और फिर मैं आगे जाने के लिए जा रहा हूँ और बहुत iteratively ऐसा करते हैं. 916 00:39:50,900 --> 00:39:53,090 मैं पुराने स्कूल के इस तरह करने के लिए जा रहा हूँ, और मैं आगे जाने के लिए जा रहा हूँ 917 00:39:53,090 --> 00:39:57,150 और मैं जा रहा हूँ कहना है कि 0 होने के लिए एक राशि की घोषणा. 918 00:39:57,150 --> 00:39:59,630 तो मैं करने जा रहा हूँ int के पाश के लिए एक - 919 00:39:59,630 --> 00:40:02,820 और मुझे यह मैच करते हैं हमारे वितरण कोड है, तो आप एक प्रति है 920 00:40:02,820 --> 00:40:07,500 घर पर. INT मैं करने के लिए ऊपर पर 1 हो जाता है मैं कम से कम या मीटर के बराबर है. 921 00:40:07,500 --> 00:40:09,430 मैं प्लस प्लस. 922 00:40:09,430 --> 00:40:11,430 और फिर पाश के लिए इस के अंदर - 923 00:40:11,430 --> 00:40:12,440 हम लगभग वहाँ रहे हैं - 924 00:40:12,440 --> 00:40:15,810 योग योग प्लस 1 हो जाता है. 925 00:40:15,810 --> 00:40:17,670 और फिर मैं राशि वापस करने के लिए जा रहा हूँ. 926 00:40:17,670 --> 00:40:19,420 >> तो मैं जल्दी से यह किया काफी मानते. 927 00:40:19,420 --> 00:40:22,775 लेकिन फिर, मुख्य समारोह सुंदर है सरल, हम कोड पर लिया है आधारित 928 00:40:22,775 --> 00:40:23,190 इस प्रकार अब तक लिखा. 929 00:40:23,190 --> 00:40:25,610 एक सकारात्मक पाने के लिए दोहरी पाश का उपयोग करता है उपयोगकर्ता से int. 930 00:40:25,610 --> 00:40:29,870 मैं तो एक नया कार्य करने के लिए कि int पारित एन, फिर, यह फोन, सिग्मा बुलाया. 931 00:40:29,870 --> 00:40:33,100 और मैं जवाब वापसी मूल्य की दुकान ब्लैक बॉक्स से वर्तमान 932 00:40:33,100 --> 00:40:35,460 एक चर में, सिग्मा के रूप में जाना जवाब कहा जाता है. 933 00:40:35,460 --> 00:40:36,580 तो मैं इसे मुद्रित. 934 00:40:36,580 --> 00:40:39,090 >> हम अब कहानी जारी है, सिग्मा कैसे कार्यान्वित किया जाता है? 935 00:40:39,090 --> 00:40:40,840 मैं इस प्रकार लागू करने का प्रस्ताव है. 936 00:40:40,840 --> 00:40:43,560 सबसे पहले, त्रुटि जाँच का एक छोटा सा उपयोगकर्ता नहीं है कि बनाना 937 00:40:43,560 --> 00:40:46,480 मेरे साथ खिलवाड़ और में गुजर कुछ नकारात्मक या 0 मूल्य. 938 00:40:46,480 --> 00:40:49,710 तो फिर मैं एक चर घोषित योग और यह 0 पर सेट. 939 00:40:49,710 --> 00:40:55,910 >> और अब मैं बराबरी से जाना शुरू 1 सभी तरह, अप करने के लिए और एम सहित 940 00:40:55,910 --> 00:41:00,130 मैं शामिल करना चाहते हैं, क्योंकि सभी समावेशी एम के माध्यम से एक से नंबर. 941 00:41:00,130 --> 00:41:04,350 और पाश के लिए इस के अंदर, मैं अभी करना योग यह अब जो कुछ भी हो जाता है, के साथ साथ 942 00:41:04,350 --> 00:41:08,900 मैं के लिए मूल्य. 943 00:41:08,900 --> 00:41:10,370 इसके अलावा मैं के लिए मूल्य. 944 00:41:10,370 --> 00:41:14,090 >> एक अलग रूप में, आप यह नहीं देखा है अगर इससे पहले, कुछ वाक्यात्मक चीनी वहाँ 945 00:41:14,090 --> 00:41:14,870 इस लाइन के लिए. 946 00:41:14,870 --> 00:41:21,120 इसके अलावा मैं बराबर होती है, जैसा कि मैं इस फिर से लिखना कर सकते हैं सिर्फ अपने आप को कुछ कीस्ट्रोक्स को बचाने के लिए 947 00:41:21,120 --> 00:41:22,570 और एक सा कूलर देखने के लिए. 948 00:41:22,570 --> 00:41:23,140 लेकिन वह सब है. 949 00:41:23,140 --> 00:41:24,660 यह कार्यात्मक रूप में एक ही बात है. 950 00:41:24,660 --> 00:41:26,710 >> दुर्भाग्य से, इस कोड है अभी तक संकलित करने के लिए नहीं जा रहा. 951 00:41:26,710 --> 00:41:31,600 मैं सिग्मा 0, कैसे हूँ बनाने चलाते हैं मैं पर चिल्लाया प्राप्त करने के लिए जा रहे हैं? 952 00:41:31,600 --> 00:41:33,473 क्या यह पसंद नहीं जा रहा है? 953 00:41:33,473 --> 00:41:35,740 >> दर्शक: [सुनाई]. 954 00:41:35,740 --> 00:41:37,800 >> डेविड मालन: हाँ, मैं घोषणा नहीं की थी सही समारोह ऊपर शीर्ष,? 955 00:41:37,800 --> 00:41:40,590 सी कि उस में, बेवकूफ की तरह है ही क्या आप क्या यह बताने के लिए, और करता 956 00:41:40,590 --> 00:41:41,880 इसी क्रम में यह करना होगा. 957 00:41:41,880 --> 00:41:45,910 मैं यहाँ हिट दर्ज करें और अगर ऐसा है, तो मैं करने जा रहा हूँ अंतर्निहित सिग्मा के बारे में एक चेतावनी मिल 958 00:41:45,910 --> 00:41:46,860 घोषणा. 959 00:41:46,860 --> 00:41:48,120 >> ओह, कोई बात नहीं. 960 00:41:48,120 --> 00:41:50,370 मैं शीर्ष तक जा सकते हैं, और मैं कर सकता हूँ कहते हैं, ठीक है, एक मिनट रुको. 961 00:41:50,370 --> 00:41:54,240 सिग्मा कि रिटर्न एक समारोह है एक पूर्णांक और यह उम्मीद है एक 962 00:41:54,240 --> 00:41:56,620 इनपुट, अर्धविराम के रूप में int. 963 00:41:56,620 --> 00:41:59,550 या मैं पूरे समारोह डाल सकता है मुख्य ऊपर है, लेकिन सामान्य रूप में, मैं होता 964 00:41:59,550 --> 00:42:02,260 यह इसलिए है क्योंकि, उस के खिलाफ की सिफारिश हमेशा शीर्ष पर मुख्य है अच्छा तो 965 00:42:02,260 --> 00:42:06,310 आप सही में गोता लगाने और पता कर सकते हैं क्या एक कार्यक्रम के मुख्य पहले पढ़ने से कर रहे हैं. 966 00:42:06,310 --> 00:42:07,930 >> तो अब मुझे स्क्रीन स्पष्ट करते हैं. 967 00:42:07,930 --> 00:42:09,330 सिग्मा 0 रीमेक. 968 00:42:09,330 --> 00:42:10,340 सभी की जाँच करने लगता है. 969 00:42:10,340 --> 00:42:11,970 मुझे सिग्मा 0 चलाते हैं. 970 00:42:11,970 --> 00:42:12,770 सकारात्मक अंतर. 971 00:42:12,770 --> 00:42:15,580 मैं यह नंबर देता हूँ 3 सरल रखने के लिए. 972 00:42:15,580 --> 00:42:18,710 इसलिए कि मुझे देना चाहिए 3 प्लस 2 प्लस 1, ताकि 6. 973 00:42:18,710 --> 00:42:20,750 दर्ज करें, और वास्तव में मैं 6 मिलता है. 974 00:42:20,750 --> 00:42:21,820 >> मैं कुछ बड़ा कर सकते हैं - 975 00:42:21,820 --> 00:42:24,080 50, 12, 75. 976 00:42:24,080 --> 00:42:27,690 बस एक स्पर्श करने के रूप में, मैं क्या करने जा रहा हूँ एक बहुत बड़ा तरह हास्यास्पद कुछ 977 00:42:27,690 --> 00:42:30,375 संख्या, ओह, यह वास्तव में बाहर काम किया - 978 00:42:30,375 --> 00:42:31,600 एह, मुझे लगता है कि सही नहीं लगता है. 979 00:42:31,600 --> 00:42:32,810 चलो देखते हैं. 980 00:42:32,810 --> 00:42:34,060 इसके साथ वास्तव में गड़बड़ करते हैं. 981 00:42:34,060 --> 00:42:37,150 982 00:42:37,150 --> 00:42:38,400 >> यह एक समस्या है. 983 00:42:38,400 --> 00:42:43,180 984 00:42:43,180 --> 00:42:44,970 क्या चल रहा है? 985 00:42:44,970 --> 00:42:46,050 कोड है कि बुरा नहीं है. 986 00:42:46,050 --> 00:42:48,470 यह अभी भी रैखिक है. 987 00:42:48,470 --> 00:42:50,810 सीटी हालांकि, एक अच्छा प्रभाव है. 988 00:42:50,810 --> 00:42:52,060 क्या चल रहा है? 989 00:42:52,060 --> 00:42:54,700 990 00:42:54,700 --> 00:42:55,620 >> इसलिए नहीं कि मैं यह सुना, तो सुनिश्चित करें. 991 00:42:55,620 --> 00:42:57,620 तो यह पता चला है - और यह एक अलग रूप है. 992 00:42:57,620 --> 00:42:59,400 यह करने के लिए कोर नहीं है प्रत्यावर्तन का विचार है. 993 00:42:59,400 --> 00:43:02,480 मैं कोशिश कर रहा हूँ क्योंकि यह पता चला है, इतनी बड़ी संख्या का प्रतिनिधित्व करते हैं, सबसे 994 00:43:02,480 --> 00:43:06,980 संभावना है कि यह गलत व्याख्या की जा रही है एक सकारात्मक नहीं संख्या के रूप में सी द्वारा, 995 00:43:06,980 --> 00:43:09,980 लेकिन नकारात्मक संख्या. 996 00:43:09,980 --> 00:43:12,690 >> हम इस बारे में बात की, लेकिन नहीं है यह नकारात्मक संख्या रहे हैं पता चला है 997 00:43:12,690 --> 00:43:14,210 इसके अलावा में दुनिया में सकारात्मक संख्या के लिए. 998 00:43:14,210 --> 00:43:16,290 और इसका मतलब है कि आप जो कर सकते द्वारा एक नकारात्मक संख्या का प्रतिनिधित्व करते हैं 999 00:43:16,290 --> 00:43:19,530 अनिवार्य रूप से, आप एक का उपयोग इंगित करने के लिए विशेष बिट 1000 00:43:19,530 --> 00:43:20,400 नकारात्मक से अधिक सकारात्मक. 1001 00:43:20,400 --> 00:43:22,950 यह एक छोटे से अधिक जटिल है कि अधिक से है, लेकिन यह है कि मूल विचार है. 1002 00:43:22,950 --> 00:43:26,740 >> तो दुर्भाग्य से, सी भ्रामक एक है के रूप में वास्तव में अर्थ उन बिट्स की, 1003 00:43:26,740 --> 00:43:30,790 ओह, यह मेरे पाश, एक नकारात्मक संख्या है यहाँ, उदाहरण के लिए, वास्तव में कभी नहीं है 1004 00:43:30,790 --> 00:43:31,740 समाप्त करने जा रही है. 1005 00:43:31,740 --> 00:43:33,850 इसलिए मैं वास्तव में कुछ मुद्रण कर रहे थे बार बार, हम करेंगे 1006 00:43:33,850 --> 00:43:34,650 एक पूरी बहुत कुछ देखा. 1007 00:43:34,650 --> 00:43:36,220 लेकिन फिर, इस बिंदु के अलावा है. 1008 00:43:36,220 --> 00:43:38,590 यह सच में सिर्फ एक प्रकार का है हम आया हूँ कि बौद्धिक जिज्ञासा 1009 00:43:38,590 --> 00:43:39,550 वापस अंत में करने के लिए. 1010 00:43:39,550 --> 00:43:43,400 लेकिन अब के लिए, यह एक सही है हम यह मान कार्यान्वयन कि अगर 1011 00:43:43,400 --> 00:43:45,970 उपयोगकर्ता ints प्रदान करेगा ints भीतर कि फिट. 1012 00:43:45,970 --> 00:43:49,370 >> लेकिन मैं स्पष्ट रूप से इस कोड का दावा है कि इतना अधिक आसानी से किया जा सकता है. 1013 00:43:49,370 --> 00:43:54,060 हाथ में लक्ष्य एक नंबर लेने के लिए है, तो एम की तरह और सभी को जोड़ने 1014 00:43:54,060 --> 00:43:59,510 यह और 1, या इसके विपरीत के बीच संख्या 1 के बीच और यह, मैं दावा 1015 00:43:59,510 --> 00:44:03,380 मैं मर्ज कि इस विचार उधार ले सकते हैं कि सॉर्ट एक समस्या ले जा रहा था, जो था 1016 00:44:03,380 --> 00:44:05,660 इस आकार और विभाजित की कुछ छोटे में. 1017 00:44:05,660 --> 00:44:09,875 शायद नहीं आधा है, लेकिन छोटे, लेकिन प्रतीकात्मकता वही. 1018 00:44:09,875 --> 00:44:12,130 एक ही विचार है, लेकिन एक छोटे समस्या. 1019 00:44:12,130 --> 00:44:15,470 >> इसलिए मैं वास्तव में हूँ - मुझे इस फ़ाइल को बचाने एक अलग संस्करण संख्या के साथ. 1020 00:44:15,470 --> 00:44:17,670 हम इस संस्करण फोन करता हूँ 1 के बजाय 0. 1021 00:44:17,670 --> 00:44:20,790 और मुझे लगता है कि मैं वास्तव में यह कर सकते हैं दावा इस तरह की में इस reimplement 1022 00:44:20,790 --> 00:44:22,160 मन झुका रास्ता. 1023 00:44:22,160 --> 00:44:23,710 >> मैं अकेले इसका हिस्सा छोड़ने के लिए जा रहा हूँ. 1024 00:44:23,710 --> 00:44:27,710 मीटर कम है तो मैं कहने जा रहा हूँ से या 0 को भी बराबर - 1025 00:44:27,710 --> 00:44:29,280 मैं सिर्फ एक छोटे से होने जा रहा हूँ अधिक गुदा इस समय 1026 00:44:29,280 --> 00:44:30,520 मेरे त्रुटि जाँच के साथ - 1027 00:44:30,520 --> 00:44:33,190 मुझे आगे जाना है और 0 वापसी करने जा रहा हूँ. 1028 00:44:33,190 --> 00:44:34,490 यह मनमाना है. 1029 00:44:34,490 --> 00:44:37,500 मैं बस यूँ ही तय कर रहा हूँ अगर उपयोगकर्ता मुझे एक नकारात्मक संख्या देता है, मैं कर रहा हूँ 1030 00:44:37,500 --> 00:44:41,490 0 लौटने, और वे पढ़ना चाहिए और अधिक बारीकी प्रलेखन. 1031 00:44:41,490 --> 00:44:42,170 >> वरना - 1032 00:44:42,170 --> 00:44:44,070 मैं क्या करने जा रहा हूँ नोटिस. 1033 00:44:44,070 --> 00:44:49,260 वरना मैं एम लौटने से अधिक करने के लिए जा रहा हूँ - 1034 00:44:49,260 --> 00:44:51,010 एम के सिग्मा क्या है? 1035 00:44:51,010 --> 00:44:56,710 खैर, एम प्लस एम शून्य से 1 की सिग्मा, एम शून्य से 2, प्लस एम ऋण 3 प्लस. 1036 00:44:56,710 --> 00:44:58,030 मुझे लगता है कि सभी को बाहर लिखने के लिए नहीं करना चाहती. 1037 00:44:58,030 --> 00:44:59,120 क्यों मैं सिर्फ बाज़ी नहीं है? 1038 00:44:59,120 --> 00:45:05,080 बारी बारी से एक थोड़ा के साथ खुद को कॉल छोटे समस्या, अर्धविराम, 1039 00:45:05,080 --> 00:45:06,840 और इसे एक दिन फोन? 1040 00:45:06,840 --> 00:45:07,040 >> है ना? 1041 00:45:07,040 --> 00:45:10,980 अब यहां भी, आपको लगता है या चिंता हो सकती है यह मैं हूँ कि एक अनंत लूप है कि 1042 00:45:10,980 --> 00:45:15,450 मैं लागू कर रहा हूँ, जिससे उत्प्रेरण सिग्मा फोन करके सिग्मा. 1043 00:45:15,450 --> 00:45:20,342 लेकिन वह पूरी तरह से ठीक है क्योंकि मैं आगे एक जोड़ा जो लाइनों में सोचा है? 1044 00:45:20,342 --> 00:45:22,600 >> दर्शक: [सुनाई]. 1045 00:45:22,600 --> 00:45:25,430 >> डेविड मालन: 23 से 26, जो अगर मेरी हालत है. 1046 00:45:25,430 --> 00:45:28,390 के बारे में अच्छी बात है क्योंकि क्या यहाँ घटाव, मैं रखना क्योंकि 1047 00:45:28,390 --> 00:45:31,180 सौंपने छोटी समस्याओं सिग्मा, छोटे समस्याओं, छोटे - यह नहीं है 1048 00:45:31,180 --> 00:45:31,870 आधे आकार. 1049 00:45:31,870 --> 00:45:34,380 यह केवल एक बच्चे के कदम के रूप में बड़ा है, लेकिन यह ठीक है. 1050 00:45:34,380 --> 00:45:38,050 अंत में, हम काम करेंगे क्योंकि नीचे 1 या 0 के लिए हमारे रास्ते. 1051 00:45:38,050 --> 00:45:41,630 हम 0 मारा और एक बार, सिग्मा नहीं है अब और खुद फोन करने वाला. 1052 00:45:41,630 --> 00:45:43,590 यह तुरंत 0 वापसी करने जा रहा है. 1053 00:45:43,590 --> 00:45:47,960 >> इतना प्रभाव है, तो आप एक तरह से यह हवा अगर अपने मन में, एम प्लस जोड़ने के लिए है 1054 00:45:47,960 --> 00:45:52,740 एम शून्य से 1, प्लस एम शून्य से 2, प्लस एम घटा 3, प्लस डॉट, दूरसंचार विभाग, दूरसंचार विभाग, एम घटा 1055 00:45:52,740 --> 00:45:57,820 मी, अंततः आप 0 दे रही है, और प्रभाव के सभी जोड़ने के लिए अंततः है 1056 00:45:57,820 --> 00:45:59,070 एक साथ इन बातों को. 1057 00:45:59,070 --> 00:46:02,380 इसलिए हम recursion के साथ, नहीं है, इस समस्या का हल है कि हम 1058 00:46:02,380 --> 00:46:03,470 पहले हल नहीं कर सकता. 1059 00:46:03,470 --> 00:46:06,840 दरअसल, इस के संस्करण 0, और हर तिथि करने के लिए समस्या, व्याख्या करने योग्य किया गया है 1060 00:46:06,840 --> 00:46:09,980 बस छोरों के लिए उपयोग करने के साथ या जब छोरों या इसी तरह के निर्माणों. 1061 00:46:09,980 --> 00:46:13,150 >> लेकिन recursion, मैं हिम्मत करना, हमें देता है के बारे में सोच का एक अलग तरीका 1062 00:46:13,150 --> 00:46:17,010 समस्याओं, हम एक ले जा सकते हैं जिससे समस्या यह है कि कुछ से विभाजित 1063 00:46:17,010 --> 00:46:22,340 कुछ हद तक कुछ में कुछ बड़े छोटे, मुझे लगता है हम इसे हल कर सकते हैं कि दावा 1064 00:46:22,340 --> 00:46:26,040 शायद एक छोटे से अधिक सुंदर ढंग से मामले में डिजाइन के, कम कोड के साथ, 1065 00:46:26,040 --> 00:46:30,980 और शायद यह भी कि समस्याओं का समाधान होगा , कठिन हो हम अंत में होगा के रूप में 1066 00:46:30,980 --> 00:46:33,280 विशुद्ध रूप से iteratively को सुलझाने, देखें. 1067 00:46:33,280 --> 00:46:35,980 >> लेकिन मैंने किया था कि cliffhanger हम पर छोड़ना चाहते हैं यह था. 1068 00:46:35,980 --> 00:46:40,720 मुझे आगे जाना है और खोल दो. से एक फाइल ऊपर - 1069 00:46:40,720 --> 00:46:44,300 वास्तव में, मुझे जाने दो और असली तेजी से ऐसा करते हैं. 1070 00:46:44,300 --> 00:46:46,875 मुझे आगे जाना है और प्रस्ताव दो. निम्नलिखित. 1071 00:46:46,875 --> 00:46:51,160 1072 00:46:51,160 --> 00:46:54,785 आज के कोड के बीच यहां इस फाइल है. 1073 00:46:54,785 --> 00:47:01,090 1074 00:47:01,090 --> 00:47:03,050 यहाँ यह एक, noswap. 1075 00:47:03,050 --> 00:47:06,260 >> तो यह है कि एक बेवकूफ सा प्रोग्राम है मैं क्या करने का दावा है कि कोसा 1076 00:47:06,260 --> 00:47:06,940 निम्नलिखित. 1077 00:47:06,940 --> 00:47:10,140 मुख्य रूप से, यह पहले एक वाणी INT एक्स कहा जाता है और यह प्रदान करती है 1078 00:47:10,140 --> 00:47:11,100 1 का मूल्य. 1079 00:47:11,100 --> 00:47:13,520 तो यह एक int y वाणी और यह मूल्य 2 प्रदान करती है. 1080 00:47:13,520 --> 00:47:15,310 तो फिर यह एक्स क्या बाहर प्रिंट और y है. 1081 00:47:15,310 --> 00:47:17,781 तो यह, डॉट डॉट डॉट गमागमन, कहते हैं. 1082 00:47:17,781 --> 00:47:21,670 >> तो यह एक समारोह बुला होने का दावा एक्स में गुजर, स्वैप बुलाया और 1083 00:47:21,670 --> 00:47:24,290 वाई, जिनमें से विचार है कि उम्मीद है कि है एक्स और वाई वापस आ जाएगा 1084 00:47:24,290 --> 00:47:25,620 अलग, विपरीत. 1085 00:47:25,620 --> 00:47:27,110 तो फिर यह बदली दावा! 1086 00:47:27,110 --> 00:47:28,420 एक विस्मयादिबोधक बिंदु के साथ. 1087 00:47:28,420 --> 00:47:30,190 तो यह एक्स और वाई बाहर प्रिंट. 1088 00:47:30,190 --> 00:47:33,480 >> लेकिन यह पता चला है कि यह बहुत साधारण प्रदर्शन नीचे 1089 00:47:33,480 --> 00:47:35,570 यहाँ वास्तव में छोटी गाड़ी है. 1090 00:47:35,570 --> 00:47:38,870 मैं एक अस्थायी घोषणा कर रहा हूँ हालांकि चर और अस्थायी रूप से एक में डाल 1091 00:47:38,870 --> 00:47:42,010 यह है, तो मैं फिर नियत हूँ एक बी की मूल्य - 1092 00:47:42,010 --> 00:47:45,080 मैं किया था, इसलिए उचित लगता है, जो एक में अस्थायी की प्रतिलिपि बचाया. 1093 00:47:45,080 --> 00:47:48,410 तब मैं बराबर करने के लिए बी को अद्यतन अस्थायी में जो कुछ भी था. 1094 00:47:48,410 --> 00:47:51,610 एक चलती का खोल खेल के इस तरह इस का उपयोग करके एक में में बी और बी 1095 00:47:51,610 --> 00:47:54,360 मध्यम आदमी बुलाया अस्थायी लगता है पूरी तरह से उचित. 1096 00:47:54,360 --> 00:47:57,270 >> लेकिन मैं दावा है कि मैं इस चलाते समय कोड, मैं अब क्या करेंगे के रूप में - 1097 00:47:57,270 --> 00:47:59,490 मुझे आगे जाना है और यहाँ में पेस्ट करते हैं. 1098 00:47:59,490 --> 00:48:01,995 मैं इस noswap.c फोन करता हूँ. 1099 00:48:01,995 --> 00:48:05,630 नाम का सुझाव है, यह नहीं है एक सही कार्यक्रम होने जा रहा. 1100 00:48:05,630 --> 00:48:09,460 Noswap. / कोई स्वैप बनाओ. 1101 00:48:09,460 --> 00:48:12,110 एक्स 1 है, y बदली, गमागमन, 2 है. 1102 00:48:12,110 --> 00:48:14,220 एक्स 1 है, वाई 2 है. 1103 00:48:14,220 --> 00:48:16,920 यह मूल रूप से गलत है, यहां तक ​​कि यह पूरी तरह से लगता है, हालांकि 1104 00:48:16,920 --> 00:48:17,730 मेरे लिए उचित. 1105 00:48:17,730 --> 00:48:21,330 और वहाँ एक कारण है, लेकिन हम नहीं कर रहे हैं बस अभी तक कारण प्रकट करने जा रहा. 1106 00:48:21,330 --> 00:48:24,610 >> मैं चाहता था कि अब दूसरा cliffhanger के लिए साथ छोड़ना, यह है एक 1107 00:48:24,610 --> 00:48:27,120 कूपन कोड पर एक तरह की घोषणा. 1108 00:48:27,120 --> 00:48:31,590 देर से दिन के साथ हमारे नवाचार इस वर्ष एक गैर तुच्छ संख्या छिड़ गई है 1109 00:48:31,590 --> 00:48:33,830 सवालों का, जो था नहीं हमारा इरादा. 1110 00:48:33,830 --> 00:48:36,590 इन कूपन कोड का इरादा, जिससे आप समस्या का हिस्सा करते हैं 1111 00:48:36,590 --> 00:48:39,850 जिससे एक अतिरिक्त दिन हो रही है, जल्दी सेट, तुम लोगों की मदद करने में मदद करने के लिए वास्तव में था 1112 00:48:39,850 --> 00:48:42,420 अपने आप को सॉर्ट, जल्दी शुरू की आप incentivizing द्वारा. 1113 00:48:42,420 --> 00:48:44,880 हमें भर में लोड वितरित में मदद करता है कार्यालय समय बेहतर तो यह है कि 1114 00:48:44,880 --> 00:48:45,740 यह एक तरह से जीत है. 1115 00:48:45,740 --> 00:48:48,860 >> दुर्भाग्य से, मुझे लगता है कि मेरे निर्देश तिथि करने के लिए, बहुत स्पष्ट है, इसलिए नहीं किया गया है 1116 00:48:48,860 --> 00:48:52,230 मैं वापस इस सप्ताह के अंत में चला गया और अद्यतन बड़ा, बिंदास पाठ करने में कल्पना 1117 00:48:52,230 --> 00:48:53,600 इस तरह की गोलियों की व्याख्या. 1118 00:48:53,600 --> 00:48:56,900 और बस से, अधिक सार्वजनिक रूप से यह कहने के लिए Default, समस्या सेट गुरुवार की वजह से कर रहे हैं 1119 00:48:56,900 --> 00:48:58,400 दोपहर में, पाठ्यक्रम के अनुरूप. 1120 00:48:58,400 --> 00:49:02,030 आप के हिस्से के परिष्करण, जल्दी शुरू करते हैं 12:00 पर बुधवार तक सेट समस्या 1121 00:49:02,030 --> 00:49:05,170 PM, एक कूपन से संबंधित हिस्सा कोड, विचार है कि आप का विस्तार कर सकते हैं 1122 00:49:05,170 --> 00:49:07,710 के लिए अपनी समय सीमा पी शुक्रवार तक निर्धारित किया है. 1123 00:49:07,710 --> 00:49:10,890 वह यह है कि पी के एक छोटे से हिस्से को काटा आम तौर पर क्या है के सापेक्ष सेट 1124 00:49:10,890 --> 00:49:13,200 बड़ी समस्या है, और आप खरीद अपने आप को एक अतिरिक्त दिन. 1125 00:49:13,200 --> 00:49:15,190 फिर, यह आप के बारे में सोच रही हो जाता है सेट समस्या, करने के लिए आप हो जाता है 1126 00:49:15,190 --> 00:49:16,380 जल्दी ही कार्यालय समय. 1127 00:49:16,380 --> 00:49:20,670 लेकिन कूपन कोड समस्या अभी भी है आप इसे प्रस्तुत नहीं करते, तो भी जरूरी है. 1128 00:49:20,670 --> 00:49:23,340 >> लेकिन अधिक compellingly यह है. 1129 00:49:23,340 --> 00:49:26,520 (मंच कानाफूसी) और छोड़ने के लिए उन लोगों को जल्दी यह अफसोस वाला हैं. 1130 00:49:26,520 --> 00:49:28,620 के रूप में छज्जे पर लोग कर रहे हैं. 1131 00:49:28,620 --> 00:49:32,510 मैं पर लोगों को पहले से माफी माँगता हो जाएगा कि कारणों के लिए बालकनी 1132 00:49:32,510 --> 00:49:33,920 बस एक पल में साफ है. 1133 00:49:33,920 --> 00:49:37,050 >> तो हम में से एक है भाग्यशाली रहे हैं CS50 के पूर्व प्रमुख शिक्षण साथियों पर 1134 00:49:37,050 --> 00:49:39,302 एक कंपनी dropbox.com कहा जाता है. 1135 00:49:39,302 --> 00:49:45,500 वे बहुत उदारता से एक दान किया इतना अंतरिक्ष के लिए यहाँ कूपन कोड, 1136 00:49:45,500 --> 00:49:48,180 ऊपर से है जो सामान्य 2 गीगाबाइट. 1137 00:49:48,180 --> 00:49:51,740 तो मैंने सोचा कि क्या हम इस पर क्या होगा अंतिम ध्यान दें, एक सस्ता के एक सा करना है 1138 00:49:51,740 --> 00:49:55,380 बस एक पल में, हम को उजागर करेंगे जिससे विजेता और जो एक कूपन है 1139 00:49:55,380 --> 00:49:57,980 आप तब तक जा सकता है कि कोड को अपने वेबसाइट, उस में टाइप करें, और देखा, मिल एक 1140 00:49:57,980 --> 00:50:01,370 आपके लिए पूरी बहुत अधिक ड्रॉपबॉक्स अंतरिक्ष उपकरण और अपने व्यक्तिगत फाइल के लिए. 1141 00:50:01,370 --> 00:50:05,690 >> और सबसे पहले, जो भाग लेना चाहते हैं इस बैठक में? 1142 00:50:05,690 --> 00:50:09,630 ठीक है, अब है कि यह और भी मजेदार बना देता है. 1143 00:50:09,630 --> 00:50:14,010 इस 25 गीगाबाइट प्राप्त करने वाले व्यक्ति कूपन कोड - दूर तक है जो 1144 00:50:14,010 --> 00:50:16,150 देर से अधिक सम्मोहक अब दिन, शायद - 1145 00:50:16,150 --> 00:50:20,620 एक के शीर्ष पर बैठा है, जो एक है सीट कुशन है जो नीचे 1146 00:50:20,620 --> 00:50:21,620 कि कूपन कोड. 1147 00:50:21,620 --> 00:50:23,480 अब आप नीचे लग सकता है अपनी सीट कुशन. 1148 00:50:23,480 --> 00:50:28,710 1149 00:50:28,710 --> 00:50:29,680 >> [वीडियो प्लेबैक] 1150 00:50:29,680 --> 00:50:31,620 >> एक, दो, तीन. 1151 00:50:31,620 --> 00:50:35,015 >> [चिल्ला] 1152 00:50:35,015 --> 00:50:35,985 >> तुम एक कार हो! 1153 00:50:35,985 --> 00:50:36,670 आप एक कार हो! 1154 00:50:36,670 --> 00:50:37,970 >> डेविड मालन: हम देखेंगे बुधवार को आप. 1155 00:50:37,970 --> 00:50:38,904 >> तुम एक कार हो! 1156 00:50:38,904 --> 00:50:39,371 आप एक कार हो! 1157 00:50:39,371 --> 00:50:40,305 आप एक कार हो! 1158 00:50:40,305 --> 00:50:41,706 आप एक कार हो! 1159 00:50:41,706 --> 00:50:43,107 आप एक कार हो! 1160 00:50:43,107 --> 00:50:45,530 >> डेविड मालन: बालकनी लोगों, आओ यहाँ नीचे सामने करने के लिए, 1161 00:50:45,530 --> 00:50:46,866 हम एक्स्ट्रा कलाकार है जहां. 1162 00:50:46,866 --> 00:50:50,282 >> हर कोई एक कार हो जाता है! 1163 00:50:50,282 --> 00:50:52,234 हर कोई एक कार हो जाता है! 1164 00:50:52,234 --> 00:50:52,722 >> [अंत वीडियो प्लेबैक] 1165 00:50:52,722 --> 00:50:54,590 >> बयान: अगले CS50 पर - 1166 00:50:54,590 --> 00:51:00,374 >> स्पीकर 5: हे भगवान हे भगवान हे भगवान भगवान भगवान भगवान भगवान भगवान भगवान भगवान - 1167 00:51:00,374 --> 00:51:02,106 >> [हवाई द्वीप का गितार के प्रकार का चार तारो वाला वाद्ययंत्र विशेष निभाता]