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