1 00:00:00,000 --> 00:00:11,270 2 00:00:11,270 --> 00:00:14,910 >> अध्यक्ष: ठीक है, इस CS50 है. 3 00:00:14,910 --> 00:00:19,020 इस हफ्ते तीन का अंत है, और अगर यदि आप पहले से ही लाभ नहीं लिया है 4 00:00:19,020 --> 00:00:21,790 दोपहर के भोजन के वहाँ हो जाएगा पता , जहां हमेशा की तरह इस शुक्रवार 5 00:00:21,790 --> 00:00:25,430 आप अच्छी बातचीत का आनंद ले सकते आग और बर्फ में और भोजन 6 00:00:25,430 --> 00:00:27,980 CS50 के कुछ के साथ स्टाफ और सहपाठियों. 7 00:00:27,980 --> 00:00:30,170 यहाँ इस यूआरएल के लिए सिर. 8 00:00:30,170 --> 00:00:33,420 >> अब आप याद करते हैं, या आप कर सकते हैं जल्द ही साथ परिचित हो सकता है, 9 00:00:33,420 --> 00:00:35,970 यहाँ इन बातों को, जो अंत में बाहर दिए गए हैं 10 00:00:35,970 --> 00:00:37,850 कई कक्षाओं के लिए सेमेस्टर की. 11 00:00:37,850 --> 00:00:40,870 तथाकथित परीक्षा नीले किताबें, जिसमें आप परीक्षा के लिए अपने जवाब लिखें. 12 00:00:40,870 --> 00:00:44,240 अब मैं यहाँ 26 ऐसे इनमें से प्रत्येक पर नीले किताबें, 13 00:00:44,240 --> 00:00:47,580 जेड के माध्यम से एक नाम, एक और लिखा है वास्तव में नामों सरल, एक कर रहे हैं कि 14 00:00:47,580 --> 00:00:50,490 जेड के माध्यम से और एक की हाथ में आज लक्ष्यों 15 00:00:50,490 --> 00:00:53,910 क्या जारी रखने के लिए किया जा रहा है हम नहीं है, जो सोमवार को शुरू कर दिया 16 00:00:53,910 --> 00:00:57,830 इतना कोड को देख, लेकिन वास्तव में विचारों और समस्या को सुलझाने में लग रही. 17 00:00:57,830 --> 00:01:00,170 लक्ष्यों में से एक और इस कोर्स के वादे 18 00:01:00,170 --> 00:01:02,985 अधिक सोचने के लिए तुम्हें सिखाने के लिए है ध्यान से, अधिक विधिपूर्वक, 19 00:01:02,985 --> 00:01:05,400 और अधिक कुशलता से समस्याओं को हल करने के लिए. 20 00:01:05,400 --> 00:01:09,526 और वास्तव में, हम वास्तव में ऐसा कर सकते हैं यहां तक ​​कि कोड की एक लाइन को छूने के बिना. 21 00:01:09,526 --> 00:01:12,150 तो मैं हाथियों का एक जोड़ा है यहाँ आज, नारंगी और नीले, 22 00:01:12,150 --> 00:01:15,780 हम एक स्वयंसेवक मिल सकता है, शायद आगे वापस सामान्य से अधिक से. 23 00:01:15,780 --> 00:01:18,070 कैसे सही वहाँ के बारे में, नीचे आओ. 24 00:01:18,070 --> 00:01:24,180 जिनमें से लक्ष्य करने के लिए किया जा रहा है मदद के साथ साथ यहां इस परीक्षा आयोजित. 25 00:01:24,180 --> 00:01:24,935 आपका नाम क्या है? 26 00:01:24,935 --> 00:01:25,768 >> दर्शक: मैरी बेथ. 27 00:01:25,768 --> 00:01:27,560 अध्यक्ष: मैरी बेथ, ऊपर की ओर आते हैं. 28 00:01:27,560 --> 00:01:29,560 मुझे आप के लिए यहाँ माइक्रोफोन मिलता है. 29 00:01:29,560 --> 00:01:32,172 30 00:01:32,172 --> 00:01:32,880 आपसे मिलकर अच्छा लगा. 31 00:01:32,880 --> 00:01:34,005 >> दर्शक: आपसे मिलकर अच्छा लगा. 32 00:01:34,005 --> 00:01:36,790 अध्यक्ष: ठीक है, तो मेरे पास है यहां नीला किताबें A से Z के माध्यम से, 33 00:01:36,790 --> 00:01:41,680 और मुझे लगता है कि नाटक करने के लिए जा रहा हूँ मैं, छात्रों में से एक है 34 00:01:41,680 --> 00:01:45,770 और वे कुछ हद तक अनियमित रूप से आ रहे हैं एक तीन घंटे की परीक्षा ब्लॉक के अंत में, 35 00:01:45,770 --> 00:01:49,400 इसलिए वे कुछ में समाप्त कर रहे हैं इस तरह अर्द्ध यादृच्छिक क्रम. 36 00:01:49,400 --> 00:01:54,510 अब बस एक पल में अपने काम के लिए जा रहा है यह है कि वे कैसे वास्तव में है be-- को 37 00:01:54,510 --> 00:01:56,820 के अंत में में बदल गया वर्ग, सबसे अधिक संभावना है. 38 00:01:56,820 --> 00:02:01,120 अपनी नौकरी के लिए अब काफी, होने जा रहा है बस, हमारे लिए इन नीले किताबें सॉर्ट करने के लिए 39 00:02:01,120 --> 00:02:05,220 एक से जेड के माध्यम से 40 00:02:05,220 --> 00:02:08,400 >> दर्शक: ओह, यह है हमेशा के लिए ले जा रहा है. 41 00:02:08,400 --> 00:02:13,747 >> अध्यक्ष: और हम देखेंगे आप इस करते हैं, कोई दबाव नहीं. 42 00:02:13,747 --> 00:02:15,330 दर्शक: नहीं, कोई दबाव नहीं है या कुछ भी. 43 00:02:15,330 --> 00:02:19,230 44 00:02:19,230 --> 00:02:23,570 >> अध्यक्ष: और मनोरंजन के लिए, चलो एक टाइमर ऊपर डाल दिया. 45 00:02:23,570 --> 00:02:26,680 46 00:02:26,680 --> 00:02:28,700 >> दर्शक: तो बहुत मज़ा, इतना मजा आया. 47 00:02:28,700 --> 00:02:36,741 48 00:02:36,741 --> 00:02:38,574 >> अध्यक्ष: मैं तुम्हारे लिए mic पकड़ कर सकते हैं. 49 00:02:38,574 --> 00:02:40,240 ठीक है, हम सिर्फ हमारी गति दोगुनी है. 50 00:02:40,240 --> 00:02:44,190 51 00:02:44,190 --> 00:02:49,060 इस बीच में तो, मुझे क्या ढोंग करते हैं मैरी बेथ के लिए प्रश्न होने जा रहा 52 00:02:49,060 --> 00:02:51,540 वह क्या कर रही है, कैसे है वह इस को हल करने के बारे में जा रहे हैं? 53 00:02:51,540 --> 00:02:54,040 और वास्तव में, आप नहीं हो सकता कभी कुछ के बारे में सोचा 54 00:02:54,040 --> 00:02:57,440 तुम्हें लेने के रूप में जब इतना आसान इस तरह 26 किताबें, 55 00:02:57,440 --> 00:02:59,350 एक प्राकृतिक है जो उन्हें आदेश देने. 56 00:02:59,350 --> 00:03:01,335 प्रक्रिया क्या है कि आप वास्तव में उपयोग करें? 57 00:03:01,335 --> 00:03:03,770 यह काफी अनियमित है बस जैसा कि आप देख पहले एक उठा 58 00:03:03,770 --> 00:03:05,250 और अपनी जगह में डाल? 59 00:03:05,250 --> 00:03:09,680 जब आप पहली बार के आसपास अपने हाथों को आगे? एक तो बी की तलाश के लिए देख रहे हैं? 60 00:03:09,680 --> 00:03:11,722 आप एक पर एक नज़र रखना करो पक्ष द्वारा उनके पक्ष की जोड़ी 61 00:03:11,722 --> 00:03:14,680 और बस, एक मिनट रुको, यह कहना सही नहीं है, और उसके बाद क्रम स्वैप? 62 00:03:14,680 --> 00:03:16,960 हम सोमवार को पहले से ही देखा तरीकों की एक संख्या है कि वहाँ 63 00:03:16,960 --> 00:03:22,140 जिसमें हम यह कर सकते हैं, और वास्तव में हम यहीं खत्म पास के रूप में, 64 00:03:22,140 --> 00:03:26,360 मैं शायद ध्यान रखना होगा क्या की मैरी बेथ कर रही है. 65 00:03:26,360 --> 00:03:30,040 हम ऐसा लगता है कुछ ढेर है, एक तीन छोटे लोगों, एक बड़ा. 66 00:03:30,040 --> 00:03:33,790 67 00:03:33,790 --> 00:03:36,415 >> दर्शक: मैं उन्हें आदेश दे रहा हूँ मैं दो पत्र मिल जाए 68 00:03:36,415 --> 00:03:39,540 मैं जानता हूँ कि एक दृश्य में एक साथ कर रहे हैं कि, मुझे नहीं पता कि तो मैं उन्हें एक साथ रखा 69 00:03:39,540 --> 00:03:42,915 रखने के बारे में चिंता करने की ज़रूरत पुस्तकों की एक पूरी पंक्ति का ट्रैक. 70 00:03:42,915 --> 00:03:45,706 यह पहली बार है, ओह, बस है मैं यहाँ यह ढेर मिला है. 71 00:03:45,706 --> 00:03:47,580 लगभग की तरह तो,: अध्यक्ष एक पहेली टुकड़े कि 72 00:03:47,580 --> 00:03:49,860 सही आकार के लिए है एक दूसरे के साथ मैच. 73 00:03:49,860 --> 00:03:51,026 दर्शक: बहुत सुंदर है, हाँ. 74 00:03:51,026 --> 00:03:55,320 अध्यक्ष: ठीक है, बहुत बढ़िया. 75 00:03:55,320 --> 00:03:59,850 और अब इनमें से प्रत्येक बवासीर शायद हल है? 76 00:03:59,850 --> 00:04:00,990 >> दर्शक: हाँ. 77 00:04:00,990 --> 00:04:09,900 >> जेड सभी के माध्यम से सब ठीक है, एक: अध्यक्ष ठीक है, बधाई हो, तुम ऐसा किया था. 78 00:04:09,900 --> 00:04:11,461 आप अपनी पसंद है. 79 00:04:11,461 --> 00:04:11,960 ब्लू? 80 00:04:11,960 --> 00:04:13,530 सब ठीक है, उसके लिए धन्यवाद. 81 00:04:13,530 --> 00:04:16,679 तो मैरी बेथ का प्रस्ताव किया क्या उसके दृष्टिकोण था, 82 00:04:16,679 --> 00:04:19,720 लेकिन एक और दृष्टिकोण क्या है कैसे आप इन बातों छँटाई के बारे में जाना हो सकता है? 83 00:04:19,720 --> 00:04:21,130 आप क्या किया होता? 84 00:04:21,130 --> 00:04:24,060 हरा करने के लिए रिकॉर्ड किया गया होता एक मिनट और 50 या तो सेकंड, 85 00:04:24,060 --> 00:04:26,039 प्लस मैं भूल वाले गिनती के लिए. 86 00:04:26,039 --> 00:04:27,080 आप क्या किया होता? 87 00:04:27,080 --> 00:04:27,579 हाँ? 88 00:04:27,579 --> 00:04:28,735 दर्शकों को ढेर ले लो. 89 00:04:28,735 --> 00:04:29,776 शुरू से शुरू. 90 00:04:29,776 --> 00:04:32,284 अपने कागजात की जाँच करें. 91 00:04:32,284 --> 00:04:36,586 और ऊपर से एक अधिक है से, हो सकता है, वे कर रहे हैं, 92 00:04:36,586 --> 00:04:38,980 नीचे एक है जितना अधिक होगा, तो उन्हें स्विच. 93 00:04:38,980 --> 00:04:41,300 >> अध्यक्ष: ठीक है, तो शुरू कर ऊपर और नीचे, 94 00:04:41,300 --> 00:04:43,716 और फिर अपने तरीके से काम कर आवक की तरह है कि, उन्हें गमागमन? 95 00:04:43,716 --> 00:04:46,580 इसी तरह ठीक है, तो एक छोटे से बुलबुला तरह की भावना में, 96 00:04:46,580 --> 00:04:49,160 लेकिन चरम चुनने नहीं आसन्न जोड़े. 97 00:04:49,160 --> 00:04:52,080 लेकिन यह की कमी है कि वहाँ है अलग अलग तरीकों से निश्चित रूप से एक गुच्छा 98 00:04:52,080 --> 00:04:54,210 हम यह कर सकता है, और सच कहूँ, मैं एक तरह से आपको लगता है 99 00:04:54,210 --> 00:04:55,700 सही, एक जोड़ी दृष्टिकोण अपनाया? 100 00:04:55,700 --> 00:05:00,567 आप चार हल धन की तरह बनाया है, और तो प्रभावी रूप से उन्हें एक साथ मिला दिया गया. 101 00:05:00,567 --> 00:05:02,650 और कहा कि एक और, हिम्मत है, कुल मिलाकर तकनीक. 102 00:05:02,650 --> 00:05:06,950 आप एक बड़ा ढेर के रूप में व्यवहार नहीं किया यदि आप चार quads में समस्या विभाजित 103 00:05:06,950 --> 00:05:09,820 आप करेंगे, और फिर किसी भी तरह अगर अंत में उन्हें विलय कर दिया. 104 00:05:09,820 --> 00:05:13,410 >> तो चलो अंत में, पर विचार करते हैं, हम यह कर सकता है और कैसे. 105 00:05:13,410 --> 00:05:15,860 हम धारणा औपचारिक बुलबुला तरह पिछली बार की, 106 00:05:15,860 --> 00:05:18,780 और बुलबुला तरह याद था एक हम कल्पना है कि एल्गोरिथ्म 107 00:05:18,780 --> 00:05:22,640 यहाँ अपने सहपाठियों के आठ के साथ, मालूम होता है बेतरतीब ढंग से पहली बार में हल. 108 00:05:22,640 --> 00:05:26,110 और हम तो हैं, जोड़ो का फैसला दो तत्वों, क्रम से बाहर हैं 109 00:05:26,110 --> 00:05:26,950 बस उन्हें स्वैप. 110 00:05:26,950 --> 00:05:28,930 तो चार और दो हैं जाहिर आदेश से बाहर है, 111 00:05:28,930 --> 00:05:31,080 इसलिए उन दो सहपाठियों पदों बंद कर दिया. 112 00:05:31,080 --> 00:05:35,390 और फिर हम, चार और छह के साथ दोहराया फिर छह और आठ, प्रत्येक यात्रा पर, 113 00:05:35,390 --> 00:05:36,980 सही करने के लिए घूम रहा है. 114 00:05:36,980 --> 00:05:42,590 >> तो, कितने जोड़ो में आठ लोगों को दिया से चलते समय की तुलना मैं क्या किया 115 00:05:42,590 --> 00:05:45,220 ऐसा ही एक यात्रा में सही करने के लिए छोड़ दिया है? 116 00:05:45,220 --> 00:05:48,410 कितने तुलना? 117 00:05:48,410 --> 00:05:49,197 सात, है ना? 118 00:05:49,197 --> 00:05:51,405 आठ अगर वहाँ क्योंकि लोगों लेकिन आप जोड़ी 119 00:05:51,405 --> 00:05:53,880 उन्हें और आप आगे बढ़ते रहना एक, सही करने के लिए हॉप 120 00:05:53,880 --> 00:05:56,060 आप आठ पास करने के लिए नहीं जा रहे हैं तुलना आप तुलना नहीं कर सकते क्योंकि 121 00:05:56,060 --> 00:05:59,226 खुद के खिलाफ एक तत्व, या यह होगा बस व्यर्थ हो, तो आप सात है. 122 00:05:59,226 --> 00:06:01,290 या अधिक आम तौर पर, अगर हम n लोगों की है, हम 123 00:06:01,290 --> 00:06:04,300 n शून्य से 1 तुलना करते हैं बुलबुला तरह के साथ. 124 00:06:04,300 --> 00:06:08,150 >> तो कैसे अच्छा है अब विचार करते हैं या बुरा बुलबुला तरह वास्तव में था, और कोशिश 125 00:06:08,150 --> 00:06:13,570 साथ खुद को शब्दावली देने के लिए इस तरह आलोचना एल्गोरिदम करने के लिए है, जो 126 00:06:13,570 --> 00:06:14,430 और जल्द ही हमारे अपने. 127 00:06:14,430 --> 00:06:16,970 के माध्यम से पहले पास तो बुलबुला तरह, पहली बार 128 00:06:16,970 --> 00:06:20,909 मैं भर में बाएं से दाएं चला मंच, मुझे पता शून्य से 1 की तुलना में ले लिया. 129 00:06:20,909 --> 00:06:22,950 और कहा कि होने जा रहा है मेरा मापने की इकाई है, है ना? 130 00:06:22,950 --> 00:06:26,170 मैं एक तरह से बात कर रही है और आवारा था, कुछ हद तक कुछ हद तक धीमी गति से, तेजी से, 131 00:06:26,170 --> 00:06:29,300 इसलिए सेकंड के मेरे संख्या की गणना विशेष रूप से नहीं बता रही है, 132 00:06:29,300 --> 00:06:32,260 लेकिन की संख्या की गणना मैं सोमवार को किया था कि आपरेशन, 133 00:06:32,260 --> 00:06:35,900 दो लोगों की तुलना, का मानना ​​है कि माप की एक अच्छी इकाई की तरह. 134 00:06:35,900 --> 00:06:40,980 >> तो n शून्य से 1 पहली बार कदम, लेकिन फिर उसके बाद क्या हुआ? 135 00:06:40,980 --> 00:06:46,610 एक पास के एक उल्टा क्या है एक अन्यथा unsorted सूची के माध्यम से? 136 00:06:46,610 --> 00:06:49,840 आप तत्व के बारे में मुझे बता सकते हैं क्या वहाँ पर सभी तरह कौन था? 137 00:06:49,840 --> 00:06:51,300 हाँ? 138 00:06:51,300 --> 00:06:52,870 यह सही, सबसे बड़ा तत्व था? 139 00:06:52,870 --> 00:06:55,710 आठ नंबर, यहां तक ​​कि वह हालांकि यहाँ शुरू कर दिया, हर बार मैं 140 00:06:55,710 --> 00:06:57,860 के खिलाफ उसकी तुलना एक पड़ोसी, वह रखा 141 00:06:57,860 --> 00:07:00,480 सही करने के लिए बुदबुदाती सूची के हाथ की ओर. 142 00:07:00,480 --> 00:07:02,710 और वास्तव में, कि जहां है एल्गोरिथ्म उसका नाम हो जाता. 143 00:07:02,710 --> 00:07:07,630 >> अब जब कि तर्क से, कितने तुलना मैं दूसरी बार पर बनाने की जरूरत 144 00:07:07,630 --> 00:07:09,800 बाएं से दाएं मुझे लगता है कि पास बनाने? 145 00:07:09,800 --> 00:07:10,730 n शून्य से 2, है ना? 146 00:07:10,730 --> 00:07:14,297 मैं अगर यह सिर्फ अपना समय बर्बाद किया जाएगा किसी के खिलाफ आठ की तुलना रखना 147 00:07:14,297 --> 00:07:16,630 नहीं तो हम पहले से ही जानते हैं, क्योंकि वह सही जगह में था. 148 00:07:16,630 --> 00:07:19,760 तो यह है कि एक का एक सा है अनुकूलन, अगले पास तो 149 00:07:19,760 --> 00:07:23,899 प्लस n शून्य से दो चरणों में होने जा रहा है, जहाँ n लोगों की संख्या है. 150 00:07:23,899 --> 00:07:26,940 अब आप की तरह भी, एक्सट्रपलेशन कर सकते हैं आप एक कंप्यूटर वैज्ञानिक नहीं कर रहे हैं, 151 00:07:26,940 --> 00:07:27,680 यह कैसे समाप्त होता है. 152 00:07:27,680 --> 00:07:31,259 इस एल्गोरिथ्म के अंत में, शायद आप सिर्फ एक तुलना छोड़ा मिल गया है. 153 00:07:31,259 --> 00:07:33,800 आप की तरह ठीक करने के लिए है मामला दो में सूची की शुरुआत 154 00:07:33,800 --> 00:07:36,540 और एक आदेश से बाहर हैं और, एक और दो में होना चाहिए 155 00:07:36,540 --> 00:07:40,330 इसलिए इस पर बाहर पैंदा प्लस 1 अंतिम तुलना. 156 00:07:40,330 --> 00:07:44,500 >> अब डॉट, डॉट, लहरों की डॉट तरह यह है juicier विवरण में से कुछ पर हाथ, 157 00:07:44,500 --> 00:07:46,452 लेकिन चलो बस आगे बढ़ो और आसान बनाने चलो. 158 00:07:46,452 --> 00:07:48,660 आप उच्च से याद करते हैं आप के स्कूल, स्पष्ट रूप से, एक बहुत 159 00:07:48,660 --> 00:07:50,340 था कि था गणित की किताबें एक छोटे से धोखा शीट 160 00:07:50,340 --> 00:07:52,550 सामने कवर या पर आप पता चला कि पीछे के कवर 161 00:07:52,550 --> 00:07:56,400 जैसे क्या श्रृंखला summations यह अंततः करने के लिए कहा. 162 00:07:56,400 --> 00:07:59,600 सामान्य स्थिति में, यदि आपके पास एक n की तरह चर, और वास्तव में यह एक है, 163 00:07:59,600 --> 00:08:01,634 तुम को देखा तो अपने पुराने स्कूल गणित की किताब, 164 00:08:01,634 --> 00:08:04,050 आप यह वास्तव में देखना होगा कि , यहां इस राशि को कहते हैं 165 00:08:04,050 --> 00:08:07,970 n बार n शून्य से 1 सभी 2 से विभाजित. 166 00:08:07,970 --> 00:08:11,172 तो अब के लिए मुझे सिर्फ निर्धारित करते हैं यह तो विश्वास की छलांग पर, सच है 167 00:08:11,172 --> 00:08:12,880 कि इस रकम क्या है अप करने के लिए, और हम कर सकते थे 168 00:08:12,880 --> 00:08:14,341 एक अधिक सामान्य मामले में साबित होता है कि. 169 00:08:14,341 --> 00:08:15,590 लेकिन अब इस बाहर का विस्तार करते हैं. 170 00:08:15,590 --> 00:08:19,920 तो चलो इस बाहर गुणा करते हैं, तो वह है n चुकता शून्य से एन, सभी 2 से विभाजित. 171 00:08:19,920 --> 00:08:23,200 यही है, वास्तव में n चुकता है शून्य से 2 n खत्म, 2 से विभाजित, 172 00:08:23,200 --> 00:08:25,010 इसलिए कि सब अच्छा है और दिलचस्प है. 173 00:08:25,010 --> 00:08:27,060 लेकिन क्या हम अगर ऐसा होता है अब प्लग में एक मूल्य है? 174 00:08:27,060 --> 00:08:29,724 मैं आठ नहीं था मान लीजिए लोगों, लेकिन एक लाख का कहना है. 175 00:08:29,724 --> 00:08:31,890 और एक लाख सिर्फ इसलिए यह एक बहुत बड़ी संख्या है 176 00:08:31,890 --> 00:08:34,039 उस में प्लग और देखते हैं क्या होता. 177 00:08:34,039 --> 00:08:39,039 मुझे लगता है कि सूत्र में एक लाख प्लग तो अगर मैं, एक लाख चुकता पाने के लिए जा रहा हूँ 178 00:08:39,039 --> 00:08:42,868 2 से विभाजित, शून्य से एक लाख, 2 से विभाजित. 179 00:08:42,868 --> 00:08:44,159 अब क्या है कि बराबर करने के लिए हो रहा है? 180 00:08:44,159 --> 00:08:47,354 तो 500 अरब, शून्य से 500,000. 181 00:08:47,354 --> 00:08:49,270 और मैं वास्तव में करते हैं कि गणित बाहर मतलब है कि, 182 00:08:49,270 --> 00:08:53,920 कि एक लाख छँटाई बुलबुला प्रकार के साथ लोग 183 00:08:53,920 --> 00:09:01,800 मुझे 499999500000 ले सकता है अंत में कदम या तुलना, 184 00:09:01,800 --> 00:09:02,900 हम सिर्फ extrapolating रहे हैं. 185 00:09:02,900 --> 00:09:06,860 >> यह बहुत धीमी गति से लगता है, लेकिन स्पष्ट रूप से एक विशेष इनपुट को मापने 186 00:09:06,860 --> 00:09:09,160 इस तरह, यह सब नहीं कह रहा है. 187 00:09:09,160 --> 00:09:14,050 लेकिन वास्तव में यह n के रूप में सुझाव है कि बड़ा और बड़ा, इस एल्गोरिथ्म हो जाता है 188 00:09:14,050 --> 00:09:16,280 की तरह लगता बदतर और बदतर, या आप वास्तव में 189 00:09:16,280 --> 00:09:20,450 इस बात का दर्द महसूस करने के लिए शुरू घातांक, कि एन, चुकता 190 00:09:20,450 --> 00:09:21,770 जो बहुत तेजी से इजाफा होता है. 191 00:09:21,770 --> 00:09:25,340 और यह विस्तार नहीं है वास्तव में, लोगों को खो दिया 192 00:09:25,340 --> 00:09:29,640 कुछ साल पहले एक निश्चित सीनेटर कौन था चुनाव प्रचार, एक साक्षात्कार के लिए बैठ गए 193 00:09:29,640 --> 00:09:32,180 गूगल के एरिक के साथ श्मिट, समय पर सीईओ 194 00:09:32,180 --> 00:09:36,380 और एक सवाल के साथ चुनौती दी गई थी जितना हम आज की खोज कर रहे हैं. 195 00:09:36,380 --> 00:09:38,468 चलो एक नज़र रखना. 196 00:09:38,468 --> 00:09:45,280 >> [वीडियो प्लेबैक] 197 00:09:45,280 --> 00:09:48,560 >> -Senator, तुम यहाँ हो गूगल पर, और मुझे पसंद 198 00:09:48,560 --> 00:09:53,382 राष्ट्रपति पद के बारे में सोचना एक नौकरी के साक्षात्कार के रूप में. 199 00:09:53,382 --> 00:09:56,434 अब, इसे पाने के लिए मुश्किल है राष्ट्रपति के रूप में एक नौकरी, 200 00:09:56,434 --> 00:09:58,100 और तुम अब कठोरता के माध्यम से जा रहे हैं. 201 00:09:58,100 --> 00:10:01,860 यह गूगल पर एक नौकरी पाने के लिए भी मुश्किल है. 202 00:10:01,860 --> 00:10:05,490 हम प्रश्न हैं, और हम हमारे उम्मीदवारों सवाल पूछने, 203 00:10:05,490 --> 00:10:09,770 और यह एक लैरी श्विमर से है. 204 00:10:09,770 --> 00:10:14,760 क्या-- तुम लोगों को मैं हूँ मजाक कर रहे हैं, यह ठीक है यहाँ है. 205 00:10:14,760 --> 00:10:17,930 सबसे कारगर तरीका क्या है एक लाख 32 बिट पूर्णांकों तरह? 206 00:10:17,930 --> 00:10:21,800 207 00:10:21,800 --> 00:10:24,350 >> -Well-- 208 00:10:24,350 --> 00:10:25,200 >> खेद; -मैं, maybe-- 209 00:10:25,200 --> 00:10:27,400 >> नहीं, नहीं, नहीं. 210 00:10:27,400 --> 00:10:30,700 मैं बुलबुला तरह लगता है गलत रास्ता तय करना होगा. 211 00:10:30,700 --> 00:10:34,165 212 00:10:34,165 --> 00:10:38,180 >> आओ पर, जो उसे यह बताया? 213 00:10:38,180 --> 00:10:40,590 मैं कंप्यूटर नहीं देखा अपनी पृष्ठभूमि में विज्ञान. 214 00:10:40,590 --> 00:10:42,130 >> -We've वहाँ में हमारे जासूस मिला. 215 00:10:42,130 --> 00:10:44,930 216 00:10:44,930 --> 00:10:48,444 >> ठीक है, चलो एक अलग पूछना साक्षात्कार प्रश्न. 217 00:10:48,444 --> 00:10:49,300 >> [अंत वीडियो प्लेबैक] 218 00:10:49,300 --> 00:10:52,290 >> अध्यक्ष: तो के बारे में बात हालांकि विशिष्ट संख्या है, 219 00:10:52,290 --> 00:10:53,890 कि सभी उपयोगी होने वाला नहीं है. 220 00:10:53,890 --> 00:10:56,810 यह एक जीवन सबक है कि बुलबुला नहीं है क्रमबद्ध, एक लाख आदानों दिया, 221 00:10:56,810 --> 00:10:58,590 के रूप में कई 500,000,000,000 के रूप में कदम उठाने के लिए हो सकता है. 222 00:10:58,590 --> 00:11:01,120 आप वास्तव में सामान्यीकरण नहीं कर सकते बहुत प्रभावी ढंग से उस से 223 00:11:01,120 --> 00:11:03,560 और अच्छे डिजाइन निर्णय लेने कार्यक्रमों जब लेखन. 224 00:11:03,560 --> 00:11:07,070 तो चलो कैसे पर यद्यपि ध्यान केंद्रित हम इस परिणाम को आसान बनाने में हो सकता है. 225 00:11:07,070 --> 00:11:11,780 >> इसलिए मैं यहां पीले रंग में प्रकाश डाला है n के परिणाम, 2 से विभाजित चुकता 226 00:11:11,780 --> 00:11:14,330 तो एक लाख चुकता 2 से विभाजित है, और फिर 227 00:11:14,330 --> 00:11:16,710 मैं प्रकाश डाला है क्या अंतिम जवाब था 228 00:11:16,710 --> 00:11:20,180 हम बंद घटाया एक बार 2 n से विभाजित. 229 00:11:20,180 --> 00:11:24,850 और अब मैं करने जा रहा हूँ दावा है, आप बंद घटाना अगर जो बिल्ली परवाह 230 00:11:24,850 --> 00:11:30,060 2 एक छोटे से अधिक पुराने n जब पहले इस सूत्र का हिस्सा इतना बड़ा है? 231 00:11:30,060 --> 00:11:33,910 यह अन्य हावी अवधि, एन 2 से विभाजित चुकता 232 00:11:33,910 --> 00:11:37,510 के रूप में, स्पष्ट रूप से, इतना बड़ा है एन, एक लाख की तरह बड़ा हो जाता है 233 00:11:37,510 --> 00:11:41,450 कि वास्तव में एक बड़ा अंतर है 500 अरब के बीच दिन के अंत 234 00:11:41,450 --> 00:11:45,730 और 499999500000? 235 00:11:45,730 --> 00:11:46,349 ज़रूरी नहीं. 236 00:11:46,349 --> 00:11:48,640 और तो क्या हम करने जा रहे हैं कंप्यूटर वैज्ञानिकों के रूप में करते हैं 237 00:11:48,640 --> 00:11:53,270 उन निचले क्रम शर्तें उपेक्षा और इस और सच की तरह कुछ ले 238 00:11:53,270 --> 00:11:56,050 अभी तक यह आसान बनाने में बात करने के लिए जा रहा है कि अवधि. 239 00:11:56,050 --> 00:12:00,315 बड़ा हमारे डेटा सेट, बड़ा हो हमारे डाटाबेस, और अधिक वेब पृष्ठों मिल 240 00:12:00,315 --> 00:12:02,690 हम अधिक से खोज करने के लिए दोस्तों आप फेसबुक पर है. 241 00:12:02,690 --> 00:12:07,340 >> N बड़ा हो जाता है, हम वास्तव में कर रहे हैं सबसे बड़ा बारे में देखभाल करने के लिए जा रहा 242 00:12:07,340 --> 00:12:11,560 के किसी भी तरह के विश्लेषण में अवधि हमारे एल्गोरिदम प्रदर्शन. 243 00:12:11,560 --> 00:12:16,230 और मैं तुम्हें पता है क्या कहने के लिए जा रहा हूँ, बुलबुला तरह बड़ी हे के आदेश पर है, 244 00:12:16,230 --> 00:12:18,060 n के आदेश पर चुकता. 245 00:12:18,060 --> 00:12:20,090 यह बिल्कुल पता नहीं है हमने देखा है के रूप में चुकता, 246 00:12:20,090 --> 00:12:22,060 लेकिन जो वास्तव में परवाह उन छोटे शब्दों के बारे में, 247 00:12:22,060 --> 00:12:24,390 और सच कहूँ तो, जो वास्तव में हम 2 से विभाजित अगर परवाह करता है? 248 00:12:24,390 --> 00:12:25,870 वह सिर्फ एक निरंतर कारक है. 249 00:12:25,870 --> 00:12:29,480 और 250 बनाम 500 अरब है अरब के एक सौदे की सच है कि बड़ी? 250 00:12:29,480 --> 00:12:32,190 मैं सिर्फ एक साल इंतजार कर सकता है, सचमुच मेरे लैपटॉप चलो 251 00:12:32,190 --> 00:12:34,810 , हार्डवेयर में दो बार के रूप में तेजी से मिलता है और अंतर का है कि तरह 252 00:12:34,810 --> 00:12:36,650 बस समय के साथ स्वाभाविक रूप से दूर हो जाता है. 253 00:12:36,650 --> 00:12:39,300 >> क्या हम के बारे में परवाह है अभिव्यक्ति, भाग 254 00:12:39,300 --> 00:12:42,489 भिन्न करने के लिए जा रहा है कि अभिव्यक्ति की हमारे इनपुट बड़ा और बड़ा हो जाता है. 255 00:12:42,489 --> 00:12:45,280 और वास्तव में, असली दुनिया में, कि तेजी से हो रहा है 256 00:12:45,280 --> 00:12:48,330 है हमारी समस्याओं को जानकारी और एल्गोरिदम बड़ा हो रही है. 257 00:12:48,330 --> 00:12:53,470 तो बड़ी हे अंकन होने जा रहा है, asymptotic अंकन, हम है कि बस 258 00:12:53,470 --> 00:12:57,160 कंप्यूटर वैज्ञानिकों का वर्णन करने के रूप में उपयोग प्रदर्शन, या समय चल रहा है, 259 00:12:57,160 --> 00:12:58,130 एक एल्गोरिथ्म की. 260 00:12:58,130 --> 00:13:00,800 हम एल्गोरिदम तुलना कर सकते हैं जिससे कि लिखित अलग कंप्यूटरों पर 261 00:13:00,800 --> 00:13:04,170 अलग अलग लोगों द्वारा, का उपयोग करते हुए कुछ मौलिक समान मीट्रिक 262 00:13:04,170 --> 00:13:07,557 तुलना की संख्या की तरह आप कर रहे हैं शायद स्वैप की संख्या, या 263 00:13:07,557 --> 00:13:08,140 आप बना रहे हैं. 264 00:13:08,140 --> 00:13:11,910 >> क्या हम नहीं जा रहे हैं गणना के समय की राशि है 265 00:13:11,910 --> 00:13:13,981 उस घड़ी पर गुजरता आम तौर पर दीवार पर. 266 00:13:13,981 --> 00:13:16,230 क्या हम चिंता नहीं जा रहे हैं के बारे में कितना स्मृति है 267 00:13:16,230 --> 00:13:17,820 आप में आज प्रयोग कर रहे हैं कि हालांकि, कम से कम 268 00:13:17,820 --> 00:13:19,370 हम उपाय हो सकता है एक और संसाधन. 269 00:13:19,370 --> 00:13:23,610 हम अपने विश्लेषण के आधार करने के लिए प्रयास करने के लिए जा रहे हैं सिर्फ बुनियादी आपरेशनों पर, लोगों, 270 00:13:23,610 --> 00:13:25,930 स्पष्ट रूप से, आप सबसे अधिक नेत्रहीन देख सकते हैं. 271 00:13:25,930 --> 00:13:30,700 N की बड़ी हे तरह कुछ के साथ तो चुकता, मैं n हे चुकता दावा है कि 272 00:13:30,700 --> 00:13:35,820 एक ऊपरी तथाकथित पर ही है बुलबुला तरह का समय चल रहा है. 273 00:13:35,820 --> 00:13:38,820 दूसरे शब्दों में, आप अगर वहाँ का दावा है कि चाहता था 274 00:13:38,820 --> 00:13:41,370 कितने पर इस ऊपरी सीमा एक एल्गोरिथ्म ले सकता है कदम, 275 00:13:41,370 --> 00:13:46,240 यह n की बड़ी हे में होने जा रहा है इस मामले में चुकता, एक ऊपरी ही. 276 00:13:46,240 --> 00:13:49,710 >> क्या मैं बजाय बदलते हैं कहानी, नहीं बुलबुला तरह के बारे में होना 277 00:13:49,710 --> 00:13:50,910 लेकिन यह ऊपरी बाध्य बारे में. 278 00:13:50,910 --> 00:13:54,030 आप एक एल्गोरिथ्म के बारे में सोच सकते हैं हम पहले से ही देखा है कि 279 00:13:54,030 --> 00:13:59,530 जिसका ऊपरी ही, अधिकतम समय या संचालन के उपाय, 280 00:13:59,530 --> 00:14:04,300 घिरा होने के लिए कहा जा होगा n द्वारा एक रैखिक समारोह, 281 00:14:04,300 --> 00:14:07,260 नहीं घुमावदार है कि एक वर्ग एक? 282 00:14:07,260 --> 00:14:10,780 एक एल्गोरिथ्म क्या है कि हमेशा अधिक नहीं लेता है 283 00:14:10,780 --> 00:14:12,860 n कदम, या तरह से 2N कदम, या 3N कदम? 284 00:14:12,860 --> 00:14:13,360 हाँ? 285 00:14:13,360 --> 00:14:15,030 >> दर्शक: ढूँढना एक सूची में सबसे बड़ी संख्या? 286 00:14:15,030 --> 00:14:16,930 >> अध्यक्ष: बिल्कुल सही, ढूँढने एक सूची में सबसे बड़ी संख्या. 287 00:14:16,930 --> 00:14:18,940 मैं की एक सूची दी रहा हूँ उदाहरण के लिए लोगों को, 288 00:14:18,940 --> 00:14:21,440 जो की हर एक संख्या पकड़ रहा है अधिकतम संख्या क्या है 289 00:14:21,440 --> 00:14:23,770 कदम की यह मुझे ले जाना चाहिए, एक हद तक स्मार्ट व्यक्ति, 290 00:14:23,770 --> 00:14:27,530 उस सूची में सबसे बड़ा व्यक्ति को खोजने के लिए? 291 00:14:27,530 --> 00:14:28,100 एन, सही? 292 00:14:28,100 --> 00:14:31,320 सबसे खराब स्थिति में, क्योंकि जहां सबसे बड़ा मूल्य हो सकता है? 293 00:14:31,320 --> 00:14:32,700 ठीक है, अंत में सभी तरह. 294 00:14:32,700 --> 00:14:34,575 सबसे खराब स्थिति में तो ऊपरी ही, मैं हो सकता है 295 00:14:34,575 --> 00:14:36,450 सभी तरह से जाना है यहाँ पर और की तरह हो, 296 00:14:36,450 --> 00:14:39,170 ओह, यहाँ संख्या आठ है, या कि मूल्य है जो भी हो. 297 00:14:39,170 --> 00:14:41,330 अब यह सिर्फ बेवकूफ होगा मैं सही रखा जा रहा है? 298 00:14:41,330 --> 00:14:43,840 अधिक से अधिक तत्वों के लिए खोज रहे हैं उनमें से आखिरी वहाँ पर है तो क्या होगा? 299 00:14:43,840 --> 00:14:45,340 तो निश्चित रूप से, एन एक ऊपरी बाध्य है. 300 00:14:45,340 --> 00:14:47,420 मैं लेने की जरूरत नहीं है उस से भी अधिक कदम. 301 00:14:47,420 --> 00:14:51,580 >> तो बजाय अगर मुझे लगता है कि प्रस्तावित क्या इस दुनिया में एल्गोरिदम रहे हैं कि 302 00:14:51,580 --> 00:14:57,750 है कि एक समय चल रहा है लॉग n की बड़ी हे से घिरा, लॉग एन? 303 00:14:57,750 --> 00:15:00,390 हम कहाँ से पहले यह देखा है? 304 00:15:00,390 --> 00:15:00,890 हाँ? 305 00:15:00,890 --> 00:15:03,309 >> दर्शक: फोन की किताब समस्या में? 306 00:15:03,309 --> 00:15:04,850 अध्यक्ष: फोन की किताब समस्या की तरह. 307 00:15:04,850 --> 00:15:07,754 कैसे के उपाय क्या था बहुत समय या कितने आँसू यह 308 00:15:07,754 --> 00:15:10,170 मेरे जैसे किसी को खोजने के लिए ले लिया फोन बुक में माइक स्मिथ? 309 00:15:10,170 --> 00:15:13,212 हम यह लॉग n दावा किया गया था, और भी अपरिचित या अगर यह बात है 310 00:15:13,212 --> 00:15:15,170 क्या एक थोड़ा धुंधला लघुगणक या प्रतिपादक था, 311 00:15:15,170 --> 00:15:17,650 सिर्फ इतना है कि लॉग n याद आम तौर पर प्रक्रिया को दर्शाता है, 312 00:15:17,650 --> 00:15:20,790 इस मामले में, विभाजन की फिर, और फिर आधे में कुछ, 313 00:15:20,790 --> 00:15:25,790 और फिर, और फिर, इस तरह यह है कि आप ऐसा कर के रूप में तेजी से छोटे हो जाता है. 314 00:15:25,790 --> 00:15:28,470 >> N यकीन, संदर्भित करता है तो लॉग ऑन करें, फोन की किताब उदाहरण के लिए, 315 00:15:28,470 --> 00:15:32,662 सिद्धांत रूप में द्विआधारी खोज करने के लिए, जब हम बोर्ड पर आभासी दरवाजे था 316 00:15:32,662 --> 00:15:34,370 या सीन था जब कुछ के लिए खोज. 317 00:15:34,370 --> 00:15:37,374 वह द्विआधारी खोज का इस्तेमाल किया था, तो लॉग एन कितना पर ऊपरी बाध्य होगा 318 00:15:37,374 --> 00:15:38,040 लेता है उस समय. 319 00:15:38,040 --> 00:15:44,027 लेकिन में भाग गया है कि उन एल्गोरिदम n क्या कुंजी विस्तार ग्रहण प्रवेश करें? 320 00:15:44,027 --> 00:15:45,360 सूची, सही क्रमबद्ध था? 321 00:15:45,360 --> 00:15:47,789 अपने एल्गोरिथ्म अगर गलत है अपने इनपुट, हल नहीं है 322 00:15:47,789 --> 00:15:49,830 और फिर भी आप उपयोग कर रहे हैं द्विआधारी खोज की तरह कुछ 323 00:15:49,830 --> 00:15:51,704 तुम कूद सकता है क्योंकि सही तत्व पर 324 00:15:51,704 --> 00:15:53,600 एहसास के बिना यह वास्तव में नहीं है. 325 00:15:53,600 --> 00:15:55,600 >> अब इस एक की, बड़ी हे क्या मतलब हो सकता है? 326 00:15:55,600 --> 00:15:59,117 यह अपने एल्गोरिथ्म मतलब नहीं है कि , एक और केवल एक कदम लेता है 327 00:15:59,117 --> 00:16:01,200 यह सिर्फ एक लेता मतलब चरणों की लगातार संख्या. 328 00:16:01,200 --> 00:16:04,060 शायद यह हो सकता है यह है, 1 है 10, हो सकता है यह 1000 के, 329 00:16:04,060 --> 00:16:07,750 लेकिन इसके बारे में स्वतंत्र है समस्या का आकार. 330 00:16:07,750 --> 00:16:10,850 चाहे कितना बड़ा n है, एक निरंतर समय एल्गोरिथ्म 331 00:16:10,850 --> 00:16:12,747 हमेशा चरणों की एक ही नंबर लेता है. 332 00:16:12,747 --> 00:16:15,080 तो क्या एक एल्गोरिथ्म हो सकता है हम के बारे में या सिर्फ बात की है 333 00:16:15,080 --> 00:16:20,418 intuitively कि कि तुम्हारे पास आता है हमेशा तथाकथित लगातार समय में चलाता है? 334 00:16:20,418 --> 00:16:20,918 हाँ? 335 00:16:20,918 --> 00:16:22,001 >> दर्शक: दो नंबर जोड़ें. 336 00:16:22,001 --> 00:16:25,320 अध्यक्ष:, दो नंबर जोड़ें 2 प्लस 2 किया, 4 के बराबर होती है. 337 00:16:25,320 --> 00:16:27,227 तो यह है कि काम हो सकता है, और क्या? 338 00:16:27,227 --> 00:16:28,560 कैसे और अधिक वास्तविक दुनिया के बारे में, हाँ? 339 00:16:28,560 --> 00:16:30,686 >> दर्शक: ढूँढना एक सूची में पहली बात. 340 00:16:30,686 --> 00:16:32,810 अध्यक्ष: पहला ढूँढना एक सूची में तत्व, यकीन. 341 00:16:32,810 --> 00:16:34,540 हम वास्तव में बात कर रहा है पहले से ही सरणियों के बारे में, 342 00:16:34,540 --> 00:16:36,540 पर तुम कैसे मिलता है एक सरणी में पहला तत्व है, 343 00:16:36,540 --> 00:16:40,465 कोई बात नहीं कितनी देर तक सरणी सी कोड में है? 344 00:16:40,465 --> 00:16:43,090 तुम बस ब्रैकेट की तरह उपयोग शून्य अंकन, बेम, तुम वहाँ हो. 345 00:16:43,090 --> 00:16:46,120 और एक अलग रूप में वास्तव में सरणियों,, समर्थन कुछ आम तौर पर जाना जाता है 346 00:16:46,120 --> 00:16:49,240 रैंडम एक्सेस के रूप में, रैंडम एक्सेस स्मृति, तुम सचमुच कर सकते हैं क्योंकि 347 00:16:49,240 --> 00:16:50,284 किसी भी एक जगह करने के लिए कूद. 348 00:16:50,284 --> 00:16:52,700 हम बस यह और भी कर सकते हैं हम सप्ताह शून्य को उल्टा कर सकते हैं 349 00:16:52,700 --> 00:16:53,900 जब हम खरोंच किया था. 350 00:16:53,900 --> 00:16:59,707 इसके लिए ले गए थे कितना समय स्क्रैच में ब्लॉक निष्पादित करने के लिए कहते हैं? 351 00:16:59,707 --> 00:17:00,790 बस लगातार समय, सही? 352 00:17:00,790 --> 00:17:03,960 , कुछ कहना कुछ, यह बात नहीं है 353 00:17:03,960 --> 00:17:07,359 बड़े खरोंच दुनिया कैसी है, यह हमेशा समय का एक ही राशि ले जा रहा 354 00:17:07,359 --> 00:17:08,490 बस कुछ कहने के लिए. 355 00:17:08,490 --> 00:17:11,089 >> तो यह है कि लगातार समय है, लेकिन दूसरा पहलू क्या है? 356 00:17:11,089 --> 00:17:13,030 कि ऊपरी था सीमा, हम क्या चाहते हैं 357 00:17:13,030 --> 00:17:17,089 कम सीमा का वर्णन करने के लिए हमारे एल्गोरिदम का समय चल रहा है? 358 00:17:17,089 --> 00:17:19,852 लगभग एक सबसे अच्छा मामले संभवतः, अगर तुम जाएगा, 359 00:17:19,852 --> 00:17:23,060 इन शब्दों का सबसे अच्छा करने के लिए आवेदन कर सकता है, हालांकि मामलों, सबसे खराब मामलों, औसत मामलों अधिक 360 00:17:23,060 --> 00:17:26,359 आम तौर पर, लेकिन सिर्फ ध्यान केंद्रित निचले सीमा पर अधिक आम तौर पर. 361 00:17:26,359 --> 00:17:31,920 क्या है कि एक एल्गोरिथ्म है एक कम, एन चरणों के लिए बाध्य 362 00:17:31,920 --> 00:17:33,350 या 2N कदम, या 3N कदम? 363 00:17:33,350 --> 00:17:36,241 N चरणों में से कुछ कारक, कि इसकी कम ही है. 364 00:17:36,241 --> 00:17:36,740 हाँ? 365 00:17:36,740 --> 00:17:37,910 >> दर्शक: बुलबुला तरह? 366 00:17:37,910 --> 00:17:41,610 >> अध्यक्ष: बुलबुला तरह लेता है आप न्यूनतम n कदम, क्यों? 367 00:17:41,610 --> 00:17:42,279 ऐसा क्यों? 368 00:17:42,279 --> 00:17:45,320 क्यों कि शुरू तुम्हारे पास आना चाहिए Intuitively, यह करता है, भले ही नहीं बस 369 00:17:45,320 --> 00:17:46,530 अभी तक? 370 00:17:46,530 --> 00:17:47,030 हाँ? 371 00:17:47,030 --> 00:17:47,990 >> दर्शक: [अश्राव्य]. 372 00:17:47,990 --> 00:17:51,652 373 00:17:51,652 --> 00:17:52,360 अध्यक्ष: बिल्कुल है. 374 00:17:52,360 --> 00:17:55,810 का सबसे अच्छा संभव परिदृश्य में बुलबुला तरह, और एल्गोरिदम का एक बहुत, 375 00:17:55,810 --> 00:17:58,769 मैं आप आठ लोग हाथ जो पहले से ही हल कर रहे हैं, 376 00:17:58,769 --> 00:18:00,560 यह मूर्खता होगी आप के लिए, एल्गोरिथ्म, 377 00:18:00,560 --> 00:18:02,202 आगे और पीछे जाने के लिए एक बार से अधिक, है ना? 378 00:18:02,202 --> 00:18:04,285 जैसे ही आप के रूप में, क्योंकि एक बार सूची के माध्यम से चलना, 379 00:18:04,285 --> 00:18:08,090 आप का एहसास ओह चाहिए, मैंने बनाया कोई स्वैप, इस सूची से बाहर निकलें हल है. 380 00:18:08,090 --> 00:18:09,700 लेकिन यह है कि आप n कदम उठाने जा रहा है. 381 00:18:09,700 --> 00:18:12,033 >> और इसके विपरीत, क्या एक और है इसके बारे में सोचने का तरीका? 382 00:18:12,033 --> 00:18:15,240 बुलबुला तरह एक ओमेगा है, इसलिए n का, बात करने के लिए, 383 00:18:15,240 --> 00:18:19,050 अगर तुम देखो, क्योंकि कम से n तत्वों, क्या 384 00:18:19,050 --> 00:18:23,009 मौलिक मुद्दा है? 385 00:18:23,009 --> 00:18:24,550 इसे हल है तो आप सही पता नहीं है. 386 00:18:24,550 --> 00:18:26,800 हम आठ में पराक्रम नज़र मनुष्य लोगों और,, ओह, यह हल हो 387 00:18:26,800 --> 00:18:28,430 कि मुझे पता कदम उठाने नहीं था, लेकिन ऐसा किया था. 388 00:18:28,430 --> 00:18:30,810 तुम्हारी आँखें, भी तरह आप हालांकि का, दृष्टि का एक बड़ा क्षेत्र है 389 00:18:30,810 --> 00:18:33,184 आप आठ तत्वों को देखा, तुम, आठ लोगों को देखा 390 00:18:33,184 --> 00:18:34,610 कि प्रभावी ढंग से आठ कदम है. 391 00:18:34,610 --> 00:18:38,612 और मैं पूरे के माध्यम से चलना ही अगर सूची मैं हाँ, हल, महसूस करते हैं. 392 00:18:38,612 --> 00:18:41,320 मैं रोक तो आधे रास्ते सब सोच ठीक है, यह बहुत अब तक हल है, 393 00:18:41,320 --> 00:18:42,520 इसे हल नहीं है क्या हालात हैं? 394 00:18:42,520 --> 00:18:44,186 यह सही नहीं होने जा रहा एल्गोरिदम. 395 00:18:44,186 --> 00:18:46,250 तेजी से, लेकिन गलत हो सकता है. 396 00:18:46,250 --> 00:18:48,500 >> तो अब हम एक तरह का है एक निचली सीमा का वर्णन, 397 00:18:48,500 --> 00:18:49,710 और लगातार समय के बारे में क्या? 398 00:18:49,710 --> 00:18:54,565 क्या एक कम है कि एक एल्गोरिथ्म है एक के अपने समय चलने पर बाध्य? 399 00:18:54,565 --> 00:18:58,350 चरण 1, 2 चरणों, 10 चरणों, लेकिन , निरंतर n के स्वतंत्र, 400 00:18:58,350 --> 00:18:59,310 इनपुट के आकार? 401 00:18:59,310 --> 00:19:03,930 402 00:19:03,930 --> 00:19:04,600 हाँ, पीठ में. 403 00:19:04,600 --> 00:19:05,309 >> दर्शक: printf? 404 00:19:05,309 --> 00:19:06,183 अध्यक्ष: वह क्या है? 405 00:19:06,183 --> 00:19:07,184 दर्शक: printf? 406 00:19:07,184 --> 00:19:07,850 अध्यक्ष: printf. 407 00:19:07,850 --> 00:19:08,400 यकीन है, ठीक है. 408 00:19:08,400 --> 00:19:10,720 इसलिए यह कदम की एक निश्चित संख्या लेता है. 409 00:19:10,720 --> 00:19:13,170 और मैं अब उस now-- चाहिए हम सी कोड के बारे में बात कर रहे हैं 410 00:19:13,170 --> 00:19:16,040 और नहीं स्क्रैच, कुछ कहते हैं, printf साथ, 411 00:19:16,040 --> 00:19:17,710 हम सावधान पाने के लिए शुरू कर देना चाहिए. 412 00:19:17,710 --> 00:19:21,090 Printf ले करता है क्योंकि इनपुट, यह एक स्ट्रिंग है, 413 00:19:21,090 --> 00:19:23,220 और तार तकनीकी रूप से लंबाई है. 414 00:19:23,220 --> 00:19:25,530 हम अब लेने के लिए चाहते हैं, तो आप पर, आप मन नहीं है, 415 00:19:25,530 --> 00:19:29,430 तकनीकी रूप से हम उस printf तर्क दे सकते हैं एक चर लंबाई इनपुट ले करता है, 416 00:19:29,430 --> 00:19:32,270 और निश्चित रूप से यह अधिक लग सकता है समय, यह लंबे समय से एक स्ट्रिंग मुद्रित करने के लिए 417 00:19:32,270 --> 00:19:33,560 इस लंबे से. 418 00:19:33,560 --> 00:19:36,570 >> तो हम बस क्या विचार छंटाई और उदाहरण खोज? 419 00:19:36,570 --> 00:19:40,450 फोन में माइक स्मिथ के बारे में क्या पुस्तक, या अधिक आम तौर पर द्विआधारी खोज? 420 00:19:40,450 --> 00:19:42,220 सबसे अच्छा मामले में, क्या हो सकता है? 421 00:19:42,220 --> 00:19:45,577 मैं, बेम, फोन की किताब खोलने और माइक स्मिथ की संख्या है. 422 00:19:45,577 --> 00:19:46,660 मैं अभी उसे फोन कर सकते हैं. 423 00:19:46,660 --> 00:19:49,390 >> शायद दो कदम एक कदम ले लिया, लेकिन कदम की एक निरंतर संख्या 424 00:19:49,390 --> 00:19:50,230 मैं भाग्यशाली हूं. 425 00:19:50,230 --> 00:19:52,570 और सच कहूँ तो, हम पर देखा सोमवार को अपनी सहपाठी 426 00:19:52,570 --> 00:19:54,710 एक पंक्ति में दो बार काफी भाग्यशाली हो. 427 00:19:54,710 --> 00:19:57,050 और कहा कि वास्तव में स्थिर था एक कम सीमा में समय 428 00:19:57,050 --> 00:20:01,280 प्रश्न में एल्गोरिथ्म पर खोजने के लिए उन बंद के पीछे संख्या 50 429 00:20:01,280 --> 00:20:01,830 दरवाजे. 430 00:20:01,830 --> 00:20:06,400 >> अब, एक तरफ, आपको पता चलता है के रूप में अगर , दोनों बड़ी हे, ऊपरी बाध्य है कि 431 00:20:06,400 --> 00:20:09,310 और ओमेगा, कम, बाध्य , कि उसी में से एक हैं 432 00:20:09,310 --> 00:20:11,830 एक ही सूत्र में है कोष्ठक, आप भी कर सकते हैं 433 00:20:11,830 --> 00:20:15,170 , सिर्फ कल्पना की, कहना कि कुछ थीटा में है 434 00:20:15,170 --> 00:20:18,270 एन या कुछ अन्य मूल्य की थीटा की. 435 00:20:18,270 --> 00:20:20,661 वह सिर्फ जब बड़ा मतलब हे और ओमेगा वही कर रहे हैं. 436 00:20:20,661 --> 00:20:21,910 अब चयन प्रकार के बारे में क्या? 437 00:20:21,910 --> 00:20:23,400 इस नई शब्दावली का प्रयोग करते हैं. 438 00:20:23,400 --> 00:20:27,407 चयन प्रकार में, क्या हम थे फिर से कर रही है, और फिर, और फिर? 439 00:20:27,407 --> 00:20:29,990 मैं के माध्यम से आगे और पीछे जा रहा था सूची, जिनके लिए देख रहे हैं? 440 00:20:29,990 --> 00:20:33,260 441 00:20:33,260 --> 00:20:34,730 सबसे छोटी संख्या. 442 00:20:34,730 --> 00:20:37,560 >> तो कितने कदम, कैसे कई की तुलना में मैंने किया 443 00:20:37,560 --> 00:20:43,250 यह पता लगाने के क्रम में करना है जो सूची में सबसे छोटी तत्व था? 444 00:20:43,250 --> 00:20:44,437 n शून्य से 1, है ना? 445 00:20:44,437 --> 00:20:47,770 मैं सिर्फ मैं कर रहा हूँ एक साथ शुरू क्योंकि अगर दिया और मैं उसे या उसके तुलना शुरू, 446 00:20:47,770 --> 00:20:49,519 उसे या उसे फिर उसे, उसे या उसके, मैं या 447 00:20:49,519 --> 00:20:52,010 केवल तत्वों जोड़ी कर सकते हैं एक साथ n शून्य से 1 बार. 448 00:20:52,010 --> 00:20:55,630 इसलिए चयन क्रमबद्ध इसी तरह लेता है n शून्य से 1 पहली बार कदम. 449 00:20:55,630 --> 00:20:59,540 >> यह करने के लिए मुझे ले करता कितने कदम दूसरा सबसे छोटा तत्व पाते? 450 00:20:59,540 --> 00:21:02,920 n शून्य से 2, मैं कर रहा हूँ क्योंकि गूंगा जा रहा है मैं एक ही लोगों को देख रही है अगर 451 00:21:02,920 --> 00:21:06,280 फिर मैं पहले से ही उसे चुना है, तो या उसे और उनकी जगह में डाल दिया. 452 00:21:06,280 --> 00:21:09,270 और तीसरा कदम, एन शून्य से 3, तो n शून्य से 4. 453 00:21:09,270 --> 00:21:11,020 हम इस पैटर्न देखा है इससे पहले, और वास्तव में 454 00:21:11,020 --> 00:21:13,460 चयन क्रमबद्ध इसी प्रकार बाउंड एक ऊपरी है 455 00:21:13,460 --> 00:21:16,210 के एन हम चाहते हैं कि योग करते अगर चुकता. 456 00:21:16,210 --> 00:21:19,790 इसकी कम बाध्य, चयन क्रमबद्ध क्या है? 457 00:21:19,790 --> 00:21:25,350 न्यूनतम रूप से, कितना समय चाहिए चयन हम सोमवार को यह परिभाषित के रूप में क्रमबद्ध, ले? 458 00:21:25,350 --> 00:21:29,370 459 00:21:29,370 --> 00:21:30,490 दो विकल्पों का प्रस्ताव. 460 00:21:30,490 --> 00:21:32,360 शायद यह पहले की तरह, एन. 461 00:21:32,360 --> 00:21:35,040 शायद यह है कि यह रूप में चुकता एन ऊपरी बाध्य रूप में अब है. 462 00:21:35,040 --> 00:21:35,874 >> दर्शक: n चुकता. 463 00:21:35,874 --> 00:21:36,664 अध्यक्ष: चुकता एन. 464 00:21:36,664 --> 00:21:37,368 क्यों? 465 00:21:37,368 --> 00:21:40,060 >> दर्शक: क्योंकि तुम [अश्राव्य] को परिभाषित करने के लिए. 466 00:21:40,060 --> 00:21:41,510 >> अध्यक्ष: बिल्कुल है. 467 00:21:41,510 --> 00:21:45,077 मैं चयन क्रमबद्ध परिभाषित कम से कम के रूप में यह बहुत भोली थी, चलते रहो, 468 00:21:45,077 --> 00:21:46,160 छोटी तत्व हैं. 469 00:21:46,160 --> 00:21:47,770 छोटी तत्व मिल जाए, फिर जाओ. 470 00:21:47,770 --> 00:21:49,490 छोटी तत्व मिल जाए, फिर जाओ. 471 00:21:49,490 --> 00:21:51,700 का कोई प्रकार है वहाँ उस में अनुकूलन 472 00:21:51,700 --> 00:21:54,350 मेरे बाद गर्भपात चलो शायद बस एन या तो कदम. 473 00:21:54,350 --> 00:21:57,080 तो वास्तव में, चयन क्रमबद्ध, एन के ओमेगा चुकता. 474 00:21:57,080 --> 00:22:00,667 >> मैं लिया जहां सम्मिलन सॉर्ट, के बारे में क्या मैं दिया गया था, और फिर मैं उसे plopped जो 475 00:22:00,667 --> 00:22:01,750 या उसे सही जगह में? 476 00:22:01,750 --> 00:22:04,958 तब मैं दूसरे व्यक्ति के लिए रवाना सही जगह में उसे या उसके plopped. 477 00:22:04,958 --> 00:22:07,910 फिर अगले व्यक्ति, plopped उसे या उसके सही जगह में. 478 00:22:07,910 --> 00:22:10,537 यह बहुत ही है कि नोटिस रेखीय, तो बात करने के लिए. 479 00:22:10,537 --> 00:22:12,620 मुझे लगता है मैं कर रहा हूँ, एक सीधी रेखा हूँ आगे और पीछे नहीं जा रहा, 480 00:22:12,620 --> 00:22:16,080 मैं वास्तव में कभी नहीं वापस देख रहे हैं, लेकिन मैं उसे सम्मिलित करते क्या हो रहा है 481 00:22:16,080 --> 00:22:20,302 की शुरुआत में उसके या सूची हम सोमवार को किया था? 482 00:22:20,302 --> 00:22:21,010 क्या हो रहा है? 483 00:22:21,010 --> 00:22:21,510 हाँ? 484 00:22:21,510 --> 00:22:23,122 दर्शक: [अश्राव्य]. 485 00:22:23,122 --> 00:22:24,830 अध्यक्ष: हाँ, यह ठीक है, पकड़ थी? 486 00:22:24,830 --> 00:22:26,746 आप से याद हो सकता है अपने सहपाठियों, वे अगर 487 00:22:26,746 --> 00:22:29,670 किसी भी आंदोलन के साथ बना रहे थे उनके पैर, कि एक ऑपरेशन था. 488 00:22:29,670 --> 00:22:33,610 तो अगर वहाँ तीन लोग यहाँ थे और नया व्यक्ति, वहाँ रास्ते पर थे 489 00:22:33,610 --> 00:22:37,360 इस तरह से एक लंबे समय से मंच पर, यकीन है, वह या वह सिर्फ बहुत अंत तक जा सकता है. 490 00:22:37,360 --> 00:22:40,074 लेकिन हम एक के बारे में सोच रहे हैं कंप्यूटर और स्मृति की एक सरणी, 491 00:22:40,074 --> 00:22:41,990 इन लोगों को जा रहे हैं अधिक फेरबदल करने के लिए है 492 00:22:41,990 --> 00:22:43,260 उस व्यक्ति के लिए जगह बनाने के लिए. 493 00:22:43,260 --> 00:22:46,930 और इसलिए कि n शून्य से 1 shufflings, n शून्य से 2 shufflings, एन 494 00:22:46,930 --> 00:22:50,660 शून्य से 3 shufflings बस की तरह है नहीं मेरे सामने, मेरे पीछे हो रहा 495 00:22:50,660 --> 00:22:52,710 पहले के रूप में, कुछ समझ में. 499 00:22:52,557 --> 00:22:54,640 अब एक अलग रूप में, और के रूप में आप ऑनलाइन देखा होगा 500 00:22:54,640 --> 00:22:57,699 आप के बारे में आसपास poking शुरू प्रकार, इतने सारे अलग अलग लोगों को वहाँ 501 00:22:57,699 --> 00:22:59,490 उनमें से बाहर वहाँ, कुछ दूसरों की तुलना में बेहतर है. 502 00:22:59,490 --> 00:23:02,200 दरअसल, bogosort एक है कि देखो मज़ा की तरह है. 503 00:23:02,200 --> 00:23:06,650 Bogosort का एक सेट लेता है नंबर या कार्ड के डेक का कहना है, 504 00:23:06,650 --> 00:23:09,870 बेतरतीब ढंग से उन्हें shuffles, और चेकों वे क्रमबद्ध रहे हैं. 505 00:23:09,870 --> 00:23:12,130 और अगर नहीं, फिर से करता है. 506 00:23:12,130 --> 00:23:14,140 और अगर नहीं, फिर से करता है. 507 00:23:14,140 --> 00:23:15,440 यदि नहीं, तो फिर से करता है. 508 00:23:15,440 --> 00:23:17,060 अविश्वसनीय बेवकूफ. 509 00:23:17,060 --> 00:23:19,520 >> और वास्तव में, यदि आप पढ़ने विकिपीडिया लेख की तरह, 510 00:23:19,520 --> 00:23:21,200 अपने उपनाम बेवकूफ तरह है. 511 00:23:21,200 --> 00:23:25,180 यह अंत में काम करेंगे, उम्मीद है, पर्याप्त समय दिया, 512 00:23:25,180 --> 00:23:28,240 लेकिन समय की है कि राशि काफी कुछ समय लग सकता है. 513 00:23:28,240 --> 00:23:31,650 मैं, चलो सकता है अगर गति चीजें इतनी पहले मैरी बेथ के उदाहरण से ऊपर, 514 00:23:31,650 --> 00:23:35,150 कुछ और तत्व होने से, लेकिन दो और प्रोसेसर. 515 00:23:35,150 --> 00:23:37,100 दो लोग, आप अगर मुझे शामिल होने मन होता नहीं. 516 00:23:37,100 --> 00:23:40,972 कैसे के बारे में 1 यहाँ पर, और वहाँ पर कोई नहीं go-- जाने? 517 00:23:40,972 --> 00:23:41,722 वहाँ पर कोई नहीं? 518 00:23:41,722 --> 00:23:42,221 ठीक. 519 00:23:42,221 --> 00:23:44,190 ब्लैक के साथ आप शर्ट, हाँ, नीचे आओ. 520 00:23:44,190 --> 00:23:45,000 सब ठीक है, आपका नाम क्या है? 521 00:23:45,000 --> 00:23:45,720 >> दर्शक: पीटर. 522 00:23:45,720 --> 00:23:46,100 >> अध्यक्ष: वह क्या है? 523 00:23:46,100 --> 00:23:46,766 >> दर्शक: पीटर. 524 00:23:46,766 --> 00:23:49,450 अध्यक्ष: पीटर, डेविड, आपसे मिलकर अच्छा लगा. 525 00:23:49,450 --> 00:23:53,670 ठीक है, हम यहाँ पीटर है आप अगर यहाँ पर मेज पर आना चाहते हैं. 526 00:23:53,670 --> 00:23:54,550 और तुम्हारा नाम क्या है? 527 00:23:54,550 --> 00:23:55,216 >> दर्शक: ऐलेना. 528 00:23:55,216 --> 00:23:55,970 अध्यक्ष: ऐलेना. 529 00:23:55,970 --> 00:23:57,030 ठीक है, आपसे मिलकर अच्छा लगा. 530 00:23:57,030 --> 00:23:58,060 ऐलेना पीटर से मिलने. 531 00:23:58,060 --> 00:23:59,170 पीटर, ऐलेना. 532 00:23:59,170 --> 00:24:02,290 और हम एंड्रयू की आवश्यकता होगी यहाँ के रूप में अच्छी तरह से, कृपया. 533 00:24:02,290 --> 00:24:06,107 और अपनी चुनौती रहा है ताश के पत्तों की एक डेक सॉर्ट करने के लिए किया जाना है. 534 00:24:06,107 --> 00:24:08,190 और अपरिचित हैं, डेक ताश के पत्तों की चाहिए अंततः 535 00:24:08,190 --> 00:24:11,064 जैसे एक छोटे से कुछ हल किया यह है कि हम तो, क्लब करूँगा जहां 536 00:24:11,064 --> 00:24:13,660 हुकुम, तो दिल और एक एक के रूप में इक्का से हीरे,, 537 00:24:13,660 --> 00:24:15,570 राजा को सभी तरह. 538 00:24:15,570 --> 00:24:20,890 >> कार्ड मैं तुम्हें देने के लिए जा रहा हूँ मात्रा में 52 होने जा रहे हैं. 539 00:24:20,890 --> 00:24:23,160 हम इसी तरह करने के लिए जा रहे हैं बस एक पल में समय आप. 540 00:24:23,160 --> 00:24:26,410 हम एंड्रयू फेंक करने के लिए जा रहे हैं यहाँ स्क्रीन पर, 541 00:24:26,410 --> 00:24:28,170 आप यह कर के रूप में इतनी के रूप में देखने के लिए. 542 00:24:28,170 --> 00:24:31,070 और तो इस बात का है कि सभी , सभी को और अधिक दिखाई देता है 543 00:24:31,070 --> 00:24:33,490 इन मैं अमेज़न पर मिला कार्ड हैं. 544 00:24:33,490 --> 00:24:42,861 तो वे बेतरतीब ढंग से पहले से ही कर रहे हैं हल है, और हम आप समय के लिए जा रहे हैं. 545 00:24:42,861 --> 00:24:44,610 और हम करने जा रहे हैं , असली इस समय यह रखना 546 00:24:44,610 --> 00:24:47,820 इसलिए हम आप पर दबाव डालने की कोशिश करने जा रहे हैं अन्यथा इस थकाऊ मिलेगा क्योंकि 547 00:24:47,820 --> 00:24:48,460 जल्दी. 548 00:24:48,460 --> 00:24:53,860 आप 52 सॉर्ट करने के लिए आगे बढ़ना सकता है अब एक साथ कुछ मतलब के माध्यम से तत्व,. 549 00:24:53,860 --> 00:25:04,710 550 00:25:04,710 --> 00:25:07,180 >> और फिर, के रूप में हम इन घड़ी लोग अंत में क्या करते हैं, 551 00:25:07,180 --> 00:25:10,200 एक स्पष्ट उत्पादन हो रहा है परिणाम के बारे में सच में लगता है 552 00:25:10,200 --> 00:25:12,962 कैसे वे प्रत्येक यह कर रहे हैं, कैसे आप यह वर्णन कर सकते हैं. 553 00:25:12,962 --> 00:25:15,045 फिर, इन कर रहे हैं क्योंकि सभी प्रक्रियाओं, एल्गोरिदम 554 00:25:15,045 --> 00:25:17,090 एक इंसान के रूप में प्रदान के लिए है कि हम ले. 555 00:25:17,090 --> 00:25:22,349 लेकिन आप शायद लंबे समय लिया है अंतर्ज्ञान, जब तक आप से पहले भी 556 00:25:22,349 --> 00:25:24,390 एक लेने के बारे में सोचा कंप्यूटर विज्ञान वर्ग आप 557 00:25:24,390 --> 00:25:27,223 अंतर्ज्ञान के साथ था हो सकता है जो इस तरह की समस्याओं को हल करने के लिए. 558 00:25:27,223 --> 00:25:29,560 लेकिन एक बार आप पहचान पैटर्न और शुरू 559 00:25:29,560 --> 00:25:32,407 जिसके साथ कदम को औपचारिक रूप आप इन समस्याओं को हल कर रहे हैं, 560 00:25:32,407 --> 00:25:35,490 आप आप बहुत हल कर सकते हैं कि मिल जाएगा और अधिक रोचक और अधिक जटिल 561 00:25:35,490 --> 00:25:39,190 जल्दी से समस्या. 562 00:25:39,190 --> 00:25:42,351 तो दर्शकों से किसी को क्या है एल्गोरिथ्म के कम से कम एक तत्व 563 00:25:42,351 --> 00:25:43,350 वे यहाँ का उपयोग कर रहे हैं? 564 00:25:43,350 --> 00:25:44,275 >> दर्शक: [अश्राव्य] 565 00:25:44,275 --> 00:25:45,150 अध्यक्ष: वह क्या है? 566 00:25:45,150 --> 00:25:47,062 दर्शक: सूट द्वारा. 567 00:25:47,062 --> 00:25:47,770 अध्यक्ष: सूट द्वारा. 568 00:25:47,770 --> 00:25:50,630 तो पहले वे क्लस्टरिंग कर रहे हैं हीरे के सभी एक साथ 569 00:25:50,630 --> 00:25:52,560 यह सभी के लिए लगता है एक साथ ऐसा लगता है दिल, 570 00:25:52,560 --> 00:25:56,520 और बहुत आगे है, सम्मान के बिना कार्ड पर संख्या के लिए. 571 00:25:56,520 --> 00:26:00,900 और अब वे उदाहरण के लिए, प्रकट, संख्या से उन्हें छँटाई करने के लिए. 572 00:26:00,900 --> 00:26:06,870 573 00:26:06,870 --> 00:26:08,910 बहुत अच्छा. 574 00:26:08,910 --> 00:26:12,370 >> सब ठीक है, इतना करने के लिए क्या हो रहा है तो यहाँ अंतिम कदम हो सकता है? 575 00:26:12,370 --> 00:26:16,950 हम चार हल सूट, एक बार क्या हम चार ढेर करने के लिए क्या करने की आवश्यकता है 576 00:26:16,950 --> 00:26:20,059 एक को प्राप्त करने के क्रम में काफी बस, डेक क्रमबद्ध? 577 00:26:20,059 --> 00:26:21,350 इसलिए हम उन्हें फिर से विलय करने की जरूरत है. 578 00:26:21,350 --> 00:26:25,160 >> तो एक दिलचस्प विचार है कि वहाँ फिर, हिम्मत, और भी बहुत सहज है 579 00:26:25,160 --> 00:26:28,140 आप थप्पड़ मारा है कभी नहीं हो सकता है अगर उस पर लेबल उस तरह का. 580 00:26:28,140 --> 00:26:31,900 विभाजन की इस मौलिक धारणा समस्या नहीं आधा इस समय में, 581 00:26:31,900 --> 00:26:33,410 लेकिन कम से कम चार टुकड़ों में. 582 00:26:33,410 --> 00:26:36,810 बहुत ज्यादा सुलझाने मौलिक समान समस्याओं 583 00:26:36,810 --> 00:26:40,480 एक दूसरे के अलगाव में, और फिर परिणाम विलय. 584 00:26:40,480 --> 00:26:46,940 585 00:26:46,940 --> 00:26:50,140 और, उत्कृष्ट, किया. 586 00:26:50,140 --> 00:26:52,140 सब ठीक है, एक बड़ा दौर वाहवाही की, अगर हम कर सकते थे. 587 00:26:52,140 --> 00:26:56,480 >> [वाहवाही] 588 00:26:56,480 --> 00:26:59,740 >> अध्यक्ष: मैं क्या आपको पता नहीं है इन के साथ करते हैं, लेकिन यहाँ तुम जाओ. 589 00:26:59,740 --> 00:27:01,690 बहुत बहुत धन्यवाद. 590 00:27:01,690 --> 00:27:04,660 तो चलो, दो मिनट देखते हैं और आठ सेकंड, 591 00:27:04,660 --> 00:27:07,490 आप अपने मित्रों को चुनौती देने के लिए चाहते हैं. 592 00:27:07,490 --> 00:27:12,160 फिर क्या करने जा रहा है इस से दूर ले एक हो 593 00:27:12,160 --> 00:27:13,830 हम और अधिक आम तौर पर उत्तोलन कर सकते हैं? 594 00:27:13,830 --> 00:27:16,080 खैर, वापस करने के लिए लगता है नंबरों के इस सरणी, 595 00:27:16,080 --> 00:27:19,060 और कुछ करने के लिए अब वापस लगता है हम अतीत में लिखा है pseudocode, 596 00:27:19,060 --> 00:27:22,080 और इस के लिए pseudocode था फोन की किताब समस्या को सुलझाने. 597 00:27:22,080 --> 00:27:25,150 जिससे pseudocode मैं में एक और अधिक व्यवस्थित तरीके प्रगणित 598 00:27:25,150 --> 00:27:28,400 मैं एक बहुत ही सहज कैसे किया वर्णन करने का फोन विभाजन का मानव एल्गोरिथ्म 599 00:27:28,400 --> 00:27:31,650 छमाही में पुस्तक, दोहराने, दोहराने, दोहराने मैं जब तक माइक स्मिथ की तरह किसी के, 600 00:27:31,650 --> 00:27:33,790 वह फोन बुक में वास्तव में है. 601 00:27:33,790 --> 00:27:37,610 >> लेकिन मैं एक तरह से मैं फोन करता हूँ क्या इस्तेमाल किया यहाँ एक बहुत ही चलने का दृष्टिकोण, 602 00:27:37,610 --> 00:27:42,160 विशेष नोटिस में 8 लाइन और लाइन 11. 603 00:27:42,160 --> 00:27:46,750 उन चलने के सबूत हैं दृष्टिकोण, एक पाशन दृष्टिकोण, 604 00:27:46,750 --> 00:27:49,040 कि ठीक है क्योंकि वे प्रेरित व्यवहार. 605 00:27:49,040 --> 00:27:52,910 उन दोनों लाइनों के लिए जाना कहना लाइन तीन, और आप कर सकते हैं प्रकार की 606 00:27:52,910 --> 00:27:55,140 में उस के बारे में सोच अपने एक पाश होने के रूप में मन की आंखों. 607 00:27:55,140 --> 00:27:59,080 यह कदम अप करने के लिए वापस जाने के लिए कह रहा है तीन और दोहराने, फिर, और फिर, 608 00:27:59,080 --> 00:28:00,010 और फिर. 609 00:28:00,010 --> 00:28:04,410 >> लेकिन हम एक महत्वपूर्ण विचार क्या लाभ उठाने अगर यहाँ हम नहीं पिछली बार किया था कि, 610 00:28:04,410 --> 00:28:10,280 और 8 लाइन को सरल और लाइन 11 और उनके पड़ोसियों 611 00:28:10,280 --> 00:28:12,840 सिर्फ यही नहीं, पीले रंग में है. 612 00:28:12,840 --> 00:28:16,480 यह मौलिक छोटा नहीं है बहुत ज्यादा pseudocode, 613 00:28:16,480 --> 00:28:20,530 लेकिन यह मौलिक बदल रहा है मेरे एल्गोरिथ्म की प्रकृति. 614 00:28:20,530 --> 00:28:24,220 क्या मैं अब कह रहा हूँ चरण 7 में, चरण 10 में, 615 00:28:24,220 --> 00:28:29,140 माइक के लिए खोज करने के लिए है ठीक उसी तरह, 616 00:28:29,140 --> 00:28:31,580 लेकिन सिर्फ बाएँ में आधा या सही आधा. 617 00:28:31,580 --> 00:28:33,420 >> तो दूसरे शब्दों में, अगर मैं एक कदम से शुरू 618 00:28:33,420 --> 00:28:36,150 , मध्य तक खुला फोन किताब लेने फोन की किताब का, नाम को देखो, 619 00:28:36,150 --> 00:28:39,010 स्मिथ के बीच है तो नाम, माइक, और कॉल 620 00:28:39,010 --> 00:28:44,340 स्मिथ पहले किताब में है, तो सात कदम किताब के बाईं आधा में माइक के लिए खोज. 621 00:28:44,340 --> 00:28:47,130 लेकिन उस तरह की तरह लगता है यह सही, फांसी मुझे छोड़ रही है? 622 00:28:47,130 --> 00:28:49,240 पीले रंग में, एक है अनुदेश, लेकिन मैं कैसे करना 623 00:28:49,240 --> 00:28:51,870 बाएँ में माइक के लिए खोज फोन की किताब के आधे? 624 00:28:51,870 --> 00:28:54,210 मैं एक कहाँ की क्या ज़रूरत है कलन विधि है जिसके साथ मैं 625 00:28:54,210 --> 00:28:57,100 माइक स्मिथ जैसे किसी के लिए खोज कर सकते हैं? 626 00:28:57,100 --> 00:28:58,980 खैर, यह चेहरे में हमें घूर रही है. 627 00:28:58,980 --> 00:29:03,090 मैं सचमुच ठीक उसी का उपयोग कर सकते हैं कार्यक्रम को प्रभावी ढंग से ऊपर तक जा 628 00:29:03,090 --> 00:29:06,490 फिर से और फिर से चल रहा है कोड की एक ही लाइनों. 629 00:29:06,490 --> 00:29:10,610 >> तो यह महसूस करना चाहिए, भले ही एक चक्रीय परिभाषा की एक बिट की तरह 630 00:29:10,610 --> 00:29:13,480 जहां आप किसी के जवाब दे रहे हैं बस की तरह पूछकर सवाल 631 00:29:13,480 --> 00:29:15,990 फिर वही सवाल, जैसे क्यों, क्यों, क्यों? 632 00:29:15,990 --> 00:29:21,580 हम कड़ी मेहनत से कोडित है क्योंकि वास्तविकता है विशेष लाइनों की एक जोड़ी, चरण 4, 633 00:29:21,580 --> 00:29:25,320 एक, अगर, और 12 कदम है जो जो प्रभावी ढंग से एक और शाखा है 634 00:29:25,320 --> 00:29:30,120 हम उन डिप्टी उपाय है क्योंकि, इस एल्गोरिथ्म समाप्त होगा अगर हम 635 00:29:30,120 --> 00:29:32,050 माइक पाते हैं, या अगर हम नहीं. 636 00:29:32,050 --> 00:29:36,810 लेकिन अब चरण 7 और 10 में, हम हैं क्या हम एक पुनरावर्ती एल्गोरिथ्म फोन करता हूँ. 637 00:29:36,810 --> 00:29:40,420 और recursion वास्तव में एक शक्तिशाली विचार है कि, पहली बार में झुकने एक छोटे से मन है 638 00:29:40,420 --> 00:29:42,500 हम इस प्रकार अब लागू कर सकते हैं. 639 00:29:42,500 --> 00:29:46,600 >> पिछले क्रमबद्ध किया जाएगा क्रमबद्ध मर्ज कि हम औपचारिक रूप से कम से कम वर्ग में, पर दिखेगा. 640 00:29:46,600 --> 00:29:50,040 और यह मौलिक अलग है निश्चित रूप से वे पिछले तीन, और से 641 00:29:50,040 --> 00:29:52,140 पिछले चार हम bogosort शामिल हैं. 642 00:29:52,140 --> 00:29:54,810 यहाँ मर्ज प्रकार के लिए pseudocode है. 643 00:29:54,810 --> 00:30:00,170 N तत्वों के इनपुट पर, इतना दिया जब आकार n के एक सरणी, एन, कम से कम 2 है 644 00:30:00,170 --> 00:30:01,040 वापसी. 645 00:30:01,040 --> 00:30:03,610 तो क्यों मुझे लगता है कि क्या करना है विवेक पहले की जाँच करें? 646 00:30:03,610 --> 00:30:09,477 मैं आप हाथ अगर निहितार्थ क्या है जिसकी लंबाई N एक सरणी 2 से कम है? 647 00:30:09,477 --> 00:30:11,060 यह पहले से ही सही, स्पष्ट रूप से, हल है? 648 00:30:11,060 --> 00:30:13,640 सूची या तो है क्योंकि तुच्छता है जो एक तत्व, 649 00:30:13,640 --> 00:30:15,180 यह इसलिए है क्योंकि क्रमबद्ध वहाँ केवल एक चीज है. 650 00:30:15,180 --> 00:30:18,138 या, यह मतलब है जो आकार शून्य की है सॉर्ट करने के लिए कुछ भी नहीं स्वभाव से तो, वहाँ 651 00:30:18,138 --> 00:30:18,720 यह हल है. 652 00:30:18,720 --> 00:30:20,410 गलत वहाँ अभी कुछ भी नहीं है. 653 00:30:20,410 --> 00:30:22,310 इसलिए कि हमारे तथाकथित आधार मामला है. 654 00:30:22,310 --> 00:30:24,440 >> यही भावना में समान है हम माइक के साथ क्या किया है. 655 00:30:24,440 --> 00:30:26,023 माइक की फोन बुक में है, उसे कहते हैं. 656 00:30:26,023 --> 00:30:27,740 वह वहाँ नहीं है, हार. 657 00:30:27,740 --> 00:30:31,240 यह एक तथाकथित आधार मामला है, बनाना दिन के अंत में इस एल्गोरिथ्म 658 00:30:31,240 --> 00:30:33,540 कुछ निश्चित परिस्थितियों में बंद हो जाएगा. 659 00:30:33,540 --> 00:30:37,890 >> लेकिन यहाँ विश्वास की छलांग, नहीं तो, अब है , तत्वों के बाईं आधा छांटने 660 00:30:37,890 --> 00:30:39,740 तो सही तरह तत्वों का आधा, 661 00:30:39,740 --> 00:30:41,189 और फिर क्रमबद्ध आधा मर्ज. 662 00:30:41,189 --> 00:30:43,230 ऐसा लगता है, जहां और यहाँ है जैसे हम बाहर copping रहे हैं. 663 00:30:43,230 --> 00:30:46,900 मैं सॉर्ट करने के लिए आप से पूछा है n तत्वों, और मैं कर रहा हूँ 664 00:30:46,900 --> 00:30:50,712 छँटाई द्वारा, ठीक है, यह कह बाएँ और दाएँ छँटाई. 665 00:30:50,712 --> 00:30:52,420 लेकिन मैं एक कह रहा हूँ दूसरी बात, और इस 666 00:30:52,420 --> 00:30:55,530 ऐसा लगता है कुंजी विषय है इस प्रकार अब तक अंतर्ज्ञान में, 667 00:30:55,530 --> 00:30:57,380 विलय का यह तीसरा कदम है. 668 00:30:57,380 --> 00:31:00,430 जो भी यह हालांकि , भावना में तो गूंगा लगता है 669 00:31:00,430 --> 00:31:02,320 जैसे सिर्फ बातें विलय एक साथ, ऐसा लगता है 670 00:31:02,320 --> 00:31:05,380 की ओर एक महत्वपूर्ण कदम हो दो समस्याओं का दुबारा जोड़ना कि 671 00:31:05,380 --> 00:31:07,330 आधे में अंततः विभाजित किया गया. 672 00:31:07,330 --> 00:31:12,090 >> तो आप करेंगे, चलो यह करते हैं, की तरह मर्ज एक और प्रदर्शन के साथ हास्य मुझे,, 673 00:31:12,090 --> 00:31:14,730 सिर्फ इतना है कि हम कुछ है संख्या के साथ काम करने के लिए. 674 00:31:14,730 --> 00:31:19,470 मैं आठ तनाव विनिमय कर सकते हैं आठ लोगों के लिए गेंदों? 675 00:31:19,470 --> 00:31:29,320 सब ठीक है, कैसे चार तुम, तीन आप के बारे में इस अनुभाग, पांच, छह, और चलो में 676 00:31:29,320 --> 00:31:30,720 7, 8, ऊपर की ओर आते हैं. 677 00:31:30,720 --> 00:31:35,120 678 00:31:35,120 --> 00:31:36,520 ठीक है, हाँ, ठीक है. 679 00:31:36,520 --> 00:31:38,640 माइनस 8, हम वहाँ जाते हैं, प्लस 1. 680 00:31:38,640 --> 00:31:39,150 बहुत बढ़िया. 681 00:31:39,150 --> 00:31:42,000 सभी सही पर आते हैं, चलो जल्दी आप नंबर दे. 682 00:31:42,000 --> 00:31:50,800 नंबर दो, तीन नंबर, चार नंबर, नंबर पांच, छह, सात और आठ. 683 00:31:50,800 --> 00:31:52,140 मैं सही ढंग से इस समय आठ से किया था. 684 00:31:52,140 --> 00:31:56,390 >> ठीक है, तो तुम सकता है अगर आगे जाना है, और मूल क्रम में सॉर्ट करते हैं 685 00:31:56,390 --> 00:31:59,810 हम कल था कि देखा जो इस तरह, आप बुरा नहीं होता है. 686 00:31:59,810 --> 00:32:03,620 और चलो मेज के सामने करते हैं. 687 00:32:03,620 --> 00:32:06,510 ठीक है, तो क्रमबद्ध विलय. 688 00:32:06,510 --> 00:32:08,820 यह जा रहा है जहां यह है दिलचस्प की तरह पाने के लिए, 689 00:32:08,820 --> 00:32:12,800 मैं अपने आप को दे होने लगते हैं, क्योंकि इतना कम जानकारी आज. 690 00:32:12,800 --> 00:32:15,149 >> तो क्रमबद्ध सब से पहले मर्ज n तत्वों के इनपुट पर, 691 00:32:15,149 --> 00:32:18,440 और यह बात है, स्पष्ट रूप से नहीं कम से कम दो है आठ, तो मैं क्या करने के लिए कुछ और काम करना है. 692 00:32:18,440 --> 00:32:21,140 तो अब मानसिक रूप से हम एक वर्ग के रूप में बाकी शाखा में अब कर रहे हैं, 693 00:32:21,140 --> 00:32:22,540 जो तीन चरणों का मतलब है. 694 00:32:22,540 --> 00:32:25,017 सबसे पहले, मैं हल करना होगा तत्वों के बाईं आधा. 695 00:32:25,017 --> 00:32:26,350 तो कैसे मैं यह करने के बारे में जाना है? 696 00:32:26,350 --> 00:32:28,950 खैर, मैं एक तरह से करने के लिए जा रहा हूँ मानसिक रूप से यहाँ सूची में विभाजित, 697 00:32:28,950 --> 00:32:30,700 आप के लिए नहीं है शारीरिक रूप से ले जाते हैं, और मैं कर रहा हूँ 698 00:32:30,700 --> 00:32:33,180 पर केवल ध्यान केंद्रित करने जा यहाँ तत्वों के बाईं आधा. 699 00:32:33,180 --> 00:32:36,770 इसलिए मैं छँटाई के बारे में कैसे जाना है अब आकार चार की एक सूची? 700 00:32:36,770 --> 00:32:38,730 मेरे एल्गोरिथ्म क्या है? 701 00:32:38,730 --> 00:32:42,580 सबसे पहले मैं जांच नहीं, दो से n कम है, तो मैं फिर से किसी और ब्लॉक करने के लिए आगे बढ़ें. 702 00:32:42,580 --> 00:32:43,900 क्रमबद्ध तत्वों के आधे छोड़ दिया. 703 00:32:43,900 --> 00:32:45,608 >> तो अब फिर से, मानसिक, और यह जहां है 704 00:32:45,608 --> 00:32:49,550 आप में से बहुत जमा करने के लिए है मानसिक इतिहास, अगर तुम जाएगा. 705 00:32:49,550 --> 00:32:51,940 अब मैं बाईं छँटाई हूँ बाईं आधे का आधा. 706 00:32:51,940 --> 00:32:57,000 सब ठीक है, तो अब मैं अपने एक ही मर्ज कॉल एल्गोरिथ्म छँटाई, कम से कम दो n है? 707 00:32:57,000 --> 00:33:00,590 नहीं, यह दो है, तो मैं हल करना होगा बाईं आधा, और सही आधा. 708 00:33:00,590 --> 00:33:02,042 यहाँ तो हम छोड़ दिया आधा सॉर्ट, जाओ. 709 00:33:02,042 --> 00:33:03,750 क्यों तुम बस नहीं करते एक कदम आगे ले. 710 00:33:03,750 --> 00:33:04,415 आपका नाम क्या है? 711 00:33:04,415 --> 00:33:04,860 >> दर्शक: डैरेन. 712 00:33:04,860 --> 00:33:05,260 >> अध्यक्ष: दान. 713 00:33:05,260 --> 00:33:06,040 दान के लिए आगे कदम रखा है. 714 00:33:06,040 --> 00:33:06,748 >> दर्शक: डैरेन. 715 00:33:06,748 --> 00:33:09,000 अध्यक्ष: डैरेन, किया. 716 00:33:09,000 --> 00:33:10,090 आप डैरेन या दान कहा? 717 00:33:10,090 --> 00:33:10,550 >> दर्शक: डैरेन. 718 00:33:10,550 --> 00:33:11,216 >> अध्यक्ष: डैरेन. 719 00:33:11,216 --> 00:33:14,422 ठीक है, डैरेन कदम रखा है आगे और वह अब हल है. 720 00:33:14,422 --> 00:33:16,130 और यह लगभग एक है बेहूदा दावा, है ना? 721 00:33:16,130 --> 00:33:18,862 मैं वास्तव में प्राप्त करने जा नहीं लगती कुछ भी है, लेकिन हम आगे बढ़ना. 722 00:33:18,862 --> 00:33:20,820 अब मुझे सही तरह अवगत तत्वों का आधा. 723 00:33:20,820 --> 00:33:21,200 आपका नाम क्या है? 724 00:33:21,200 --> 00:33:21,690 >> दर्शक: ल्यूक. 725 00:33:21,690 --> 00:33:22,273 >> अध्यक्ष: ल्यूक. 726 00:33:22,273 --> 00:33:23,400 चलो, आगे कदम. 727 00:33:23,400 --> 00:33:25,640 डन, मैं ल्यूक हल किया है. 728 00:33:25,640 --> 00:33:28,570 बाईं आधा अब हल है और सही आधा अब, हल है 729 00:33:28,570 --> 00:33:30,770 लेकिन फिर, यहाँ एक महत्वपूर्ण कदम है. 730 00:33:30,770 --> 00:33:32,940 क्या मैं आगे क्या करना चाहिए? 731 00:33:32,940 --> 00:33:33,941 क्रमबद्ध आधा मर्ज. 732 00:33:33,941 --> 00:33:36,648 अब हम सिर्फ लिए जा रहे हैं आगे और पीछे इस तरह से हर कोई, 733 00:33:36,648 --> 00:33:38,620 मैं एक तरह से की जरूरत है क्योंकि कुछ खरोंच अंतरिक्ष. 734 00:33:38,620 --> 00:33:40,411 यह लगभग इन की तरह है लोग एक मेज पर कर रहे हैं, 735 00:33:40,411 --> 00:33:42,460 और मैं कुछ कमरे की जरूरत पर उन्हें चारों ओर ले जाने के लिए. 736 00:33:42,460 --> 00:33:44,170 इसलिए मैं विलय करने के लिए जा रहा हूँ देख कर तुम लोग 737 00:33:44,170 --> 00:33:45,960 बाईं आधा और ठीक आधे पर. 738 00:33:45,960 --> 00:33:48,740 और जाहिर है पहले आता है जो, बाईं आधा या सही आधा? 739 00:33:48,740 --> 00:33:52,710 तो सही आधा, तो खत्म हो चुका है ल्यूक चलते हैं यहाँ डैरेन मूल स्थिति में. 740 00:33:52,710 --> 00:33:57,640 और अब में उनकी बाईं आधा मर्ज करने के लिए, डैरेन अभी भी वहीं स्थानांतरित करने के लिए जा रहा है. 741 00:33:57,640 --> 00:33:59,750 >> तो लगभग की तरह लगता है एक बुलबुला तरह प्रभाव, 742 00:33:59,750 --> 00:34:02,482 लेकिन मेरे मौलिक एल्गोरिथ्म, इस समय बहुत अलग. 743 00:34:02,482 --> 00:34:04,815 चीजें एक मिलता है लेकिन अब है थोड़ा कष्टप्रद आप क्योंकि 744 00:34:04,815 --> 00:34:06,810 मानसिक रूप से उल्टा करने के लिए मैं जहां बंद छोड़ दिया. 745 00:34:06,810 --> 00:34:09,893 मैं अभी हल आधा विलय कर दिया गया है, जो मैं अपने एल्गोरिथ्म में जहां हूँ मतलब है? 746 00:34:09,893 --> 00:34:12,229 747 00:34:12,229 --> 00:34:13,770 मैं सही, सही आधा सॉर्ट करने के लिए है? 748 00:34:13,770 --> 00:34:15,910 >> आप सचमुच, उल्टा हैं वीडियो पर, तुम हूँ 749 00:34:15,910 --> 00:34:18,339 हम यह करने के लिए मिला है कि देखना ल्यूक और डैरेन की बात 750 00:34:18,339 --> 00:34:21,370 बाएं छँटाई द्वारा बाईं आधे का आधा. 751 00:34:21,370 --> 00:34:23,430 तो फिर हम उन विलय कर दिया हल हिस्सों, जो 752 00:34:23,430 --> 00:34:27,941 अगले कदम तरह है मतलब बाईं आधे के ठीक आधे. 753 00:34:27,941 --> 00:34:29,649 ठीक है, तो चलो अधिक जल्दी से यह करते हैं. 754 00:34:29,649 --> 00:34:33,282 सब ठीक है, छह, मैं दावा करने के लिए जा रहा हूँ आप अब आगे चलो, हल कर रहे हैं. 755 00:34:33,282 --> 00:34:33,990 आपका नाम क्या है? 756 00:34:33,990 --> 00:34:34,589 >> दर्शक: Adriano. 757 00:34:34,589 --> 00:34:35,200 >> अध्यक्ष: Adriano. 758 00:34:35,200 --> 00:34:36,010 Adriano अब हल है. 759 00:34:36,010 --> 00:34:36,450 और तुम्हारा नाम क्या है? 760 00:34:36,450 --> 00:34:37,080 >> दर्शक: एलेक्स. 761 00:34:37,080 --> 00:34:38,379 >> अध्यक्ष: एलेक्स अब हल है. 762 00:34:38,379 --> 00:34:40,750 वाम आधा, सही आधा, अंतिम कदम क्या है? 763 00:34:40,750 --> 00:34:41,250 मर्ज. 764 00:34:41,250 --> 00:34:44,310 बहुत तुच्छ है, तो मैं कर रहा हूँ छह में विलय करने के लिए जा रहा है, 765 00:34:44,310 --> 00:34:46,930 एक कदम वापस लेने, आठ, एक कदम वापस ले. 766 00:34:46,930 --> 00:34:49,530 और अब इस नोटिस एक उपयोगी takeaway, क्या 767 00:34:49,530 --> 00:34:53,930 अब छोड़ दिया आधा के बारे में सच है सूची, चाहे हम कैसे शुरू हुआ की? 768 00:34:53,930 --> 00:34:55,090 यह हल है. 769 00:34:55,090 --> 00:34:57,750 >> अब इसमें हल नहीं है चीजों की बड़ी योजना, 770 00:34:57,750 --> 00:35:00,250 लेकिन यह स्वतंत्र रूप से हल है दूसरे आधे की. 771 00:35:00,250 --> 00:35:04,100 मैं रखने के लिए अब क्या कदम मैं पर हूँ कहानी शुरू हुई कैसे rewinding? 772 00:35:04,100 --> 00:35:05,680 अब मैं सही आधा हल करना होगा. 773 00:35:05,680 --> 00:35:07,630 तो अब हम वापस रास्ते पर हैं कहानी की शुरुआत, 774 00:35:07,630 --> 00:35:08,921 और अधिक तेजी से यह करते हैं. 775 00:35:08,921 --> 00:35:11,320 तो मैं सॉर्ट करने के लिए जा रहा हूँ पूरी सूची की सही आधा. 776 00:35:11,320 --> 00:35:13,060 अगला कदम क्या है? 777 00:35:13,060 --> 00:35:15,840 ठीक आधे की बाईं आधा तरह. 778 00:35:15,840 --> 00:35:18,715 की बाईं आधा छांटे ठीक आधे के बाईं आधा. 779 00:35:18,715 --> 00:35:19,590 और तुम्हारा नाम क्या है? 780 00:35:19,590 --> 00:35:20,230 >> दर्शक: उमर. 781 00:35:20,230 --> 00:35:21,970 >> अध्यक्ष: उमर किया, आगे कदम. 782 00:35:21,970 --> 00:35:22,860 वाम आधा हल है. 783 00:35:22,860 --> 00:35:23,330 और तुम्हारा नाम क्या है? 784 00:35:23,330 --> 00:35:23,820 >> दर्शक: क्रिस. 785 00:35:23,820 --> 00:35:25,620 >> अध्यक्ष: क्रिस, एक कदम उठाना आगे, आप अब हल कर रहे हैं. 786 00:35:25,620 --> 00:35:27,010 अब महत्वपूर्ण कदम क्या है? 787 00:35:27,010 --> 00:35:27,510 मर्ज. 788 00:35:27,510 --> 00:35:30,509 इसलिए एक ही स्थान में विलय करने के लिए जा रहा है यहाँ, आप एक कदम वापस ले सकता है, 789 00:35:30,509 --> 00:35:32,930 और तीन के लिए जा रहा है विलय, एक कदम वापस ले. 790 00:35:32,930 --> 00:35:38,080 तो छोड़ दिया आधा सही आधा, अब हल है. 791 00:35:38,080 --> 00:35:41,747 सच कहूँ तो, इस एल्गोरिथ्म हम की तरह लगता है पहले की तुलना में जिस तरह से अधिक समय बर्बाद कर रहे हैं, 792 00:35:41,747 --> 00:35:44,830 हम वास्तविक समय में ऐसा किया लेकिन, अगर हम करेंगे takeaways होने जा रहा है देखते हैं. 793 00:35:44,830 --> 00:35:47,970 अब यहाँ मैं सही हूँ ठीक आधे का आधा, 794 00:35:47,970 --> 00:35:50,170 मुझे आगे जाना है और बाईं आधा सॉर्ट करते हैं. 795 00:35:50,170 --> 00:35:51,482 आगे कदम, आपका नाम क्या है? 796 00:35:51,482 --> 00:35:52,190 दर्शक: रैमसे. 797 00:35:52,190 --> 00:35:53,210 अध्यक्ष: रैमसे अब हल है. 798 00:35:53,210 --> 00:35:53,570 आपका नाम क्या है? 799 00:35:53,570 --> 00:35:54,200 >> दर्शक: मरीना. 800 00:35:54,200 --> 00:35:57,033 >> अध्यक्ष: मरीना अब के रूप में हल खैर, आप एक कदम आगे ले. 801 00:35:57,033 --> 00:36:00,690 यहां महत्वपूर्ण कदम अब मैं कर रहा हूँ, मर्ज है मेरे दो सूचियों से बांधना जा रहा है, 802 00:36:00,690 --> 00:36:01,720 छोड़ दिया और सही. 803 00:36:01,720 --> 00:36:05,150 पांच, पहले आने वाला है और सात अगले आने वाला है. 804 00:36:05,150 --> 00:36:06,410 और फिर, यह जानबूझकर है. 805 00:36:06,410 --> 00:36:08,535 वे ले जा रहे हैं कि तथ्य आगे और पीछे कदम 806 00:36:08,535 --> 00:36:12,997 प्रतिनिधित्व करने का मतलब है कि हम नहीं कर सकते के रूप में आसानी से जगह में इस एल्गोरिथ्म करना 807 00:36:12,997 --> 00:36:15,830 बुलबुला तरह, और चयन प्रकार के रूप में, और सम्मिलन सॉर्ट जहां हम बस 808 00:36:15,830 --> 00:36:16,960 लोग गमागमन रखा. 809 00:36:16,960 --> 00:36:19,940 मैं सचमुच एक प्रकार की जरूरत खरोंच कागज की जिसमें 810 00:36:19,940 --> 00:36:21,827 इन लोगों को डाल करने के लिए मैं विलय करते हैं, 811 00:36:21,827 --> 00:36:23,410 और फिर मैं जगह में उन्हें वापस रख सकते हैं. 812 00:36:23,410 --> 00:36:27,260 मैं एक का उपयोग कर रहा हूँ और क्योंकि वह कुंजी है नए संसाधन, अंतरिक्ष, न सिर्फ समय. 813 00:36:27,260 --> 00:36:28,270 >> ठीक है, यह अद्भुत है. 814 00:36:28,270 --> 00:36:32,050 वाम आधा सही आधा है, हल है हल, अब उस कुंजी विलय कदम. 815 00:36:32,050 --> 00:36:33,450 कैसे मैं इस विलय करने जा रहा हूँ? 816 00:36:33,450 --> 00:36:35,470 आप का पालन करेंगे तो अगर मेरे बाएं हाथ और दाहिना हाथ, 817 00:36:35,470 --> 00:36:38,930 मैं अपने बाएं हाथ की बात करने के लिए जा रहा हूँ बाईं आधे पर, अपने दाहिने हाथ 818 00:36:38,930 --> 00:36:42,680 ठीक आधे पर, और अब मैं करने के लिए है में विलय करने के लिए किसके कदम से कदम तय. 819 00:36:42,680 --> 00:36:44,650 कौन जाहिर पहले आता है? 820 00:36:44,650 --> 00:36:45,150 नंबर एक. 821 00:36:45,150 --> 00:36:47,327 तो यहाँ पर आते हैं, हमारे यहाँ खरोंच पैड है. 822 00:36:47,327 --> 00:36:49,910 तो अब एक, और नोटिस संख्या मैं अपने दाहिने हाथ के साथ क्या करेंगे, 823 00:36:49,910 --> 00:36:54,152 मैं अपने दाहिने हाथ से एक को स्थानांतरित करने के लिए जा रहा हूँ नंबर तीन बिंदु करने के लिए कदम, 824 00:36:54,152 --> 00:36:55,860 और अब मैं बनाने के लिए है वही निर्णय. 825 00:36:55,860 --> 00:36:58,387 और वास्तव में सही खड़े ल्यूक यहाँ अगर तुम सकता है के सामने, 826 00:36:58,387 --> 00:36:59,720 यह हमारी खरोंच पैड है. 827 00:36:59,720 --> 00:37:00,610 तो जो अगले आता है? 828 00:37:00,610 --> 00:37:05,000 हम नंबर दो के साथ ल्यूक है या क्रिस संख्या तीन के साथ. 829 00:37:05,000 --> 00:37:07,460 जाहिर ल्यूक, संख्या दो, तो आप यहां आते हैं. 830 00:37:07,460 --> 00:37:11,270 >> लेकिन मेरे बाएं हाथ अब जा रहा है डैरेन पर बात करने के लिए incremented किया, 831 00:37:11,270 --> 00:37:15,160 और यहाँ कुंजी के साथ भाग लेने के लिए है विलय, मैं यह कर रखने के लिए जा रहा हूँ, 832 00:37:15,160 --> 00:37:17,340 जाहिर है, आप अगर तरह के तर्क का पालन करें. 833 00:37:17,340 --> 00:37:19,670 लेकिन मेरे हाथ कभी नहीं रहे पीछे की ओर जाने के लिए जा रहा है, 834 00:37:19,670 --> 00:37:23,861 जो मैं सिर्फ कभी के लिए आगे बढ़ रहा हूँ मतलब मेरे विलय प्रक्रिया के साथ छोड़ दिया, 835 00:37:23,861 --> 00:37:26,360 और उस की कुंजी होने जा रहा है बस एक पल में हमारे विश्लेषण. 836 00:37:26,360 --> 00:37:27,859 >> तो अब तेजी से इस जल्दी खत्म. 837 00:37:27,859 --> 00:37:31,650 तो तीन अगले आता है, फिर चार अगले आता है, 838 00:37:31,650 --> 00:37:38,750 और अब पांच से छह, फिर, अगले आता है सात, और फिर अंत में आठ और. 839 00:37:38,750 --> 00:37:42,960 धीरे एल्गोरिथ्म की तरह लगता है अभी तक, लेकिन नहीं वास्तव में हम अगर 840 00:37:42,960 --> 00:37:45,510 एक ही तरह पर इसे चलाने घड़ी की गति की, करने के लिए तो 841 00:37:45,510 --> 00:37:48,106 उसी के साथ बात करते हैं, पहले की तरह घड़ी की टिक टिक. 842 00:37:48,106 --> 00:37:48,605 क्यों? 843 00:37:48,605 --> 00:37:51,100 ठीक है, चलो एक ले लो अंतिम परिणाम पर दिखेगा. 844 00:37:51,100 --> 00:37:56,990 >> मुझे दो, चलो यहाँ वापस जाओ नेत्रहीन एक प्रदर्शन को खींच 845 00:37:56,990 --> 00:37:59,030 हम अभी क्या किया. 846 00:37:59,030 --> 00:38:06,110 इस पर, यहाँ में Zooming यहाँ पेज, फ़ायरफ़ॉक्स कह रही 847 00:38:06,110 --> 00:38:08,200 हम क़तार में चाहते हैं कि इस बॉक्स में, चलो 848 00:38:08,200 --> 00:38:11,260 , बुलबुला तरह कहते हैं, जिसके साथ हम, अब अच्छी तरह से परिचित हैं 849 00:38:11,260 --> 00:38:14,130 एक और है जो चयन क्रमबद्ध, काफी सरल एक, 850 00:38:14,130 --> 00:38:18,250 और अब आज के मर्ज सॉर्ट, जो हमारे climactic समाप्त हो जाएगा. 851 00:38:18,250 --> 00:38:21,530 यह बहुत लंबे समय तक तो ले लिया कारण यहां मनुष्यों के साथ और मुझे मौखिक रूप से है, 852 00:38:21,530 --> 00:38:23,480 जाहिर है, मैं हर कदम समझा रहा हूँ. 853 00:38:23,480 --> 00:38:26,920 लेकिन अगर आप बस यह बहुत निष्पादित जैसे हमने किया बुलबुला तरह और चयन 854 00:38:26,920 --> 00:38:30,890 क्रमबद्ध न केवल नेत्रहीन, घड़ी अभी कितना और अधिक कुशलता से 855 00:38:30,890 --> 00:38:33,330 इस लाभ विभाजन और विजय 856 00:38:33,330 --> 00:38:39,150 है कि एक डेटा सेट करने के लिए लागू किया जा सकता है जब नहीं भी आकार आठ, लेकिन भी ज्यादा, 857 00:38:39,150 --> 00:38:39,970 बहुत बड़ा. 858 00:38:39,970 --> 00:38:44,585 मैं आप से, क्रमबद्ध पक्ष विलय दे इन अन्य एल्गोरिदम के साथ कंधे. 859 00:38:44,585 --> 00:38:56,364 860 00:38:56,364 --> 00:38:58,530 इस दर्दनाक हो रहा है जल्दी से, और अंत 861 00:38:58,530 --> 00:39:00,890 , विशेष रूप से चरम नहीं है वे सिर्फ क्रमबद्ध खत्म होता है. 862 00:39:00,890 --> 00:39:05,280 लेकिन महत्वपूर्ण यह है कि दूर ले क्रमबद्ध कितना तेज विलय देखो 863 00:39:05,280 --> 00:39:08,110 आप मैं कर रहा हूँ लगता है, जब तक था बस की तरह आप के साथ खिलवाड़. 864 00:39:08,110 --> 00:39:13,100 हम इस एक अंतिम समय करते हैं, चलो यह फिर से लोड करते हैं, चलो वापस जाना 865 00:39:13,100 --> 00:39:14,960 और, बुलबुला तरह का चयन और बस kicks के लिए, 866 00:39:14,960 --> 00:39:17,330 की प्रविष्टि का चयन करते हैं क्रमबद्ध, सिर्फ अच्छे उपाय के लिए. 867 00:39:17,330 --> 00:39:20,020 और इस बार फिर से, चलो मर्ज क्रमबद्ध चयन और चलो 868 00:39:20,020 --> 00:39:21,595 वास्तव में पक्ष द्वारा इन तरफ चला रहे हैं. 869 00:39:21,595 --> 00:39:24,140 870 00:39:24,140 --> 00:39:26,930 >> और यह वास्तव में एक अस्थायी नहीं है. 871 00:39:26,930 --> 00:39:31,140 क्या मैं प्रभावी ढंग से किया है मैं है , फिर से, आधे में अपने इनपुट विभाजित 872 00:39:31,140 --> 00:39:32,240 और फिर, और फिर से. 873 00:39:32,240 --> 00:39:35,590 और आप ही कर सकते हैं तो कई बार नहीं है हिस्सों में अपने इनपुट विभाजित, छोड़ा 874 00:39:35,590 --> 00:39:36,240 और सही. 875 00:39:36,240 --> 00:39:39,425 क्या हम देख रखना कि फार्मूला है कि आधे में विभाजन का वर्णन 876 00:39:39,425 --> 00:39:41,050 फिर, और फिर, और फिर, और फिर? 877 00:39:41,050 --> 00:39:41,890 >> दर्शक: लॉग एन. 878 00:39:41,890 --> 00:39:42,760 >> अध्यक्ष: लॉग एन. 879 00:39:42,760 --> 00:39:46,300 लेकिन फिर एक अन्य महत्वपूर्ण कदम है, इस एल्गोरिथ्म लॉग n कदम नहीं है. 880 00:39:46,300 --> 00:39:48,992 यह केवल लॉग n रहे थे कदम, हम एक ही समस्या में होगा 881 00:39:48,992 --> 00:39:51,200 हम नहीं कर सकते हैं जहां पहले की तरह सुनिश्चित करें कि सब कुछ हल. 882 00:39:51,200 --> 00:39:54,480 आप न्यूनतम n तत्वों पर नजर है निश्चित होना n तत्वों हल कर रहे हैं, 883 00:39:54,480 --> 00:39:55,950 अन्यथा यह विश्वास की छलांग है. 884 00:39:55,950 --> 00:39:59,810 >> तो यह न्यूनतम लॉग n कदम है, लेकिन है इस कुंजी विलय कदम के बारे में क्या 885 00:39:59,810 --> 00:40:04,370 मैं विलय कर दिया, जहां मेरी बाईं आधा और सही आधा और मंच के पार चला गया? 886 00:40:04,370 --> 00:40:06,980 कि विलय करने के लिए कितने कदम है? 887 00:40:06,980 --> 00:40:10,150 यह पता है, लेकिन मैं अभी नहीं किया अंतिम समय विलय. 888 00:40:10,150 --> 00:40:15,089 प्रत्येक पर उन नेस्ट कॉल में से प्रत्येक पर उन नेस्ट विलीन हो जाती है, मैं अभी भी हल. 889 00:40:15,089 --> 00:40:18,380 मैं तो इन दो इन दो दोस्तों, विलय कर दिया दोस्तों, तो इन दो लोग और बहुत आगे है. 890 00:40:18,380 --> 00:40:19,955 >> तो मैं फिर से, और फिर से विलय किया था. 891 00:40:19,955 --> 00:40:20,580 कितनी बार? 892 00:40:20,580 --> 00:40:23,510 तो हर बार मैं विभाजित सूची छमाही में, मैं एक मर्ज किया. 893 00:40:23,510 --> 00:40:25,460 एक मर्ज करना, आधे में सूची में विभाजित. 894 00:40:25,460 --> 00:40:28,570 सूची विभाजित तो अगर लॉग n बार किया जा सकता है, 895 00:40:28,570 --> 00:40:33,880 और विलय अंततः n लेता है कदम, क्या अब ऊपरी हो सकता है 896 00:40:33,880 --> 00:40:37,000 चल रहा है पर बाध्य हमारे एल्गोरिथ्म के समय? 897 00:40:37,000 --> 00:40:37,980 n लॉग. 898 00:40:37,980 --> 00:40:40,560 >> और वास्तव में, कि क्या हो रहा है हम यहाँ हासिल कर लिया है. 899 00:40:40,560 --> 00:40:44,650 तो आप नेत्रहीन जब देख लगता है कि उन तीन बातों की ओर से कंधा मिलाकर चलने 900 00:40:44,650 --> 00:40:47,930 एन के खिलाफ चुकता है लॉग एन एन खिलाफ चुकता. 901 00:40:47,930 --> 00:40:51,010 हम देखेंगे मौलिक कौन सा, आज, लेकिन भविष्य में न केवल, 902 00:40:51,010 --> 00:40:52,760 बहुत, बहुत तेजी से होता है. 903 00:40:52,760 --> 00:40:56,010 इन लोगों के लिए प्रशंसा का एक दौर, मैं तनाव गेंदों के साथ उन्हें पुरस्कृत करेंगे. 904 00:40:56,010 --> 00:41:00,260 चलो आज यहाँ स्थगित करते हैं, और हम सोमवार को आप देखेंगे. 905 00:41:00,260 --> 00:41:02,255