1 00:00:00,000 --> 00:00:03,332 >> [MUSIC PLAYING] 2 00:00:03,332 --> 00:00:06,490 >> ANDI PENG: hissəsinin həftə 3 xoş gəlmisiniz. 3 00:00:06,490 --> 00:00:09,550 Bütün gələn üçün təşəkkür edirik, uşaqlar, Bu əvvəllər start zaman gün. 4 00:00:09,550 --> 00:00:11,466 Biz bir gözəl az var intim qrup bu gün. 5 00:00:11,466 --> 00:00:14,570 Belə ki, inşallah almaq lazımdır rəngi, bəlkə də, erkən, 6 00:00:14,570 --> 00:00:15,780 bir az erkən gün. 7 00:00:15,780 --> 00:00:22,057 Belə ki, tez, yalnız bir gündəmində bu gün elanlar. 8 00:00:22,057 --> 00:00:23,890 Biz başlamaq əvvəl, biz istəyirik yalnız getmək gedir 9 00:00:23,890 --> 00:00:28,910 bəzi qısa maddi-texniki məsələlər, pset suallar, debrief ki, kimi şeylər. 10 00:00:28,910 --> 00:00:30,250 Və sonra biz doğru dalış lazımdır. 11 00:00:30,250 --> 00:00:34,710 Biz gdb adlı ayıklama istifadə edəcəyik bizim kodu, debunking başlamaq David 12 00:00:34,710 --> 00:00:36,550 gün mühazirə izah etdi. 13 00:00:36,550 --> 00:00:39,420 Biz növ dörd növ artıq getmək lazımdır. 14 00:00:39,420 --> 00:00:42,310 Biz olduqca tez onların üzərində getmək lazımdır Onlar olduqca sıx istəyirik ildən. 15 00:00:42,310 --> 00:00:45,710 Amma bilirik ki, bütün slaydlar və mənbə kodu online həmişə var. 16 00:00:45,710 --> 00:00:50,810 Belə ki, sizin okuma da, çekinmeyin geri getmək və nəzər. 17 00:00:50,810 --> 00:00:53,930 >> Biz keçmək lazımdır asimptotik notation olan 18 00:00:53,930 --> 00:00:55,944 bir xülya yoldur deyərək "runtimes," 19 00:00:55,944 --> 00:00:58,360 biz böyük O, harada ki, David mühazirə izah etdi. 20 00:00:58,360 --> 00:01:01,550 Və biz də Omega, olan aşağı bağlı iş deyil. 21 00:01:01,550 --> 00:01:06,450 Və biz bir az daha çox danışmaq lazımdır dərin necə o işləri ilə əlaqədar. 22 00:01:06,450 --> 00:01:10,160 Və nəhayət, biz ikili axtarış artıq getmək lazımdır Çünki artıq siz bir çox 23 00:01:10,160 --> 00:01:15,190 Sizin psets nəzər yəqin ki, bilirik ki, ki, pset bir məsələdir. 24 00:01:15,190 --> 00:01:17,470 Belə ki, bütün xoşbəxt olacaq bu gün əhatə edir. 25 00:01:17,470 --> 00:01:20,610 >> Və nəhayət, başı bölmə rəy, Mən, həqiqətən, 26 00:01:20,610 --> 00:01:23,000 Təxminən 15 dəqiqə sol Sonunda yalnız artıq getmək 27 00:01:23,000 --> 00:01:27,730 pset3 məntiqi, hər hansı bir sualınız, bəlkə doğru bir az Siz, 28 00:01:27,730 --> 00:01:28,990 biz proqramlaşdırma başlamaq əvvəl. 29 00:01:28,990 --> 00:01:30,890 Belə ki, vasitəsilə almaq üçün cəhd edək olduqca tez material. 30 00:01:30,890 --> 00:01:33,880 Və sonra biz bəzi vaxt sərf edə bilər pset üçün çox suallar alaraq. 31 00:01:33,880 --> 00:01:35,230 OLDU. 32 00:01:35,230 --> 00:01:39,570 >> Tez, belə ki, yalnız bir neçə Biz əvvəl elanlar gün başlayın. 33 00:01:39,570 --> 00:01:45,410 Əvvəlcə edilməsi xoş gəlmisiniz Sizin psets iki vasitəsilə. 34 00:01:45,410 --> 00:01:49,432 Mən your-- Bəli, edək nəzər etdi ki, bir alqış almaq. 35 00:01:49,432 --> 00:01:51,140 Əslində, mən, həqiqətən heyran. 36 00:01:51,140 --> 00:01:55,800 Mən sizə uşaqlar üçün ilk pset pilləli Keçən həftə və uşaqlar inanılmaz idi. 37 00:01:55,800 --> 00:01:58,290 >> Style nöqtəsində idi bir neçə şərh ilə yanaşı. 38 00:01:58,290 --> 00:02:00,660 Siz həmişə istəyirik etmək kodu şərh. 39 00:02:00,660 --> 00:02:03,040 Lakin psets nöqtəsində idi. 40 00:02:03,040 --> 00:02:05,549 Və onu saxlamaq. 41 00:02:05,549 --> 00:02:08,090 Və bu sinif şagirdi üçün yaxşı Sizlərin qoyulması ki, görəcəksiniz 42 00:02:08,090 --> 00:02:10,704 sizin stil qədər səy Sizin kodu və dizayn 43 00:02:10,704 --> 00:02:12,120 görmək üçün, biz istərdik ki,. 44 00:02:12,120 --> 00:02:16,450 Beləliklə, mən minnətdarlığımı boyunca keçən alıram TAŞ istirahət üçün. 45 00:02:16,450 --> 00:02:19,210 >> Lakin orada bir bir neçə debrief suallar 46 00:02:19,210 --> 00:02:22,010 Mən ki, artıq getmək istəyirəm həm mənim həyat edəcək 47 00:02:22,010 --> 00:02:24,900 və digər bir çox Taş "bir az daha asan yaşayır. 48 00:02:24,900 --> 00:02:28,220 Birincisi, mən fark etdik bu Ötən Siz neçə week-- 49 00:02:28,220 --> 00:02:32,301 on check50 çalışan edilmişdir Siz əvvəl code təqdim? 50 00:02:32,301 --> 00:02:32,800 OLDU. 51 00:02:32,800 --> 00:02:36,690 Belə ki, hər kəs check50 bunu etmək lazımdır, həqiqətən biz bir secret-- çünki 52 00:02:36,690 --> 00:02:41,540 Bizim düzgünlüyünə hissəsi kimi check50 run kodu test üçün scripts. 53 00:02:41,540 --> 00:02:45,480 Sizin kodu uğursuz əgər Belə ki, check50, bütün ehtimalı, 54 00:02:45,480 --> 00:02:47,570 yəqin ki, olacaq həm də çek uğursuz. 55 00:02:47,570 --> 00:02:49,320 Bəzən uşaqlar doğru cavab var. 56 00:02:49,320 --> 00:02:52,200 Kimi, görməmiş, bəzi sağ nömrələri var, 57 00:02:52,200 --> 00:02:53,960 Yalnız bəzi əlavə məhsulları çap. 58 00:02:53,960 --> 00:02:55,940 Və əlavə stuff həqiqətən çek etmədikdə, 59 00:02:55,940 --> 00:02:58,440 kompüter deyil, çünki həqiqətən axtarır nə bilirik. 60 00:02:58,440 --> 00:03:00,981 Və belə ki, yalnız vasitəsilə davam edəcək çıxış deyil ki, görəcəksiniz 61 00:03:00,981 --> 00:03:03,810 Biz cavab gözləyirik nə uyğun ola bilər, və bu səhv qeyd etmək. 62 00:03:03,810 --> 00:03:06,560 >> Mən baş bilirik ki, Sizin hallarda bəzi bu həftə. 63 00:03:06,560 --> 00:03:09,870 Mən geri və əl getdi hər kəsin kodu regraded. 64 00:03:09,870 --> 00:03:12,780 Baxmayaraq ki, gələcəkdə, , əmin olun edin 65 00:03:12,780 --> 00:03:14,570 Siz yayınlıyorsanız ki, Sizin kodunu 50 oldu. 66 00:03:14,570 --> 00:03:17,970 Bu TY üçün bir ağrı növü var, çünki regrade əl geri getmək və üçün 67 00:03:17,970 --> 00:03:21,197 hər üçün hər bir pset bir az buraxılmış instansiya. 68 00:03:21,197 --> 00:03:22,530 Beləliklə, mən heç bir xal off almadı. 69 00:03:22,530 --> 00:03:25,210 Mən bəlkə off etdi edirəm bir və ya dizayn iki. 70 00:03:25,210 --> 00:03:27,710 Baxmayaraq ki, gələcəkdə, əgər Siz check50 uğursuz edirik 71 00:03:27,710 --> 00:03:31,330 bal alınacaq düzgünlüyünə off. 72 00:03:31,330 --> 00:03:35,020 >> Bundan başqa, psets var günorta saatlarında cümə görə. 73 00:03:35,020 --> 00:03:38,990 Mən yeddi dəqiqə var edirəm biz sizə gec güzəşt dövrü. 74 00:03:38,990 --> 00:03:42,434 Harvard vaxt Per, onlar üçün icazə edirik yeddi dəqiqə gec, hər şey ola bilər. 75 00:03:42,434 --> 00:03:44,350 Belə ki, burada Yale alacağıq eləcə də riayət etməlidir. 76 00:03:44,350 --> 00:03:47,910 Amma olduqca çox, 12:07 at, Sizin pset deyilsə, 77 00:03:47,910 --> 00:03:49,720 kimi gec qeyd olacaq. 78 00:03:49,720 --> 00:03:53,160 Isə Və qeyd olunur kimi gec TA-- mən 79 00:03:53,160 --> 00:03:54,870 hələ psets grading olacaq. 80 00:03:54,870 --> 00:03:56,760 Belə ki, hələ bir sinif görünür görəcəksiniz. 81 00:03:56,760 --> 00:03:58,820 Lakin, bilirik ki, semestr sonunda, 82 00:03:58,820 --> 00:04:02,270 bütün gec psets yalnız olacaq avtomatik kompüter zeroed. 83 00:04:02,270 --> 00:04:04,490 >> Biz iki səbəbə görə bunu. 84 00:04:04,490 --> 00:04:09,220 One, bəzən biz almaq Dekan bəhanələrlə kimi, bağışlanmaq, 85 00:04:09,220 --> 00:04:10,762 sonra mən hələ bilmirəm. 86 00:04:10,762 --> 00:04:13,761 Belə ki, biz grading əmin etmək istəyirəm yalnız halda hər şey kimi, mən 87 00:04:13,761 --> 00:04:15,080 bir Dekan bəhanə itkin. 88 00:04:15,080 --> 00:04:17,000 İkincisi, saxlamaq mind, siz hələ bilərsiniz 89 00:04:17,000 --> 00:04:19,370 bir pset düşmək ki, tam həcmi xal var. 90 00:04:19,370 --> 00:04:21,430 Və belə ki, biz sinif kimi Sizin psets yalnız 91 00:04:21,430 --> 00:04:24,730 sizin dairəsi əmin ki, var və siz onları çalışırıq. 92 00:04:24,730 --> 00:04:29,150 Gec belə olsa da, hələ də lazımdır çərçivəsində xal üçün kredit almaq, mən hesab edirəm. 93 00:04:29,150 --> 00:04:33,730 >> Hekayəsidir Belə ki, mənəvi etmək Sizin psets on-vaxt var. 94 00:04:33,730 --> 00:04:38,350 Onlar vaxtında olmadıqda, Bu böyük deyil ki, bilirik. 95 00:04:38,350 --> 00:04:41,678 Bəli, mən hərəkət əvvəl, hər kəs yoxdur pset Əlaqə bağlı hər hansı bir sualınız? 96 00:04:41,678 --> 00:04:42,178 Bəli. 97 00:04:42,178 --> 00:04:43,630 >> Auditoriya: Əgər biz demək mi psets biri düşmək olar? 98 00:04:43,630 --> 00:04:44,296 >> ANDI PENG: Bəli. 99 00:04:44,296 --> 00:04:47,050 Belə ki, doqquz psets ümumi var dövr ərzində. 100 00:04:47,050 --> 00:04:50,610 Və daxilində varsa points belə əhatə dairəsi, yalnız 101 00:04:50,610 --> 00:04:53,567 olduqca çox, siz cəhd problem, siz vaxt qoyurlar 102 00:04:53,567 --> 00:04:56,150 Siz var ki, göstərir nümayiş Siz spec oxumaq etdik. 103 00:04:56,150 --> 00:04:57,191 Olduqca çox əhatə dairəsi var. 104 00:04:57,191 --> 00:04:59,370 Və yerinə əgər çərçivəsində bal, biz 105 00:04:59,370 --> 00:05:03,360 aşağı açılır tam əhatə xaricində bir. 106 00:05:03,360 --> 00:05:06,790 Belə ki, sizin üstünlüyü var tam və hər pset cəhd edin. 107 00:05:06,790 --> 00:05:10,320 >> Hətta upload-- heç əgər Onlara bütün yüklemek çalışır. 108 00:05:10,320 --> 00:05:13,711 Və sonra biz ümid edə bilərsiniz siz bu bal bəzi geri verir. 109 00:05:13,711 --> 00:05:14,210 Cool. 110 00:05:14,210 --> 00:05:16,780 Hər hansı digər suallar? 111 00:05:16,780 --> 00:05:17,840 Great. 112 00:05:17,840 --> 00:05:21,960 >> İkincisi, ofis bir neçə hours-- ofis saat haqqında tez qeydlər. 113 00:05:21,960 --> 00:05:24,300 Belə ki, ilk, erkən həftə gəlir. 114 00:05:24,300 --> 00:05:26,909 Heç bir at heç deyil bazar ertəsi ofis saat. 115 00:05:26,909 --> 00:05:28,700 Christabel gəldi ofis saat dünən gecə. 116 00:05:28,700 --> 00:05:29,691 Bəli, Christabel. 117 00:05:29,691 --> 00:05:32,190 Və biz ofisində nə var idi Dünən gecə saatlarında Christabel? 118 00:05:32,190 --> 00:05:33,020 >> Auditoriya: Biz dondurma var idi. 119 00:05:33,020 --> 00:05:36,160 >> ANDI PENG: Belə ki, doğru, biz idi ofis saat dondurma ötən gecə. 120 00:05:36,160 --> 00:05:39,390 Mən ki, vəd edə bilməz baxmayaraq Biz ofis saat dondurma lazımdır 121 00:05:39,390 --> 00:05:43,230 hər həftə, mən sizə vəd edə bilər nə əhəmiyyətli dərəcədə olacaq ki, 122 00:05:43,230 --> 00:05:45,380 TA nisbəti daha yaxşı tələbə. 123 00:05:45,380 --> 00:05:47,650 Legit kimi, bir üç kimi. 124 00:05:47,650 --> 00:05:50,350 , Ilə fərqli Halbuki Cümə axşamı, siz təxminən 150 var 125 00:05:50,350 --> 00:05:52,830 həqiqətən uşaq və dondurma vurğulayıb. 126 00:05:52,830 --> 00:05:55,360 Və yalnız hər kəs üçün məhsuldar deyil. 127 00:05:55,360 --> 00:05:58,730 Hekayə belə mənəvi erkən gəlib ofis saat və yaxşı şeylər 128 00:05:58,730 --> 00:06:00,310 olacaq. 129 00:06:00,310 --> 00:06:02,110 >> Həmçinin, sual hazırlanmış gəlir. 130 00:06:02,110 --> 00:06:03,200 Sən bilirsən? 131 00:06:03,200 --> 00:06:05,420 Asılı olmayaraq nə TAŞ, mən deyərək edilmişdir edirəm, 132 00:06:05,420 --> 00:06:10,710 biz bir neçə tələbə əldə etdik 10:50, kimi, Cümə axşamı günü gəlib edən 133 00:06:10,710 --> 00:06:15,100 spec oxumaq olmayan mənə kömək kimi olan, mənə kömək. 134 00:06:15,100 --> 00:06:18,200 Təəssüf ki, o nöqtədə var çox deyil biz sizə kömək edə bilər. 135 00:06:18,200 --> 00:06:19,590 Belə ki, erkən həftə gəlmək edin. 136 00:06:19,590 --> 00:06:22,040 Ofis saat erkən gəlir. 137 00:06:22,040 --> 00:06:23,350 Sual hazırlanmış gel. 138 00:06:23,350 --> 00:06:25,310 Kimi, siz olun tələbə, burada 139 00:06:25,310 --> 00:06:27,620 belə ki, olmaq lazımdır Taş boyunca sizə yardım edə bilər 140 00:06:27,620 --> 00:06:32,850 nə ofis saat olan olmalıdır üçün ayrılmış olunacaq. 141 00:06:32,850 --> 00:06:37,380 >> İkincisi, mən professor bilirəm testlər bizə sürpriz etmək istəyirəm. 142 00:06:37,380 --> 00:06:39,439 Mən bir professor o idi yo kimi, yeri gəlmişkən, 143 00:06:39,439 --> 00:06:41,230 ki, aralıq xatırlayıram növbəti Bazar ertəsi var. 144 00:06:41,230 --> 00:06:42,855 Bəli, mən ki, aralıq haqqında bilmirdim. 145 00:06:42,855 --> 00:06:45,630 Beləliklə, mən ki, olmaq üçün gedirəm TA ki, siz bütün viktorina xatırladır 146 00:06:45,630 --> 00:06:47,270 Bilirsiniz, çünki 0-, biz CS istəyirik. 147 00:06:47,270 --> 00:06:50,730 İndi biz görülən seriallarda var ki, siz almaq Bu viktorina 0 niyə, eh, 1 viktorina deyil? 148 00:06:50,730 --> 00:06:51,320 OLDU. 149 00:06:51,320 --> 00:06:52,490 Oh, mən ki, bir sıra chuckles var. 150 00:06:52,490 --> 00:06:53,120 OLDU. 151 00:06:53,120 --> 00:06:59,710 >> Belə ki, viktorina 0, əgər 14 oktyabr olacaq Bazar ertəsi-çərşənbə bölməsində istəyirik 152 00:06:59,710 --> 00:07:02,920 və 15 oktyabr siz əgər Çərşənbə axşamı-Cümə axşamı bölmə. 153 00:07:02,920 --> 00:07:05,630 Bu üçün müraciət etmir Harvard sizin 154 00:07:05,630 --> 00:07:10,350 Mən sizə bütün olacaq edirəm who-- 14 viktorina alaraq. 155 00:07:10,350 --> 00:07:13,560 >> Belə ki, Bəli, gələn həftə, əgər David, mühazirə, gedir 156 00:07:13,560 --> 00:07:15,747 Bəli, bu barədə belə viktorina gələn həftə, bütün 157 00:07:15,747 --> 00:07:17,580 çünki şok deyil Siz bölmə gəldi 158 00:07:17,580 --> 00:07:19,664 və bilirik ki, sizin viktorina 0 iki həftə var. 159 00:07:19,664 --> 00:07:21,580 Və biz nəzərdən lazımdır sessiyaları və hər şey. 160 00:07:21,580 --> 00:07:26,360 Haqqında heç bir narahatlıq ki, qorxuram. 161 00:07:26,360 --> 00:07:29,890 Hər hansı bir sualınız Hər hansı bir sualınız, əvvəl bütün bağlı maddi-texniki məsələləri, 162 00:07:29,890 --> 00:07:32,591 grading, ofis saat, bölmələr? 163 00:07:32,591 --> 00:07:33,090 Bəli. 164 00:07:33,090 --> 00:07:35,100 >> Auditoriya: viktorina edir So mühazirə zamanı olacaq? 165 00:07:35,100 --> 00:07:35,766 >> ANDI PENG: Bəli. 166 00:07:35,766 --> 00:07:39,460 Viktorina Belə ki, mən hesab edirəm ki, 60 ki, zaman intervalı nəzərdə dəqiqə 167 00:07:39,460 --> 00:07:42,240 Siz yalnız almaq lazımdır ki, mühazirə zalında. 168 00:07:42,240 --> 00:07:44,810 Belə ki, gəlib yoxdur təsadüfi 7:00 PM kimi, on. 169 00:07:44,810 --> 00:07:46,140 Bu, bütün yaxşı. 170 00:07:46,140 --> 00:07:47,100 Bəli. 171 00:07:47,100 --> 00:07:50,060 Cool. 172 00:07:50,060 --> 00:07:50,840 >> Oldu. 173 00:07:50,840 --> 00:07:54,330 Belə ki, biz olacaq Sizə bir anlayış təqdim 174 00:07:54,330 --> 00:08:00,760 David cür artıq bu həftə Bu ötən həftə mühazirə də toxunub. 175 00:08:00,760 --> 00:08:02,010 Bu gdb deyirlər. 176 00:08:02,010 --> 00:08:05,570 Və necə bir çox, isə sizin psets yazı əlbəttə, 177 00:08:05,570 --> 00:08:09,981 deyir ki, bir böyük düyməsinə fark etdik Sizin IDE üst "debug" 178 00:08:09,981 --> 00:08:10,480 OLDU. 179 00:08:10,480 --> 00:08:13,770 Belə ki, indi biz, həqiqətən, axtarıb tapmaq üçün almaq lazımdır nə düyməsini sirr həqiqətən 180 00:08:13,770 --> 00:08:14,270 yoxdur. 181 00:08:14,270 --> 00:08:16,790 Və mən bir deyil, sizə zəmanət gözəl, gözəl bir şey. 182 00:08:16,790 --> 00:08:20,740 >> Indiyə qədər, mən hesab edirəm up So iki şey var oldu 183 00:08:20,740 --> 00:08:23,320 tələbələr adətən olmuşdur psets ayıklama zaman edir. 184 00:08:23,320 --> 00:08:27,635 One, onlar da əlavə printf () - belə bir neçə xətləri, 185 00:08:27,635 --> 00:08:29,760 Onlar printf () əlavə - oh, bu dəyişən nədir? 186 00:08:29,760 --> 00:08:32,551 Oh, bu dəyişən nə, indi və cür inkişaf görmək 187 00:08:32,551 --> 00:08:33,940 Sizin kodu çalışır kimi. 188 00:08:33,940 --> 00:08:37,030 Və ya uşaq nə ikinci metodu onlar yalnız bütün şey yazmaq 189 00:08:37,030 --> 00:08:38,610 və sonra sonunda bu kimi gedin. 190 00:08:38,610 --> 00:08:39,970 Ümid edirəm ki, işləyir. 191 00:08:39,970 --> 00:08:44,851 Mən sizə zəmanət, gdb daha yaxşıdır Bu üsulları həm çox. 192 00:08:44,851 --> 00:08:45,350 Bəli. 193 00:08:45,350 --> 00:08:46,980 Belə ki, bu yeni yaxşı dost olacaq. 194 00:08:46,980 --> 00:08:51,780 Bu gözəl bir şey var, çünki ki, vizual ekran, həm də 195 00:08:51,780 --> 00:08:54,850 nə code edir müəyyən bir nöqtədə 196 00:08:54,850 --> 00:08:57,486 eləcə də nə bütün kimi dəyişənlər daşıyırıq, 197 00:08:57,486 --> 00:08:59,610 Onların dəyərləri nə kimi, xüsusi nöqtədə. 198 00:08:59,610 --> 00:09:02,670 Və bu şəkildə, həqiqətən bilərsiniz Sizin kodu breakpoints. 199 00:09:02,670 --> 00:09:04,350 Siz xətti ilə xətti ilə çalıştırabilirsiniz. 200 00:09:04,350 --> 00:09:07,324 Və gdb yalnız üçün olacaq Siz, sizin üçün göstərilir 201 00:09:07,324 --> 00:09:09,490 nə bütün dəyişənlərin onlar nə edirlər ki, 202 00:09:09,490 --> 00:09:10,656 nə kodu olur. 203 00:09:10,656 --> 00:09:13,240 Və belə bir şəkildə, bu çox asan görmək üçün 204 00:09:13,240 --> 00:09:17,120 nə printf-ing əvəzinə baş ya bəyanatlar yazırlar. 205 00:09:17,120 --> 00:09:19,160 >> Beləliklə, biz bu nümunə edəcəyik. 206 00:09:19,160 --> 00:09:20,660 Belə ki, bu bir az mücərrəd görünür. 207 00:09:20,660 --> 00:09:23,490 Heç bir narahatlıq, biz nümunələri edəcəyik. 208 00:09:23,490 --> 00:09:29,170 Və belə mahiyyətcə, üç böyük, Siz gdb lazımdır funksiyaları ən çox istifadə olunan 209 00:09:29,170 --> 00:09:32,500 Next, artıq addım, və düymələri daxil addım. 210 00:09:32,500 --> 00:09:34,860 Mən artıq baş gedirəm Orada, həqiqətən, indi. 211 00:09:34,860 --> 00:09:40,930 >> Belə ki, uşaqlar bütün görə bilərsiniz və ya bir az zoom lazımdır? 212 00:09:40,930 --> 00:09:43,220 213 00:09:43,220 --> 00:09:44,470 Geri, siz bilərsiniz? 214 00:09:44,470 --> 00:09:45,730 Mən zoom lazımdır? 215 00:09:45,730 --> 00:09:46,480 Bir azca? 216 00:09:46,480 --> 00:09:49,390 Sərin, OK. 217 00:09:49,390 --> 00:09:50,280 Biz orada getmək. 218 00:09:50,280 --> 00:09:50,960 OLDU. 219 00:09:50,960 --> 00:09:57,000 >> Belə ki, Mən burada var görməmiş üçün həyata keçirilməsi. 220 00:09:57,000 --> 00:10:01,430 Və uşaqlar bir çox yazdı ki, forması isə loop görməmiş 221 00:10:01,430 --> 00:10:04,890 etmək üçün bir mükəmməl məqbul yoldur Bu sadəcə nə üçün başqa bir yol pseudocode 222 00:10:04,890 --> 00:10:06,280 modulo bölmək. 223 00:10:06,280 --> 00:10:09,290 Sonra ola bilər, çünki sizin dəyəri və sonra qalan yoxdur. 224 00:10:09,290 --> 00:10:11,150 Və sonra yalnız bilərsiniz bütün birlikdə əlavə edin. 225 00:10:11,150 --> 00:10:13,390 Edirəm nə məntiq yoxdur burada hər kəs mənada, 226 00:10:13,390 --> 00:10:14,117 Biz başlamaq əvvəl? 227 00:10:14,117 --> 00:10:16,760 228 00:10:16,760 --> 00:10:17,980 Kimi? 229 00:10:17,980 --> 00:10:18,710 Cool. 230 00:10:18,710 --> 00:10:19,210 Great. 231 00:10:19,210 --> 00:10:21,290 Bu olduqca sexy parça var kodu, mən deyərdim. 232 00:10:21,290 --> 00:10:23,502 Mən David, ifadə edərək, bir müddət sonra, mühazirə, 233 00:10:23,502 --> 00:10:25,960 Bütün kodu görmeye başlamaq lazımdır gözəl bir şey kimi. 234 00:10:25,960 --> 00:10:29,950 Və bəzən gözəl görəndə indeksi, belə bir gözəl hissi var. 235 00:10:29,950 --> 00:10:35,410 >> Lakin, bu kodu çox ederken gözəl, düzgün işləmir. 236 00:10:35,410 --> 00:10:37,750 Belə ki, bu barədə check50 run edək. 237 00:10:37,750 --> 00:10:39,440 50 20-- oop yoxlayın. 238 00:10:39,440 --> 00:10:43,221 239 00:10:43,221 --> 00:10:43,720 2? 240 00:10:43,720 --> 00:10:44,990 Ki pset2 deyilmi? 241 00:10:44,990 --> 00:10:46,870 Bəli. 242 00:10:46,870 --> 00:10:47,520 Oh, pset1. 243 00:10:47,520 --> 00:10:50,970 244 00:10:50,970 --> 00:10:52,890 OLDU. 245 00:10:52,890 --> 00:10:53,900 Beləliklə, biz check50 axır. 246 00:10:53,900 --> 00:11:01,550 247 00:11:01,550 --> 00:11:07,170 >> Və uşaqlar burada görə bilərsiniz kimi, Bu hallarda bir neçə uğursuz oldu. 248 00:11:07,170 --> 00:11:10,165 Və bəzi üçün Sizin problem dəstləri bunu əlbəttə ki, 249 00:11:10,165 --> 00:11:11,110 ah, niyə iş deyil, kimi istəyirik. 250 00:11:11,110 --> 00:11:13,318 Nə üçün bəzi iş dəyərlər lakin başqaları üçün? 251 00:11:13,318 --> 00:11:17,760 Yaxşı, gdb siz rəqəm kömək edir niyə o giriş iş deyil. 252 00:11:17,760 --> 00:11:18,320 >> OLDU. 253 00:11:18,320 --> 00:11:21,640 Belə ki, bir görək Mən check50 verə bilmirdi çek 254 00:11:21,640 --> 00:11:24,920 0,41 giriş dəyəri idi. 255 00:11:24,920 --> 00:11:27,830 Düzgün cavab Belə ki, Siz əldə edilməlidir 4 edir. 256 00:11:27,830 --> 00:11:33,090 Amma əvəzinə mən çap edirəm nə səhv 3-n edir. 257 00:11:33,090 --> 00:11:36,190 Belə ki, yalnız, yalnız özünüz bu run bildirin check50 iş ki, əmin olun. 258 00:11:36,190 --> 00:11:36,940 Nin ./greedy edək. 259 00:11:36,940 --> 00:11:40,130 260 00:11:40,130 --> 00:11:43,340 Bağışlayın, mən görməmiş etmək lazımdır. 261 00:11:43,340 --> 00:11:43,840 Biz orada getmək. 262 00:11:43,840 --> 00:11:44,381 İndi ./greedy. 263 00:11:44,381 --> 00:11:46,950 264 00:11:46,950 --> 00:11:47,670 >> Nə qədər borclu? 265 00:11:47,670 --> 00:11:49,550 Nin 0,41 edək. 266 00:11:49,550 --> 00:11:52,590 Və yep, biz burada bax Bu 3 tipi ki, 267 00:11:52,590 --> 00:11:55,160 zaman düzgün cavab, əslində, 4 olmalıdır. 268 00:11:55,160 --> 00:12:01,460 Belə ki, gdb daxil bildirin və biz necə Bu problem təyinat haqqında getmək bilər. 269 00:12:01,460 --> 00:12:03,992 >> Ilk addım belə həmişə kodu ayıklama 270 00:12:03,992 --> 00:12:05,950 breakpoint müəyyən edir, və ya bir nöqtə olan siz 271 00:12:05,950 --> 00:12:09,079 kompüter və ya istəyirəm ayıklama baxaraq başlamaq. 272 00:12:09,079 --> 00:12:11,120 Əgər belə deyil, həqiqətən, Sizin problem nə, 273 00:12:11,120 --> 00:12:14,670 adətən, tipik şey istəyirik Bunu əsas Bizim breakpoint müəyyən edir. 274 00:12:14,670 --> 00:12:18,520 Belə ki, uşaqlar bu edə bilərsiniz əgər orada qırmızı düyməsinə, 275 00:12:18,520 --> 00:12:22,860 yep, mənə qəbulu olan bir əsas funksiyası üçün breakpoint. 276 00:12:22,860 --> 00:12:24,130 Hesab edirəm ki, basın. 277 00:12:24,130 --> 00:12:26,130 >> Və sonra mən debug düyməsini qədər getmək olar. 278 00:12:26,130 --> 00:12:27,036 Hesab edirəm ki, düyməsini basın. 279 00:12:27,036 --> 00:12:31,710 280 00:12:31,710 --> 00:12:36,555 Mən əgər mənə geri zoom imkan verir. 281 00:12:36,555 --> 00:12:38,020 Biz orada getmək. 282 00:12:38,020 --> 00:12:40,730 Belə ki, biz, burada, sağ bir panel var. 283 00:12:40,730 --> 00:12:43,680 Mən geri, uşaqlar kədərləndim, siz həqiqətən həqiqətən də görmək bilməz. 284 00:12:43,680 --> 00:12:49,090 Amma mahiyyətcə, bütün bu hüququ panel edir 285 00:12:49,090 --> 00:12:53,130 həm də qeyd track saxlanılması edir kod xətt line, 286 00:12:53,130 --> 00:12:56,640 Kompüter Hal-hazırda çalışan, həmçinin dəyişənlərin bütün kimi 287 00:12:56,640 --> 00:12:57,600 burada. 288 00:12:57,600 --> 00:13:00,487 >> Belə ki, qəpik, pul, n var, bütün müxtəlif şeylər elan 289 00:13:00,487 --> 00:13:01,070 Bu nöqtədə. 290 00:13:01,070 --> 00:13:04,850 Heç bir narahatlıq, çünki biz həqiqətən var hələ heç bir dəyişənlərin onları başlatılmış. 291 00:13:04,850 --> 00:13:07,200 Sizin kompüter Belə ki, kompüter yalnız görən oldu, 292 00:13:07,200 --> 00:13:14,376 oh, 32767 son istifadə funksiyası mənim kompüter yaddaş kosmik. 293 00:13:14,376 --> 00:13:16,000 Qəpik hazırda harada ki var. 294 00:13:16,000 --> 00:13:19,360 Amma heç bir dəfə siz kodu run Bu başlatılmış olmalıdır. 295 00:13:19,360 --> 00:13:24,110 >> Belə ki, çox, xətti ilə gedək line, nə burada olur. 296 00:13:24,110 --> 00:13:25,350 OLDU. 297 00:13:25,350 --> 00:13:29,400 Burada belə üç Mən yalnız izah düymələri. 298 00:13:29,400 --> 00:13:34,090 Siz Play, və ya Run funksiyası var düyməsini, siz düyməsini üzərində addım 299 00:13:34,090 --> 00:13:36,600 və siz də düyməsini daxil addım var. 300 00:13:36,600 --> 00:13:41,260 Və mahiyyətcə, bütün üç Onlara yalnız kod vasitəsilə getmək 301 00:13:41,260 --> 00:13:42,690 və müxtəlif şeylər. 302 00:13:42,690 --> 00:13:45,680 >> Belə ki, adətən, siz ayıklama etdiyiniz zaman, biz yalnız Play hit istəmirəm, 303 00:13:45,680 --> 00:13:47,930 Play yalnız davam edəcək, çünki Bunun sonuna kodu. 304 00:13:47,930 --> 00:13:49,070 Və sonra həqiqətən deyil nə sizin problem 305 00:13:49,070 --> 00:13:51,432 Bir neçə breakpoints halda deyil. 306 00:13:51,432 --> 00:13:53,890 Bir neçə breakpoints müəyyən etsəniz, yalnız avtomatik olaraq 307 00:13:53,890 --> 00:13:56,030 bir breakpoint run, növbəti, növbəti. 308 00:13:56,030 --> 00:13:58,030 Lakin bu halda biz yalnız bir, çünki 309 00:13:58,030 --> 00:13:59,970 bizim yol işləmək istəyirəm alt üst aşağı. 310 00:13:59,970 --> 00:14:04,830 Belə ki, düyməsini ignore olacaq İndi bu proqramın məqsədləri üçün. 311 00:14:04,830 --> 00:14:08,230 >> Funksiyası üzərində Addım Belə ki, yalnız hər bir xətti üzərində addımlar 312 00:14:08,230 --> 00:14:11,510 və sizə deyir nə kompüter edir. 313 00:14:11,510 --> 00:14:14,630 Funksiyası daxil Step gedir faktiki funksiyası daxil 314 00:14:14,630 --> 00:14:16,000 ki, kodu sizin line var. 315 00:14:16,000 --> 00:14:19,070 Belə ki, məsələn, printf kimi () doğru, bir funksiyası var? 316 00:14:19,070 --> 00:14:21,980 Mən fiziki addım istəyirdi printf () funksiyası daxil, 317 00:14:21,980 --> 00:14:25,610 Mən, həqiqətən, parça daxil getmək olardı printf () yazılı və görmək edildi kodu 318 00:14:25,610 --> 00:14:26,730 nə var olur. 319 00:14:26,730 --> 00:14:29,924 >> Amma adətən, biz güman biz sizə code işləyir. 320 00:14:29,924 --> 00:14:31,340 Biz () işləyir printf daşımır. 321 00:14:31,340 --> 00:14:33,170 Biz GetInt () iş olduğunu daşımır. 322 00:14:33,170 --> 00:14:35,170 Belə ki, heç bir ehtiyac üçün var bu funksiyaları daxil addım. 323 00:14:35,170 --> 00:14:37,170 Amma funksiyaları var, əgər Özünüz yazmaq 324 00:14:37,170 --> 00:14:39,060 Kontrol istədiyiniz ki, neler həyata, 325 00:14:39,060 --> 00:14:41,200 addım istəyirəm ki, funksiyası daxil. 326 00:14:41,200 --> 00:14:43,940 >> Belə ki, indi biz yalnız olacaq kodu bu parça üzərində addım. 327 00:14:43,940 --> 00:14:44,485 Belə ki, görək. 328 00:14:44,485 --> 00:14:46,547 Oh, çap, "Oh hai necə çox dəyişiklik borclu? " 329 00:14:46,547 --> 00:14:47,130 Biz qayğı yoxdur. 330 00:14:47,130 --> 00:14:49,830 Biz bu iş bilirik, belə ki, biz artıq addım. 331 00:14:49,830 --> 00:14:53,290 >> Belə ki, n, bizim float olan ki, biz initialized-- var və ya declared-- 332 00:14:53,290 --> 00:14:56,810 üst qədər, biz indi istəyirik GetFloat ki, bərabər (). 333 00:14:56,810 --> 00:14:57,810 Belə ki, üzərində addım edək. 334 00:14:57,810 --> 00:14:59,580 Və biz görmək bottom Burada proqram 335 00:14:59,580 --> 00:15:03,360 dəyəri daxil mənə isteyen olunur. 336 00:15:03,360 --> 00:15:08,580 Belə ki, giriş biz istəyirik dəyər imkan 0,41 olan, burada test. 337 00:15:08,580 --> 00:15:09,160 Great. 338 00:15:09,160 --> 00:15:12,780 >> Belə ki, indi n-- uşaqlar görürsünüz Burada Alt bu 339 00:15:12,780 --> 00:15:15,140 saxlanılmalıdır Çünki biz hələ dairəvi deyil, bu 340 00:15:15,140 --> 00:15:19,540 oxşar nəhəng saxlanılır 0,4099999996 edir float, 341 00:15:19,540 --> 00:15:22,550 kifayət qədər yaxın olan bizim məqsədləri, indi 0,41 üçün. 342 00:15:22,550 --> 00:15:26,090 Və sonra biz, sonra kimi görürsünüz biz proqramı üzərində gücləndirməklə davam, 343 00:15:26,090 --> 00:15:29,850 Burada sonra n olmuşdur dairəvi və qəpik 41 olmuşdur. 344 00:15:29,850 --> 00:15:30,350 Great. 345 00:15:30,350 --> 00:15:32,230 Belə ki, biz yuvarlaqlaşdırma nin iş ki, bilirik. 346 00:15:32,230 --> 00:15:34,700 Biz bilirik ki, qəpik doğru sayı, 347 00:15:34,700 --> 00:15:36,990 belə ki, bilirik həqiqətən problem. 348 00:15:36,990 --> 00:15:40,050 >> Beləliklə, biz addım davam Bu proqram haqqında. 349 00:15:40,050 --> 00:15:40,900 Biz burada getmək. 350 00:15:40,900 --> 00:15:46,139 Və belə kodu bu xətt sonra, biz biz nə qədər dörddə bilməlidir. 351 00:15:46,139 --> 00:15:46,680 Biz artıq addım. 352 00:15:46,680 --> 00:15:52,040 Və biz, əslində, bir var çox dörddəbir biz 25 çıxılacaq etdik, çünki 353 00:15:52,040 --> 00:15:53,790 41 bizim ilkin dəyərindən. 354 00:15:53,790 --> 00:15:55,890 Və biz sent üçün 16 sol var. 355 00:15:55,890 --> 00:15:58,830 >> Hər kəs necə başa düşmək olar Proqram vasitəsilə gücləndirməklə olunur 356 00:15:58,830 --> 00:16:02,980 və niyə qəpik artıq 16 olmuşdur və nə, indi pul 1 oldu? 357 00:16:02,980 --> 00:16:04,610 Hər kəs məntiq təqib edir? 358 00:16:04,610 --> 00:16:05,110 Cool. 359 00:16:05,110 --> 00:16:07,860 Bu kəsir, belə ki, Proqramın iş, sağ? 360 00:16:07,860 --> 00:16:09,797 Biz məhz bunu bilirik biz bunu istəyirəm nə. 361 00:16:09,797 --> 00:16:11,880 Və biz, həqiqətən, olmadı oh, çap var, nə 362 00:16:11,880 --> 00:16:14,430 bu nöqtədə qəpik edir bu nöqtədə pul edir. 363 00:16:14,430 --> 00:16:17,170 >> Biz proqramı keçir davam edir. 364 00:16:17,170 --> 00:16:18,100 Üzərində addım. 365 00:16:18,100 --> 00:16:18,620 Cool. 366 00:16:18,620 --> 00:16:19,700 Biz Dimes üzərində gedin. 367 00:16:19,700 --> 00:16:20,200 Great. 368 00:16:20,200 --> 00:16:22,367 Biz qəbul ki, görəcəksiniz bir dime üçün $ 0.10 off. 369 00:16:22,367 --> 00:16:23,450 İndi biz iki pul var. 370 00:16:23,450 --> 00:16:25,260 Ki, doğru deyil. 371 00:16:25,260 --> 00:16:31,555 >> Biz pennies artıq getmək və biz biz qəpik artıq tərk var ki. 372 00:16:31,555 --> 00:16:32,680 Hmm, ki, qəribə deyil. 373 00:16:32,680 --> 00:16:37,540 Burada proqramında, mən idi Mənim pennies çıxılacaq üçün. 374 00:16:37,540 --> 00:16:39,400 Yəqin ki, mən yalnız idi ki, xətt hüququ edir. 375 00:16:39,400 --> 00:16:42,190 Və təəssüf ki, siz görə bilərsiniz Burada biz bilirik, çünki 376 00:16:42,190 --> 00:16:44,360 biz gücləndirməklə olunur ki, xətləri 32 və 33 vasitəsilə 377 00:16:44,360 --> 00:16:50,560 olduğu proqram var düzgün dəyişənlər run idi. 378 00:16:50,560 --> 00:16:55,136 Beləliklə, biz baxmaq və oh görə bilərsiniz, Mən burada qəpik subtracting alıram, 379 00:16:55,136 --> 00:16:57,010 lakin mən, həqiqətən deyiləm Mənim sikkə dəyər əlavə. 380 00:16:57,010 --> 00:16:57,860 Mən qəpik əlavə edirəm. 381 00:16:57,860 --> 00:17:00,234 Mən əlavə etmək istəmirəm qəpik, mən pul əlavə etmək istəyirəm. 382 00:17:00,234 --> 00:17:05,420 Beləliklə, biz pul üçün dəyişdirmək əgər, biz bir iş proqramı var. 383 00:17:05,420 --> 00:17:06,730 Mən check50 çalıştırabilirsiniz. 384 00:17:06,730 --> 00:17:11,063 Siz yalnız GDB hüququnun həyata çıxmaq bilər burada və sonra check50 axır. 385 00:17:11,063 --> 00:17:11,938 Mən yalnız bunu edə bilər. 386 00:17:11,938 --> 00:17:14,822 387 00:17:14,822 --> 00:17:18,480 Mən görməmiş etmək lazımdır. 388 00:17:18,480 --> 00:17:19,940 0,41. 389 00:17:19,940 --> 00:17:22,819 Və burada, bu çap var düzgün cavab həyata. 390 00:17:22,819 --> 00:17:26,569 >> Uşaqlar Gördüyünüz kimi, gdb həqiqətən güclü bir vasitədir 391 00:17:26,569 --> 00:17:29,940 biz çox kodu zaman üçün davam və bir çox dəyişənlər 392 00:17:29,940 --> 00:17:32,510 kimi, bizim üçün çətin ki, bir insan, takip. 393 00:17:32,510 --> 00:17:35,360 gdb kompüter, ayıklama, imkanı var 394 00:17:35,360 --> 00:17:37,020 hər şey takip. 395 00:17:37,020 --> 00:17:40,480 Mən yəqin ki, Visionaire, siz uşaqlar, bilirik bəzi seqmentasiyası çatışmazlıqlar edib ola bilər 396 00:17:40,480 --> 00:17:43,150 çalışan idi, çünki Sizin array hüdudlarından kənarda. 397 00:17:43,150 --> 00:17:46,510 Sezar Məsələn, ki məhz mən burada nə həyata etdik. 398 00:17:46,510 --> 00:17:50,060 >> Beləliklə, mən yoxlamaq unuttum nə əgər olur mən 399 00:17:50,060 --> 00:17:52,510 iki command line dəlilləri yox idi. 400 00:17:52,510 --> 00:17:53,880 Mən yalnız çek qoymadı. 401 00:17:53,880 --> 00:17:57,380 Mən Debug-- run əgər və mən müəyyən Mənim breakpoint orada sağ. 402 00:17:57,380 --> 00:17:58,055 Mən debug axır. 403 00:17:58,055 --> 00:18:15,880 404 00:18:15,880 --> 00:18:16,550 >> OLDU. 405 00:18:16,550 --> 00:18:17,050 Bəli. 406 00:18:17,050 --> 00:18:20,350 Yəni əslində, gdb idi mənə demişəm 407 00:18:20,350 --> 00:18:22,300 bir seqmentasiya günah idi. 408 00:18:22,300 --> 00:18:24,883 Mən davam nə bilmirəm orada, lakin mən onu qaçdım zaman 409 00:18:24,883 --> 00:18:25,590 Bu işləyirdi. 410 00:18:25,590 --> 00:18:29,410 Siz vasitəsilə kodu xətləri çalıştırdığınızda və Gdb yalnız birdən sizə çıxmaq bilər 411 00:18:29,410 --> 00:18:31,540 getmək və qırmızı səhv nə baxmaq. 412 00:18:31,540 --> 00:18:33,930 Bu, hey, sizə deyim bir seqmentasiya günah var idi, 413 00:18:33,930 --> 00:18:38,550 siz daxil olmaq üçün cəhd o deməkdir ki, yox idi bir sıra yer. 414 00:18:38,550 --> 00:18:39,050 Bəli. 415 00:18:39,050 --> 00:18:43,280 >> Növbəti problem belə bu həftə müəyyən, uşaqlar 416 00:18:43,280 --> 00:18:45,600 yəqin ki, bir çox olacaq dəyişənlər ətrafında üzən. 417 00:18:45,600 --> 00:18:48,560 Siz əmin olmaq fikrində deyilik nə onlar bütün müəyyən bir nöqtədə deməkdir. 418 00:18:48,560 --> 00:18:53,560 Belə ki, gdb həqiqətən figuring sizə kömək edəcək onlar bütün bərabər nə 419 00:18:53,560 --> 00:18:55,940 və vizual ki, görəcəksiniz edə. 420 00:18:55,940 --> 00:19:01,995 Hər kəs necə səhv edir ki, hər hansı bir iş idi? 421 00:19:01,995 --> 00:19:02,495 Cool. 422 00:19:02,495 --> 00:19:10,121 423 00:19:10,121 --> 00:19:10,620 Oldu. 424 00:19:10,620 --> 00:19:14,260 Belə ki, sonra, biz sağ dalış gedir 425 00:19:14,260 --> 00:19:17,562 müxtəlif dörd var Bu həftə üçün növ növləri. 426 00:19:17,562 --> 00:19:19,520 Necə bir çox ilk bütün, biz başlamaq əvvəl, 427 00:19:19,520 --> 00:19:23,020 pset3 üçün bütün spec oxumaq? 428 00:19:23,020 --> 00:19:23,824 OLDU. 429 00:19:23,824 --> 00:19:24,740 Mən sizə uşaqlar fəxr edirəm. 430 00:19:24,740 --> 00:19:29,110 Bu sinif yarısında kimi olan son dəfə xeyli çoxdur. 431 00:19:29,110 --> 00:19:33,950 >> Belə ki, böyük zaman, çünki biz məzmunu haqqında danışmaq 432 00:19:33,950 --> 00:19:36,170 məruzə ya üzr da, section-- da Mən istəyirəm 433 00:19:36,170 --> 00:19:38,210 ki, bir çox aid geri pset nə 434 00:19:38,210 --> 00:19:40,210 və istədiyiniz necə Sizin pset ki, həyata keçirir. 435 00:19:40,210 --> 00:19:42,400 Sizə olan gəlir əgər Belə ki, spec oxumaq, bu lazımdır 436 00:19:42,400 --> 00:19:45,510 Siz anlamaq üçün çox asan olacaq Mən deyəndə söhbət alıram nə, 437 00:19:45,510 --> 00:19:48,720 hey oh, bu, həqiqətən ola bilər bu cür həyata keçirilməsi üçün yaxşı bir yerdir. 438 00:19:48,720 --> 00:19:52,870 Oxumaq olan sizin So Sizin pset bir hissəsi kimi, bilirik ki SPEC, 439 00:19:52,870 --> 00:19:54,900 Siz olacaq növ bir növü yazın. 440 00:19:54,900 --> 00:19:58,670 Belə ki, bu çox faydalı ola bilər Siz bir çox bu gün. 441 00:19:58,670 --> 00:20:01,760 >> Beləliklə, biz ilə başlamaq lazımdır, mahiyyətcə, ən sadə növü 442 00:20:01,760 --> 00:20:04,580 sort, seçim sort. 443 00:20:04,580 --> 00:20:06,800 üçün tipik alqoritm Biz bu barədə getmək istədiyiniz necə 444 00:20:06,800 --> 00:20:10,460 is-- David bütün bu ilə getdi mühazirə, mən tez birlikdə hərəkət edəcəyik 445 00:20:10,460 --> 00:20:13,900 burada siz mahiyyətcə dəyərlərin bir sıra var. 446 00:20:13,900 --> 00:20:17,170 Və sonra tapmaq kiçik çeşidlənməmiş dəyəri 447 00:20:17,170 --> 00:20:20,200 və ki, dəyəri ilə dəyişdirmək ilk çeşidlənməmiş dəyəri. 448 00:20:20,200 --> 00:20:22,700 Və sonra yalnız təkrar saxlamaq Sizin siyahısına qalan. 449 00:20:22,700 --> 00:20:25,740 >> Və burada bir vizual şərh iş ki necə. 450 00:20:25,740 --> 00:20:30,460 Biz əgər Belə ki, məsələn, başlamaq üçün beş elementləri bir sıra, indeksi ilə 451 00:20:30,460 --> 00:20:35,910 4 0, 3, 5, 2, 6 və 4 dəyərlər Belə ki, hazırda serialın yerləşdirilmiş, 452 00:20:35,910 --> 00:20:38,530 biz yalnız güman olacaq onlar bütün çeşidlənməmiş olduğunu 453 00:20:38,530 --> 00:20:41,130 biz başqa test deyil, çünki. 454 00:20:41,130 --> 00:20:44,130 >> Belə ki, necə bir seçim sort ki iş ki, ilk olardı deyil 455 00:20:44,130 --> 00:20:46,800 tam axır çeşidlənməmiş serialın. 456 00:20:46,800 --> 00:20:49,120 Bu kiçik dəyər seçmək olardı. 457 00:20:49,120 --> 00:20:51,750 Bu halda, 3, sağ indi kiçik deyil. 458 00:20:51,750 --> 00:20:52,680 5 olur. 459 00:20:52,680 --> 00:20:55,620 Xeyr, 5 than-- böyük deyil və ya sorry, 3 than-- az deyil. 460 00:20:55,620 --> 00:20:57,779 Belə ki, minimum dəyəri hələ 3. 461 00:20:57,779 --> 00:20:58,695 Və sonra 2 almaq. 462 00:20:58,695 --> 00:21:00,990 oh, görür kompüter, 2 az 3 edir. 463 00:21:00,990 --> 00:21:02,750 2 indi minimum dəyəri olmalıdır. 464 00:21:02,750 --> 00:21:06,630 Və belə ki, ilk dəyəri ilə 2 svopları. 465 00:21:06,630 --> 00:21:10,702 >> Belə ki, bir ötürməsindən sonra, biz həqiqətən görürsünüz ki, 2 və 3 dəyişdirildikdə. 466 00:21:10,702 --> 00:21:13,910 Və biz yalnız bunu davam edirik Bu yenidən serialın qalan. 467 00:21:13,910 --> 00:21:17,660 Belə ki, biz yalnız axır olacaq serialın son dörd göstəriciləri. 468 00:21:17,660 --> 00:21:20,670 Biz 3 olduğunu görəcəksiniz növbəti minimum dəyəri. 469 00:21:20,670 --> 00:21:23,240 Beləliklə, biz 4 ilə dəyişdirmək olacaq. 470 00:21:23,240 --> 00:21:26,900 Və sonra biz yalnız saxlamaq olacaq nəhayət qədər keçən, siz 471 00:21:26,900 --> 00:21:33,730 bir sıralanır array əldə olan 2, 3, 4, 5, 6, bütün sıralanır. 472 00:21:33,730 --> 00:21:37,530 Hər kəs məntiqi anlamaq olar bir seçim sort işləri necə? 473 00:21:37,530 --> 00:21:39,669 >> Siz yalnız bir növ var minimum dəyəri. 474 00:21:39,669 --> 00:21:41,210 Siz nə takip saxlanılması edirik. 475 00:21:41,210 --> 00:21:45,170 Onu tapmaq zaman, siz onu dəyişdirmək serialın ilk dəyəri ilə 476 00:21:45,170 --> 00:21:48,740 və ya, ilk dəyər array növbəti dəyər. 477 00:21:48,740 --> 00:21:50,150 Cool. 478 00:21:50,150 --> 00:21:55,460 >> Belə ki, uşaqlar kimi növ qısa fikir gördüm, 479 00:21:55,460 --> 00:21:58,450 biz bu pseudocode olacaq. 480 00:21:58,450 --> 00:22:02,510 Belə ki, geri uşaqlar istəyirsinizsə bir masada bir qrup, hər kəsə təşkil 481 00:22:02,510 --> 00:22:06,170 bir az tərəfdaş təşkil edə bilər, mən gedirəm üç dəqiqə kimi uşaqlar vermək 482 00:22:06,170 --> 00:22:08,190 yalnız vasitəsilə danışmaq məntiq, ingilis, 483 00:22:08,190 --> 00:22:14,161 biz həyata edə bilər necə pseudocode bir seçim növ yazmaq üçün. 484 00:22:14,161 --> 00:22:14,910 Və konfet var. 485 00:22:14,910 --> 00:22:16,118 Gəlmək və konfet almaq edin. 486 00:22:16,118 --> 00:22:19,520 Siz geri olduğunuzu və siz istəyirsinizsə candy, mən sizə konfet atmaq olar. 487 00:22:19,520 --> 00:22:22,850 Əslində, Səninlə sərin yoxdur. 488 00:22:22,850 --> 00:22:23,552 Oh, sorry. 489 00:22:23,552 --> 00:22:26,751 490 00:22:26,751 --> 00:22:27,250 OLDU. 491 00:22:27,250 --> 00:25:23,880 492 00:25:23,880 --> 00:25:27,140 >> Biz, istəyirsinizsə Belə ki, bir sinif, yazmaq pseudocode 493 00:25:27,140 --> 00:25:30,466 bir yanaşma bilər necə üçün Bu problem, yalnız çekinmeyin. 494 00:25:30,466 --> 00:25:32,340 Mən yalnız ətrafında getmək və lazımdır, məqsədilə qruplar xahiş 495 00:25:32,340 --> 00:25:35,065 növbəti xətti biz nə bunu etmək lazımdır. 496 00:25:35,065 --> 00:25:37,840 Sizlərin başlamaq istəyirsinizsə Belə ki, off, ilk şey nə var 497 00:25:37,840 --> 00:25:40,600 Siz çalışdığınız zaman nə etmək Bu proqram həll etmək üçün bir yol həyata 498 00:25:40,600 --> 00:25:43,480 seçilmiş siyahısını düzmək üçün? 499 00:25:43,480 --> 00:25:46,349 Yalnız biz güman edək bir sıra, bütün hüququ var? 500 00:25:46,349 --> 00:25:49,088 >> Auditoriya: Siz bir yaratmaq istəyirik sort [Işitilemez] sen ki, 501 00:25:49,088 --> 00:25:50,420 bütün array vasitəsilə çalışır. 502 00:25:50,420 --> 00:25:51,128 >> ANDI PENG: Sağ. 503 00:25:51,128 --> 00:25:54,100 Belə ki, təkrarlamaq istəyirəm olacaq hər kosmosda, sağ? 504 00:25:54,100 --> 00:26:05,490 Belə ki, böyük. 505 00:26:05,490 --> 00:26:08,600 Sizlərin mənə vermək istəyirsinizsə növbəti geri, evet xətti. 506 00:26:08,600 --> 00:26:11,414 507 00:26:11,414 --> 00:26:13,290 >> Auditoriya: onları yoxlayın bütün kiçik üçün. 508 00:26:13,290 --> 00:26:14,248 >> ANDI PENG: biz də gedin. 509 00:26:14,248 --> 00:26:17,438 Belə ki, biz vasitəsilə getmək və check istədiyiniz minimum dəyəri, sağ nə görmək? 510 00:26:17,438 --> 00:26:22,110 511 00:26:22,110 --> 00:26:24,840 Mən ki, qısaltmaq üçün gedirəm "min". 512 00:26:24,840 --> 00:26:27,658 Sizlərin sonra nə istəyirsiniz Siz minimum dəyəri gördük? 513 00:26:27,658 --> 00:26:28,533 >> Auditoriya: [işitilemez] 514 00:26:28,533 --> 00:26:29,942 515 00:26:29,942 --> 00:26:33,150 ANDI PENG: Belə ki, istədiyiniz olacaq ki, serialın ilk ilə keçid, 516 00:26:33,150 --> 00:26:33,650 sağ? 517 00:26:33,650 --> 00:26:45,120 518 00:26:45,120 --> 00:26:46,850 Mən demək gedirəm, başlanğıcı var. 519 00:26:46,850 --> 00:26:47,220 Oldu. 520 00:26:47,220 --> 00:26:50,386 Belə ki, indi ilk dəyişdirildikdə etdik ki, bir, nə sonra nə etmək istəyirsiniz? 521 00:26:50,386 --> 00:26:54,840 Belə ki, indi biz bilirik ki, burada bu bir sağ, kiçik dəyər olmalıdır? 522 00:26:54,840 --> 00:26:58,310 Sonra əlavə istirahət çeşidlənməmiş var serialın. 523 00:26:58,310 --> 00:27:01,569 Belə ki, əgər, burada nə etmək istədiklərini uşaqlar mənə növbəti line vermək istəyirsiniz? 524 00:27:01,569 --> 00:27:04,610 Auditoriya: Belə sonra təkrarlamaq istəyirəm serialın qalan vasitəsilə. 525 00:27:04,610 --> 00:27:05,276 ANDI PENG: Bəli. 526 00:27:05,276 --> 00:27:09,857 Və belə vasitəsilə iterating nə cür biz yəqin ki, lazımdır demək? 527 00:27:09,857 --> 00:27:10,440 Hansı növ of-- 528 00:27:10,440 --> 00:27:12,057 >> Auditoriya: Oh, əlavə dəyişən? 529 00:27:12,057 --> 00:27:13,890 ANDI PENG: Yəqin ki, loop üçün başqa, sağ? 530 00:27:13,890 --> 00:27:28,914 Belə ki, biz yəqin ki, istəyirəm olacaq through-- böyük təkrarlamaq. 531 00:27:28,914 --> 00:27:31,830 Və sonra geri getmək olacaq və yəqin ki, yenə minimum yoxlamaq, 532 00:27:31,830 --> 00:27:32,100 sağ? 533 00:27:32,100 --> 00:27:34,975 Və təkrar saxlamaq olacaq Bu, loops çünki yalnız gedir 534 00:27:34,975 --> 00:27:36,010 sağ, çalışan saxlamaq üçün? 535 00:27:36,010 --> 00:27:39,190 >> Belə ki, uşaqlar, Göründüyü kimi yalnız ümumi pseudocode var 536 00:27:39,190 --> 00:27:41,480 biz istəyirik necə bu proqram baxmaq. 537 00:27:41,480 --> 00:27:46,646 Burada Bu təkrarlamaq, biz nə adətən bizim kodu yazmaq lazımdır 538 00:27:46,646 --> 00:27:49,270 biz vasitəsilə təkrarlamaq istəyirsinizsə strukturunun array, hansı növ? 539 00:27:49,270 --> 00:27:51,030 Mən hesab edirəm ki, Christabel artıq əvvəl bildirib. 540 00:27:51,030 --> 00:27:51,500 >> Auditoriya: loop üçün A. 541 00:27:51,500 --> 00:27:52,160 >> ANDI PENG: loop üçün? 542 00:27:52,160 --> 00:27:52,770 Məhz. 543 00:27:52,770 --> 00:27:56,060 Belə ki, bu yəqin ki, bir loop üçün olacaq. 544 00:27:56,060 --> 00:27:59,240 Demək gedir burada bir çek nədir? 545 00:27:59,240 --> 00:28:02,536 Adətən, siz yoxlamaq istəyirsinizsə bir şey bir şey varsa else-- 546 00:28:02,536 --> 00:28:03,270 >> Auditoriya: Əgər. 547 00:28:03,270 --> 00:28:06,790 >> ANDI PENG: An əgər, sağ? 548 00:28:06,790 --> 00:28:10,790 Burada svop Və sonra, biz lazımdır sonra artıq getmək David çünki 549 00:28:10,790 --> 00:28:12,770 eləcə də mühazirə vasitəsilə getdi. 550 00:28:12,770 --> 00:28:14,580 Və sonra ikinci təkrarlamaq implies-- 551 00:28:14,580 --> 00:28:15,120 >> Auditoriya: loop üçün başqa. 552 00:28:15,120 --> 00:28:16,745 >> ANDI PENG: dəqiq, loop üçün --another. 553 00:28:16,745 --> 00:28:19,870 554 00:28:19,870 --> 00:28:22,000 Biz arıyorsanız Belə ki doğru, biz 555 00:28:22,000 --> 00:28:24,680 Biz yəqin edirik ki, görə bilərsiniz loop üçün nested lazımdır gedir 556 00:28:24,680 --> 00:28:28,330 orada bir şərti bəyanat və sonra kod faktiki parça var ki, 557 00:28:28,330 --> 00:28:31,360 dəyərləri dəyişdirmək olacaq. 558 00:28:31,360 --> 00:28:35,980 Mən yalnız ümumiyyətlə yazdıq Burada pseudocode kodu. 559 00:28:35,980 --> 00:28:38,910 Və sonra biz, həqiqətən olacaq fiziki, bir sinif kimi, 560 00:28:38,910 --> 00:28:40,700 bu gün həyata keçirilməsi üçün cəhd edin. 561 00:28:40,700 --> 00:28:42,486 Bu IDE geri getmək edək. 562 00:28:42,486 --> 00:28:49,243 563 00:28:49,243 --> 00:28:50,230 >> UH-oh. 564 00:28:50,230 --> 00:28:51,754 Niyə deyilik ki olmasıdır. 565 00:28:51,754 --> 00:28:52,253 OLDU. 566 00:28:52,253 --> 00:28:55,834 567 00:28:55,834 --> 00:28:57,500 Bağışlayın, mənə bir az daha zoom edək. 568 00:28:57,500 --> 00:28:59,310 Biz orada getmək. 569 00:28:59,310 --> 00:29:05,060 Mən burada edirəm All I yaratdıq ki, adlı proqram "seçimi / sort.c." 570 00:29:05,060 --> 00:29:10,860 Mən doqquz bir sıra yaratdıq dəyərlər, 4, 8, 2, 1, 6, 9, 7, 5, 3. 571 00:29:10,860 --> 00:29:14,370 Hal-hazırda, bilərsiniz kimi onlar unordered var, bax. 572 00:29:14,370 --> 00:29:17,880 n sayı olacaq ki, siz dəyərlərin məbləği deyir 573 00:29:17,880 --> 00:29:18,920 Siz array var. 574 00:29:18,920 --> 00:29:20,670 Bu halda, biz doqquz dəyərləri var. 575 00:29:20,670 --> 00:29:23,760 Mən yalnız burada loop üçün var ki, çeşidlənməmiş array çap edir. 576 00:29:23,760 --> 00:29:28,370 >> Və sonunda, mən də bir var yalnız yenidən çap loop. 577 00:29:28,370 --> 00:29:32,070 Belə ki, nəzəri, bu proqram əgər sonunda, düzgün işləyir, 578 00:29:32,070 --> 00:29:35,670 Bir loop üçün çap görmək lazımdır olan 1, 2, 3, 4, 5, 6, 7, 8, 579 00:29:35,670 --> 00:29:39,310 9 üçün bütün düzgün var. 580 00:29:39,310 --> 00:29:43,410 >> Beləliklə, biz burada pseudocode var. 581 00:29:43,410 --> 00:29:46,090 Mən yalnız deyiləm to-- hər kəs istəyir könüllülər üçün xahiş getmək üçün gedir 582 00:29:46,090 --> 00:29:49,540 əgər nə yazın dəqiq mənə biz ilk, yalnız təkrarlamaq istəyirəm 583 00:29:49,540 --> 00:29:52,840 bu serialın əvvəlində vasitəsilə? 584 00:29:52,840 --> 00:29:55,204 Mən kod xətt nədir yəqin ki, burada lazımdır gedir? 585 00:29:55,204 --> 00:29:56,990 >> Auditoriya: [işitilemez] 586 00:29:56,990 --> 00:29:59,010 >> ANDI PENG: Bəli, hiss pulsuz to-- Üzr istəyirik, 587 00:29:59,010 --> 00:30:02,318 gündəmə hiss dayanmaq yoxdur Səs bir az qaldırmaq pulsuz. 588 00:30:02,318 --> 00:30:08,190 >> Auditoriya: int i bərabərdir üçün 0- 589 00:30:08,190 --> 00:30:10,690 >> ANDI PENG: Bəli, yaxşı. 590 00:30:10,690 --> 00:30:15,220 >> Auditoriya: i array uzunluğu azdır. 591 00:30:15,220 --> 00:30:19,630 >> ANDI PENG: Belə ki, saxlamaq burada ağla Çünki biz 592 00:30:19,630 --> 00:30:23,060 bir funksiyası yoxdur ki, bizə bir serialın uzunluğu deyir, 593 00:30:23,060 --> 00:30:25,790 biz artıq var ki, saklar dəyər. 594 00:30:25,790 --> 00:30:27,920 Sağ? 595 00:30:27,920 --> 00:30:31,010 Başqa bir şey saxlamaq üçün bir sıra mind 596 00:30:31,010 --> 00:30:33,940 doqquz dəyərlər, göstəriciləri hansılardır? 597 00:30:33,940 --> 00:30:38,720 Yalnız bu array 3 0 idi deyirlər. 598 00:30:38,720 --> 00:30:41,500 Siz son ki, görəcəksiniz index həqiqətən 3. 599 00:30:41,500 --> 00:30:45,530 Bu var, baxmayaraq ki, 4 deyil array dörd dəyərlər. 600 00:30:45,530 --> 00:30:49,866 >> Burada Belə ki, biz çox diqqətli olmaq lazımdır uzunluğu nə bizim vəziyyətinin 601 00:30:49,866 --> 00:30:50,490 olacaq. 602 00:30:50,490 --> 00:30:51,948 >> Auditoriya: n minus 1 olmazdı? 603 00:30:51,948 --> 00:30:54,440 ANDI PENG: Bu olacaq dəqiq n minus 1. 604 00:30:54,440 --> 00:30:57,379 Bu mənada, niyə ki, n var minus 1, hər kəs? 605 00:30:57,379 --> 00:30:58,920 Diziler sıfır yönümlü var, çünki bu. 606 00:30:58,920 --> 00:31:02,010 Onlar 0 başlamaq və 1 n minus qədər axır. 607 00:31:02,010 --> 00:31:03,210 Bəli, bu bir az çətin var. 608 00:31:03,210 --> 00:31:03,730 OLDU. 609 00:31:03,730 --> 00:31:05,929 Daha sonra-- 610 00:31:05,929 --> 00:31:08,054 Auditoriya: Isnt'1 ki artıq olsa qayğı, 611 00:31:08,054 --> 00:31:11,400 Yalnız az və ya "deyərək deyil bərabər daha az "və yalnız" deyərək üçün? " 612 00:31:11,400 --> 00:31:13,108 >> ANDI PENG: Bu var həqiqətən yaxşı sual. 613 00:31:13,108 --> 00:31:13,630 Belə ki, bəli. 614 00:31:13,630 --> 00:31:17,410 Lakin, biz yol olduğunu yoxlanılması hüququnun həyata keçirilməsi, 615 00:31:17,410 --> 00:31:19,120 iki dəyərlər müqayisə etmək lazımdır. 616 00:31:19,120 --> 00:31:21,009 Beləliklə, siz həqiqətən istəyirəm "üçün" boş buraxın. 617 00:31:21,009 --> 00:31:23,050 Müqayisə Çünki əgər bu bir, siz fikrində deyilik 618 00:31:23,050 --> 00:31:25,530 sonra bir şey var sağ, müqayisə etmək olar? 619 00:31:25,530 --> 00:31:27,460 Bəli. 620 00:31:27,460 --> 00:31:29,297 Belə ki, i ++. 621 00:31:29,297 --> 00:31:30,380 Nin bizim Mötərizədə əlavə edək. 622 00:31:30,380 --> 00:31:30,880 Whoops. 623 00:31:30,880 --> 00:31:33,950 624 00:31:33,950 --> 00:31:34,710 Great. 625 00:31:34,710 --> 00:31:39,117 Beləliklə, biz başlanğıcı var Bizim xarici loop. 626 00:31:39,117 --> 00:31:41,450 Belə ki, indi biz yəqin ki, istəyirəm saxlanılması üçün dəyişən yaratmaq 627 00:31:41,450 --> 00:31:43,085 kiçik dəyər track, sağ? 628 00:31:43,085 --> 00:31:45,751 Hər kəs mənə vermək istəyir Bunu ki, bir kod line? 629 00:31:45,751 --> 00:31:48,700 630 00:31:48,700 --> 00:31:53,570 Gedirik, əgər biz nə lazımdır bir şey saxlamaq istəyirsiniz? 631 00:31:53,570 --> 00:31:55,047 >> Right. 632 00:31:55,047 --> 00:31:57,630 Ki, bəlkə daha yaxşı adı "Temp" be-- olardı tamamilə çalışır ki, 633 00:31:57,630 --> 00:32:00,655 bəlkə daha tutarlı olacaq adlı, biz kiçik dəyər istəyirsinizsə 634 00:32:00,655 --> 00:32:01,624 >> Auditoriya: Min. 635 00:32:01,624 --> 00:32:02,790 ANDI PENG: min, orada biz gedin. 636 00:32:02,790 --> 00:32:05,230 min yaxşı olardı. 637 00:32:05,230 --> 00:32:08,340 Və belə ki, burada biz nə onu başlamaq istəyirsiniz? 638 00:32:08,340 --> 00:32:09,620 Bu bir az çətin deyil. 639 00:32:09,620 --> 00:32:13,580 Çünki indi bu serialın əvvəlində, 640 00:32:13,580 --> 00:32:15,730 doğru şey baxdı yoxdur? 641 00:32:15,730 --> 00:32:19,200 Avtomatik Belə ki, əgər biz yalnız i 0 bərabərdir etdiyiniz 642 00:32:19,200 --> 00:32:22,302 biz başlamaq istəyirəm nə Bizim ilk minimum dəyəri? 643 00:32:22,302 --> 00:32:22,802 Auditoriya: i. 644 00:32:22,802 --> 00:32:24,790 ANDI PENG: i, dəqiq. 645 00:32:24,790 --> 00:32:27,040 Christabel, niyə biz istəyirsiniz i onu başlamaq üçün necə? 646 00:32:27,040 --> 00:32:28,510 >> Auditoriya: yaxşı, çünki biz 0 ilə başlayan edirik. 647 00:32:28,510 --> 00:32:31,660 Biz müqayisə etmək heç bir şey yoxdur, çünki Belə ki, Bu, minimum 0 olan son olacaq. 648 00:32:31,660 --> 00:32:32,451 >> ANDI PENG: Məhz. 649 00:32:32,451 --> 00:32:34,400 Belə ki, o tam doğru deyil. 650 00:32:34,400 --> 00:32:36,780 Biz, həqiqətən, var hələ bir şey baxdı 651 00:32:36,780 --> 00:32:38,680 Biz minimum dəyəri nə bilmirəm. 652 00:32:38,680 --> 00:32:41,960 Biz yalnız onu başlamaq istəyirəm i olan, hazırda sağ burada. 653 00:32:41,960 --> 00:32:44,750 Və biz davam bu array aşağı hərəkət, 654 00:32:44,750 --> 00:32:48,122 biz hər ilə ki, görürsünüz əlavə pass, i əlavələr. 655 00:32:48,122 --> 00:32:49,830 Və belə ki nöqtədə, Mən yəqin ki, davam edir 656 00:32:49,830 --> 00:32:52,329 minimum olmaq istəyirəm, Bu hər hansı olacaq, çünki 657 00:32:52,329 --> 00:32:54,520 çeşidlənməmiş serialın başlanğıcıdır. 658 00:32:54,520 --> 00:32:55,270 Cool. 659 00:32:55,270 --> 00:32:58,720 >> Belə ki, indi biz əlavə etmək istəyirəm burada loop üçün ki 660 00:32:58,720 --> 00:33:03,225 vasitəsilə təkrarlamaq niyyətində çeşidlənməmiş, və ya bu serialın qalan. 661 00:33:03,225 --> 00:33:05,808 Hər kəs mənə vermək istəyir Bunu ki, bir kod line? 662 00:33:05,808 --> 00:33:08,870 663 00:33:08,870 --> 00:33:11,330 Hint-- biz burada nə edə bilərəm? 664 00:33:11,330 --> 00:33:17,320 665 00:33:17,320 --> 00:33:18,820 Nə loop üçün bu getmək olacaq? 666 00:33:18,820 --> 00:33:19,465 Bəli. 667 00:33:19,465 --> 00:33:21,590 Auditoriya: Belə ki, biz istəyirəm fərqli bir tam var, 668 00:33:21,590 --> 00:33:25,080 biz qalan keçən edirik, çünki əvəzinə mən array, belə ki, bəlkə 669 00:33:25,080 --> 00:33:25,760 j. 670 00:33:25,760 --> 00:33:27,301 >> ANDI PENG: Bəli, j mənə yaxşı səslənir. 671 00:33:27,301 --> 00:33:27,850 Bərabər? 672 00:33:27,850 --> 00:33:33,930 >> Auditoriya: Belə ki, mən ola plus 1 olardı növbəti dəyəri başlayan edirik. 673 00:33:33,930 --> 00:33:40,395 Və sonra yenə end-- üçün, j deyil n minus 1, və sonra j ++ az. 674 00:33:40,395 --> 00:33:41,103 ANDI PENG: Great. 675 00:33:41,103 --> 00:33:48,510 676 00:33:48,510 --> 00:33:52,750 >> Və sonra burada, biz istəyirəm olacaq Bizim vəziyyət görüşüb görmek üçün yoxlamaq, 677 00:33:52,750 --> 00:33:53,250 sağ? 678 00:33:53,250 --> 00:33:55,740 Siz etmək istəyirəm, çünki minimum dəyəri dəyişmək 679 00:33:55,740 --> 00:33:58,700 Bu daha həqiqətən kiçik, əgər nə sağ, müqayisə edirik? 680 00:33:58,700 --> 00:34:01,146 Belə ki, nə biz burada istədiyiniz gedir? 681 00:34:01,146 --> 00:34:04,160 682 00:34:04,160 --> 00:34:04,897 Yoxlayın. 683 00:34:04,897 --> 00:34:06,730 Şərhdə hansı növü biz yəqin ki, gedir 684 00:34:06,730 --> 00:34:08,389 ti əgər istifadə etmək istəyirəm ki, biz şey yoxlamaq istəyirsiniz? 685 00:34:08,389 --> 00:34:09,360 >> Auditoriya: bir bəyanat əgər. 686 00:34:09,360 --> 00:34:10,485 >> ANDI PENG: An əgər bəyanat. 687 00:34:10,485 --> 00:34:13,155 Belə ki Varsa və olacaq nə biz daxili istəyirik vəziyyəti 688 00:34:13,155 --> 00:34:13,988 Bizim əgər şərhdə? 689 00:34:13,988 --> 00:34:18,255 690 00:34:18,255 --> 00:34:22,960 >> Auditoriya: Əgər j dəyəri istisna olmaqla, mən dəyəri az 691 00:34:22,960 --> 00:34:24,600 >> ANDI PENG: Məhz. 692 00:34:24,600 --> 00:34:27,480 Belə ki Varsa bu array "array" deyilir. 693 00:34:27,480 --> 00:34:27,980 Great. 694 00:34:27,980 --> 00:34:30,465 Ki, nə idi array Belə ki? 695 00:34:30,465 --> 00:34:31,090 Daha demək. 696 00:34:31,090 --> 00:34:39,590 >> Auditoriya: array-j azdırsa array-i, sonra biz min dəyişə bilər. 697 00:34:39,590 --> 00:34:41,590 Belə ki, min j olardı. 698 00:34:41,590 --> 00:34:44,590 699 00:34:44,590 --> 00:34:47,249 >> ANDI PENG: ki, mənada edirmi? 700 00:34:47,249 --> 00:34:48,670 OLDU. 701 00:34:48,670 --> 00:34:52,929 İndi aşağı burada, biz, həqiqətən, sağ, svop həyata keçirmək istəyirsiniz? 702 00:34:52,929 --> 00:34:58,285 Belə ki, mühazirə, geri David, zaman O the-- nə idi dəyişdirmək üçün çalışır 703 00:34:58,285 --> 00:34:59,996 pseudocode portağal şirəsi və milk-- 704 00:34:59,996 --> 00:35:01,150 >> Auditoriya: Bu ümumi idi. 705 00:35:01,150 --> 00:35:02,816 >> ANDI PENG: Bəli, bu cür ümumi idi. 706 00:35:02,816 --> 00:35:05,310 Lakin bu olduqca yaxşı idi anlayış vaxt nümayiş. 707 00:35:05,310 --> 00:35:08,430 Belə ki, burada dəyərlər edirəm. 708 00:35:08,430 --> 00:35:10,794 Siz bir sıra var min, mən bir sıra, 709 00:35:10,794 --> 00:35:12,460 və ya biz burada dəyişdirmək üçün çalışdıqlarını nə. 710 00:35:12,460 --> 00:35:15,310 Və yəqin ki, onları tökmək bilməz eyni zamanda bir-birinə, sağ? 711 00:35:15,310 --> 00:35:17,180 Beləliklə, biz gedir nə Burada yaratmaq lazımdır 712 00:35:17,180 --> 00:35:19,126 düzgün dəyərlər dəyişdirmək üçün? 713 00:35:19,126 --> 00:35:19,820 >> Auditoriya: A müvəqqəti dəyişən. 714 00:35:19,820 --> 00:35:21,370 >> ANDI PENG: A müvəqqəti dəyişən. 715 00:35:21,370 --> 00:35:22,570 Belə ki, int temp nə edək. 716 00:35:22,570 --> 00:35:25,681 Bu daha yaxşı olardı, baxın Vay to-- vaxt ki, nə idi? 717 00:35:25,681 --> 00:35:26,180 OLDU. 718 00:35:26,180 --> 00:35:29,800 Belə ki, bu daha yaxşı olardı time dəyişən "temp." adını 719 00:35:29,800 --> 00:35:30,730 Belə ki, int temp nə edək. 720 00:35:30,730 --> 00:35:32,563 Biz nə gedir burada bərabər temp qurmaq? 721 00:35:32,563 --> 00:35:34,752 722 00:35:34,752 --> 00:35:35,335 Auditoriya: Min? 723 00:35:35,335 --> 00:35:38,508 724 00:35:38,508 --> 00:35:39,716 ANDI PENG: Bu bir az çətin var. 725 00:35:39,716 --> 00:35:43,110 726 00:35:43,110 --> 00:35:44,880 Bu, həqiqətən, sonunda fərqi yoxdur. 727 00:35:44,880 --> 00:35:47,690 Nə etməz üçün siz dəyişdirmək üçün seçin 728 00:35:47,690 --> 00:35:50,862 kimi uzun siz əmin edilməsi etdiyiniz kimi sen Siz dəyişdirmə etdiyiniz nə takip saxlanılması. 729 00:35:50,862 --> 00:35:52,250 >> Auditoriya: Bu array-i ola bilər. 730 00:35:52,250 --> 00:35:53,666 >> ANDI PENG: Bəli, array-i edək. 731 00:35:53,666 --> 00:35:55,950 732 00:35:55,950 --> 00:35:59,305 Və sonra növbəti line nə kodu biz burada var istəyirsiniz? 733 00:35:59,305 --> 00:36:00,680 Auditoriya: array-i array-j bərabərdir. 734 00:36:00,680 --> 00:36:07,154 735 00:36:07,154 --> 00:36:08,070 ANDI PENG: Və nəhayət? 736 00:36:08,070 --> 00:36:12,070 Auditoriya: array-j array-i bərabərdir. 737 00:36:12,070 --> 00:36:14,525 Auditoriya: Və ya array-j bərabər array-temp-- və ya, temp. 738 00:36:14,525 --> 00:36:17,135 739 00:36:17,135 --> 00:36:19,430 >> ANDI PENG: OK. 740 00:36:19,430 --> 00:36:21,510 Belə ki, bu run edək və görmək bu iş olacaq əgər. 741 00:36:21,510 --> 00:36:37,520 742 00:36:37,520 --> 00:36:39,335 Ki, harada baş verir? 743 00:36:39,335 --> 00:36:40,210 Oh, bir problem var. 744 00:36:40,210 --> 00:36:44,320 Biz istəyirik, xətt 40 Bax array-j istifadə etməyə çalışır? 745 00:36:44,320 --> 00:36:47,022 Amma harada yalnız j mövcuddur? 746 00:36:47,022 --> 00:36:48,402 >> Auditoriya: loop üçün edir. 747 00:36:48,402 --> 00:36:49,110 ANDI PENG: Sağ. 748 00:36:49,110 --> 00:36:51,730 Belə ki, nə biz nə etmək lazımdır gedir? 749 00:36:51,730 --> 00:36:53,170 >> Auditoriya: the-- kənarda müəyyən 750 00:36:53,170 --> 00:36:57,777 751 00:36:57,777 --> 00:37:00,610 Auditoriya: Bəli, Mən sizə tapmaq Şərhdə, sağ başqa bir istifadə etmək olar? 752 00:37:00,610 --> 00:37:05,230 Belə ki, kimi, əgər minimum-- bütün sağ, məni düşünməyə imkan verir. 753 00:37:05,230 --> 00:37:08,170 754 00:37:08,170 --> 00:37:09,990 >> ANDI PENG: Guys cəhd bir göz edək etmək 755 00:37:09,990 --> 00:37:11,270 Biz burada bir şey nə edə bilər ki, görmək? 756 00:37:11,270 --> 00:37:11,811 >> Auditoriya: OK. 757 00:37:11,811 --> 00:37:15,900 Minimum bərabər deyil, əgər belə minimum əgər j belə ki, hələ istisna olmaqla, mən 758 00:37:15,900 --> 00:37:17,570 sonra biz dəyişdirmək olmazdı. 759 00:37:17,570 --> 00:37:22,450 760 00:37:22,450 --> 00:37:24,712 >> ANDI PENG: i bərabər varmı? 761 00:37:24,712 --> 00:37:25,920 Siz burada demək istəyirsiniz? 762 00:37:25,920 --> 00:37:30,494 >> Auditoriya: Və ya Bəli, əgər minimum Bəli, bərabər i yoxdur. 763 00:37:30,494 --> 00:37:39,627 764 00:37:39,627 --> 00:37:40,210 ANDI PENG: OK. 765 00:37:40,210 --> 00:37:42,040 Yaxşı ki, bizim problemlərimiz cür həll edir. 766 00:37:42,040 --> 00:37:47,265 Lakin hələ də həll etmir j-ci ildən j əgər nə problemi 767 00:37:47,265 --> 00:37:49,890 kənarda mövcud deyil, nə Biz bunu istəyirsiniz? 768 00:37:49,890 --> 00:37:50,698 Kənarda bəyan? 769 00:37:50,698 --> 00:37:59,410 770 00:37:59,410 --> 00:38:02,730 Bu çalışan cəhd edək. 771 00:38:02,730 --> 00:38:04,435 UH-oh. 772 00:38:04,435 --> 00:38:06,200 Bizim sort iş deyil. 773 00:38:06,200 --> 00:38:10,060 >> Siz bizim ilkin Gördüyünüz kimi array həmin dəyərlər idi. 774 00:38:10,060 --> 00:38:14,800 Və sonra bu olmalıdır 1, 2, 3, 4, 5, 6, 7, 8, 9 olmuşdur. 775 00:38:14,800 --> 00:38:15,530 Bu iş deyil. 776 00:38:15,530 --> 00:38:16,030 Ahh. 777 00:38:16,030 --> 00:38:17,184 Biz nə etməliyəm? 778 00:38:17,184 --> 00:38:17,850 Auditoriya: Debug. 779 00:38:17,850 --> 00:38:21,787 780 00:38:21,787 --> 00:38:23,370 ANDI PENG: Bütün sağ, biz ki, cəhd edə bilərsiniz. 781 00:38:23,370 --> 00:38:25,030 Biz debug bilər. 782 00:38:25,030 --> 00:38:26,042 Bir az zoom. 783 00:38:26,042 --> 00:38:31,177 784 00:38:31,177 --> 00:38:33,656 Bizim breakpoint müəyyən edək. 785 00:38:33,656 --> 00:38:37,280 Nin like-- OK gedək. 786 00:38:37,280 --> 00:38:40,444 >> Biz artıq bilirik ki, çünki Belə ki, bu xətlər, 15 22 vasitəsilə 787 00:38:40,444 --> 00:38:43,610 edirəm bütün çünki working-- olunur yalnız vasitəsilə və çap olunur iterating 788 00:38:43,610 --> 00:38:45,406 Mən irəli getmək və atlayabilirsiniz. 789 00:38:45,406 --> 00:38:47,280 Xətti 25 başlamaq edək. 790 00:38:47,280 --> 00:38:48,712 OOP, mənə xilas edək. 791 00:38:48,712 --> 00:38:51,598 792 00:38:51,598 --> 00:38:54,057 >> Auditoriya: Belə breakpoint nin ayıklama harada başlayır? 793 00:38:54,057 --> 00:38:54,890 ANDI PENG: Or vermir. 794 00:38:54,890 --> 00:38:55,670 Auditoriya: Və ya vermir. 795 00:38:55,670 --> 00:38:55,930 ANDI PENG: Bəli. 796 00:38:55,930 --> 00:38:58,640 Siz çox breakpoints bilərsiniz və yalnız bir digər jump bilər. 797 00:38:58,640 --> 00:39:01,590 Lakin bu halda biz bilmirik harada səhv olur. 798 00:39:01,590 --> 00:39:03,780 Belə ki, biz yalnız istəyirəm aşağı üst başlayır. 799 00:39:03,780 --> 00:39:05,020 Yep. 800 00:39:05,020 --> 00:39:05,550 OLDU. 801 00:39:05,550 --> 00:39:08,460 >> Belə ki, burada bu xətt, biz addım ola bilər. 802 00:39:08,460 --> 00:39:11,499 Siz burada görə bilərsiniz biz bir sıra var. 803 00:39:11,499 --> 00:39:13,290 Həmin dəyərlər array var ki. 804 00:39:13,290 --> 00:39:16,360 Siz görürsünüz ki, necə index 0, bu , oh dəyər uyğundur 805 00:39:16,360 --> 00:39:17,526 Mən zoom üçün cəhd gedirəm. 806 00:39:17,526 --> 00:39:20,650 Bağışlayın, bu, həqiqətən çətindir array index 0 see-- üçün, 807 00:39:20,650 --> 00:39:24,090 Biz 4 dəyəri və sonra s və s. 808 00:39:24,090 --> 00:39:25,670 Biz yerli dəyişənlər var. 809 00:39:25,670 --> 00:39:28,570 Hal-hazırda i bərabərdir Biz olmaq istəyirəm 0. 810 00:39:28,570 --> 00:39:31,540 811 00:39:31,540 --> 00:39:33,690 >> Və belə vasitəsilə gücləndirməklə saxlamaq imkan verir. 812 00:39:33,690 --> 00:39:36,850 Bizim minimum, 0 bərabərdir Hansı biz də olmaq istəyirəm. 813 00:39:36,850 --> 00:39:39,470 814 00:39:39,470 --> 00:39:45,560 Və sonra biz ikinci daxil loop, array-j array-i az olduqda, 815 00:39:45,560 --> 00:39:46,380 olan deyildi. 816 00:39:46,380 --> 00:39:48,130 Belə ki, necə gördünüz ki, üzərində atlandı? 817 00:39:48,130 --> 00:39:52,430 >> Auditoriya: Belə ki, olmalıdır minimum, bütün that-- olmalıdır ki, 818 00:39:52,430 --> 00:39:55,424 loop üçün ilk daxilində olacaq? 819 00:39:55,424 --> 00:39:57,340 ANDI PENG: Xeyr, çünki Siz hələ test etmək istəyirəm. 820 00:39:57,340 --> 00:40:00,329 Siz hər bir müqayisə etmək istəyirəm vaxt, bu axır hətta sonra. 821 00:40:00,329 --> 00:40:02,620 Siz yalnız bunu etmək istəmirəm ilk pass-vasitəsilə. 822 00:40:02,620 --> 00:40:05,240 Siz bunu istəyirəm yenidən hər əlavə pass. 823 00:40:05,240 --> 00:40:07,198 Belə ki, check istədiyiniz daxili vəziyyəti. 824 00:40:07,198 --> 00:40:11,610 825 00:40:11,610 --> 00:40:13,746 Belə ki, biz yalnız olacaq Burada keçən saxlamaq. 826 00:40:13,746 --> 00:40:17,337 827 00:40:17,337 --> 00:40:18,420 Mən sizə uşaqlar bir ipucu vermək lazımdır. 828 00:40:18,420 --> 00:40:23,910 Bu faktı ilə nə var ki Sizin şərti kontrol edirik 829 00:40:23,910 --> 00:40:26,600 Siz yoxlanılması deyilik düzgün indeksi üçün. 830 00:40:26,600 --> 00:40:32,510 Belə ki, hazırda sizin üçün kontrol edirik j array index array az 831 00:40:32,510 --> 00:40:33,970 i index. 832 00:40:33,970 --> 00:40:36,580 Amma nə qədər edirik loop üçün başlanğıcı? 833 00:40:36,580 --> 00:40:38,260 Siz i bərabər j qəbulu deyil? 834 00:40:38,260 --> 00:40:41,260 835 00:40:41,260 --> 00:40:45,415 >> Bəli, biz həqiqətən bilərsiniz burada ayıklama çıxmaq. 836 00:40:45,415 --> 00:40:47,040 Belə ki, bizim pseudocode nəzər salaq. 837 00:40:47,040 --> 00:40:50,070 838 00:40:50,070 --> 00:40:52,580 Baxan mýsýn biz olacaq i 0 bərabərdir da başlayacaq. 839 00:40:52,580 --> 00:40:54,760 Biz 1 n minus qədər getmək olacaq. 840 00:40:54,760 --> 00:40:58,040 Yoxlamaq edək ki, sağ var idi? 841 00:40:58,040 --> 00:40:59,580 Yep, doğru idi. 842 00:40:59,580 --> 00:41:02,080 >> Belə ki, burada daxili, biz istəyirik minimum dəyər yaratmaq niyyətində 843 00:41:02,080 --> 00:41:03,630 və i ki, bərabər müəyyən. 844 00:41:03,630 --> 00:41:04,950 Biz bunu mi? 845 00:41:04,950 --> 00:41:06,270 Yep, etdi. 846 00:41:06,270 --> 00:41:10,430 İndi bizim daxili üçün loop, biz istəyirik j edəcəyimiz i n minus 1 bərabərdir. 847 00:41:10,430 --> 00:41:11,950 Biz bunu mi? 848 00:41:11,950 --> 00:41:15,540 Həqiqətən, biz etdi. 849 00:41:15,540 --> 00:41:19,922 >> Lakin, biz burada nə müqayisə olunur? 850 00:41:19,922 --> 00:41:20,925 >> Auditoriya: j plus 1. 851 00:41:20,925 --> 00:41:21,716 ANDI PENG: Məhz. 852 00:41:21,716 --> 00:41:24,184 853 00:41:24,184 --> 00:41:27,350 Və sonra təyin etmək istəyirəm olacaq j plus 1 habelə bərabər minimum. 854 00:41:27,350 --> 00:41:31,057 855 00:41:31,057 --> 00:41:32,640 Beləliklə, mən, həqiqətən, tez yolu ilə getdi. 856 00:41:32,640 --> 00:41:36,190 Sizlərin dərk edirsinizmi niyə j plus 1 var? 857 00:41:36,190 --> 00:41:36,890 OLDU. 858 00:41:36,890 --> 00:41:40,700 >> Sizin sıra, belə vasitəsilə ilk pass, 859 00:41:40,700 --> 00:41:44,850 Sizin loop üçün, int i 0 bərabərdir, yalnız imkan 860 00:41:44,850 --> 00:41:46,740 bu hələ dəyişməyib daşımır. 861 00:41:46,740 --> 00:41:53,180 862 00:41:53,180 --> 00:41:56,760 Biz tamamilə, bir sıra var, yalnız dörd çeşidlənməmiş elementləri, sağ? 863 00:41:56,760 --> 00:42:00,760 Beləliklə, biz i 0 bərabər başlamaq istəyirəm. 864 00:42:00,760 --> 00:42:03,650 Və i gedir yalnız bu loop axır. 865 00:42:03,650 --> 00:42:08,560 Və belə ki, ilk pass, biz gedirik "min" adlı dəyişən başlamaq üçün 866 00:42:08,560 --> 00:42:11,245 ki, çünki i bərabərdir biz bir minimum dəyəri yoxdur. 867 00:42:11,245 --> 00:42:12,870 Belə ki, həmçinin 0 Hal-hazırda bərabər var. 868 00:42:12,870 --> 00:42:16,182 869 00:42:16,182 --> 00:42:17,640 Və sonra biz vasitəsilə getmək olacaq. 870 00:42:17,640 --> 00:42:19,270 Biz bir daha təkrarlamaq istəyirəm. 871 00:42:19,270 --> 00:42:22,900 İndi biz gördük ki, nə bizim minimum biz vasitəsilə təkrarlamaq istəyirəm edir 872 00:42:22,900 --> 00:42:25,190 Bu müqayisə əgər daha doğru görmək? 873 00:42:25,190 --> 00:42:40,440 Belə ki, j, burada, gedir bərabər I, 0 olan. 874 00:42:40,440 --> 00:42:46,320 Və sonra əgər array j plus i olan az kimi, növbəti üzərində biridir 875 00:42:46,320 --> 00:42:49,270 nə cari minimum dəyər dəyişdirmək istəyirsinizsə, edir. 876 00:42:49,270 --> 00:42:56,850 >> Belə ki, yalnız biz demək edək 2, 5, 1, 8, kimi, var. 877 00:42:56,850 --> 00:43:01,610 Hal-hazırda, i bərabərdir 0 j 0 bərabərdir. 878 00:43:01,610 --> 00:43:05,210 Və bizim minimum dəyəri var. 879 00:43:05,210 --> 00:43:09,950 Array-j varsa plus istisna olmaqla, mən bir, belə ki, ki, biz baxırıq sonra var 880 00:43:09,950 --> 00:43:13,450 , əvvəl bir daha böyükdür Bu minimum olmaq olacaq. 881 00:43:13,450 --> 00:43:18,120 >> Belə ki, burada biz 5 ki, görəcəksiniz ki, az deyil. 882 00:43:18,120 --> 00:43:19,730 Belə ki, 5 olmayacaq olacaq. 883 00:43:19,730 --> 00:43:23,580 Biz 1, sağ az 2 olduğunu görmək? 884 00:43:23,580 --> 00:43:32,970 Belə ki, indi biz minimum bilirik ki, 0, 1, 2 at index dəyəri olacaq. 885 00:43:32,970 --> 00:43:34,030 Evet? 886 00:43:34,030 --> 00:43:39,170 Və sonra, burada almaq zaman Siz düzgün dəyərlər dəyişdirmək olar. 887 00:43:39,170 --> 00:43:42,610 >> Belə ki, uşaqlar yalnız j olan zaman əvvəl, bir baxaraq deyil 888 00:43:42,610 --> 00:43:43,260 sonra. 889 00:43:43,260 --> 00:43:44,520 Siz baxaraq eyni dəyəri olan 890 00:43:44,520 --> 00:43:46,290 yalnız bir şey məşğul deyil nə. 891 00:43:46,290 --> 00:43:49,721 Ki, hamıya mənada etmir, niyə biz ki, plus var 1 lazım? 892 00:43:49,721 --> 00:43:50,220 OLDU. 893 00:43:50,220 --> 00:43:53,345 İndi etmək vasitəsilə yalnız run imkan əmin kodu istirahət doğru deyil. 894 00:43:53,345 --> 00:44:04,424 895 00:44:04,424 --> 00:44:05,340 Niyə baş verir? 896 00:44:05,340 --> 00:44:14,780 897 00:44:14,780 --> 00:44:16,364 Ah, bu burada min var. 898 00:44:16,364 --> 00:44:17,780 Biz yanlış dəyər müqayisə edilmişdir. 899 00:44:17,780 --> 00:44:24,944 900 00:44:24,944 --> 00:44:25,906 Ah, yox. 901 00:44:25,906 --> 00:44:30,720 902 00:44:30,720 --> 00:44:33,482 >> Bəli Oh, aşağı burada biz eləcə də yanlış dəyərlər dəyişdirmə. 903 00:44:33,482 --> 00:44:34,940 Biz i və j baxaraq, çünki. 904 00:44:34,940 --> 00:44:36,440 Başqa, biz yoxlanılması olanlardır. 905 00:44:36,440 --> 00:44:39,160 Biz, həqiqətən, dəyişdirmək istəyirəm minimum cari minimum, 906 00:44:39,160 --> 00:44:40,550 nə ilə bir kənarda. 907 00:44:40,550 --> 00:44:59,510 908 00:44:59,510 --> 00:45:05,402 Və uşaqlar aşağı Gördüyünüz kimi Burada biz bir sıralanır array var. 909 00:45:05,402 --> 00:45:07,110 Bu, yalnız ilə idi fakt zaman 910 00:45:07,110 --> 00:45:09,350 biz yoxlanılması biz müqayisə edildi dəyərlər, 911 00:45:09,350 --> 00:45:11,226 biz düzgün dəyərlər baxaraq deyil. 912 00:45:11,226 --> 00:45:13,850 Biz eyni biri aradığınız Burada həqiqətən dəyişdirmə deyil. 913 00:45:13,850 --> 00:45:17,135 Siz növbəti bir baxmaq lazımdır bu və sonra dəyişdirmək olar. 914 00:45:17,135 --> 00:45:19,260 Belə ki cür nə var əvvəl kodu bugging. 915 00:45:19,260 --> 00:45:22,460 Və nə mən burada idi hər şey ayıklama üçün etmiş ola bilər 916 00:45:22,460 --> 00:45:23,810 Mən yalnız bunu board, daha asan, çünki 917 00:45:23,810 --> 00:45:26,320 çalışırıq daha çox görmək ayıklama üzrə zoom. 918 00:45:26,320 --> 00:45:29,391 Ki, hamıya mənada edirmi? 919 00:45:29,391 --> 00:45:29,890 Cool. 920 00:45:29,890 --> 00:45:34,800 921 00:45:34,800 --> 00:45:35,410 >> Oldu. 922 00:45:35,410 --> 00:45:41,070 Biz söhbət üçün hərəkət edə bilər asimptotik notation olan 923 00:45:41,070 --> 00:45:44,580 deyərək bir xülya yoldur bu növ bütün runtimes. 924 00:45:44,580 --> 00:45:47,650 Belə ki, mühazirə, David bilirik, runtimes toxunub. 925 00:45:47,650 --> 00:45:52,124 Və o, bütün formula ilə getdi runtimes hesablamaq üçün necə. 926 00:45:52,124 --> 00:45:53,040 Ki, haqqında heç bir narahatlıq. 927 00:45:53,040 --> 00:45:54,660 Siz, həqiqətən, maraqlı edirsinizsə ki, işləri necə, 928 00:45:54,660 --> 00:45:55,810 bölmə sonra mənə danışmaq üçün çekinmeyin. 929 00:45:55,810 --> 00:45:57,560 Biz vasitəsilə gəzmək olar birlikdə düsturlar. 930 00:45:57,560 --> 00:46:00,689 Lakin bütün uşaqlar həqiqətən var bilirik n 2-dən çox kvadrat ki, 931 00:46:00,689 --> 00:46:01,980 n kvadrat eyni şeydir. 932 00:46:01,980 --> 00:46:04,710 Böyük sayı Çünki, eksponent, ən artır. 933 00:46:04,710 --> 00:46:06,590 Və belə bizim üçün, biz qayğı bütün 934 00:46:06,590 --> 00:46:09,470 artan ki, nəhəng sayı. 935 00:46:09,470 --> 00:46:13,340 >> Belə ki, nə yaxşı haldır seçim növ uzunluğu? 936 00:46:13,340 --> 00:46:15,830 Siz olacaq əgər bir siyahısını təkrarlamaq 937 00:46:15,830 --> 00:46:18,712 və sonra vasitəsilə təkrarlamaq ki, siyahıda qalan, 938 00:46:18,712 --> 00:46:20,420 neçə dəfə Siz yəqin ki, gedir 939 00:46:20,420 --> 00:46:24,612 ən pis case-- da hal yaxşı, axır sorry? 940 00:46:24,612 --> 00:46:27,070 Bəlkə daha yaxşı sual xahiş, ən pis halda nə 941 00:46:27,070 --> 00:46:28,153 seçim növ uzunluğu. 942 00:46:28,153 --> 00:46:29,366 Auditoriya: n kvadrat. 943 00:46:29,366 --> 00:46:30,740 ANDI PENG: Bu n sağ, kvadrat oldu. 944 00:46:30,740 --> 00:46:36,986 Bu kimi belə asan bir yol hesab edirəm ki, Siz loops üçün iç-içə iki istənilən vaxt, 945 00:46:36,986 --> 00:46:38,110 Bu n kvadrat olacaq. 946 00:46:38,110 --> 00:46:40,386 Sən yalnız çünki bir daha keçən, 947 00:46:40,386 --> 00:46:42,260 geri getmək üçün var ətrafında və onun vasitəsilə run 948 00:46:42,260 --> 00:46:44,980 bir daha hər dəyər daxilində. 949 00:46:44,980 --> 00:46:48,640 Bu halda Belə ki, n yayınlıyorsanız dəfə n, sorry is-- ki, kvadrat 950 00:46:48,640 --> 00:46:50,505 n dəfə n, n kvadrat bərabərdir edir. 951 00:46:50,505 --> 00:46:53,230 952 00:46:53,230 --> 00:46:56,360 >> Və sort da bir az mənada unikal 953 00:46:56,360 --> 00:46:59,774 Bu əgər məsələ deyil ki, dəyərləri üçün artıq. 954 00:46:59,774 --> 00:47:01,440 Bu hələ zaten axır olacaq. 955 00:47:01,440 --> 00:47:03,872 Yalnız bu 1, 2, 3, 4 idi deyirlər. 956 00:47:03,872 --> 00:47:07,080 Asılı olmayaraq idi asılı olmayaraq üçün, hələ də vasitəsilə qaçdı olardı 957 00:47:07,080 --> 00:47:08,620 və hələ də minimum dəyəri yoxlanılır. 958 00:47:08,620 --> 00:47:10,100 Bu edərdi çek eyni sayda 959 00:47:10,100 --> 00:47:12,780 hər bir zaman, hətta əgər həqiqətən bir şey toxunmaq etməyib. 960 00:47:12,780 --> 00:47:16,940 >> Belə bir vəziyyətdə, belə ki, ən yaxşı və ən pis runtimes həqiqətən bərabər. 961 00:47:16,940 --> 00:47:19,160 Belə ki, nə gözlənilir, uzunluğu seçim növ, 962 00:47:19,160 --> 00:47:23,790 Hansı simvolu ilə təyin teta, teta, bu halda, 963 00:47:23,790 --> 00:47:24,790 də n kvadrat olunacaq. 964 00:47:24,790 --> 00:47:26,480 Bütün bunlar üç kvadrat n olardı. 965 00:47:26,480 --> 00:47:29,653 Niyə hər kəs aydındır uzunluğu n kvadrat edir? 966 00:47:29,653 --> 00:47:33,360 967 00:47:33,360 --> 00:47:33,980 >> Oldu. 968 00:47:33,980 --> 00:47:39,120 Mən yalnız tez çalıştırmak üçün gedirəm növ qalan vasitəsilə. 969 00:47:39,120 --> 00:47:41,137 üçün alqoritm bubble unutmayın, sort 970 00:47:41,137 --> 00:47:43,220 Bu ilk biri idi David mühazirə getdi. 971 00:47:43,220 --> 00:47:46,000 Əsasən, siz addım bütün siyahısı 972 00:47:46,000 --> 00:47:48,950 və yalnız sizə svop Bir anda iki müqayisə. 973 00:47:48,950 --> 00:47:51,350 Və bir daha, əgər Siz daha yalnız onları dəyişdirmək. 974 00:47:51,350 --> 00:47:53,590 Bu böyükdür Belə ki, siz dəyişdirmək olardı. 975 00:47:53,590 --> 00:47:56,180 Mən burada rəsmi var. 976 00:47:56,180 --> 00:47:59,100 >> Belə ki, yalnız siz 8, 6, 4, 2 idi deyək. 977 00:47:59,100 --> 00:48:00,571 8 və 6 müqayisə ediyorum. 978 00:48:00,571 --> 00:48:01,570 Siz onları dəyişdirmək lazımdır ediyorum. 979 00:48:01,570 --> 00:48:02,610 8 və 4 müqayisə edirəm. 980 00:48:02,610 --> 00:48:03,609 Siz onları dəyişdirmək lazımdır ediyorum. 981 00:48:03,609 --> 00:48:07,000 8 dəyişdirmək varsa və 2, eləcə də onları dəyişdirmək. 982 00:48:07,000 --> 00:48:10,760 Belə bir mənada, belə ki, görə bilərsiniz uzun müddət ərzində həyata ifa, 983 00:48:10,760 --> 00:48:13,730 necə bubble dəyərlər cür bitir, biz bunu niyə zəng 984 00:48:13,730 --> 00:48:15,320 bubble sort. 985 00:48:15,320 --> 00:48:19,950 >> Biz yalnız yenidən axır ki ikinci pass, və üçüncü pass, 986 00:48:19,950 --> 00:48:21,150 və dördüncü pass. 987 00:48:21,150 --> 00:48:25,820 Əsasən, bubble sırala yalnız çalışır Əgər hər hansı bir daha svopları yoxdur qədər. 988 00:48:25,820 --> 00:48:31,109 Ki, mənada ki, bu yalnız Bunun üçün ümumi pseudocode. 989 00:48:31,109 --> 00:48:32,650 Heç bir narahatlıq, bu bütün online olacaq. 990 00:48:32,650 --> 00:48:34,990 Biz, həqiqətən, bu artıq getmək yoxdur. 991 00:48:34,990 --> 00:48:38,134 >> Biz yalnız counter başlamaq 0 başlayır dəyişən. 992 00:48:38,134 --> 00:48:39,800 Və biz bütün array vasitəsilə təkrarlamaq. 993 00:48:39,800 --> 00:48:43,420 Və bir dəyəri bu halda is-- əgər dəyəri ki, dəyəri daha böyükdür 994 00:48:43,420 --> 00:48:44,610 Əgər siz onları dəyişdirmək olacaq. 995 00:48:44,610 --> 00:48:46,860 Və sonra yalnız istəyirik davam etmək niyyətindədir. 996 00:48:46,860 --> 00:48:47,970 Və saymaq olacaq. 997 00:48:47,970 --> 00:48:50,845 Və yalnız bunu saxlamaq olacaq Bu counter çox isə 998 00:48:50,845 --> 00:48:53,345 o deməkdir ki, 0, daha hər zaman dəyişdirmək üçün, 999 00:48:53,345 --> 00:48:55,220 Siz getmək istədiyiniz bilirik geri və yenidən yoxlayın. 1000 00:48:55,220 --> 00:48:59,510 Siz bilirsiniz qədər yoxlanılması saxlamaq istədiyiniz ki, siz artıq dəyişdirmək yoxdur. 1001 00:48:59,510 --> 00:49:05,570 >> Belə ki, ən yaxşı və ən pis nə var hal bubble növ üçün runtimes? 1002 00:49:05,570 --> 00:49:09,300 Və hint-- bu həqiqətən fərqli mənada seçim növ 1003 00:49:09,300 --> 00:49:11,810 bu iki cavab eyni deyil ki. 1004 00:49:11,810 --> 00:49:14,709 Nə olacağını düşünün bir halda ki, artıq çeşidlənir əgər. 1005 00:49:14,709 --> 00:49:16,500 Və haqqında nə düşündüklərini idi əgər olur 1006 00:49:16,500 --> 00:49:18,372 halda olan sıralanır deyil. 1007 00:49:18,372 --> 00:49:20,580 Və cür çalıştırabilirsiniz niyə vasitəsilə baş verir. 1008 00:49:20,580 --> 00:49:22,954 Mən 30 kimi, uşaqlar vermək lazımdır saniyə bu barədə düşünmək. 1009 00:49:22,954 --> 00:49:52,330 1010 00:49:52,330 --> 00:49:53,540 >> OLDU. 1011 00:49:53,540 --> 00:49:57,462 Hər hansı bir tahmin yoxdur bubble növ ən pis halda iş deyil? 1012 00:49:57,462 --> 00:49:57,962 Bəli. 1013 00:49:57,962 --> 00:50:07,810 >> Auditoriya: bu kimi, n dəfə olacaq n minus kimi 1 və ya bir şey? 1014 00:50:07,810 --> 00:50:10,650 Kimi, çalışır hər dəfə, bir svop az kimi, yalnız var 1015 00:50:10,650 --> 00:50:10,960 nə bu idi. 1016 00:50:10,960 --> 00:50:12,668 >> ANDI PENG: Bəli, belə ki, siz tamamilə doğru istəyirik. 1017 00:50:12,668 --> 00:50:15,940 Və bu bir haldır sizin Cavab həqiqətən, çox mürəkkəb idi 1018 00:50:15,940 --> 00:50:17,240 bir çox vermək lazımdır. 1019 00:50:17,240 --> 00:50:19,772 Belə ki, mən run-- olacaq Burada bütün bu silmək üçün gedir. 1020 00:50:19,772 --> 00:50:20,480 Hər kəs yaxşı? 1021 00:50:20,480 --> 00:50:21,869 Mən bu silmək bilər? 1022 00:50:21,869 --> 00:50:22,368 OLDU. 1023 00:50:22,368 --> 00:50:27,904 1024 00:50:27,904 --> 00:50:30,320 Siz n axır olacaq dəfə ilk dəfə, sağ? 1025 00:50:30,320 --> 00:50:33,200 Onlar axır olacaq n mənfi 1, ikinci dəfə, sağ? 1026 00:50:33,200 --> 00:50:37,130 Və sonra saxlamaq olacaq n mina 2, Et Cetera, gedir. 1027 00:50:37,130 --> 00:50:40,210 David olduğu mühazirə, bu etdi, Əgər bütün bu dəyərlər əlavə əgər, 1028 00:50:40,210 --> 00:50:48,080 Siz bir şey almaq like-- yeah-- mahiyyətcə yalnız azaldır 2-dən 1029 00:50:48,080 --> 00:50:49,784 n aşağı kvadrat. 1030 00:50:49,784 --> 00:50:51,700 Siz almaq olacaq Orada qəribə fraksiyası. 1031 00:50:51,700 --> 00:50:53,892 Və belə ki, yalnız bilirik ki, n hər zaman kvadrat 1032 00:50:53,892 --> 00:50:55,350 qismini üstün tutur. 1033 00:50:55,350 --> 00:50:58,450 Və bu halda, ən pis uzunluğu n kvadrat olardı. 1034 00:50:58,450 --> 00:51:00,210 Bu azalan idi üçün, sizə, hesab edirəm ki, 1035 00:51:00,210 --> 00:51:02,530 svop hər bir zaman etmək lazımdır. 1036 00:51:02,530 --> 00:51:05,170 >> Potensial nə olardı, ən yaxşı halda uzunluğu? 1037 00:51:05,170 --> 00:51:08,580 Siyahısı artıq idi, yalnız deyək məqsədilə uzunluğu nə olardı? 1038 00:51:08,580 --> 00:51:09,565 >> Auditoriya: n. 1039 00:51:09,565 --> 00:51:10,690 ANDI PENG: Bu dəqiq, n var. 1040 00:51:10,690 --> 00:51:11,600 Və nə üçün n? 1041 00:51:11,600 --> 00:51:13,850 Auditoriya: Siz, çünki yalnız Hər bir dəfə yoxlamaq lazımdır. 1042 00:51:13,850 --> 00:51:14,770 ANDI PENG: Məhz. 1043 00:51:14,770 --> 00:51:17,150 , Mümkün olan ən yaxşı uzunluğu belə bu siyahı artıq idi 1044 00:51:17,150 --> 00:51:20,270 sıralanır,-nin 1, 2, 3 deyək 4-- siz yalnız vasitəsilə getmək olardı, siz yoxlamaq olardı 1045 00:51:20,270 --> 00:51:21,720 Siz oh, onlar bütün pan görmək olardı. 1046 00:51:21,720 --> 00:51:22,636 Mən dəyişdirmək yox idi. 1047 00:51:22,636 --> 00:51:23,370 Men etdim. 1048 00:51:23,370 --> 00:51:26,500 Belə ki, bu halda, yalnız n var və ya addımlar sayı yalnız 1049 00:51:26,500 --> 00:51:29,870 ilk siyahısında yoxlamaq idi. 1050 00:51:29,870 --> 00:51:33,990 >> Və sonra, indi hit durub sort, 1051 00:51:33,990 --> 00:51:39,260 alqoritm uçurum üçün mahiyyətcə bir sorted və çeşidlənməmiş hissəsi daxil. 1052 00:51:39,260 --> 00:51:42,810 Və sonra bir-bir, çeşidlənməmiş dəyərlər 1053 00:51:42,810 --> 00:51:46,880 onların müvafiq daxil siyahının başında mövqeləri. 1054 00:51:46,880 --> 00:51:52,120 >> Belə ki, məsələn, biz bir var 3 siyahısı, 5, 2, 6, 4 yenidən. 1055 00:51:52,120 --> 00:51:54,750 Biz hazırda bilirik ki, çeşidlənməmiş biz yalnız var, çünki 1056 00:51:54,750 --> 00:51:57,030 onu axtarır başladı. 1057 00:51:57,030 --> 00:52:00,610 Biz bir nəzər və biz bilirik ki, ilk dəyəri, sağ çeşidlənir? 1058 00:52:00,610 --> 00:52:04,190 Yalnız bir sıra ilə istəyirsinizsə size bir, bu sıralanır ki, bilirik. 1059 00:52:04,190 --> 00:52:08,230 >> Beləliklə biz bilirik ki, Digər dörd çeşidlənməmiş var. 1060 00:52:08,230 --> 00:52:10,980 Biz vasitəsilə getmək və biz ki, dəyəri görürük. 1061 00:52:10,980 --> 00:52:11,730 Geri getmək edək. 1062 00:52:11,730 --> 00:52:13,130 5 ki, dəyəri görmək? 1063 00:52:13,130 --> 00:52:14,110 Biz buna nəzər. 1064 00:52:14,110 --> 00:52:15,204 Biz 3 ilə müqayisə. 1065 00:52:15,204 --> 00:52:17,870 Biz daha çox olduğunu bilirik 3, belə ki, sıralanır ki, bilirik. 1066 00:52:17,870 --> 00:52:22,940 Beləliklə, biz artıq bilirik ki, ilk iki çeşidlənir və son üç deyil. 1067 00:52:22,940 --> 00:52:24,270 >> Biz 2 nəzər. 1068 00:52:24,270 --> 00:52:25,720 Biz ilk 5 ilə yoxlamaq. 1069 00:52:25,720 --> 00:52:26,700 5 azdır? 1070 00:52:26,700 --> 00:52:27,240 Bu deyil. 1071 00:52:27,240 --> 00:52:29,510 Beləliklə, biz aşağı axtarır saxlamaq lazımdır. 1072 00:52:29,510 --> 00:52:30,940 Sonra 3 off 2 oldu. 1073 00:52:30,940 --> 00:52:31,850 Bu az? 1074 00:52:31,850 --> 00:52:32,350 Yox. 1075 00:52:32,350 --> 00:52:35,430 Belə ki, 2 daxil edilməlidir bilmək ön və 3 və 5 1076 00:52:35,430 --> 00:52:38,200 həm də həyata sövq etmək lazımdır. 1077 00:52:38,200 --> 00:52:42,190 6 və 4 ilə yenidən bu edin. 1078 00:52:42,190 --> 00:52:48,962 Və biz yalnız, mahiyyətcə yoxlanılması saxlamaq biz yalnız yoxlamaq harada yoxlamaq yoxlamaq. 1079 00:52:48,962 --> 00:52:51,170 Və sağ qədər mövqeyi, biz növ yalnız 1080 00:52:51,170 --> 00:52:54,890 doğru mövqe onu daxil edin, olan bu adı haradan gəldiyi deyil. 1081 00:52:54,890 --> 00:52:59,830 >> Belə ki, yalnız alqoritm var, pseudocode özlüyündə cür, 1082 00:52:59,830 --> 00:53:04,990 biz həyata keçirəcəklərini necə bir durub sort. 1083 00:53:04,990 --> 00:53:05,954 Pseudocode burada. 1084 00:53:05,954 --> 00:53:06,620 Bu, bütün online var. 1085 00:53:06,620 --> 00:53:10,720 Heç bir narahatlıq uşaqlar əgər Bu aşağı surəti çalışır. 1086 00:53:10,720 --> 00:53:14,500 Belə ki, bir daha eyni question-- nə Ən yaxşı və ən pis runtimes olacaq 1087 00:53:14,500 --> 00:53:16,120 durub sort üçün? 1088 00:53:16,120 --> 00:53:17,750 Bu son suala çox oxşar. 1089 00:53:17,750 --> 00:53:20,479 Mən 30 kimi, uşaqlar vermək lazımdır saniyə həmçinin bu barədə düşünmək. 1090 00:53:20,479 --> 00:53:47,150 1091 00:53:47,150 --> 00:53:50,071 >> Hər kəs istəyir OK Mənə ən pis uzunluğu vermək? 1092 00:53:50,071 --> 00:53:50,570 Bəli. 1093 00:53:50,570 --> 00:53:51,490 >> Auditoriya: n kvadrat. 1094 00:53:51,490 --> 00:53:52,573 >> ANDI PENG: Bu kvadrat n oldu. 1095 00:53:52,573 --> 00:53:53,730 Və niyə n kvadrat edir? 1096 00:53:53,730 --> 00:53:57,562 >> Auditoriya: Çünki Əks üçün, var 1097 00:53:57,562 --> 00:54:02,619 is-- olan n dəfə keçmək n üçün 1098 00:54:02,619 --> 00:54:03,660 ANDI PENG: Bəli, dəqiq. 1099 00:54:03,660 --> 00:54:06,610 Bubble sırala kimi belə eyni şey. 1100 00:54:06,610 --> 00:54:08,720 Bu siyahıda olduğu halda azalan, sen 1101 00:54:08,720 --> 00:54:11,240 ilk dəfə yoxlamaq üçün gedir. 1102 00:54:11,240 --> 00:54:13,470 Və sonra hər əlavə dəyəri, sen 1103 00:54:13,470 --> 00:54:16,390 üçün gedən qarşı yoxlamaq üçün Sağ hər bir dəyəri? 1104 00:54:16,390 --> 00:54:20,290 Və belə tamamilə, siz etmək olacaq bir n pass dəfə bir n, keçmək 1105 00:54:20,290 --> 00:54:21,750 n kvadrat edir. 1106 00:54:21,750 --> 00:54:22,860 Nə yaxşı halda haqqında? 1107 00:54:22,860 --> 00:54:24,360 Bəli. 1108 00:54:24,360 --> 00:54:28,840 >> Auditoriya: n mənfi 1, çünki ilk bir artıq kvadrat edir. 1109 00:54:28,840 --> 00:54:30,270 >> ANDI PENG: Belə ki, yaxın. 1110 00:54:30,270 --> 00:54:31,850 Cavab həqiqətən n edir. 1111 00:54:31,850 --> 00:54:37,189 Ilk biridir Çünki sıralanır, onu həqiqətən bilər 1112 00:54:37,189 --> 00:54:38,980 biz yalnız həyata lucked ki, məsələn, ki, 2 1113 00:54:38,980 --> 00:54:40,930 kiçik sayı ola oldu. 1114 00:54:40,930 --> 00:54:43,680 Amma bu həmişə belə olmayacaq. 1115 00:54:43,680 --> 00:54:48,040 2 artıq əvvəlində çeşidlənir əgər ancaq, baxmaq və burada 1 var 1116 00:54:48,040 --> 00:54:49,144 1 qabar gedir. 1117 00:54:49,144 --> 00:54:51,060 Və bu son olacaq up zaten çarpdı. 1118 00:54:51,060 --> 00:54:56,250 >> Ən yaxşı halda belə Bu, həqiqətən, yalnız n olacaq. 1119 00:54:56,250 --> 00:54:59,090 Əgər 1, 2, 3, 4, 5, 6, 7, 8, sen 1120 00:54:59,090 --> 00:55:00,940 axır gedir bütün siyahısını dəfə 1121 00:55:00,940 --> 00:55:03,430 hər şey yolunda görmek üçün yoxlamaq. 1122 00:55:03,430 --> 00:55:07,390 Çalışan hər kəs aydındır habelə seçilməsi dəfə? 1123 00:55:07,390 --> 00:55:09,960 Mən keçir alıram bilirik Bu, həqiqətən, hızlı. 1124 00:55:09,960 --> 00:55:13,330 Amma yalnız bilirsinizsə bilirik ki, ümumi anlayışlar, siz yaxşı olmalıdır. 1125 00:55:13,330 --> 00:55:16,070 OLDU. 1126 00:55:16,070 --> 00:55:19,790 Beləliklə, mən kimi, bəlkə uşaqlar vermək lazımdır, bir dəqiqə qonşuları danışmaq 1127 00:55:19,790 --> 00:55:21,890 nə yalnız bir on əsas fərqlər 1128 00:55:21,890 --> 00:55:23,540 növ bu cür arasında. 1129 00:55:23,540 --> 00:56:24,571 1130 00:56:24,571 --> 00:56:25,570 Biz tezliklə artıq getmək lazımdır. 1131 00:56:25,570 --> 00:56:26,444 Auditoriya: OK, Oh. 1132 00:56:26,444 --> 00:56:27,320 ANDI PENG: Bəli. 1133 00:56:27,320 --> 00:56:28,380 OLDU. 1134 00:56:28,380 --> 00:56:33,420 Cool, bir sinif kimi reconvene bildirin. 1135 00:56:33,420 --> 00:56:34,330 OLDU. 1136 00:56:34,330 --> 00:56:37,579 Belə ki, bu idi cür bir mənada açıq sual 1137 00:56:37,579 --> 00:56:39,120 ki, onlara cavab çox var. 1138 00:56:39,120 --> 00:56:40,746 Və biz qısa bəziləri artıq getmək lazımdır. 1139 00:56:40,746 --> 00:56:43,411 Mən yalnız uşaqlar almaq istəyirdi fərqli nə düşünür 1140 00:56:43,411 --> 00:56:44,530 növ üç növ. 1141 00:56:44,530 --> 00:56:47,440 Mən də, böyük eşitdim nə sort birləşməsi deyil question--? 1142 00:56:47,440 --> 00:56:50,110 Böyük sual ki, çünki nə biz növbəti əhatə edirik. 1143 00:56:50,110 --> 00:56:52,850 >> Belə ki, sort daxil ki, funksiyaları bir sort 1144 00:56:52,850 --> 00:56:56,100 çox fərqli digər növ. 1145 00:56:56,100 --> 00:56:58,180 Sizlərin see-- kimi David ki demo idi 1146 00:56:58,180 --> 00:57:01,130 o, bütün sərin olduğu birləşməsi necə görən noises 1147 00:57:01,130 --> 00:57:04,010 sort sonsuz kimi, qaçıb digər iki növ daha sürətli? 1148 00:57:04,010 --> 00:57:04,510 OLDU. 1149 00:57:04,510 --> 00:57:07,580 Belə ki, daxil, çünki sort ki, uçurum həyata keçirir 1150 00:57:07,580 --> 00:57:11,020 və biz anlayışı fəth mühazirə çox danışdıq. 1151 00:57:11,020 --> 00:57:14,550 Biz işləmək istəyirəm ki, mənada asan, siz bölmək zaman deyil, daha 1152 00:57:14,550 --> 00:57:18,120 və problemlər fəth və onları pozmaq aşağı, və sonra, onlara birlikdə qoymaq 1153 00:57:18,120 --> 00:57:19,930 yaxşı şeylər həmişə baş verir. 1154 00:57:19,930 --> 00:57:21,960 >> Birləşməsi yolu So sort mahiyyətcə çalışır 1155 00:57:21,960 --> 00:57:24,660 bir ayıran ki, yarısında çeşidlənməmiş array. 1156 00:57:24,660 --> 00:57:26,500 Və sonra seriallarda iki yarıya indirir var. 1157 00:57:26,500 --> 00:57:28,220 Və yalnız bu iki yarıya indirir növ. 1158 00:57:28,220 --> 00:57:31,750 Bu, sadəcə olaraq, yarısı ayırıcı saxlayır yarısı yarısı hər şey çeşidlənir qədər 1159 00:57:31,750 --> 00:57:33,680 və sonra recursively birlikdə bütün qoyur. 1160 00:57:33,680 --> 00:57:36,550 >> Belə ki, həqiqətən mücərrəd deyil. 1161 00:57:36,550 --> 00:57:38,750 Belə ki, bu pseudocode yalnız bir az. 1162 00:57:38,750 --> 00:57:41,040 Ki, mənada edirmi Bu çalışan yol? 1163 00:57:41,040 --> 00:57:43,870 Belə ki, yalnız bir var demək edək n elementləri array, sağ? 1164 00:57:43,870 --> 00:57:45,450 N 2-dən az olarsa, siz ola bilər. 1165 00:57:45,450 --> 00:57:49,040 Bilirsiniz, çünki ki, var, əgər yalnız bir şey, bu sıralanır olmalıdır. 1166 00:57:49,040 --> 00:57:52,600 Else, sol yarım sort, və sonra sağ yarım sort, 1167 00:57:52,600 --> 00:57:54,140 və sonra daxil. 1168 00:57:54,140 --> 00:57:56,979 >> Ki, həqiqətən asan görünür isə Belə ki, əslində, bu barədə düşünürük var 1169 00:57:56,979 --> 00:58:00,270 çətin növüdür. Siz kimi istəyirik, çünki, yaxşı, bu cür özü çalışan. 1170 00:58:00,270 --> 00:58:00,769 Sağ? 1171 00:58:00,769 --> 00:58:02,430 Bu özü çalışan. 1172 00:58:02,430 --> 00:58:05,479 Belə ki, mənada, David toxunub sinif recursion ilə. 1173 00:58:05,479 --> 00:58:07,270 Və bir anlayış var daha çox haqqında danışmaq lazımdır. 1174 00:58:07,270 --> 00:58:11,430 Bu ki, bu iki xətləri var Burada, həqiqətən, yalnız proqram 1175 00:58:11,430 --> 00:58:13,860 izah özü run müxtəlif daxil olan. 1176 00:58:13,860 --> 00:58:17,230 Belə ki, daha özünü run daha n elementlərin bütövlükdə, 1177 00:58:17,230 --> 00:58:20,530 Siz onu qırmaq bilər sol yarısı və sağ yarım 1178 00:58:20,530 --> 00:58:22,680 və sonra yenidən axır. 1179 00:58:22,680 --> 00:58:26,050 >> Və sonra biz, vizual baxmaq lazımdır Mən vizual şagird deyiləm, çünki. 1180 00:58:26,050 --> 00:58:27,270 Bu, mənim üçün daha yaxşı işləyir. 1181 00:58:27,270 --> 00:58:29,890 Beləliklə, biz burada bir vizual nümunə baxmaq lazımdır. 1182 00:58:29,890 --> 00:58:36,237 >> Altı Biz bir sıra var deyirlər elementləri, 3, 5, 2, 6, 4, 1, sıralanır deyil. 1183 00:58:36,237 --> 00:58:37,820 Bütün hüquqlar, bu səhifə haqqında bir çox var. 1184 00:58:37,820 --> 00:58:43,179 Sizlərin baxmaq olar Belə ki Burada ilk addım, 3, 5, 2, 6, 4, 1, 1185 00:58:43,179 --> 00:58:44,220 Siz yarım ildə split bilər. 1186 00:58:44,220 --> 00:58:45,976 Siz 3, 5, 2, 6, 4, 1 var. 1187 00:58:45,976 --> 00:58:48,850 Bu sizə aren't-- bilirik ki, onlar sıralanır və ya deyilik əgər bilmirəm, 1188 00:58:48,850 --> 00:58:52,517 belə ki, yarım, onları parçalayaraq saxlamaq, yarısında yarısında, nəticədə qədər 1189 00:58:52,517 --> 00:58:53,600 Siz yalnız bir element var. 1190 00:58:53,600 --> 00:58:56,790 Və bir element həmişə doğru, çeşidlənir? 1191 00:58:56,790 --> 00:59:01,560 >> Beləliklə, biz bilirik ki, 3, 5, 2, 4, 6, 1, özləri tərəfindən sıralanır. 1192 00:59:01,560 --> 00:59:05,870 İndi biz onlara birlikdə geri qoymaq olar. 1193 00:59:05,870 --> 00:59:07,510 Beləliklə, biz 3, 5 bilirik. 1194 00:59:07,510 --> 00:59:08,510 Biz birlikdə bu qoymaq. 1195 00:59:08,510 --> 00:59:09,617 Biz bu sorted bilirik. 1196 00:59:09,617 --> 00:59:10,450 Hələ 2 var. 1197 00:59:10,450 --> 00:59:11,830 Biz birlikdə 4 və 6 qoya bilər. 1198 00:59:11,830 --> 00:59:13,996 Biz ki, çeşidlənir bilirik ki, belə ki, biz birlikdə qoymaq. 1199 00:59:13,996 --> 00:59:14,940 1 var. 1200 00:59:14,940 --> 00:59:18,720 >> Və sonra yalnız baxmaq Burada bu iki yarıya indirir. 1201 00:59:18,720 --> 00:59:21,300 Siz 3, 5, 2, 2, 3, 5 var. 1202 00:59:21,300 --> 00:59:23,465 Siz yalnız müqayisə edə bilərsiniz hər şeyin başlanğıcı. 1203 00:59:23,465 --> 00:59:26,340 Bu çeşidlənir bilirik ki, çünki və bu sıralanır ki, bilirik. 1204 00:59:26,340 --> 00:59:29,360 Belə ki, sonra da yoxdur 5 müqayisə, yalnız 3 müqayisə. 1205 00:59:29,360 --> 00:59:32,070 Və 2, belə ki, 3-dən az 2 sonunda getmək lazımdır bilirik. 1206 00:59:32,070 --> 00:59:33,120 >> Orada eyni şey. 1207 00:59:33,120 --> 00:59:34,740 1 Burada getmək lazımdır. 1208 00:59:34,740 --> 00:59:37,330 Siz getmək zaman sonra qoymaq üçün birlikdə bu iki dəyərlər, 1209 00:59:37,330 --> 00:59:39,950 bu çeşidlənir bilirik ki, və ki, çeşidlənir bilirik. 1210 00:59:39,950 --> 00:59:43,240 Belə ki, sonra 1 və 2, 1 az 2 edir. 1211 00:59:43,240 --> 00:59:45,570 Ki, 1 ki, sizə deyir Bu sonunda getmək lazımdır 1212 00:59:45,570 --> 00:59:47,480 hətta 3 və ya 5 baxaraq olmadan. 1213 00:59:47,480 --> 00:59:50,100 Və sonra 4, yalnız bilərsiniz Burada doğru gedir yoxlamaq. 1214 00:59:50,100 --> 00:59:51,480 Siz 5 baxmaq yoxdur. 1215 00:59:51,480 --> 00:59:52,570 6 ilə eyni şey. 1216 00:59:52,570 --> 00:59:55,860 Bilirsiniz 6-- yalnız ki, baxdı lazım deyil. 1217 00:59:55,860 --> 00:59:57,870 >> Və belə ki, yol, siz etdiyiniz özünüzü qənaət 1218 00:59:57,870 --> 00:59:59,526 addımlar bir çox müqayisə etdiyiniz zaman. 1219 00:59:59,526 --> 01:00:02,150 Siz hər müqayisə etmək yoxdur digər elementləri qarşı element. 1220 01:00:02,150 --> 01:00:05,230 Siz yalnız olanları qarşı müqayisə Siz qarşı müqayisə etmək lazımdır. 1221 01:00:05,230 --> 01:00:06,870 Belə ki, abstrakt anlayış növü var. 1222 01:00:06,870 --> 01:00:10,540 Heç bir narahatlıq deyil, əgər çox sağ hələ vuruş. 1223 01:00:10,540 --> 01:00:14,740 Amma ümumiyyətlə, bu necə bir birləşməsi sort işləyir. 1224 01:00:14,740 --> 01:00:17,750 Suallar, tez suallar, Mən hərəkət əvvəl? 1225 01:00:17,750 --> 01:00:18,550 Bəli. 1226 01:00:18,550 --> 01:00:22,230 >> Auditoriya: Belə ki, siz almaq bildirib ki, 1 və sonra 4 və 6 1227 01:00:22,230 --> 01:00:23,860 və onları qoydu. 1228 01:00:23,860 --> 01:00:26,800 Belə ki, those-- deyil deyil Siz onlara baxaraq 1229 01:00:26,800 --> 01:00:28,544 Biz bütövlükdə ayrı-ayrı elementləri kimi? 1230 01:00:28,544 --> 01:00:29,210 ANDI PENG: Bəli. 1231 01:00:29,210 --> 01:00:32,020 Belə ki, nə ki, əsasən 1232 01:00:32,020 --> 01:00:33,650 yeni array yaradır. 1233 01:00:33,650 --> 01:00:36,690 Belə ki, burada, mən bilirəm ki, ölçüsü 3 iki Diziler, sağ? 1234 01:00:36,690 --> 01:00:39,600 Belə ki, bilirik ki, mənim sıralanır array altı elementləri olmalıdır. 1235 01:00:39,600 --> 01:00:42,270 Belə ki, yalnız bir yaratmaq yaddaş yeni məbləği. 1236 01:00:42,270 --> 01:00:44,270 Belə ki, növ kimi istəyirik yaddaş israfçı olan 1237 01:00:44,270 --> 01:00:46,186 lakin etməz belə kiçik, çünki. 1238 01:00:46,186 --> 01:00:48,590 Belə ki, 1 baxmaq və 2 oldu. 1239 01:00:48,590 --> 01:00:50,770 Və 1 az 2 olduğunu bilirik. 1240 01:00:50,770 --> 01:00:53,840 Belə ki, 1-ci getmək lazımdır ki, bilirik o bütün başlanğıcı. 1241 01:00:53,840 --> 01:00:55,850 >> Siz hətta lazım deyil 3 və 5 oldu. 1242 01:00:55,850 --> 01:00:57,400 Belə ki, 1 orada gedir bilirik. 1243 01:00:57,400 --> 01:00:59,300 Sonra əsasən 1 kəsmək. 1244 01:00:59,300 --> 01:01:00,370 Bu, bizim üçün ölü kimi, var. 1245 01:01:00,370 --> 01:01:03,690 Sonra biz yalnız 2 var, 3, 5, sonra 4 və 6. 1246 01:01:03,690 --> 01:01:06,270 Və sonra, siz bilirsiniz ki, müqayisə 4 və 2, 1247 01:01:06,270 --> 01:01:07,560 oh, 2 getmək lazımdır. 1248 01:01:07,560 --> 01:01:09,685 Belə ki, 2 aşağı Plop, siz onu kəsmək. 1249 01:01:09,685 --> 01:01:12,060 Belə ki, sonra yalnız 3 var 4 və 6 5. 1250 01:01:12,060 --> 01:01:14,650 Və yalnız onu Doğrama saxlamaq Siz array onları qoymaq qədər. 1251 01:01:14,650 --> 01:01:17,110 >> Auditoriya: Belə ki, yalnız həmişə istəyirik [Işitilemez] müqayisə? 1252 01:01:17,110 --> 01:01:17,710 >> ANDI PENG: Məhz. 1253 01:01:17,710 --> 01:01:19,590 Belə ki, mənada, etdiyiniz yalnız müqayisə, mahiyyətcə, 1254 01:01:19,590 --> 01:01:21,240 digər qarşı bir sıra. 1255 01:01:21,240 --> 01:01:22,990 Və bilirik, çünki Bu, siz sıralanır ki, 1256 01:01:22,990 --> 01:01:24,350 vasitəsilə baxmaq yoxdur nömrələr bütün. 1257 01:01:24,350 --> 01:01:25,870 Siz yalnız ilk bir baxmaq lazımdır. 1258 01:01:25,870 --> 01:01:27,582 Və sonra yalnız Plop bilər Onlara aşağı, bilirsiniz, çünki 1259 01:01:27,582 --> 01:01:29,640 onların mənsub lazım onların mənsub. 1260 01:01:29,640 --> 01:01:31,030 Bəli. 1261 01:01:31,030 --> 01:01:32,920 Yaxşı sualdır. 1262 01:01:32,920 --> 01:01:35,290 >> Və sonra siz əgər varsa bir az iddialı, 1263 01:01:35,290 --> 01:01:38,660 bu kodu baxmaq üçün çekinmeyin. 1264 01:01:38,660 --> 01:01:40,680 Bu, həqiqətən deyil fiziki həyata keçirilməsi 1265 01:01:40,680 --> 01:01:42,150 biz daxil sort yazmaq necə. 1266 01:01:42,150 --> 01:01:44,070 Və bu çox qısa görə bilərsiniz. 1267 01:01:44,070 --> 01:01:46,310 Arxasında Amma fikir bu, olduqca mürəkkəbdir. 1268 01:01:46,310 --> 01:01:50,865 Belə ki, bu rəsm kimi hiss əgər ödev gecə, çekinmeyin. 1269 01:01:50,865 --> 01:01:54,050 1270 01:01:54,050 --> 01:01:54,740 >> OLDU. 1271 01:01:54,740 --> 01:01:58,070 Davud da mühazirə bu artıq getdi. 1272 01:01:58,070 --> 01:02:00,660 Ən yaxşı halda hansılardır runtimes, ən pis halda runtimes, 1273 01:02:00,660 --> 01:02:05,680 və birləşməsi növ gözlənilir runtimes? 1274 01:02:05,680 --> 01:02:07,260 Bir neçə saniyə düşünmək. 1275 01:02:07,260 --> 01:02:11,198 Bu olduqca çətindir, lakin cür Bu barədə intuitiv düşünürəm. 1276 01:02:11,198 --> 01:02:20,090 1277 01:02:20,090 --> 01:02:23,054 Oldu. 1278 01:02:23,054 --> 01:02:25,269 >> Auditoriya: ən pis halda n log n deyilmi? 1279 01:02:25,269 --> 01:02:26,060 ANDI PENG: Məhz. 1280 01:02:26,060 --> 01:02:29,380 Və niyə n log n edilir. 1281 01:02:29,380 --> 01:02:32,230 >> Auditoriya: deyilmi çünki dözərək daha sürətli olur 1282 01:02:32,230 --> 01:02:35,390 belə ki, bir funksiyası kimi əvəzinə sadəcə n olan 1283 01:02:35,390 --> 01:02:37,529 kare və ya bir şey? 1284 01:02:37,529 --> 01:02:38,320 ANDI PENG: Məhz. 1285 01:02:38,320 --> 01:02:40,750 Belə ki, səbəbi Bu iş n log edir 1286 01:02:40,750 --> 01:02:44,310 sizə nə çünki n bütün bu addımlar etdiyini? 1287 01:02:44,310 --> 01:02:46,190 Siz yalnız sağ, yarım ildə Doğrama edirik? 1288 01:02:46,190 --> 01:02:48,750 Və belə ki, biz bunu etdiyiniz zaman bunu bütün ki, daxil 1289 01:02:48,750 --> 01:02:53,150 yarısında bir problem ayırıcı, yarısında yarısında daha yarıya indirir. 1290 01:02:53,150 --> 01:02:56,430 Və bu mənada, siz cür bilərsiniz xətti model aradan qaldırılması 1291 01:02:56,430 --> 01:02:57,510 ki, biz istifadə etdik. 1292 01:02:57,510 --> 01:03:00,254 Siz doğramaq çünki yarısında hər şeyi, bir log var. 1293 01:03:00,254 --> 01:03:02,420 Bu yalnız riyazi var ifadə edən yolu. 1294 01:03:02,420 --> 01:03:06,310 >> Və sonra nəhayət, sonunda, sen yalnız son bir keçid vasitəsilə edilməsi 1295 01:03:06,310 --> 01:03:07,930 sağ, üçün onlara bütün qoymaq üçün? 1296 01:03:07,930 --> 01:03:10,330 Və belə ki, yalnız varsa bir şey deyil ki, n var. 1297 01:03:10,330 --> 01:03:13,420 Və belə cür istəyirik iki birlikdə vurulması. 1298 01:03:13,420 --> 01:03:17,660 Siz ki, son var kimi belə ki, n log ilə burada n kontrol 1299 01:03:17,660 --> 01:03:18,390 burada. 1300 01:03:18,390 --> 01:03:21,060 Və çoxaltmaq əgər Onlara ki, n n daxil oldu. 1301 01:03:21,060 --> 01:03:26,100 >> Və belə ən yaxşı halda və ən pis halda və bütün n log n ki, gözlənilir. 1302 01:03:26,100 --> 01:03:27,943 Başqa növ kimi də var. 1303 01:03:27,943 --> 01:03:30,090 Bu seçim sort kimi bu mənada 1304 01:03:30,090 --> 01:03:32,131 nə etməz sizin siyahısı yalnız gedir, var 1305 01:03:32,131 --> 01:03:34,801 Eyni şey hər zaman etmək. 1306 01:03:34,801 --> 01:03:35,300 OLDU. 1307 01:03:35,300 --> 01:03:39,950 Baxmayaraq ki, uşaqlar Gördüyünüz kimi, belə ki, biz n through-- getdi sonra növ 1308 01:03:39,950 --> 01:03:41,660 kvadrat, bu, çox səmərəli deyil. 1309 01:03:41,660 --> 01:03:47,060 Və hətta bu n log n ən səmərəli deyil. 1310 01:03:47,060 --> 01:03:49,720 Uşaqlar maraqlı varsa, sort mexanizmlər var 1311 01:03:49,720 --> 01:03:54,310 onlar ki, səmərəli var ki, demək olar ki, əsasən düz uzunluğu. 1312 01:03:54,310 --> 01:03:55,420 >> Siz bir günlük n nin var. 1313 01:03:55,420 --> 01:03:58,190 Siz bir log daxil n in var. 1314 01:03:58,190 --> 01:04:00,330 Biz onlara toxunmayın İndi bu sinif. 1315 01:04:00,330 --> 01:04:02,663 Amma uşaqlar maraqlı əgər, nə var, google çekinmeyin 1316 01:04:02,663 --> 01:04:04,392 ən səmərəli çeşidlənməsi mexanizmləri. 1317 01:04:04,392 --> 01:04:06,350 Mən var, bilmirəm bəzi həqiqətən funny olanlar 1318 01:04:06,350 --> 01:04:09,860 like-- bəzi həqiqətən var insanlar etmək funny olanları. 1319 01:04:09,860 --> 01:04:12,210 Və necə wonder onlar Heç ki, düşündüm. 1320 01:04:12,210 --> 01:04:15,730 Bəzi ehtiyat varsa, google vaxt, on, bəzi funny yolları hansılardır 1321 01:04:15,730 --> 01:04:17,730 ki, eləcə də xalqımAğır səmərəli ways-- nəfər 1322 01:04:17,730 --> 01:04:20,371 növ həyata bilmişlər. 1323 01:04:20,371 --> 01:04:20,870 OLDU. 1324 01:04:20,870 --> 01:04:22,880 Və burada yalnız bir lazımlı kiçik chart var. 1325 01:04:22,880 --> 01:04:26,850 Hesab edirəm ki, viktorina 0 əvvəl, siz bütün bilirik oda yəqin ki, çalışırıq olacaq 1326 01:04:26,850 --> 01:04:27,960 ki, yadda. 1327 01:04:27,960 --> 01:04:30,940 Belə ki, uşaqlar orada gözəl. 1328 01:04:30,940 --> 01:04:37,120 Just made-- məntiq unutmayın niyə o nömrələri meydana gələn edilmişdir. 1329 01:04:37,120 --> 01:04:39,870 Siz həmişə itirilmiş edirsinizsə, yalnız etmək Siz növ var nə bilirik. 1330 01:04:39,870 --> 01:04:40,820 Və axır bilər nəzərə onlara 1331 01:04:40,820 --> 01:04:42,903 niyə o anlamaq üçün cavab o cavab var. 1332 01:04:42,903 --> 01:04:46,250 1333 01:04:46,250 --> 01:04:47,600 >> Oldu. 1334 01:04:47,600 --> 01:04:49,680 Belə ki, biz hərəkət olacaq nəhayət, axtarış üçün,. 1335 01:04:49,680 --> 01:04:51,638 Çünki sizin kimi olan pset oxumaq, 1336 01:04:51,638 --> 01:04:55,175 Axtarış də hissəsidir bu həftə problem müəyyən edir. 1337 01:04:55,175 --> 01:04:57,300 Siz həyata keçirilməsi üçün istenir axtarışlar iki növ. 1338 01:04:57,300 --> 01:05:00,070 Bir xətti axtarış və bir ikili axtarış edir. 1339 01:05:00,070 --> 01:05:01,760 >> Belə ki, xətti axtarış olduqca asandır. 1340 01:05:01,760 --> 01:05:04,070 Siz yalnız element axtarmaq istəyirsinizsə Siz almaq əgər bir siyahı görmək. 1341 01:05:04,070 --> 01:05:05,444 Siz yalnız vasitəsilə təkrarlamaq lazımdır. 1342 01:05:05,444 --> 01:05:08,170 Və bir şey bərabərdir əgər, Siz yalnız sağ, qaytara bilər? 1343 01:05:08,170 --> 01:05:10,890 Amma biz ən istəyirik ki, söhbət maraqlı 1344 01:05:10,890 --> 01:05:14,550 ikili axtarış olan sağ, bölmək və mexanizmi fəth edən 1345 01:05:14,550 --> 01:05:18,190 David mühazirə nümayiş olunub. 1346 01:05:18,190 --> 01:05:20,810 >> Telefon kitab misal saxla o qədər cəlb edir ki, 1347 01:05:20,810 --> 01:05:23,960 o cür mübarizə bir Bu ötən il bir az, 1348 01:05:23,960 --> 01:05:27,530 Siz yarısında problem bölmək olduğu, yarısında yarısında, təkrar, 1349 01:05:27,530 --> 01:05:30,730 Siz aradığınız nə tapmaq qədər? 1350 01:05:30,730 --> 01:05:33,727 Və var də ki, uzunluğu. 1351 01:05:33,727 --> 01:05:35,810 Və edə bilərsiniz, bu əhəmiyyətli dərəcədə daha səmərəli 1352 01:05:35,810 --> 01:05:39,080 axtarış başqa bir növü çox. 1353 01:05:39,080 --> 01:05:41,880 >> Beləliklə, biz haqqında getmək yolu ikili axtarış həyata 1354 01:05:41,880 --> 01:05:46,510 , biz bir sıra olsaydı, index 0 6, yeddi elementləri, 1355 01:05:46,510 --> 01:05:49,790 biz right-- ortada baxa bilərsiniz sorry, bizim sual əgər first-- 1356 01:05:49,790 --> 01:05:53,840 Biz sual soruşmaq istəyirsinizsə, yoxdur array, 7 element ola 1357 01:05:53,840 --> 01:05:56,840 təbii ki, insanlar olan və olan kiçik array belə, bu, bizim üçün asan 1358 01:05:56,840 --> 01:05:58,210 bəli demək. 1359 01:05:58,210 --> 01:06:05,750 Amma yol ikili həyata keçirilməsi Axtarış ortasında baxmaq olardı. 1360 01:06:05,750 --> 01:06:08,020 >> Biz index 3 bilirik ki, orta, Çünki biz 1361 01:06:08,020 --> 01:06:09,270 yeddi elementləri var bilirəm. 1362 01:06:09,270 --> 01:06:10,670 Nə 7 2 bölünür? 1363 01:06:10,670 --> 01:06:12,850 Siz əlavə 1 ki kəsmək olar. 1364 01:06:12,850 --> 01:06:14,850 Əgər ortada 3 var. 1365 01:06:14,850 --> 01:06:17,590 Belə ki, 7 bərabər 3 array var? 1366 01:06:17,590 --> 01:06:18,900 Bu doğru deyil? 1367 01:06:18,900 --> 01:06:21,050 Amma biz çek bir neçə edə bilərsiniz. 1368 01:06:21,050 --> 01:06:25,380 3 azı 7 və ya array var 7-dən çox 3 sıra edir? 1369 01:06:25,380 --> 01:06:27,240 >> Və biz az 7-dən var ki, bilirik. 1370 01:06:27,240 --> 01:06:30,259 Beləliklə, biz bilirik oh, bu olmalıdır ki, yarıda buraxdı deyil. 1371 01:06:30,259 --> 01:06:32,300 Biz olmalıdır bilirik sağ yarısında, sağ? 1372 01:06:32,300 --> 01:06:34,662 Belə ki, biz yalnız yarısı sıra kəsmək olar. 1373 01:06:34,662 --> 01:06:36,370 Biz hətta yoxdur Artıq baxmaq. 1374 01:06:36,370 --> 01:06:38,711 Biz bilirik ki, çünki Bizim problem yarısı 1375 01:06:38,711 --> 01:06:41,210 biz cavab olduğunu bilirik Bizim problem sağ yarım. 1376 01:06:41,210 --> 01:06:42,580 Belə ki, biz yalnız indi baxmaq. 1377 01:06:42,580 --> 01:06:44,860 >> Belə ki, indi biz baxmaq sol nə orta. 1378 01:06:44,860 --> 01:06:46,880 Ki, index 5. 1379 01:06:46,880 --> 01:06:50,200 Biz yenə eyni çek və biz bu kiçik var ki, görəcəksiniz. 1380 01:06:50,200 --> 01:06:52,050 Belə ki, sol baxmaq. 1381 01:06:52,050 --> 01:06:53,430 Və sonra biz ki, çek görürük. 1382 01:06:53,430 --> 01:06:57,600 Array dəyəri edir 7 bərabər index 4? 1383 01:06:57,600 --> 01:06:58,260 Bu. 1384 01:06:58,260 --> 01:07:03,580 Beləliklə, biz doğru qayıtmaq, çünki bilər biz siyahısına dəyər tapdı. 1385 01:07:03,580 --> 01:07:06,738 Mən yolu ilə getdi yol yoxdur hamı üçün mənada? 1386 01:07:06,738 --> 01:07:08,760 OLDU. 1387 01:07:08,760 --> 01:07:11,670 Mən kimi, bəlkə uşaqlar vermək lazımdır üç, dörd dəqiqə anlamaq üçün 1388 01:07:11,670 --> 01:07:13,270 necə bu pseudocode. 1389 01:07:13,270 --> 01:07:18,070 >> Mən bir yazmaq üçün xahiş təsəvvür geri funksiyası adlanır axtarış () 1390 01:07:18,070 --> 01:07:20,640 dəyəri, bir Boolean dəyəri, ki, kimi doğru idi və ya yalan 1391 01:07:20,640 --> 01:07:22,970 Siz aşkar etdikdə doğru dəyəri, siz əgər yalan. 1392 01:07:22,970 --> 01:07:25,230 Və sonra idi dəyəri keçdi 1393 01:07:25,230 --> 01:07:28,410 dəyərləri daxil aradığınız ki, array oh, mən mütləq qoymaq 1394 01:07:28,410 --> 01:07:29,410 səhv yerdə ki. 1395 01:07:29,410 --> 01:07:29,580 OLDU. 1396 01:07:29,580 --> 01:07:31,829 Zaten ki, olmalıdır dəyərləri sağ üçün olmuşdur. 1397 01:07:31,829 --> 01:07:36,280 Və sonra int n sayı ki, massivin elementlərinin. 1398 01:07:36,280 --> 01:07:39,430 Necə çalışır haqqında getmək olardı ki, problem pseudocode? 1399 01:07:39,430 --> 01:07:41,630 Mən sizə kimi uşaqlar vermək lazımdır üç dəqiqə bunu. 1400 01:07:41,630 --> 01:08:00,137 1401 01:08:00,137 --> 01:08:02,595 Xeyr, mən only-- var edirəm Bəli, sağ qədər burada bir var. 1402 01:08:02,595 --> 01:08:03,261 Auditoriya: I Can? 1403 01:08:03,261 --> 01:08:04,388 ANDI PENG: Bəli, mən sizə var. 1404 01:08:04,388 --> 01:08:09,410 1405 01:08:09,410 --> 01:08:11,050 Ki, işləyir? 1406 01:08:11,050 --> 01:08:12,290 Sərin, OK. 1407 01:08:12,290 --> 01:10:43,590 1408 01:10:43,590 --> 01:10:44,720 >> OLDU. 1409 01:10:44,720 --> 01:10:47,630 Bütün hüquqlar uşaqlar, biz istəyirik onu dayandırmaq üçün gedir. 1410 01:10:47,630 --> 01:10:49,730 OLDU. 1411 01:10:49,730 --> 01:10:54,020 Beləliklə, biz bu sevimli var güman bu n dəyərləri ilə az array. 1412 01:10:54,020 --> 01:10:55,170 Mən xətləri cəlb etməyib. 1413 01:10:55,170 --> 01:10:58,649 Amma biz necə getmək olardı Bu yazmaq üçün çalışırıq? 1414 01:10:58,649 --> 01:11:00,440 Hər kəs istəyir Mənə ilk xətt vermək? 1415 01:11:00,440 --> 01:11:02,814 Mənə vermək istəyirsinizsə Bu pseudocode ilk line. 1416 01:11:02,814 --> 01:11:06,563 1417 01:11:06,563 --> 01:11:08,430 >> Auditoriya: [işitilemez] 1418 01:11:08,430 --> 01:11:10,138 Auditoriya: Siz istəyirəm vasitəsilə təkrarlamaq üçün 1419 01:11:10,138 --> 01:11:11,094 Auditoriya: Just bir loop üçün? 1420 01:11:11,094 --> 01:11:11,760 Auditoriya: --for. 1421 01:11:11,760 --> 01:11:15,880 1422 01:11:15,880 --> 01:11:17,780 >> ANDI PENG: Belə ki, bu bir az çətin var. 1423 01:11:17,780 --> 01:11:23,130 Istədiyiniz about-- düşünün Bu loop çalışan saxlamaq üçün 1424 01:11:23,130 --> 01:11:27,950 yenidən üzərində zaman qədər? 1425 01:11:27,950 --> 01:11:30,819 >> Auditoriya: [işitilemez] qədər dəyərinin dəyərinə bərabərdir. 1426 01:11:30,819 --> 01:11:31,610 ANDI PENG: Məhz. 1427 01:11:31,610 --> 01:11:33,900 Belə ki, həqiqətən, yalnız yazma bilər biz bunu daha da sadələşdirmək bilər. 1428 01:11:33,900 --> 01:11:35,630 Biz sağ, bir müddət loop edə bilər? 1429 01:11:35,630 --> 01:11:39,380 Belə ki, yalnız loop ola bilər biz bir müddət olduğunu bilirik. 1430 01:11:39,380 --> 01:11:42,850 Amma indi, mən gedirəm nə ilə - "loop" demək? 1431 01:11:42,850 --> 01:11:46,640 Loop nə until-- Bizim bitən vəziyyəti? 1432 01:11:46,640 --> 01:11:47,510 Mən eşitdim edirəm. 1433 01:11:47,510 --> 01:11:48,530 Mən kimsə demək eşitdim. 1434 01:11:48,530 --> 01:11:51,255 >> Auditoriya: Dəyərlər orta bərabərdir. 1435 01:11:51,255 --> 01:11:52,255 ANDI PENG: yenə deyirəm. 1436 01:11:52,255 --> 01:11:54,470 Qədər və ya, Auditoriya dəyəri siz axtarış edirik 1437 01:11:54,470 --> 01:11:58,470 orta dəyərinə bərabərdir. 1438 01:11:58,470 --> 01:12:00,280 >> ANDI PENG: orada deyil nə olur? 1439 01:12:00,280 --> 01:12:03,113 Nə siz axtarış edirik dəyəri bu array həqiqətən deyil? 1440 01:12:03,113 --> 01:12:05,890 Auditoriya: Siz 1 qayıtmaq. 1441 01:12:05,890 --> 01:12:08,850 >> ANDI PENG: Amma biz nə istəyirik biz bir vəziyyət varsa qədər loop? 1442 01:12:08,850 --> 01:12:09,350 Bəli. 1443 01:12:09,350 --> 01:12:11,239 >> Auditoriya: yalnız bir dəyər var qədər? 1444 01:12:11,239 --> 01:12:13,530 ANDI PENG: Siz loop until-- belə ki, siz etdiyiniz bilirik ki, 1445 01:12:13,530 --> 01:12:15,714 sağ, bir max dəyəri üçün gedir? 1446 01:12:15,714 --> 01:12:18,130 Və siz olacaq bilirik ki, sağ min dəyəri var? 1447 01:12:18,130 --> 01:12:20,379 Də, bir şey var, çünki Mən əvvəl demək unuttum 1448 01:12:20,379 --> 01:12:22,640 ki, bir şey ikili axtarış haqqında tənqidi 1449 01:12:22,640 --> 01:12:24,182 Sizin array artıq çeşidlənir olunur. 1450 01:12:24,182 --> 01:12:26,973 Bunu heç bir yol var, çünki Bu yalnız təsadüfi dəyərlər əgər. 1451 01:12:26,973 --> 01:12:29,190 Biri əgər bilmirəm digər daha böyük, sağ? 1452 01:12:29,190 --> 01:12:32,720 >> Belə ki, bilirik ki, sizin max və Sizin dəqiqə sağ, burada var? 1453 01:12:32,720 --> 01:12:35,590 Siz düzəliş etmək olacaq əgər Sizin dəqiqə və mid-- sizin max 1454 01:12:35,590 --> 01:12:38,470 yalnız güman edək sizin ortalarında dəyəri doğru burada var 1455 01:12:38,470 --> 01:12:43,910 siz əsasən olacaq loop minimum qədər 1456 01:12:43,910 --> 01:12:47,510 sağ, sizin max eyni, və ya haqqında Sizin max sizin min eyni deyil. 1457 01:12:47,510 --> 01:12:48,040 Sağ? 1458 01:12:48,040 --> 01:12:51,340 Ki, baş zaman, çünki siz bilirsiniz ki, Siz nəhayət eyni dəyər təşkil etdik. 1459 01:12:51,340 --> 01:12:59,135 Belə ki, sizin min qədər loop istəyirəm daha az və ya oops to-- bərabər 1460 01:12:59,135 --> 01:13:01,510 deyil çox və ya bərabər daha az, max around-- digər yoldur. 1461 01:13:01,510 --> 01:13:15,110 1462 01:13:15,110 --> 01:13:16,160 >> Ki, hissi etmək mi? 1463 01:13:16,160 --> 01:13:18,810 Hesab edirəm ki, hüququ almaq üçün bir neçə çalışır etdi. 1464 01:13:18,810 --> 01:13:21,869 Amma loop sizin max dəyəri qədər mahiyyətcə demək olar ki, az 1465 01:13:21,869 --> 01:13:23,410 daha ya minimum bərabər, sağ? 1466 01:13:23,410 --> 01:13:25,201 Bildiyiniz zaman ki Siz nöqtədə etdik ki. 1467 01:13:25,201 --> 01:13:29,290 Auditoriya: zaman ki maksimum dəyəri minimum az ola bilərmi? 1468 01:13:29,290 --> 01:13:31,040 ANDI PENG: Siz saxlamaq , düzəliş hansı 1469 01:13:31,040 --> 01:13:32,380 biz gedir nə bu bunu etmək. 1470 01:13:32,380 --> 01:13:33,460 Ki, hissi edirmi? 1471 01:13:33,460 --> 01:13:35,750 Minimum və maksimum ədalətli Biz yəqin ki, integers 1472 01:13:35,750 --> 01:13:39,260 istədiyiniz davam yaratmaq biz aradığınız harada track. 1473 01:13:39,260 --> 01:13:41,790 Array mövcuddur, çünki asılı olmayaraq, biz işle. 1474 01:13:41,790 --> 01:13:45,030 Kimi, biz, həqiqətən, fiziki deyilik sağ serialın off Doğrama? 1475 01:13:45,030 --> 01:13:47,261 Biz yalnız düzəliş edirik biz baxırıq. 1476 01:13:47,261 --> 01:13:48,136 Ki, hissi edirmi? 1477 01:13:48,136 --> 01:13:48,472 >> Auditoriya: Bəli. 1478 01:13:48,472 --> 01:13:49,110 >> ANDI PENG: OK. 1479 01:13:49,110 --> 01:13:57,090 Ki, loop üçün şərt var Belə ki, biz bu loop daxilində nə istəyirsiniz? 1480 01:13:57,090 --> 01:13:58,700 Biz nə etmək istəyən olacaq? 1481 01:13:58,700 --> 01:14:02,390 Belə ki, indi, biz var bir max və min, sağ, 1482 01:14:02,390 --> 01:14:04,962 yəqin ki, burada haradasa yaratmışdır. 1483 01:14:04,962 --> 01:14:07,170 Biz yəqin ki, istəyirəm olacaq sağ orta tapmaq üçün? 1484 01:14:07,170 --> 01:14:08,450 Necə ki, biz olacaq orta tapmaq mümkün? 1485 01:14:08,450 --> 01:14:09,491 Mathematical-- nədir 1486 01:14:09,491 --> 01:14:11,079 Auditoriya: Max plus 2 bölünür min. 1487 01:14:11,079 --> 01:14:11,870 ANDI PENG: Məhz. 1488 01:14:11,870 --> 01:14:20,300 1489 01:14:20,300 --> 01:14:21,620 Ki, hissi edirmi? 1490 01:14:21,620 --> 01:14:25,780 Və uşaqlar niyə biz görürsünüz bu niyə yalnız use-- etməyib 1491 01:14:25,780 --> 01:14:27,850 əvəzinə bunu yalnız n 2 bölünür? 1492 01:14:27,850 --> 01:14:30,310 N dəyəri çünki eyni qalmaq olacaq. 1493 01:14:30,310 --> 01:14:30,979 Sağ? 1494 01:14:30,979 --> 01:14:34,020 Amma biz minimum tənzimləmək və maksimum dəyərləri, onlar dəyişmək olacaq. 1495 01:14:34,020 --> 01:14:36,040 Və nəticə olaraq, bizim orta çox dəyişdirmək üçün gedir. 1496 01:14:36,040 --> 01:14:37,873 Biz istəyirik nə ki, var burada bu hüququ yoxdur. 1497 01:14:37,873 --> 01:14:38,510 OLDU. 1498 01:14:38,510 --> 01:14:41,600 >> Və sonra, indi ki, biz yeah varsa, bizim gördük. 1499 01:14:41,600 --> 01:14:44,270 >> Auditoriya: Just tez question-- zaman min və max demək, 1500 01:14:44,270 --> 01:14:46,410 ki, fərz olunur Bu, artıq sıralanır? 1501 01:14:46,410 --> 01:14:48,400 >> ANDI PENG: Bəli, ki, həqiqətən bir bir ikili axtarış üçün ilkin şərt 1502 01:14:48,400 --> 01:14:49,816 Siz var ki, bu sıralanır bilmək. 1503 01:14:49,816 --> 01:14:53,660 Niyə sort olan siz yazmaq sizin problem ikili axtarış əvvəl müəyyən. 1504 01:14:53,660 --> 01:14:55,910 OLDU. 1505 01:14:55,910 --> 01:14:58,876 Belə ki, indi biz burada bizim orta bilirik ki, , nə burada nə etmək istəyirsiniz edir? 1506 01:14:58,876 --> 01:15:01,789 1507 01:15:01,789 --> 01:15:04,319 >> Auditoriya: Biz müqayisə etmək istədiyiniz digər bir ki. 1508 01:15:04,319 --> 01:15:05,110 ANDI PENG: Məhz. 1509 01:15:05,110 --> 01:15:12,280 Belə ki, müqayisə etmək olacaq dəyəri ortalarında, sağ? 1510 01:15:12,280 --> 01:15:14,900 1511 01:15:14,900 --> 01:15:18,670 Və nə deyir bizə müqayisə zaman? 1512 01:15:18,670 --> 01:15:22,226 Biz sonra nə etmək istəyirsiniz? 1513 01:15:22,226 --> 01:15:25,389 >> Auditoriya: dəyər olarsa ortalarında çox, biz onu kəsmək istəyirəm. 1514 01:15:25,389 --> 01:15:26,180 ANDI PENG: Məhz. 1515 01:15:26,180 --> 01:15:33,940 Dəyəri böyük Belə ki ortalarında çox, biz istəyirik 1516 01:15:33,940 --> 01:15:36,550 bu dəyişmək istəyirsinizsə gedir minimum və Maxes Təklif Reading, sağ? 1517 01:15:36,550 --> 01:15:38,980 Biz dəyişdirmək istəyirsiniz? 1518 01:15:38,980 --> 01:15:42,145 Biz bilirik Belə ki, əgər dəyəri haradasa burada biz dəyişdirmək üçün nə? 1519 01:15:42,145 --> 01:15:44,758 Biz bizim dəyişməz istəyirəm minimum sağ ortalarında olacaq? 1520 01:15:44,758 --> 01:15:49,420 1521 01:15:49,420 --> 01:15:54,292 Və sonra başqa, bu var, əgər yarım, nə biz dəyişdirmək istəyirsiniz? 1522 01:15:54,292 --> 01:15:55,306 >> Auditoriya: Maksimum. 1523 01:15:55,306 --> 01:15:55,972 ANDI PENG: Bəli. 1524 01:15:55,972 --> 01:16:02,597 1525 01:16:02,597 --> 01:16:04,680 Və sonra yalnız olacaq sağ loop saxlamaq üçün? 1526 01:16:04,680 --> 01:16:08,920 Indi bir iteration sonra vasitəsilə siz burada bir max var. 1527 01:16:08,920 --> 01:16:10,760 Və sonra bir orta yeniden hesaplayabilirsiniz. 1528 01:16:10,760 --> 01:16:11,990 Və sonra müqayisə edə bilərsiniz. 1529 01:16:11,990 --> 01:16:14,766 Və siz saxlamaq olacaq dəqiqə və Maxes qədər 1530 01:16:14,766 --> 01:16:15,890 mahiyyətcə nöqtədə var. 1531 01:16:15,890 --> 01:16:17,890 Siz bilirsiniz ki, zaman ki siz sonunda təşkil etdik. 1532 01:16:17,890 --> 01:16:20,280 Və ya siz gördük və ya o nöqtədə deyil. 1533 01:16:20,280 --> 01:16:23,170 >> Bu hamı üçün mənada edirmi? 1534 01:16:23,170 --> 01:16:26,020 1535 01:16:26,020 --> 01:16:26,770 OLDU. 1536 01:16:26,770 --> 01:16:27,900 Bu, olduqca vacibdir Siz lazımdır, çünki 1537 01:16:27,900 --> 01:16:29,760 Sizin kodu axşam bu yazmaq üçün. 1538 01:16:29,760 --> 01:16:32,660 Amma uşaqlar olduqca yaxşı var Siz bunu etmək lazımdır nə mənada, 1539 01:16:32,660 --> 01:16:34,051 olan yaxşıdır. 1540 01:16:34,051 --> 01:16:34,550 OLDU. 1541 01:16:34,550 --> 01:16:38,840 Beləliklə, biz yeddi haqqında var dəqiqədə bölmə buraxdı. 1542 01:16:38,840 --> 01:16:43,170 Beləliklə, biz haqqında danışmaq olacaq biz bunu olacaq bu pset. 1543 01:16:43,170 --> 01:16:46,410 Belə ki, pset iki yarıya indirir bölünür. 1544 01:16:46,410 --> 01:16:50,230 İlk yarı daxildir bir tapmaq həyata 1545 01:16:50,230 --> 01:16:54,210 Əgər xətti axtarış yazmaq, bir ikili axtarış və çeşidlənməsi alqoritmi. 1546 01:16:54,210 --> 01:16:56,690 >> Belə ki, bu ilk bir pset olduğu vaxt 1547 01:16:56,690 --> 01:17:00,050 deyirlər nə sizə uşaqlar verilməsi olacaq distribution kodu kodu 1548 01:17:00,050 --> 01:17:02,740 biz əvvəlcədən yazılı ki, ancaq off bəzi parçaları sol 1549 01:17:02,740 --> 01:17:04,635 Siz yazılı başa çatdırmaq üçün. 1550 01:17:04,635 --> 01:17:07,510 Bu baxmaq uşaqlar, belə ki, indeksi, həqiqətən, qorxuram almaq bilər. 1551 01:17:07,510 --> 01:17:08,630 Siz Ahh, mən kimi, yalnız edirsinizsə ki, bunu nə bilmirəm, 1552 01:17:08,630 --> 01:17:11,670 Mən kimi, ki, görünür, bilmirəm belə mürəkkəb, Ahh, istirahət. 1553 01:17:11,670 --> 01:17:12,170 Yaxşıdır. 1554 01:17:12,170 --> 01:17:12,930 Spec oxuyun. 1555 01:17:12,930 --> 01:17:16,920 spec tam sizə izah edəcək Bu proqramların bütün nə edirik. 1556 01:17:16,920 --> 01:17:20,560 >> Məsələn, generate.c bir proqramdır ki, pset ilə gələcək. 1557 01:17:20,560 --> 01:17:24,060 Siz, həqiqətən, toxunmaq var, lakin yoxdur Siz bunu nə anlamaq lazımdır. 1558 01:17:24,060 --> 01:17:28,550 Və generate.c, bunu bütün ya təsadüfi ədəd yaradan 1559 01:17:28,550 --> 01:17:32,400 və ya bir kimi, bir toxum verə bilər Bu edir əvvəlcədən hazırlanmış sayı, 1560 01:17:32,400 --> 01:17:34,140 və daha ədəd yaradır. 1561 01:17:34,140 --> 01:17:37,170 Belə ki, xüsusi bir yol var generate.c həyata olan 1562 01:17:37,170 --> 01:17:42,760 Siz yalnız nömrələri bir dəstə edə bilərsiniz Siz digər üsullarla test üçün. 1563 01:17:42,760 --> 01:17:45,900 >> Belə ki, istəyirdi üçün Məsələn, sizin tapmaq test, 1564 01:17:45,900 --> 01:17:48,970 Siz generate.c run istəyirsiniz, , ədəd bir dəstə yaratmaq 1565 01:17:48,970 --> 01:17:50,880 və sonra köməkçiləri funksiyası axır. 1566 01:17:50,880 --> 01:17:53,930 Siz olduğunuz sizin köməkçiləri funksiyası həqiqətən fiziki kodu yazmaq. 1567 01:17:53,930 --> 01:17:59,330 Və kitabxana faylı olaraq köməkçiləri hesab ki, tapmaq çağırır yazılı edirik. 1568 01:17:59,330 --> 01:18:02,950 Belə helpers.c ərzində, siz lazımdır axtarış və çeşidlənməsi yoxdur. 1569 01:18:02,950 --> 01:18:06,500 >> Və sonra mahiyyətcə olacaq yalnız onların hamısını qoymaq. 1570 01:18:06,500 --> 01:18:10,350 necə spec sizə xəbər verəcəkdir command line qoymaq. 1571 01:18:10,350 --> 01:18:14,880 Və olmadığını test edə bilərsiniz və ya Sizin sort və axtarış çalışırıq. 1572 01:18:14,880 --> 01:18:15,870 Cool. 1573 01:18:15,870 --> 01:18:18,720 Hər kəs artıq başlayıb və qarşılaşılan problemlər və ya suallarınız 1574 01:18:18,720 --> 01:18:20,520 bu ilə indi var? 1575 01:18:20,520 --> 01:18:21,020 OLDU. 1576 01:18:21,020 --> 01:18:21,476 >> Auditoriya: gözləyin. 1577 01:18:21,476 --> 01:18:21,932 Mənim bir sualım var. 1578 01:18:21,932 --> 01:18:22,844 >> ANDI PENG: Bəli. 1579 01:18:22,844 --> 01:18:28,390 >> Auditoriya: Mən bunu açılmış helpers.c xətti axtarış 1580 01:18:28,390 --> 01:18:29,670 və bu, həqiqətən iş deyil. 1581 01:18:29,670 --> 01:18:34,590 Amma sonra, biz yalnız aşkar silin və ikili axtarış var. 1582 01:18:34,590 --> 01:18:36,991 Bu iş deyil, əgər Belə ki, fərqi yoxdur? 1583 01:18:36,991 --> 01:18:39,700 1584 01:18:39,700 --> 01:18:41,510 >> ANDI PENG: Qısa cavab yoxdur. 1585 01:18:41,510 --> 01:18:42,642 Lakin ildən biz deyilik istəyirik 1586 01:18:42,642 --> 01:18:44,350 Auditoriya: Amma heç kim nin həqiqətən yoxlanılması. 1587 01:18:44,350 --> 01:18:46,058 ANDI PENG: Biz heç vaxt istəyirik ki, görəcəksiniz gedir. 1588 01:18:46,058 --> 01:18:49,590 Amma yəqin ki, etmək istəyirəm Sizin axtarış işlərini davam etdirir. 1589 01:18:49,590 --> 01:18:51,700 Sizin xətti Çünki əgər Axtarış iş deyil, 1590 01:18:51,700 --> 01:18:54,410 sonra şansını sizin ikili var Axtarış kimi yaxşı getmir. 1591 01:18:54,410 --> 01:18:56,646 Oxşar var Onların həm də məntiq. 1592 01:18:56,646 --> 01:18:58,020 Və heç bir, həqiqətən etməz. 1593 01:18:58,020 --> 01:19:01,300 Belə ki, yalnız olanları çevirmək lazımdır sort və ikili axtarış var. 1594 01:19:01,300 --> 01:19:02,490 Bəli. 1595 01:19:02,490 --> 01:19:06,610 >> Və həmçinin, uşaqlar bir çox idi helpers.c tərtib etmək üçün çalışırıq. 1596 01:19:06,610 --> 01:19:09,550 Siz, həqiqətən, icazə deyilik bunu helpers.c çünki 1597 01:19:09,550 --> 01:19:11,200 əsas funksiyası yoxdur. 1598 01:19:11,200 --> 01:19:13,550 Və belə ki, yalnız olmalıdır həqiqətən tərtib olmaq 1599 01:19:13,550 --> 01:19:18,670 zənglər tapmaq çünki, yaratmaq və tapmaq helpers.c və bu ərzində fəaliyyət göstərir. 1600 01:19:18,670 --> 01:19:20,790 Ki ayıklama edir, belə ki, butt bir ağrı. 1601 01:19:20,790 --> 01:19:22,422 Amma ki, biz nə var, nə var. 1602 01:19:22,422 --> 01:19:23,880 Auditoriya: Siz sağ, bütün etmək? 1603 01:19:23,880 --> 01:19:27,290 ANDI PENG: Siz yalnız bilərsiniz Bəli, eləcə də bütün edir. 1604 01:19:27,290 --> 01:19:28,060 OLDU. 1605 01:19:28,060 --> 01:19:32,570 Belə ki, nə baxımından var pset siz bütün etmək xahiş olunur. 1606 01:19:32,570 --> 01:19:35,160 Əgər hər hansı bir sualınız varsa, hiss bölmə sonra mənə sual pulsuz. 1607 01:19:35,160 --> 01:19:37,580 Mən 20 dəqiqə kimi, burada olacaq. 1608 01:19:37,580 --> 01:19:40,500 >> Və Bəli, pset nin həqiqətən, pis deyil. 1609 01:19:40,500 --> 01:19:41,680 Siz uşaqlar OK olmalıdır. 1610 01:19:41,680 --> 01:19:43,250 Bu, yalnız təlimatlarına əməl edin. 1611 01:19:43,250 --> 01:19:47,840 Cür məntiqi, hissi var, nə olmalıdır baş və siz gözəl olacaq. 1612 01:19:47,840 --> 01:19:48,690 Qorxuram etməyin. 1613 01:19:48,690 --> 01:19:50,220 Kod bir çox var artıq yazılı. 1614 01:19:50,220 --> 01:19:53,011 Əgər deyilsə qorxuram etməyin ki, bütün nə deməkdir başa düşmək. 1615 01:19:53,011 --> 01:19:54,749 Bir çox varsa, bu tamamilə gözəl var. 1616 01:19:54,749 --> 01:19:55,790 Və ofis saat gəlir. 1617 01:19:55,790 --> 01:19:57,520 Biz bir nəzər kömək edəcəyik. 1618 01:19:57,520 --> 01:20:00,810 >> Auditoriya: əlavə ilə funksiyaları, biz bu qədər görünür? 1619 01:20:00,810 --> 01:20:03,417 >> ANDI PENG: Bəli, həmin kodu var. 1620 01:20:03,417 --> 01:20:05,750 15 oyun, yarısı da Bu artıq sizin üçün yazılı. 1621 01:20:05,750 --> 01:20:09,310 Belə ki, o funksiyaları Artıq kodu. 1622 01:20:09,310 --> 01:20:12,020 Yep. 1623 01:20:12,020 --> 01:20:12,520 Oldu. 1624 01:20:12,520 --> 01:20:14,000 Yaxşı, uğurlar yaxşı. 1625 01:20:14,000 --> 01:20:15,180 Bu iyrənc gün. 1626 01:20:15,180 --> 01:20:19,370 Belə ki, inşallah uşaqlar çox hiss etmir daxili olma və kodlaşdırma haqqında pis. 1627 01:20:19,370 --> 01:20:22,133