1 00:00:00,000 --> 00:00:06,370 2 00:00:06,370 --> 00:00:08,150 >> JASON Hirschhorn: Sveiki į savaitę tris, visi. 3 00:00:08,150 --> 00:00:11,650 Mes turime užimtas, bet įdomu skyrius prieš mus. 4 00:00:11,650 --> 00:00:17,010 Taigi, pirmiausia, nes mes padarėme kai Headway su žinoma, bet mes vis dar 5 00:00:17,010 --> 00:00:20,570 buvo mokymosi daug liko padaryti, aš ketinu parodyti jums, vaikinai, kai išteklius 6 00:00:20,570 --> 00:00:24,160 kad turėtų pasirodyti neįtikėtinai naudinga, nes jūs ne tik kreiptis į savo 7 00:00:24,160 --> 00:00:28,130 problema nustato, bet ir virškinti visus medžiagos, kurias mes jums vaikinai 8 00:00:28,130 --> 00:00:30,800 paskaitos ir šortai ir sekcija. 9 00:00:30,800 --> 00:00:34,790 >> Tada mes ketiname išleisti pirmąjį 20 25 minučių trukmės skyriuje vyksta per 10 00:00:34,790 --> 00:00:38,630 GDB, kurios gali arba negali būti naudojami šiuo metu, bet tai yra 11 00:00:38,630 --> 00:00:42,570 neįtikėtinai naudingas įrankis, kad bus padėti jums derinti savo programas. 12 00:00:42,570 --> 00:00:46,060 Jūsų daug gali naudoti printf į viduryje savo programą išsiaiškinti 13 00:00:46,060 --> 00:00:47,430 , kas sudarė kintamasis. 14 00:00:47,430 --> 00:00:52,060 GDB yra net geriau nei printf ir nėra susukti savo kodą, nes jums 15 00:00:52,060 --> 00:00:53,320 ją paleisti vykdomąjį failą. 16 00:00:53,320 --> 00:00:56,500 Taigi mes pereiti per 10 labiausiai naudinga komandas jums reikia GDB, ir mes 17 00:00:56,500 --> 00:01:00,540 Išvykstate pratybose kartu, į problemą nustatyti tris ir už jos ribų, jums 18 00:01:00,540 --> 00:01:03,320 galima naudoti GDB padėti perprogramuoti jūsų programas. 19 00:01:03,320 --> 00:01:06,420 Ir pagaliau, mes ketiname eiti per kai rūšiavimo ir paieškos algoritmai 20 00:01:06,420 --> 00:01:10,590 kad matei paskaitą, ir mes esame vyksta iš tikrųjų kodas, o ne tik 21 00:01:10,590 --> 00:01:17,360 Pseudocode, bet kodas dvejetainis paieškos, burbulas rūšiuoti ir atranka rūšiuoti. 22 00:01:17,360 --> 00:01:20,090 >> Taigi, pirmiausia, noriu eiti daugiau išteklių. 23 00:01:20,090 --> 00:01:23,530 Tai išsamus sąrašas, ir tai Sumažinti šriftą, nes turėjau daug 24 00:01:23,530 --> 00:01:24,390 tinka čia. 25 00:01:24,390 --> 00:01:26,950 Bet tai bus ne tik padėti jums, vėl su problema rinkinių ir 26 00:01:26,950 --> 00:01:30,760 virškinti informacijos sužinojau, bet tikrai, ateis laikas, viktorina, tai bus 27 00:01:30,760 --> 00:01:32,130 būti neįtikėtinai naudinga. 28 00:01:32,130 --> 00:01:34,700 Taigi, pirmiausia, paskaita pažymi. 29 00:01:34,700 --> 00:01:39,480 Jeigu jūs einate į cs50.net/lectures ir pereikite prie konkrečios savaitės dieną 30 00:01:39,480 --> 00:01:43,120 pamatysite, kad yra raštas kiekvieno paskaitą, kuri yra ne tik 31 00:01:43,120 --> 00:01:47,250 stenograma, bet redagavo versija kas buvo aptarta paskaitos, kurios kodas 32 00:01:47,250 --> 00:01:49,610 fragmentai ir kitos naudingos smulkmenos. 33 00:01:49,610 --> 00:01:52,220 Aš labai rekomenduoju vyksta per juos. 34 00:01:52,220 --> 00:01:55,340 Ir tada taip, ten kodo gauti iš kiekvienos paskaitos. 35 00:01:55,340 --> 00:02:00,050 Ir vėl, šios skaidrės, taip pat bus rasti internete adresu cs50.net/sections 36 00:02:00,050 --> 00:02:01,480 šį vakarą. 37 00:02:01,480 --> 00:02:06,860 >> Taigi antrasis yra šortai kiekvieną savaitę, kad apima tokias temas, paprastai 5 iki 15 38 00:02:06,860 --> 00:02:08,090 minučių ilgio. 39 00:02:08,090 --> 00:02:12,310 Ir tie, tikiuosi jums duos puikus gruntas įvairiomis temomis. 40 00:02:12,310 --> 00:02:12,870 Trečia - 41 00:02:12,870 --> 00:02:16,370 ir tai yra visiškai naujas tai metų - tai study.cs50.net. 42 00:02:16,370 --> 00:02:20,110 Jei neturite patikrinti jį, aš labai rekomenduojame, kad jūs padaryti. 43 00:02:20,110 --> 00:02:21,100 Jūs gaunate pasirinkti temą. 44 00:02:21,100 --> 00:02:23,040 Mes turime daugybę temų ten. 45 00:02:23,040 --> 00:02:24,770 Taigi, pavyzdžiui, galima pasirinkti funkcijas. 46 00:02:24,770 --> 00:02:27,270 Jis suteikia jums keletą skaidres ir atkreipia dėmesį į funkcijų. 47 00:02:27,270 --> 00:02:31,190 Tai yra iš tikrųjų skaidres, kad TFS yra skatinami naudotis per mūsų 48 00:02:31,190 --> 00:02:32,710 pristatymus skyriuje. 49 00:02:32,710 --> 00:02:35,040 Taip pat patarimai ir gudrybės prekyba su funkcijų, ir ten 50 00:02:35,040 --> 00:02:37,290 praktikos problemos, kurios padeda dirbate su funkcijomis. 51 00:02:37,290 --> 00:02:41,500 Mes taip pat suteikti jums nuorodos į trumpas funkcijos ir laikai, kad funkcijos 52 00:02:41,500 --> 00:02:42,750 turi sugalvoti paskaita. 53 00:02:42,750 --> 00:02:46,550 Taigi study.cs50.net, visiškai naujas tai metais, fantastinis išteklių. 54 00:02:46,550 --> 00:02:52,180 >> Be to, aš turiu žmogų, kuris yra vadovas komandą, kurią galima paleisti 55 00:02:52,180 --> 00:02:52,770 komandinės eilutės. 56 00:02:52,770 --> 00:02:57,880 Taigi, jei turite kokių nors klausimų apie komandą, pavyzdžiui, randas, kurį mes 57 00:02:57,880 --> 00:03:00,900 skyriuje metu susidūrė praėjusią savaitę ir jūs tikriausiai susiduriama 58 00:03:00,900 --> 00:03:05,380 jūsų problema nustatyti, kai išgyvena generuoti kodą, bet jei įvesite vyro 59 00:03:05,380 --> 00:03:09,980 randas, gausite puslapį, jums pasakys viską apie randas. 60 00:03:09,980 --> 00:03:14,040 Jis suteikia jums tai, ko reikia, parametrai nedarytų, taip pat grąžinimas 61 00:03:14,040 --> 00:03:16,530 tipas ir trumpas aprašymas tos funkcijos. 62 00:03:16,530 --> 00:03:17,500 >> Taigi patikrinti randas. 63 00:03:17,500 --> 00:03:22,270 Tai gali būti tiek žodinis ir paini, todėl kartais man atrodo, kad 64 00:03:22,270 --> 00:03:26,150 tiesiog "Google" paiešką, ką aš noriu žinoti, Geriausias būdas rasti atsakymą. 65 00:03:26,150 --> 00:03:27,940 Taigi praktiškai su "Google". 66 00:03:27,940 --> 00:03:28,600 Gauti gerai "Google". 67 00:03:28,600 --> 00:03:30,600 Jis taps jūsų geriausias draugas. 68 00:03:30,600 --> 00:03:34,300 >> Taip pat "Google", jei jūs negalite rasti "Google", cs50.net/discuss, tai 69 00:03:34,300 --> 00:03:35,550 diskusijų forumas. 70 00:03:35,550 --> 00:03:39,390 Yra tikimybė, kad jei turite klausimą, savo 700 + bendraamžiais taip pat, kad 71 00:03:39,390 --> 00:03:42,110 klausimas ir gali būti paprašyta tai jau aptarti 72 00:03:42,110 --> 00:03:43,540 forumai ir jį atsakyti. 73 00:03:43,540 --> 00:03:48,130 Taigi, jei turite klausimų ar bendro turite klausimų, kad jūs manote 74 00:03:48,130 --> 00:03:52,300 gal kiti žmonės gali paleisti į, patikrinti cs50.net/discuss. 75 00:03:52,300 --> 00:03:55,450 >> Galiausiai paskutiniai du, jei norite pasikalbėti su tikru žmogumi, biuro 76 00:03:55,450 --> 00:03:57,770 valandos nuo pirmadienio iki penktadienio. 77 00:03:57,770 --> 00:04:00,850 Yra taip pat lankosi darbo valandos Išplėtimo studentams. 78 00:04:00,850 --> 00:04:04,370 Ir paskutinis, bet tikrai ne mažiau, man, šauktukas. 79 00:04:04,370 --> 00:04:05,960 Jūs visi turite savo kontaktinę informaciją. 80 00:04:05,960 --> 00:04:11,940 Jeigu jums reikia ką nors, prašom niekada nedvejodami susisiekite su manimi. 81 00:04:11,940 --> 00:04:14,020 Visada nedvejodami padaryti. 82 00:04:14,020 --> 00:04:17,490 Labai nedaugelis iš jūsų, kurie laiko mane ant gchat, kad buvo nuviliantis, 83 00:04:17,490 --> 00:04:20,410 bet tikiuosi, kad bus pakeisti nuo tai ir kitame skyriuje. 84 00:04:20,410 --> 00:04:22,105 Turite klausimų iki šiol dėl lėšų? 85 00:04:22,105 --> 00:04:25,670 86 00:04:25,670 --> 00:04:27,450 Didysis. 87 00:04:27,450 --> 00:04:34,280 >> Galiausiai, dar vienas kištukas grįžtamasis ryšys, sayat.me/cs50. 88 00:04:34,280 --> 00:04:37,050 Jūs galite man duoti anoniminius atsiliepimus apie tai, kaip aš darau. 89 00:04:37,050 --> 00:04:38,320 Tai buvo tikrai naudinga praėjusią savaitę. 90 00:04:38,320 --> 00:04:41,890 Aš turiu keletą pastabų pora iš jūsų vaikinai iš karto po skyrių, taip pat iš 91 00:04:41,890 --> 00:04:44,750 kiti studentai, kurie jį stebėjo per savaitę, ir tai 92 00:04:44,750 --> 00:04:46,830 buvo neįtikėtinai naudinga. 93 00:04:46,830 --> 00:04:50,250 Aš einu bandyti ir apriboti savo gebėjimą naudotis Žodis "saldus", bet aš jums parodysiu, mano 94 00:04:50,250 --> 00:04:52,410 entuziazmo ir jaudulio kitais būdais. 95 00:04:52,410 --> 00:04:56,550 Bet ten buvo kita papildoma esminiai Atsiliepimai, 96 00:04:56,550 --> 00:04:57,600 pliusus ir delta. 97 00:04:57,600 --> 00:05:00,480 Taigi, prašome, aš duodu jums, vaikinai atsiliepimus savo problemines rinkinių. 98 00:05:00,480 --> 00:05:01,790 Nesivaržykite man atsiliepimus mano mokymo. 99 00:05:01,790 --> 00:05:04,010 Aš čia jums vaikinai. 100 00:05:04,010 --> 00:05:05,270 >> Didysis. 101 00:05:05,270 --> 00:05:07,020 Tai yra viskas, ką aš turėti Pirmame skyriuje. 102 00:05:07,020 --> 00:05:08,565 Ar kas nors turi bet klausimai iki šiol? 103 00:05:08,565 --> 00:05:12,370 104 00:05:12,370 --> 00:05:14,640 Ir turiu pastabą valdymo centras. 105 00:05:14,640 --> 00:05:21,200 Prailginimo studentai messaged man sakydamas, jie negauna jokių garso, 106 00:05:21,200 --> 00:05:23,870 bet tai iš mano galios nustatyti. 107 00:05:23,870 --> 00:05:25,280 Taigi tikiuosi, kad gauna netrukus išspręsta. 108 00:05:25,280 --> 00:05:28,850 Jei jūs žiūrite internete, hi, , bet jūs negalite išgirsti mane. 109 00:05:28,850 --> 00:05:33,860 >> Taigi, pirmiausia, mes ketiname eiti per GDB. 110 00:05:33,860 --> 00:05:37,100 GDB, kaip aš užsiminė anksčiau, yra derinimo priemonė 111 00:05:37,100 --> 00:05:39,040 daug geriau nei printf. 112 00:05:39,040 --> 00:05:44,700 Taigi, norint pradėti dirbti su GDB, vaikinai, jei norite atverti savo prietaisą 113 00:05:44,700 --> 00:05:49,070 ir imtis failą, kad aš jums atsiųstoje anksčiau - tai failas, taip pat bus 114 00:05:49,070 --> 00:05:51,940 galima rasti internete šiek tiek - 115 00:05:51,940 --> 00:05:55,700 ir paleisti GDB. / failo pavadinimas. 116 00:05:55,700 --> 00:05:58,580 Pirmiausia, žinoma, jūs turite surinkti failą nes GDB veikia tik 117 00:05:58,580 --> 00:05:59,890 paleidþiamieji failai. 118 00:05:59,890 --> 00:06:02,300 >> Bet jei kada nors norėsite pradėti GDB, pirmas dalykas, kurį jūs darote, 119 00:06:02,300 --> 00:06:04,550 paleisti GDB. / ciesorių ". 120 00:06:04,550 --> 00:06:08,340 Štai programos Užtenka vardas ketina eiti su juo dabar. 121 00:06:08,340 --> 00:06:12,810 Taigi, aš ruošiuosi rašyti, kad Cezaris, kuris duos man vykdomąjį failą 122 00:06:12,810 --> 00:06:14,100 čia paryškinamas žalia. 123 00:06:14,100 --> 00:06:19,250 Ir tada aš ruošiuosi paleisti GDB. / Cesar. 124 00:06:19,250 --> 00:06:19,810 >> Ir ten jūs einate. 125 00:06:19,810 --> 00:06:24,540 Matote, mes turime kai tekstas sako man apie GDB versija, kad suteikėte man 126 00:06:24,540 --> 00:06:27,570 kai informacija apie garantiją, ir tada mes turi BVP eilutę, kuri atrodo tarsi 127 00:06:27,570 --> 00:06:29,350 panašaus mūsų komandų eilutės eilutę bet matote ji atvira 128 00:06:29,350 --> 00:06:32,510 paren, GDB, artimi skliaustas. 129 00:06:32,510 --> 00:06:36,520 Prieš mes ir toliau derinti šį failą kad aš išsiųstas jums visiems, pažvelkime 130 00:06:36,520 --> 00:06:40,220 keletas naudingų komandų, todėl mes turime jausmą ką mes ketiname padengti. 131 00:06:40,220 --> 00:06:45,060 >> Šios komandos yra išvardyti čia tvarka, pagal kurią aš paprastai juos naudoti. 132 00:06:45,060 --> 00:06:50,230 Taigi aš pradedu savo programą veikia GBD. / Programos pavadinimas, 133 00:06:50,230 --> 00:06:51,360 šiuo atveju, Cezaris. 134 00:06:51,360 --> 00:06:57,430 Ir tada pirmas dalykas, aš 99,9% laiko yra tipo pertraukėlė reiškia. 135 00:06:57,430 --> 00:06:59,070 , Kuris nustato pertraukos tašką pagrindinis. 136 00:06:59,070 --> 00:07:03,260 Iš esmės, ką jūs darote yra yra programa ketina sustoti 137 00:07:03,260 --> 00:07:06,100 pagrindinis, todėl jūs galite pradėti nagrinėti jai liniją kiekvieną eilutę, o ne rodyti visus 138 00:07:06,100 --> 00:07:07,040 kelią. 139 00:07:07,040 --> 00:07:09,730 Jūs galite sulaužyti skirtingu jūsų kodas, bet pagrindinis yra paprastai 140 00:07:09,730 --> 00:07:11,870 gera vieta pradėti. 141 00:07:11,870 --> 00:07:14,840 >> Kitą komandą paleisti yra paleisti. 142 00:07:14,840 --> 00:07:17,400 Kuris prasideda programa veikia, ir jei turite įvesti į komandų eilutę 143 00:07:17,400 --> 00:07:19,090 argumentai, galite naudoti ją, kad komandą. 144 00:07:19,090 --> 00:07:20,500 Pradėti su argumentais. 145 00:07:20,500 --> 00:07:25,000 Taigi, kadangi mes ketiname per versiją C, kuris yra programa vaikinai 146 00:07:25,000 --> 00:07:26,160 rašė pset dviejų - 147 00:07:26,160 --> 00:07:29,880 tai vienas, žinoma, turi keletą klaidų jame, kad tikiuosi rasite - 148 00:07:29,880 --> 00:07:32,810 mes ketiname paleisti paleisti su kai komandą eilutės argumentai, nes Cezaris, 149 00:07:32,810 --> 00:07:34,860 kaip jus vaikinai žino, už problemos nustatyti spec, trunka keletą 150 00:07:34,860 --> 00:07:36,380 komandų eilutės argumentai. 151 00:07:36,380 --> 00:07:40,000 >> Ateinančius porą komandų, kitą viena yra iš tikrųjų vadinamas kitą. 152 00:07:40,000 --> 00:07:42,470 Tai vienas pateksite pagal kiekvieną eilutę per savo programą. 153 00:07:42,470 --> 00:07:45,800 Taigi pataikyti n paspauskite Enter nukelia į kitą eilutę, vykdymas 154 00:07:45,800 --> 00:07:46,880 ankstesnė eilutė. 155 00:07:46,880 --> 00:07:49,440 Žingsnis yra ne tik jums kitą eilutę, bet jis 156 00:07:49,440 --> 00:07:51,070 nukelia viduje funkcijas. 157 00:07:51,070 --> 00:07:54,310 Taigi, jei jūs turite raštu į funkciją Jūsų kodas arba, jei norite ieškoti 158 00:07:54,310 --> 00:07:57,820 I, pavyzdžiui, galite paspausti s ir , o ne eiti į kitą eilutę 159 00:07:57,820 --> 00:08:02,390 failą, kad jūs ketinate per dešinę dabar jūs iš tikrųjų žingsnis į 160 00:08:02,390 --> 00:08:04,670 ši funkcija ir pamatyti savo kodą. 161 00:08:04,670 --> 00:08:12,300 >> Sąrašas rodo jums, kad labai patogi formato, 10 ar panašiai linijos aplink 162 00:08:12,300 --> 00:08:14,940 kur šiuo metu yra Jūsų kodas kad jūs iš tikrųjų galite pamatyti failą 163 00:08:14,940 --> 00:08:17,810 užuot apsikeitimo atgal pirmyn tarp skirtingų nuomonių. 164 00:08:17,810 --> 00:08:21,890 Spausdinti lyg printf, kaip rodo jo pavadinimas. 165 00:08:21,890 --> 00:08:24,020 Tai rodo, ką kintamasis lygus. 166 00:08:24,020 --> 00:08:25,870 >> Info vietiniai yra tikrai naudinga. 167 00:08:25,870 --> 00:08:27,740 Tai speciali versija spausdinti. 168 00:08:27,740 --> 00:08:31,770 Info vietiniai rodo visus vietos kintamieji, spausdina juos visus jums 169 00:08:31,770 --> 00:08:33,380 kad šiuo metu nėra. 170 00:08:33,380 --> 00:08:36,360 Taigi, aš paprastai, užuot atspausdinti keturis kintamuosius, kad aš 171 00:08:36,360 --> 00:08:39,929 įdomu, jei aš už linijos, ir Pavyzdžiui, aš tiesiog parašyti info juodus, 172 00:08:39,929 --> 00:08:43,470 ir jis bus parodyti man, ką mano skaitiklis i lygios, taip pat masyvas, kad aš 173 00:08:43,470 --> 00:08:45,130 dirba lygių. 174 00:08:45,130 --> 00:08:47,530 >> Galiausiai, ir toliau. 175 00:08:47,530 --> 00:08:49,300 Rašyti pertraukos sustoja jums ne pertrauka taško. 176 00:08:49,300 --> 00:08:51,380 Galite pasivaikščioti linijos linija su naujos ir žingsnio. 177 00:08:51,380 --> 00:08:55,640 Toliau eina programos į kitą pertrauka taško arba iki užbaigimo, jei 178 00:08:55,640 --> 00:08:57,180 nėra daugiau pertraukos taškus. 179 00:08:57,180 --> 00:09:00,060 Išjungti pašalina pertraukos taškų, jei jums nusprendė ne pagrindinis pertrauka buvo 180 00:09:00,060 --> 00:09:01,890 netinka, norite jį kažkur kitur. 181 00:09:01,890 --> 00:09:05,090 Ir pagaliau q mesti rūkyti, gauna iš GDB. 182 00:09:05,090 --> 00:09:10,784 >> Taigi ši programa. / Cezario, mes ketiname ieškoti per dabar ir mes 183 00:09:10,784 --> 00:09:13,490 ketinate naudoti GDB rasti Šioje programoje klaidų. 184 00:09:13,490 --> 00:09:18,110 Išbėgau šią programą anksčiau, Patikrinkite 50, ir aš vieną raukytis. 185 00:09:18,110 --> 00:09:22,310 Viskas jis egzistavo, ji parengta, ji išlaikė bandymus daug, bet 186 00:09:22,310 --> 00:09:27,950 tam tikrų priežasčių, jis nepriėmė penktadalį testas, tekinimo BARFOO, visi dangteliai, į 187 00:09:27,950 --> 00:09:33,350 El-D-U-aš-R-R, visi dangteliai, naudojant tris kaip raktas. 188 00:09:33,350 --> 00:09:34,090 Aš turiu gana arti. 189 00:09:34,090 --> 00:09:35,410 Gavau viena raide. 190 00:09:35,410 --> 00:09:37,340 Taigi, čia yra keletas maža klaida čia. 191 00:09:37,340 --> 00:09:38,070 Aš mačiau per savo kodą. 192 00:09:38,070 --> 00:09:38,850 Aš negalėjau suprasti jį. 193 00:09:38,850 --> 00:09:41,740 Tikimės, kad jūs vaikinai gali man padėti išsiaiškinti, kas tai yra klaida. 194 00:09:41,740 --> 00:09:44,610 >> Štai klaida mes ieško. 195 00:09:44,610 --> 00:09:46,090 Pereikime į GDB. 196 00:09:46,090 --> 00:09:51,100 Vėlgi, aš paleisti GDB. / Cezaris todėl dabar mes į GDB. 197 00:09:51,100 --> 00:09:54,290 Ir kas pirmas ką aš turėčiau daryti? 198 00:09:54,290 --> 00:09:56,680 Aš ką tik atvyko GDB. 199 00:09:56,680 --> 00:10:00,316 Kažkas man geras komanda patekti. 200 00:10:00,316 --> 00:10:01,140 >> STUDENTAS: Break pagrindinis. 201 00:10:01,140 --> 00:10:01,800 >> JASON Hirschhorn: Break pagrindinis. 202 00:10:01,800 --> 00:10:02,900 Mobiliesiems telefonams. 203 00:10:02,900 --> 00:10:03,560 Leiskite tipo, kad in 204 00:10:03,560 --> 00:10:06,390 Vaikinai gali žiūrėti čia arba sekite kartu kompiuteriuose. 205 00:10:06,390 --> 00:10:09,410 Break pagrindinis, ir pamatysite, pertrauka taškas buvo nustatytas - 206 00:10:09,410 --> 00:10:12,340 jis suteikia man keistai atminties adresą, ir ji taip pat suteikia man eilutės numerį. 207 00:10:12,340 --> 00:10:15,310 Jei aš būčiau atsigręžti į šį failą, Norėčiau suprasti, kad dažniausiai 208 00:10:15,310 --> 00:10:17,700 atsitiko on line 21. 209 00:10:17,700 --> 00:10:18,950 Ką turėčiau paleisti kitą? 210 00:10:18,950 --> 00:10:22,970 211 00:10:22,970 --> 00:10:25,060 Ar mano programa veikia? 212 00:10:25,060 --> 00:10:25,650 Ne. 213 00:10:25,650 --> 00:10:27,175 Taigi, ką turėčiau veikti toliau? 214 00:10:27,175 --> 00:10:27,520 >> STUDENTAS: Pradėti. 215 00:10:27,520 --> 00:10:28,050 >> JASON Hirschhorn: Pradėti. 216 00:10:28,050 --> 00:10:30,760 Jei aš tiesiog paleisti paleisti, arba turėtų Pridėti keletą kitų dalykų? 217 00:10:30,760 --> 00:10:31,960 >> STUDENTAS: Pradėti su argumentais. 218 00:10:31,960 --> 00:10:33,320 >> JASON Hirschhorn: Pradėti su komandų argumentai. 219 00:10:33,320 --> 00:10:36,420 O kadangi aš derinti labai specifinė atveju, reikia įvesti, kad 220 00:10:36,420 --> 00:10:37,120 komandinės eilutės argumentas. 221 00:10:37,120 --> 00:10:42,290 Taigi aš tai paleisti trys, kurie, vėlgi, išėjimo aš gavau iš Išvykimas 50. 222 00:10:42,290 --> 00:10:44,240 Pradedant programą. 223 00:10:44,240 --> 00:10:45,420 Mes einame per eilučių pora. 224 00:10:45,420 --> 00:10:47,700 Dabar jūs pamatysite, kad mes internete 21. 225 00:10:47,700 --> 00:10:49,200 Kaip man žinoti, kad mes on line 21? 226 00:10:49,200 --> 00:10:52,170 Nes jei jūs žiūrite į kairę mano terminalo lange, ten 227 00:10:52,170 --> 00:10:53,120 ji sako liniją 21. 228 00:10:53,120 --> 00:10:57,010 Ir tai suteikia man, iš tikrųjų, kodas, kuris yra eilutėje 21. 229 00:10:57,010 --> 00:10:58,440 Taigi aš misspoke anksčiau. 230 00:10:58,440 --> 00:10:59,770 Pagrindinis nėra faktiškai eilutėje 21. 231 00:10:59,770 --> 00:11:02,000 Main linijų pora virš 21. 232 00:11:02,000 --> 00:11:04,300 Bet eilutėje 21, tai kur mes trūkinėja. 233 00:11:04,300 --> 00:11:06,280 Šis kodo eilutę turi nėra įvykdytas. 234 00:11:06,280 --> 00:11:06,890 Tai labai svarbu. 235 00:11:06,890 --> 00:11:09,120 Linija matote yra ne buvo įvykdytas dar. 236 00:11:09,120 --> 00:11:12,650 Štai kitą eilutę kodo Jūs ruošiatės vykdyti. 237 00:11:12,650 --> 00:11:15,860 >> Taigi kitą eilutę, kaip jūs vaikinai tikriausiai, susipažinę su, tai yra 238 00:11:15,860 --> 00:11:20,070 sąlyga patikrinti, pamatyti, jei aš turiu Prasidėjo komandų eilutės argumentas. 239 00:11:20,070 --> 00:11:22,140 Ir I, kas antra dalis, kad tai? 240 00:11:22,140 --> 00:11:23,457 Kas yra, kad i? 241 00:11:23,457 --> 00:11:24,950 >> STUDENTAS: Pakeitus jį iki sveikojo skaičiaus. 242 00:11:24,950 --> 00:11:25,450 >> JASON Hirschhorn: Atsiprašome? 243 00:11:25,450 --> 00:11:27,400 >> STUDENTAS: Tai keičiasi argumentas iki sveikojo skaičiaus. 244 00:11:27,400 --> 00:11:30,890 >> JASON Hirschhorn: Taigi, kad aš keičia arg v1 iš eilutės iki sveikojo skaičiaus. 245 00:11:30,890 --> 00:11:32,140 Ir tada kas tai patikrinti? 246 00:11:32,140 --> 00:11:35,414 247 00:11:35,414 --> 00:11:37,112 >> STUDENTAS: Jei yra antra komandinės eilutės argumentas, be 248 00:11:37,112 --> 00:11:38,100 paleisti programą. 249 00:11:38,100 --> 00:11:39,460 >> JASON Hirschhorn: Ir kas antrąjį pusmetį šis 250 00:11:39,460 --> 00:11:41,220 Būlio išraiška tikrinti? 251 00:11:41,220 --> 00:11:42,540 Ši dalis čia, kad i? 252 00:11:42,540 --> 00:11:44,080 >> STUDENTAS: Jei jis neigiamas. 253 00:11:44,080 --> 00:11:45,380 >> JASON Hirschhorn: Užtikrinti, ką? 254 00:11:45,380 --> 00:11:47,120 >> STUDENTAS: Užtikrinti, kad yra, tiesą sakant, teigiamas. 255 00:11:47,120 --> 00:11:47,650 >> JASON Hirschhorn: Būtent. 256 00:11:47,650 --> 00:11:50,600 Tai patikrinti, pamatyti, jei ji neigiamas, o jei ji neigiama, aš 257 00:11:50,600 --> 00:11:53,220 Toks jausmas kitą linija gali būti mane šaukiantį vartotojui. 258 00:11:53,220 --> 00:11:55,930 Taigi leiskite nukentėjo pabaigos vykdyti šią eilutę. 259 00:11:55,930 --> 00:11:59,925 Mes nematome, kad linijos, kad jūs vaikinai gal tikėjosi pamatyti šaukiantį 260 00:11:59,925 --> 00:12:03,030 vartotojo ir tada grįžti, nes ši eilutė nevykdė. 261 00:12:03,030 --> 00:12:03,840 Įvedžiau 3. 262 00:12:03,840 --> 00:12:06,860 Taigi, aš, tiesą sakant, įveskite du komandą eilutės argumentai, o 3 yra 263 00:12:06,860 --> 00:12:07,610 didesnė už nulį. 264 00:12:07,610 --> 00:12:09,950 Taigi mes matėme tą liniją, mes atlikti, bet mes ne žingsnis 265 00:12:09,950 --> 00:12:11,300 viduje, jei būklės. 266 00:12:11,300 --> 00:12:17,060 >> Taigi dabar, šalia, matau aš nustatymo LC raktas Lygu-i arg v1. 267 00:12:17,060 --> 00:12:18,840 Taigi, kad man sukurti kintamą klavišą. 268 00:12:18,840 --> 00:12:22,450 Taigi, jei aš spausdinti klavišą dabar, nes , kuri leidžia jums pamatyti, 269 00:12:22,450 --> 00:12:26,040 vertė viduje kintamasis, raktas lygu 47. 270 00:12:26,040 --> 00:12:28,810 Tai keista, bet, žinoma, tai todėl, kad aš ne 271 00:12:28,810 --> 00:12:30,490 įvykdė tą liniją dar. 272 00:12:30,490 --> 00:12:35,880 Taigi dabar, jei I hit n vykdyti šią liniją, ir padaryti spausdinimo klavišą, raktas bus lygus 3, 273 00:12:35,880 --> 00:12:37,740 o tai, ką mes tikimės, kad ji lygi. 274 00:12:37,740 --> 00:12:41,170 >> Taigi, dar kartą, GDB, linijos jums see you nebuvo įvykdytas dar. 275 00:12:41,170 --> 00:12:44,850 Jūs turite paspausti N arba S arba skaičių Kitų komandų iš tikrųjų 276 00:12:44,850 --> 00:12:46,610 vykdyti šią liniją. 277 00:12:46,610 --> 00:12:47,380 Spausdinti raktas. 278 00:12:47,380 --> 00:12:48,280 Pagrindiniai At 3. 279 00:12:48,280 --> 00:12:49,750 Kol kas viskas gerai. 280 00:12:49,750 --> 00:12:51,000 Styginių yra paprastas tekstas. 281 00:12:51,000 --> 00:12:52,270 Leiskite vykdyti šią liniją. 282 00:12:52,270 --> 00:12:53,970 Gaunu eilutę iš vartotojo. 283 00:12:53,970 --> 00:12:58,690 >> Pažiūrėkime mano Išvykimas 50, aš įveskite BARFOO visas ribas, todėl 284 00:12:58,690 --> 00:13:01,330 kad tai, ką aš įvesti. 285 00:13:01,330 --> 00:13:07,300 Jei aš dabar spausdinti paprastą tekstą. 286 00:13:07,300 --> 00:13:08,610 Pamatysite tai prilygsta eilutę. 287 00:13:08,610 --> 00:13:11,100 Ji suteikia man kitą keistą šešioliktainis skaičius, bet ji tai daro 288 00:13:11,100 --> 00:13:13,620 Tai, kad mano eilutė BARFOO. 289 00:13:13,620 --> 00:13:19,308 Jei aš norėjau pamatyti, kas svarbiausia sudarė ne šis punktas, kaip galėčiau patikrinti raktas? 290 00:13:19,308 --> 00:13:20,710 >> STUDENTAS: Spausdinti raktas. 291 00:13:20,710 --> 00:13:22,010 >> JASON Hirschhorn: Spausdinti raktas, tiksliai. 292 00:13:22,010 --> 00:13:23,260 Ir iš tikrųjų, yra mobilioji nuoroda. 293 00:13:23,260 --> 00:13:25,910 Jei jums nusibodo rašyti spausdinti, Jūs galite tiesiog įveskite psl. 294 00:13:25,910 --> 00:13:28,340 Taigi p raktas nėra tas pats dalykas. 295 00:13:28,340 --> 00:13:29,730 Ir vėl, matau, ji lygi 3. 296 00:13:29,730 --> 00:13:34,760 >> Jei aš norėjau sužinoti, ką abu klavišą ir BARFOO sudarė tuo pačiu metu 297 00:13:34,760 --> 00:13:37,215 bet aš pavargau rašyti kiekvieną vienas iš individualiai, aš 298 00:13:37,215 --> 00:13:38,590 gali įvesti info vietiniai. 299 00:13:38,590 --> 00:13:41,170 Tai suteikia man svarbiausius lygu 3. 300 00:13:41,170 --> 00:13:42,500 Paprastas tekstas Lygu BARFOO. 301 00:13:42,500 --> 00:13:45,265 Ji taip pat suteikia man šiuos du keistus dalykus viršuje, šis kintamasis i ir 302 00:13:45,265 --> 00:13:46,590 Šis kintamasis n. 303 00:13:46,590 --> 00:13:48,460 >> Tie, kurie iš tikrųjų esama mano pagrindinės programos. 304 00:13:48,460 --> 00:13:51,280 Mes dar susiduriama juos, bet kaip peržiūrėti, tie 305 00:13:51,280 --> 00:13:52,880 egzistuoja mano už linijos. 306 00:13:52,880 --> 00:13:55,360 Taigi dabar, jie yra lygūs kažkokiam keistam numerius, nes jie nebuvo 307 00:13:55,360 --> 00:13:58,300 inicijuoti dar, bet jie vis dar egzistuoja atmintyje, todėl jie tiesiog nustatyti 308 00:13:58,300 --> 00:14:00,220 tam tikru šiukšlių vertę. 309 00:14:00,220 --> 00:14:02,890 Bet mes pamatyti raktą paprastas tekstą tiesiai ten. 310 00:14:02,890 --> 00:14:06,390 >> Taigi, aš ruošiuosi atlikti šią eilutę, 34 eilutė, už kilpos. 311 00:14:06,390 --> 00:14:08,220 Mes ketiname pereiti į už linijos pataikyti n. 312 00:14:08,220 --> 00:14:10,050 Ir mes viduje už linijos. 313 00:14:10,050 --> 00:14:11,360 Mes per savo pirmąjį patikrinimą. 314 00:14:11,360 --> 00:14:14,300 Ir vėl, jie turi tarsi atrodo susipažinęs su jumis, nes tai buvo 315 00:14:14,300 --> 00:14:18,080 Cezaris programa, kuri buvo parašyta, bet vėl turi tam tikrą klaidą rūšiuoti. 316 00:14:18,080 --> 00:14:21,940 >> Ir dabar, jei aš info vietiniai, nes aš viduje, kad už linijos, pamatysite 317 00:14:21,940 --> 00:14:23,900 kad i lygi nuliui, kaip mes tikimės. 318 00:14:23,900 --> 00:14:26,820 Štai ką mes nustatome jį ir inicializuoti jį į už linijos. 319 00:14:26,820 --> 00:14:27,560 n yra lygu 6. 320 00:14:27,560 --> 00:14:30,700 Tai taip pat turi prasmę, nes mes nustatome jį paprasto teksto strlen. 321 00:14:30,700 --> 00:14:34,270 Taigi, aš norėčiau padaryti info vietiniai arba spausdinti kintamasis dažnai įsitikinti, kad 322 00:14:34,270 --> 00:14:36,370 viskas visada yra kas Tikiuosi, kad ji lygi. 323 00:14:36,370 --> 00:14:39,800 Šiuo atveju, viskas yra ką aš tikėtis, kad ji lygi. 324 00:14:39,800 --> 00:14:41,850 >> Taigi, pradėkime juda per tai už linijos. 325 00:14:41,850 --> 00:14:45,715 Linijos aš apie tai 36 eilutės, jei paprastas teksto i yra didesnis nei paprasto ir 326 00:14:45,715 --> 00:14:48,540 teksto i yra mažesnė arba lygi z. 327 00:14:48,540 --> 00:14:51,880 Aš žinau, mano problema yra ne su mano pirmasis laiškas, tai su antruoju laišku. 328 00:14:51,880 --> 00:14:56,290 Jei pažvelgsime atgal Išvykimas 50 B eina į E bauda. 329 00:14:56,290 --> 00:14:59,010 Aš vartojate A ir palikti ją , o ne jį pakeisti D. Taigi 330 00:14:59,010 --> 00:15:00,200 kažkas negerai su antras laiškas. 331 00:15:00,200 --> 00:15:01,640 Taigi, aš ruošiuosi pereiti ten per sekundę. 332 00:15:01,640 --> 00:15:06,030 >> Bet jei aš noriu patikrinti ką lyguma tekstas Aš neprilygo tai ypač 333 00:15:06,030 --> 00:15:07,760 atveju, aš manau, kad turėtų būti, ką? 334 00:15:07,760 --> 00:15:10,980 Ką reikėtų paprasto teksto Aš prilygti šioje pirmasis turas per for ciklas? 335 00:15:10,980 --> 00:15:14,046 336 00:15:14,046 --> 00:15:15,110 >> STUDENTAS: nulis? 337 00:15:15,110 --> 00:15:16,510 >> JASON Hirschhorn: Paprastas tekstas I? 338 00:15:16,510 --> 00:15:21,180 Todėl ji turėtų būti kapitalo B. Aš, žinoma, lygi nuliui, bet paprasto teksto 339 00:15:21,180 --> 00:15:25,600 laikiklis nulis uždara laikiklis lygu B nes stygos, kaip matėme praeitą savaitę, 340 00:15:25,600 --> 00:15:28,650 yra masyvas, todėl mes vis Pirmasis simbolis nuo to. 341 00:15:28,650 --> 00:15:34,960 Taigi dar kartą, jei aš atspausdinti paprastą tekstą Aš, aš, tiesą sakant, gauti simbolį 342 00:15:34,960 --> 00:15:36,560 B. Ir tai tvarkingas, tiesa? 343 00:15:36,560 --> 00:15:40,380 Aš ne iš tikrųjų turėti paprastojo teksto I Tai nėra vienas iš kintamųjų Aš nustatytų 344 00:15:40,380 --> 00:15:42,950 arba inicijuoti, bet jūs galite spausdinti iš daugybės dalykų 345 00:15:42,950 --> 00:15:45,640 jei norite. 346 00:15:45,640 --> 00:15:47,340 >> Bet leiskite judėti. 347 00:15:47,340 --> 00:15:50,050 Jei teksto man yra didesnis nei A ir teksto man yra mažesnė arba lygi 348 00:15:50,050 --> 00:15:53,290 Z, kuris aiškiai yra tiesa, nes mes turime kapitalas B. aš ruošiuosi paleisti 349 00:15:53,290 --> 00:15:54,230 kai komanda jį. 350 00:15:54,230 --> 00:15:58,530 Mes matėme, kad matematika praėjusią savaitę, todėl mes laikyti savaime suprantamu dalyku, kad jis veikia 351 00:15:58,530 --> 00:16:00,900 teisė pagal Patikrinkite 50. 352 00:16:00,900 --> 00:16:03,720 >> Šie garbanotas petnešos, pirmasis parodė, kad man buvo išeinant, jei 353 00:16:03,720 --> 00:16:07,030 sąlyga, antrasis parodė kad aš išeinant už linijos. 354 00:16:07,030 --> 00:16:10,400 Ir todėl dabar, kai aš paspauskite Next, matysime mes grįžome ne už linijos dar kartą. 355 00:16:10,400 --> 00:16:11,970 Mes ketiname per už linijos dar kartą. 356 00:16:11,970 --> 00:16:18,110 Leiskite tikrųjų žingsnis į sekundę pasikartojančių už linijos ir tipo 357 00:16:18,110 --> 00:16:20,520 info vietiniai. 358 00:16:20,520 --> 00:16:22,190 >> Taigi mes į antrosios iteracijos mūsų už kilpos. 359 00:16:22,190 --> 00:16:24,530 Aš lygus 1, o mes tikimės. 360 00:16:24,530 --> 00:16:26,650 N lygu 6, kurį mes tikimės. 361 00:16:26,650 --> 00:16:28,810 Pagrindiniai lygu 3, kurį mes tikimės. 362 00:16:28,810 --> 00:16:32,625 Ir teksto, pamatysite lygu EARFOO dabar, o ne BARFOO nebėra, nes 363 00:16:32,625 --> 00:16:37,930 mūsų ankstesnės iteracijos, B buvo pakeistas į kapitalo E. Taigi mes apie 364 00:16:37,930 --> 00:16:40,040 susidurti su problema, todėl ši kur mes ketiname 365 00:16:40,040 --> 00:16:41,130 pasinerti į derinimo. 366 00:16:41,130 --> 00:16:43,365 Bet ar kas nors turi kokių nors klausimų, apie tai, ką mes padarėme iki šiol? 367 00:16:43,365 --> 00:16:46,770 368 00:16:46,770 --> 00:16:47,910 Mobiliesiems telefonams. 369 00:16:47,910 --> 00:16:52,710 >> Taigi mes ruošiamės atlikti tai, jei sąlyga, teksto laikiklis aš uždarytas 370 00:16:52,710 --> 00:16:57,500 laikiklis didesnis nei A ir teksto aš mažesnė arba lygi iki Z. Bet prieš 371 00:16:57,500 --> 00:17:00,450 Aš einu į tą, nes tai yra, kai Aš žinau, mano klaida, aš noriu atkreipti 372 00:17:00,450 --> 00:17:06,859 iš paprasto teksto I Taigi tegul įdėti atsispausdinti. 373 00:17:06,859 --> 00:17:12,020 Ji lygi charakterį, kad atrodo taip toli, kad viskas yra gerai ir gerai. 374 00:17:12,020 --> 00:17:14,740 >> Taigi, aš tikiuosi, kad ši linija per savo logika, ši linija turėtų būti tiesa. 375 00:17:14,740 --> 00:17:16,099 Tai didžioji raidė. 376 00:17:16,099 --> 00:17:20,599 Bet jei aš paspauskite n, mes suprantame, kad tai linija, tiesą sakant, nebuvo įvykdyti. 377 00:17:20,599 --> 00:17:22,609 Aš šoktelėjo žemyn else if. 378 00:17:22,609 --> 00:17:25,460 Kodėl tai atsitiko? 379 00:17:25,460 --> 00:17:27,480 >> STUDENTAS: Kadangi jūs turite savo būklės paprasto teksto yra didesnis 380 00:17:27,480 --> 00:17:29,130 nei, lygus ar didesnis už. 381 00:17:29,130 --> 00:17:32,260 >> JASON Hirschhorn: Taigi, aš turėjau paprastą tekstą I yra didesnis nei, ne daugiau 382 00:17:32,260 --> 00:17:32,850 viršytų arba būtų lygios. 383 00:17:32,850 --> 00:17:38,130 Taigi aišku, kapitalas nebuvo sukelti tai, jei sąlyga, ir mes padarėme 384 00:17:38,130 --> 00:17:40,520 ne žingsnis į ją, ir mes padarėme ne padaryti būtinus pamainą. 385 00:17:40,520 --> 00:17:41,360 Štai jis, iš tikrųjų. 386 00:17:41,360 --> 00:17:42,920 Aš raštuotas, mano klaida. 387 00:17:42,920 --> 00:17:46,775 Galėčiau grįžti į savo šaltinio failo, jį pakeisti, ir ją atnaujinti ir 388 00:17:46,775 --> 00:17:47,855 paleiskite Tikrinti 50 kartą. 389 00:17:47,855 --> 00:17:52,590 >> Bet mes pamatysime, tik pedagogika s sake, jei aš nesustoti. 390 00:17:52,590 --> 00:17:59,580 Else if nevykdo arba, bet kas vietoj Lygu yra komanda 391 00:17:59,580 --> 00:18:00,500 tai nekeičia. 392 00:18:00,500 --> 00:18:04,840 Taigi jis nepasikeitė, ir jei aš spausdinti teksto čia matysime vyksta 393 00:18:04,840 --> 00:18:08,250 per, kad kilpa nebuvo, tiesą sakant, pakeisti, kad antrą simbolį visiems. 394 00:18:08,250 --> 00:18:09,600 Jis vis dar sostinė A. 395 00:18:09,600 --> 00:18:12,690 >> Taigi dar kartą, mes debugowany mūsų klaida. 396 00:18:12,690 --> 00:18:17,380 Mes supratome, kad ten buvo kai logika trūksta. 397 00:18:17,380 --> 00:18:20,590 Ir mes debugowany jį iš anksto prieš Realiai vykdančių ta linija, 398 00:18:20,590 --> 00:18:24,320 bet jūs pastebėjote turėjo mes tiesiog paspauskite Next ir pereiti į, kad kitas, jei 399 00:18:24,320 --> 00:18:26,710 tai reiškia, kad jei sąlyga buvo netiesa. 400 00:18:26,710 --> 00:18:29,550 Mes ne iš tikrųjų gauti rezultatas tikėjomės. 401 00:18:29,550 --> 00:18:33,240 Taigi mes galėjo paraginti, turėjo mes nebuvo toks sumanus, pažvelgti į 402 00:18:33,240 --> 00:18:38,510 kad jei sąlyga ir patikrinti, ar, tiesą sakant, mūsų sąlyga turėtų įvertinti, kad 403 00:18:38,510 --> 00:18:41,150 tiesa, dabartinėmis aplinkybėmis. 404 00:18:41,150 --> 00:18:42,880 >> Štai ir viskas derinti šią programą. 405 00:18:42,880 --> 00:18:45,340 Ar kas nors turi kokių nors klausimų? 406 00:18:45,340 --> 00:18:50,486 Kas komanda galėčiau nukentėjo mesti GDB? 407 00:18:50,486 --> 00:18:53,900 Q. Ir tada aš būsite paraginti, mesti vistiek? 408 00:18:53,900 --> 00:18:54,390 Taip ar ne. 409 00:18:54,390 --> 00:18:58,440 Aš nukentėjo taip, ir aš mečiau GDB. 410 00:18:58,440 --> 00:19:00,860 >> Taigi, tai buvo greitas gruntas GDB. 411 00:19:00,860 --> 00:19:03,430 Tiesą sakant, realioje scenarijų Aš tai ne darbo valandomis. 412 00:19:03,430 --> 00:19:06,710 Aš GDBed būtent šią programą darbo valandos su studentu. 413 00:19:06,710 --> 00:19:12,410 Ir jei mes einame atgal į komandas mes matėme anksčiau, mes naudojome pertraukos Main, pirmasis 414 00:19:12,410 --> 00:19:13,190 dalykas, mes padarėme. 415 00:19:13,190 --> 00:19:16,060 Mes naudojome paleisti su komandinės eilutės argumentai, Antras dalykas, mes padarėme. 416 00:19:16,060 --> 00:19:18,520 Mes naudojome kitą daug judėti mums per linijas. 417 00:19:18,520 --> 00:19:20,310 Ir vėl trumpa versija Kito yra n. 418 00:19:20,310 --> 00:19:22,920 Kad skliausteliuose yra pilkas skaidrę. 419 00:19:22,920 --> 00:19:28,590 >> Mes nesinaudojo žingsnį, tačiau mes ne būtinai reikia šiuo atveju. 420 00:19:28,590 --> 00:19:32,150 Tačiau mes galime jį naudoti šiek tiek vėliau šiandien, jei mes derinimo, dėl 421 00:19:32,150 --> 00:19:36,500 Pavyzdžiui, dvejetainis paieškos, kai dvejetainis paieška vadinama atskira 422 00:19:36,500 --> 00:19:38,200 funkcija, tačiau ten kai su juo klaida. 423 00:19:38,200 --> 00:19:40,440 Mes ketiname norite žingsnis į dvejetainis paieškos skambučių ir 424 00:19:40,440 --> 00:19:41,840 faktiškai derinti jį. 425 00:19:41,840 --> 00:19:45,130 Sąrašas mes nesinaudojo arba, nes mes turėjome geras jausmas mūsų kodą, bet jei aš 426 00:19:45,130 --> 00:19:48,420 dar nori gauti ką kodas I jausmą buvo aplink, galėčiau tiesiog naudoti sąrašą. 427 00:19:48,420 --> 00:19:50,310 >> Spausdinti mes panaudojome, info vietiniai Mes naudojome. 428 00:19:50,310 --> 00:19:53,260 Toliau mes nereikėjo naudoti šį atveju nei jūs, nei mes turime naudoti 429 00:19:53,260 --> 00:19:55,060 išjungti, tačiau mes padarėme naudojimas mesti. 430 00:19:55,060 --> 00:19:57,850 Vėlgi, šie 10 komandos, praktiškai juos. 431 00:19:57,850 --> 00:20:00,770 Jei jūs suprantate, šių 10 komandų, jums turėtų būti nustatyta derinimo bet 432 00:20:00,770 --> 00:20:02,525 išduoti su GDB. 433 00:20:02,525 --> 00:20:05,230 434 00:20:05,230 --> 00:20:08,420 >> Taigi mes ruošiamės eiti, vėl į esmė skyriuje šiandien vyksta per 435 00:20:08,420 --> 00:20:09,720 jų rūšiavimo ir paieškos algoritmai. 436 00:20:09,720 --> 00:20:14,075 Prieš tai padaryti, vėl kokių nors klausimų, komentarai, rūpesčiai dėl GDB? 437 00:20:14,075 --> 00:20:16,750 438 00:20:16,750 --> 00:20:20,960 Taigi yra visi ketinate naudoti GDB, o ne printf? 439 00:20:20,960 --> 00:20:24,550 Taigi visi, amžinai meilės, visi yra linksi savo pagrindinę teisę 440 00:20:24,550 --> 00:20:27,400 dabar, kad aš pamatysiu jus darbo valandomis ir visi TFS pamatys jus ir 441 00:20:27,400 --> 00:20:29,460 jie pasakys, parodyk man, kaip naudoti GDB, ir jūs galėsite 442 00:20:29,460 --> 00:20:31,240 parodyti jiems, tiesa? 443 00:20:31,240 --> 00:20:31,760 Rūšies? 444 00:20:31,760 --> 00:20:32,640 Gal tikiuosi. 445 00:20:32,640 --> 00:20:33,670 Cool. 446 00:20:33,670 --> 00:20:35,790 >> Taigi, mes ketiname perkelti į rūšiavimą ir paiešką. 447 00:20:35,790 --> 00:20:40,710 Pamatysite Turiu sąrašą jau rūšiuojamos mums, bet kad nesiruošia 448 00:20:40,710 --> 00:20:42,220 būti atvejis visada. 449 00:20:42,220 --> 00:20:49,170 Taigi problema nustatyti specifikacija problema nustatyti trys, turite šortai 450 00:20:49,170 --> 00:20:51,410 kad jūs galite žiūrėti, ir ji iš tikrųjų kviečia Jus žiūrėti šiuos šortus. 451 00:20:51,410 --> 00:20:55,090 Taip pat paskaitos, praeitą savaitę, mes nuėjome per Šių algoritmų daug, todėl aš 452 00:20:55,090 --> 00:20:59,150 nesiruošia praleisti laiką klasėje vyksta per šių algoritmų dar kartą arba brėžinys 453 00:20:59,150 --> 00:21:01,130 Paveikslėliai kaip šie algoritmai dirbti. 454 00:21:01,130 --> 00:21:04,030 Vėlgi, kad informacija, kurią gali iš naujo žiūrėti paskaita, arba kad informacija 455 00:21:04,030 --> 00:21:08,570 yra užfiksuotas išskirtinai dėl šortai šie paieškos, visi 456 00:21:08,570 --> 00:21:10,920 kurie yra prieinami cs50.net. 457 00:21:10,920 --> 00:21:14,200 >> Taigi, vietoj to, ką mes ketiname padaryti, tai parašyti šias programas. 458 00:21:14,200 --> 00:21:18,190 Mes turime jausmą, psichikos modelį, kaip jie dirba, ir tt, ką mes ketiname 459 00:21:18,190 --> 00:21:20,210 padaryti, tai koduoti juos reali. 460 00:21:20,210 --> 00:21:23,430 Mes ketiname įjungti, kad psichikos modelį, kad vaizdas, jei norite, į 461 00:21:23,430 --> 00:21:24,960 tikrasis kodas. 462 00:21:24,960 --> 00:21:28,460 Ir jei buvo šiek tiek supainioti, arba miglotos dėl psichikos modelis, aš visiškai 463 00:21:28,460 --> 00:21:28,770 suprasti. 464 00:21:28,770 --> 00:21:30,540 >> Mes iš tikrųjų ketiname peršokti į kodo iš karto. 465 00:21:30,540 --> 00:21:36,030 Taigi, nors tai greitai šioje skaidrėje prašo jums koduoti binarinę paiešką, ir 466 00:21:36,030 --> 00:21:39,470 iš tikrųjų, kartotinis versija Dvejetainė paieška, pirmas dalykas, kurį aš 467 00:21:39,470 --> 00:21:42,370 tikrai noriu padaryti, tai parašyti keletą Pseudocode. 468 00:21:42,370 --> 00:21:47,020 Taigi jūs turite tai psichikos modelį kaip dvejetainis paieškos darbai. 469 00:21:47,020 --> 00:21:50,060 Išimkite popieriaus lapą, jei turite vienas lengvai prieinama, ar atverti 470 00:21:50,060 --> 00:21:52,520 teksto redaktoriumi, ir aš norėčiau visiems rašyti. 471 00:21:52,520 --> 00:21:57,470 Paimkite keturių minučių rašyti Pseudocode už dvejetainėje paiešką. 472 00:21:57,470 --> 00:21:58,990 >> Vėlgi, manau, apie tai, kad psichikos modelį. 473 00:21:58,990 --> 00:22:01,980 Ateisiu aplink, jei turite klausimų, ir mes galime padaryti nuotrauką iš. 474 00:22:01,980 --> 00:22:06,220 Bet pirmiausia, prieš pradedant programavimą, Norėčiau rašyti 475 00:22:06,220 --> 00:22:09,920 Pseudocode naudojant dvejetainį paieškos todėl, kai mes nardyti, mes turime tam tikrą kryptį, kaip 476 00:22:09,920 --> 00:22:12,110 kur turėtume galvą. 477 00:22:12,110 --> 00:22:15,330 >> STUDENTAS: Ar mes galime prisiimti masyvas vertės mes gauname jau rūšiuojamos? 478 00:22:15,330 --> 00:22:17,960 >> JASON Hirschhorn: Taigi dvejetainėje paieškos dirbti - puikų klausimą - jūs 479 00:22:17,960 --> 00:22:20,970 turi imtis surikiuota masyvo reikšmių. 480 00:22:20,970 --> 00:22:22,290 Taigi manyti, kad bus dirbti. 481 00:22:22,290 --> 00:22:23,480 Mes grįžti į šią skaidrę. 482 00:22:23,480 --> 00:22:27,220 Jūs matysite violetinė funkcijos deklaracija yra bool binary_search int 483 00:22:27,220 --> 00:22:29,230 vertė, int reikšmės, int n. 484 00:22:29,230 --> 00:22:32,910 Tai turėtų atrodyti pažįstamas, jei jūs jau kreipėsi arba Dotarłeś savo 485 00:22:32,910 --> 00:22:34,580 rankas purvinas su problemų rinkinį. 486 00:22:34,580 --> 00:22:35,910 >> Bet tai jūsų funkcija deklaracija. 487 00:22:35,910 --> 00:22:39,080 Vėlgi, neturėtų jaudintis kad daug šiuo metu. 488 00:22:39,080 --> 00:22:43,660 Ką aš tikrai noriu padaryti, tai priimti keturias minutes Pseudocode dvejetainis 489 00:22:43,660 --> 00:22:46,380 ieškoti, o tada eisime per tą kaip grupė. 490 00:22:46,380 --> 00:22:47,500 Ir aš ateisiu aplink. 491 00:22:47,500 --> 00:22:49,590 Jei turite klausimų, prašome laisvai pakelkite ranką. 492 00:22:49,590 --> 00:25:07,110 493 00:25:07,110 --> 00:25:09,680 >> Kodėl gi ne jums imtis daugiau dvi minutes baigti iki Pseudocode? 494 00:25:09,680 --> 00:25:13,690 495 00:25:13,690 --> 00:25:15,820 Aš žinau, tai gali atrodyti juokinga, kad mes išleisti tiek daug laiko 496 00:25:15,820 --> 00:25:20,350 kažkas, kad net ne iš tikrųjų C, o ypač jų daugiau 497 00:25:20,350 --> 00:25:24,030 Sudėtinga algoritmai ir problema rinkiniai, kad mes turime išsiaiškinti, 498 00:25:24,030 --> 00:25:27,210 pradedant Pseudocode ne nerimaudamas apie sintaksę, tiesiog nerimauti 499 00:25:27,210 --> 00:25:29,150 logika, yra neįtikėtinai naudinga. 500 00:25:29,150 --> 00:25:32,720 Ir tokiu būdu, jūs ne spręsti du neįtikėtinai sudėtingų problemų vienu metu. 501 00:25:32,720 --> 00:25:35,390 Jūs tik sutelkiant dėmesį į logiką ir tada pereiti į sintaksę. 502 00:25:35,390 --> 00:25:59,960 503 00:25:59,960 --> 00:26:01,385 >> Gerai. 504 00:26:01,385 --> 00:26:03,680 Pradėkime išgyvena Pseudocode. 505 00:26:03,680 --> 00:26:05,380 Parašiau čia, dvejetainis paieška Pseudocode. 506 00:26:05,380 --> 00:26:07,360 Mes rašau tai ant tarybai. 507 00:26:07,360 --> 00:26:10,040 Arba aš rašyti ir jums duosiu man instrukcijas man reikia. 508 00:26:10,040 --> 00:26:15,010 Taigi gali kas nors duoti man pirmas linija Pseudocode jums 509 00:26:15,010 --> 00:26:18,350 rašė dvejetainėje ieškoti? 510 00:26:18,350 --> 00:26:20,258 Taip, Annie? 511 00:26:20,258 --> 00:26:22,698 >> STUDENTAS: Nors ilgis sąrašas yra didesnis už nulį. 512 00:26:22,698 --> 00:26:26,114 513 00:26:26,114 --> 00:26:34,880 >> JASON Hirschhorn: Nors ilgis sąrašo didesnė už nulį. 514 00:26:34,880 --> 00:26:38,810 Ir vėl matome, kai C ieškote sintaksiniai dalykų apie čia. 515 00:26:38,810 --> 00:26:41,550 Bet labiausiai tai anglų kalba. 516 00:26:41,550 --> 00:26:43,980 Ar kas nors turite liniją jie pateikia prieš tai jų pseudo-kodu? 517 00:26:43,980 --> 00:26:47,280 518 00:26:47,280 --> 00:26:50,210 >> STUDENTAS: Gauk masyvą iš rūšiuojami numerius. 519 00:26:50,210 --> 00:26:53,600 >> JASON Hirschhorn: Rašėte "gauti masyvas rūšiuotų numerius. "Per 520 00:26:53,600 --> 00:26:56,140 funkcija deklaracija, mes artimųjų, rūšiuotų skaičių masyvas. 521 00:26:56,140 --> 00:26:57,280 >> STUDENTAS: [nesigirdi]. 522 00:26:57,280 --> 00:26:59,030 >> JASON Hirschhorn: Taigi turėsime tai. 523 00:26:59,030 --> 00:27:01,820 Bet taip, jei mes neturėjome, kad mes reikės rūšiuoti mūsų masyvas 524 00:27:01,820 --> 00:27:04,850 numerius, nes dvejetainė paieška veikia tik surūšiuotų matricos. 525 00:27:04,850 --> 00:27:11,300 Taigi, nors ilgis sąrašo lygi nuliui, aš ketina pateikti kai klamrowych 526 00:27:11,300 --> 00:27:15,420 kad ji atrodo šiek tiek daugiau kaip C. Tačiau, nors, atrodo map ant 527 00:27:15,420 --> 00:27:19,550 o kilpos, todėl viduje šio laiko kilpa, ką turime 528 00:27:19,550 --> 00:27:22,000 padaryti dvejetainėje ieškoti? 529 00:27:22,000 --> 00:27:25,530 >> Kažkas, kas nedavė man atsakyti dar bet kuris parašė tai? 530 00:27:25,530 --> 00:27:31,750 531 00:27:31,750 --> 00:27:33,320 >> STUDENTAS: Eiti į sąrašo viduryje. 532 00:27:33,320 --> 00:27:33,980 >> JASON Hirschhorn: Tomas. 533 00:27:33,980 --> 00:27:35,230 Eiti į sąrašo viduryje. 534 00:27:35,230 --> 00:27:43,290 535 00:27:43,290 --> 00:27:45,530 Ir tolesnių klausimas, kas mes darome, kai mes ne 536 00:27:45,530 --> 00:27:46,870 viduryje sąraše? 537 00:27:46,870 --> 00:27:49,310 >> STUDENTAS: Ar čekį ar tai numeris jūs ieškote. 538 00:27:49,310 --> 00:27:50,120 >> JASON Hirschhorn: Puikus. 539 00:27:50,120 --> 00:28:05,500 Eiti vidurį sąrašą ir patikrinkite jei mūsų vertė yra ten - 540 00:28:05,500 --> 00:28:06,515 fantastinis. 541 00:28:06,515 --> 00:28:10,460 Ar kas nors turite ką nors, kad buvo kitoks nei tai? 542 00:28:10,460 --> 00:28:11,210 Būtent dešinėje. 543 00:28:11,210 --> 00:28:13,800 >> Pirmas dalykas, mes dvejetainėje paieškos yra eiti į sąrašo viduryje ir 544 00:28:13,800 --> 00:28:15,870 patikrinkite, ar mūsų vertė yra. 545 00:28:15,870 --> 00:28:19,682 Taigi aš manau, jei mūsų vertė yra ten, ką mes darome? 546 00:28:19,682 --> 00:28:21,610 >> STUDENTAS: Mes grįžti prie nulio [nesigirdi]. 547 00:28:21,610 --> 00:28:23,400 >> JASON Hirschhorn: Taip, jei mūsų vertė yra, mes jį rasti. 548 00:28:23,400 --> 00:28:27,950 Taigi, mes galime pasakyti, tam tikru būdu, tačiau tai funkcija yra apibrėžta, mes pasakyti, kad vartotojas 549 00:28:27,950 --> 00:28:28,520 mes jį rasti. 550 00:28:28,520 --> 00:28:30,950 Jei jo ten nėra, nors tai jei tai bus sudėtinga. 551 00:28:30,950 --> 00:28:35,120 Taigi, jei jo ten nėra, kažkas, kas dirbo dvejetainėje paieškos ar 552 00:28:35,120 --> 00:28:36,830 yra idėja, dabar ką mes darome? 553 00:28:36,830 --> 00:28:37,830 >> STUDENTAS: Klausimas. 554 00:28:37,830 --> 00:28:38,100 >> JASON Hirschhorn: Taip? 555 00:28:38,100 --> 00:28:39,920 >> STUDENTAS: Ar masyvas jau rūšiuojami? 556 00:28:39,920 --> 00:28:42,200 >> JASON Hirschhorn: Taip, mes prielaidą, masyvas jau rūšiuojamos. 557 00:28:42,200 --> 00:28:46,480 >> STUDENTAS: Taigi jūs turite patikrinti, ar vertė, kad jūs matote, yra daugiau nei 558 00:28:46,480 --> 00:28:51,745 vertė, kad jūs norite, galite perkelti vidurio, o kita pusė. 559 00:28:51,745 --> 00:28:54,110 >> JASON Hirschhorn: Taigi, jei viduryje sąrašas yra didesnis nei mes 560 00:28:54,110 --> 00:28:57,440 ieškote, tada mes ką? 561 00:28:57,440 --> 00:28:58,320 Vežame kur? 562 00:28:58,320 --> 00:29:01,400 >> STUDENTAS: norite pereiti prie Sąrašo pusė su 563 00:29:01,400 --> 00:29:02,780 numeriai mažesni nei. 564 00:29:02,780 --> 00:29:04,460 >> JASON Hirschhorn: todėl mes skambinti, kad į kairę. 565 00:29:04,460 --> 00:29:15,435 Taigi, jei viduryje yra didesnis, mes galime ieškoti kairę pusę sąrašą. 566 00:29:15,435 --> 00:29:20,620 567 00:29:20,620 --> 00:29:22,980 Ir tada ieškoti, kas turiu galvoje ieškoti? 568 00:29:22,980 --> 00:29:24,010 >> STUDENTAS: [nesigirdi]. 569 00:29:24,010 --> 00:29:24,410 >> JASON Hirschhorn: Mes einame į vidurį. 570 00:29:24,410 --> 00:29:25,740 Mes iš tikrųjų pakartoti šį dalyką. 571 00:29:25,740 --> 00:29:29,210 Mes einame atgal per mūsų while cikle. 572 00:29:29,210 --> 00:29:31,480 Aš duosiu jums naujausia - 573 00:29:31,480 --> 00:29:39,047 kitur, jei viduryje yra mažiau nei mes, ką mes čia darome? 574 00:29:39,047 --> 00:29:40,360 >> STUDENTAS: Eikite į dešinę. 575 00:29:40,360 --> 00:29:41,610 >> JASON Hirschhorn: Paieška teisę. 576 00:29:41,610 --> 00:29:47,440 577 00:29:47,440 --> 00:29:51,710 Tai atrodo gerai, bet ar kas nors turi nieko, kad mes gali trūkti arba 578 00:29:51,710 --> 00:29:53,200 ką nors, kad jūs įdėti savo pseudo-kodu? 579 00:29:53,200 --> 00:29:57,080 580 00:29:57,080 --> 00:29:58,410 Taigi tai, ką mes iki šiol. 581 00:29:58,410 --> 00:30:00,960 Nors sąrašo ilgis yra didesnis už nulį, mes ketiname eiti 582 00:30:00,960 --> 00:30:03,220 į sąrašo viduryje ir patikrinti, ar mūsų vertė yra. 583 00:30:03,220 --> 00:30:06,970 >> Jei viduryje yra didesnis, mes ketiname ieškoti į kairę, kitas, jei viduryje yra 584 00:30:06,970 --> 00:30:09,230 mažiau, mes ketiname ieškoti teisę. 585 00:30:09,230 --> 00:30:14,430 Taigi, mes visi turėjo tam tikrą pažinimas terminai mes naudojame informatikos 586 00:30:14,430 --> 00:30:15,550 ir priemones turime. 587 00:30:15,550 --> 00:30:18,300 Bet jūs jau pastebėjote, mes buvome kalbėti anglų kalba, bet mes radome 588 00:30:18,300 --> 00:30:24,790 daug dalykų, kad atrodė, kad žemėlapį į įrankiai mes turime mūsų kodavimo įrankių rinkinys. 589 00:30:24,790 --> 00:30:27,210 Taigi Iškart, mes ne vyksta iš tikrųjų koduoti dar. 590 00:30:27,210 --> 00:30:33,300 >> Ką mes matome čia anglų kalba, kad žemėlapiai prie dalykų, mes galime parašyti C? 591 00:30:33,300 --> 00:30:34,560 >> STUDENTAS: Nors. 592 00:30:34,560 --> 00:30:35,320 >> JASON Hirschhorn: Nors. 593 00:30:35,320 --> 00:30:40,610 Taigi, tai, o čia žemėlapius į tai, ką? 594 00:30:40,610 --> 00:30:42,630 >> STUDENTAS: while cikle. 595 00:30:42,630 --> 00:30:43,200 >> JASON Hirschhorn: while cikle? 596 00:30:43,200 --> 00:30:44,540 O gal apskritai kilpa. 597 00:30:44,540 --> 00:30:46,260 Mes norime padaryti kažką daugiau ir daugiau. 598 00:30:46,260 --> 00:30:49,050 Taigi, mes ketiname kodą kilpą. 599 00:30:49,050 --> 00:30:51,640 Ir mes jau žinome, nes mes padarėme tai porą kartų ir mes 600 00:30:51,640 --> 00:30:54,180 turime daug pavyzdžių iš ten, kaip iš tikrųjų rašyti 601 00:30:54,180 --> 00:30:55,310 šis rodiklis kilpa. 602 00:30:55,310 --> 00:30:56,160 Taigi, kad turėtų būti gana lengva. 603 00:30:56,160 --> 00:30:58,070 Mes galime gauti, kad pradėjo gana greitai. 604 00:30:58,070 --> 00:31:01,830 >> Ką dar mes matome čia? 605 00:31:01,830 --> 00:31:06,820 Kokie kiti statiniai sintaksių, viskas kad esate susipažinę su C, tai mes 606 00:31:06,820 --> 00:31:09,790 jau turiu, pagrįsta jausmą nuo žodžių, kuriuos mes naudojome? 607 00:31:09,790 --> 00:31:10,830 Taip, Ana? 608 00:31:10,830 --> 00:31:11,360 [Nesigirdi] 609 00:31:11,360 --> 00:31:12,990 just kidding. 610 00:31:12,990 --> 00:31:13,540 Ana, eiti į priekį. 611 00:31:13,540 --> 00:31:14,530 >> STUDENTAS: Jei ir kitur. 612 00:31:14,530 --> 00:31:16,260 >> JASON Hirschhorn: Jei ir kita - čia. 613 00:31:16,260 --> 00:31:18,840 Taigi, ką jie atrodytų? 614 00:31:18,840 --> 00:31:20,420 >> STUDENTAS: jei else. 615 00:31:20,420 --> 00:31:21,560 >> JASON Hirschhorn: Taip, sąlygos, tiesa? 616 00:31:21,560 --> 00:31:24,650 Taigi, mes tikriausiai reikia parašyti keletą sąlygų. 617 00:31:24,650 --> 00:31:31,185 Ir vėl, nors gal painu pirma, mes paprastai turi prasmę dabar 618 00:31:31,185 --> 00:31:34,010 kaip parašyti sąlygas ir už sąlygų sintaksė. 619 00:31:34,010 --> 00:31:36,850 Ir jei mes ne, mes tiesiog ieškoti sintaksė sąlygos, iškirpti ir įklijuoti 620 00:31:36,850 --> 00:31:39,950 kad, nes mes žinome, reikia sąlygą čia. 621 00:31:39,950 --> 00:31:44,910 Visi kiti dalykai, mes matome, kad žemėlapį į ką mes gali tekti daryti C? 622 00:31:44,910 --> 00:31:48,312 623 00:31:48,312 --> 00:31:48,960 Taip, Aleha? 624 00:31:48,960 --> 00:31:50,370 >> STUDENTAS: Tai gali būti akivaizdu, tiesiog tikrinti, ar 625 00:31:50,370 --> 00:31:51,990 vertė yra lygi kažką. 626 00:31:51,990 --> 00:31:54,578 >> JASON Hirschhorn: Taigi, kaip mes patikrinti ir - kad eiti į sąrašo viduryje 627 00:31:54,578 --> 00:31:55,610 ir patikrinkite, ar mūsų vertė yra ten? 628 00:31:55,610 --> 00:31:56,570 Kaip mes tai darome, kad C? 629 00:31:56,570 --> 00:31:58,450 Kas už tai sintaksė? 630 00:31:58,450 --> 00:31:59,235 >> STUDENTAS: Lygu lygu. 631 00:31:59,235 --> 00:32:00,650 >> JASON Hirschhorn: Lygu lygu. 632 00:32:00,650 --> 00:32:03,540 Taigi šis patikrinimas tikriausiai bus būti lygu lygu. 633 00:32:03,540 --> 00:32:04,510 Taigi mes žinome, mes turime, kad kažkur. 634 00:32:04,510 --> 00:32:07,510 Ir iš tikrųjų, tik raštu jį, mes matome tuos kitus dalykus. 635 00:32:07,510 --> 00:32:11,400 Mes ketiname daryti kai palyginimo operatoriai ten - 636 00:32:11,400 --> 00:32:12,010 fantastinis. 637 00:32:12,010 --> 00:32:14,980 Taigi ji iš tikrųjų atrodo, iki ir didelis, mes neparašyta 638 00:32:14,980 --> 00:32:16,390 žodis C kodą dar. 639 00:32:16,390 --> 00:32:20,610 Bet mes turime psichikos modelį žemyn per paskaitas ir tų šortai. 640 00:32:20,610 --> 00:32:22,350 >> Mes rašė pseudo kodą kaip grupė. 641 00:32:22,350 --> 00:32:27,110 Ir jau turime 80%, jei 90% to, ką mes turime daryti. 642 00:32:27,110 --> 00:32:28,550 Dabar mes tiesiog reikia koduoti tai, kuri vėl yra 643 00:32:28,550 --> 00:32:30,110 ne trivialus problemą išspręsti. 644 00:32:30,110 --> 00:32:31,890 Bet bent jau mes pakimba ant logikos. 645 00:32:31,890 --> 00:32:38,040 Bent dabar, kai mes einame į darbo valandomis, Galiu pasakyti, aš žinau, ko man reikia 646 00:32:38,040 --> 00:32:40,160 padaryti, bet jūs galite priminti man sintaksė? 647 00:32:40,160 --> 00:32:42,940 Arba net jei darbo laikas yra perkrautas, jums gali google for sintaksė, o 648 00:32:42,940 --> 00:32:45,040 nei įstrigo logika. 649 00:32:45,040 --> 00:32:48,570 >> Ir vėl, o ne bando išspręsti logika ir sintaksės problemas visi 650 00:32:48,570 --> 00:32:51,900 vienu metu, ji dažnai yra daug geriau nutraukti šiuos du kietus problemas ne į 651 00:32:51,900 --> 00:32:58,280 dar dvi valdomų tie ir padaryti pseudo-kodas ir tada kodas C 652 00:32:58,280 --> 00:33:00,620 Taigi pažiūrėkime, ką aš padariau pseudo-kodą iš anksto. 653 00:33:00,620 --> 00:33:04,060 >> Nors sąrašo ilgis yra didesnis už nulį, pažvelgti į vidurį 654 00:33:04,060 --> 00:33:05,090 iš sąrašo. 655 00:33:05,090 --> 00:33:09,610 Jei skaičius, rastas grįžo tiesa, dar jei skaičius didesnis, paiešką kairėje. 656 00:33:09,610 --> 00:33:13,200 Else if skaičius mažesnis, paiešką teisė, return false. 657 00:33:13,200 --> 00:33:18,710 Taigi, kad atrodo beveik identiškas, jei ne beveik identiškas ką parašė. 658 00:33:18,710 --> 00:33:23,030 Tiesą sakant, Tomai, ką jūs pasakėte, pirma, nesilaikantiems sąrašo viduryje ir, jei 659 00:33:23,030 --> 00:33:24,880 skaičius, rastas į dviejų teiginių iš tiesų, ką aš padariau. 660 00:33:24,880 --> 00:33:25,507 >> Aš kartu su jais ten. 661 00:33:25,507 --> 00:33:27,100 Aš turėjo išklausyti Jūs pirmą kartą. 662 00:33:27,100 --> 00:33:30,640 Taigi tai yra pseudo kodas turime. 663 00:33:30,640 --> 00:33:35,060 Jei norite dabar, atsiprašau, eikite atgal į mūsų pradinės problemos. 664 00:33:35,060 --> 00:33:37,780 Leiskite kodas binary.c. 665 00:33:37,780 --> 00:33:40,870 Taigi įgyvendinti pakartoti versiją Dvejetainė paieška naudojant šiuos 666 00:33:40,870 --> 00:33:42,420 funkcija deklaracija. 667 00:33:42,420 --> 00:33:44,550 >> Ir jums nereikia kopijuoti jį žemyn tik dar. 668 00:33:44,550 --> 00:33:49,470 Aš iš tikrųjų ketiname atidaryti iki čia binary.c. 669 00:33:49,470 --> 00:33:52,880 Taigi yra funkcija deklaracija viduryje ekrano. 670 00:33:52,880 --> 00:33:57,570 Ir pamatysite, aš paėmė pseudo kodą iš mano pusės, bet beveik identiški 671 00:33:57,570 --> 00:33:59,740 į tai, ką mes parašėme, ir įdėti, kad už jus. 672 00:33:59,740 --> 00:34:06,010 Taigi dabar galime imtis penkias minutes koduoti šią funkciją. 673 00:34:06,010 --> 00:34:08,199 >> Ir vėl, jei turite kokių nors klausimų, pakelti savo ranką, leiskite man žinoti, aš 674 00:34:08,199 --> 00:34:08,710 ateiti aplink. 675 00:34:08,710 --> 00:34:09,800 >> STUDENTAS: [nesigirdi]. 676 00:34:09,800 --> 00:34:12,380 >> JASON Hirschhorn: Taigi, aš paėmė dvejetainis paieška apibrėžties 677 00:34:12,380 --> 00:34:14,429 viršų, on line 12. 678 00:34:14,429 --> 00:34:16,429 Štai ką aš gavau mano skaidrės. 679 00:34:16,429 --> 00:34:20,940 Ir tada visa tai pseudo kodas Aš tiesiog kopijuoti ir įklijuoti iš skaidrės 680 00:34:20,940 --> 00:34:22,190 pseudo kodas skaidrių. 681 00:34:22,190 --> 00:35:22,830 682 00:35:22,830 --> 00:35:26,786 Aš vis dar klausos [nesigirdi]. 683 00:35:26,786 --> 00:37:13,010 684 00:37:13,010 --> 00:37:15,820 >> Taigi, jei baigėte savo įgyvendinimas, aš noriu ją patikrinti. 685 00:37:15,820 --> 00:37:19,410 I išsiųstas jums helpers.h failą anksčiau šioje klasėje. 686 00:37:19,410 --> 00:37:22,360 Ir ji bus prieinama internete, taip pat atsisiųsti žmonėms žiūrėti 687 00:37:22,360 --> 00:37:24,750 Šiame skyriuje laikas atidėtas. 688 00:37:24,750 --> 00:37:29,350 Ir aš tik naudojamas bendrinis paskirstymo kodas iš pset3. 689 00:37:29,350 --> 00:37:34,590 Taigi, aš paėmė find.C, naudokite mano helpers.h failą o ne helpers.h failą 690 00:37:34,590 --> 00:37:36,280 tai atsižvelgiant į platinimo kodas. 691 00:37:36,280 --> 00:37:39,310 >> Ir aš turėjo padaryti vieną kitą pakeisti find.C o ne skambina tiesiog 692 00:37:39,310 --> 00:37:42,770 paieška, skambinkite binary_search. 693 00:37:42,770 --> 00:37:49,080 Taigi, jei jūs norite išbandyti savo kodą, žinau, kad tai, kaip tai padaryti. 694 00:37:49,080 --> 00:37:52,530 Iš tiesų, kai mes veikti šį kodą dabar, aš tik padariau kopiją 695 00:37:52,530 --> 00:37:59,820 mano pset3 katalogas, vėl pavertė pagalbininkų failus ir tada paaiškėjo, kad 696 00:37:59,820 --> 00:38:04,695 pakeisti find.C skambinti binary_search o ne tiesiog ieškoti. 697 00:38:04,695 --> 00:40:08,620 698 00:40:08,620 --> 00:40:09,120 >> JASON Hirschhorn: Taip. 699 00:40:09,120 --> 00:40:11,258 Turite klausimų? 700 00:40:11,258 --> 00:40:12,150 >> STUDENTAS: Nevermind. 701 00:40:12,150 --> 00:40:12,600 >> JASON Hirschhorn: Jokių rūpesčių. 702 00:40:12,600 --> 00:40:13,370 Na, galime pradėti. 703 00:40:13,370 --> 00:40:15,090 Mes koduoti tai kaip grupė. 704 00:40:15,090 --> 00:40:16,050 Vienas kitas pastaba. 705 00:40:16,050 --> 00:40:20,600 Vėlgi, tai yra, gali būti lengvai sukeistas už problemą, trys. 706 00:40:20,600 --> 00:40:25,530 Turiu helpers.h bylą, o nei helpers.h mes duota, 707 00:40:25,530 --> 00:40:28,560 pareiškia, dvejetainis paieškos, burbulas rūšiuoti ir atranka rūšiuoti. 708 00:40:28,560 --> 00:40:37,400 Ir find.c jūs pastebėsite, on-line, kas tai yra, linijos 68, mes vadiname dvejetainis 709 00:40:37,400 --> 00:40:39,160 ieškoti, o ne paieška. 710 00:40:39,160 --> 00:40:42,930 Taigi dar kartą, kodas, kuris yra prieinamas internetu arba kodas, kad esate 711 00:40:42,930 --> 00:40:46,590 sukurti dabar gali būti lengvai sukeistas už p nustatytas 3 ją patikrinti. 712 00:40:46,590 --> 00:40:50,620 >> Bet pirmiausia leiskite kodas binarinę paiešką. 713 00:40:50,620 --> 00:40:53,690 Mūsų funkcija deklaracija, mes grįžti bool. 714 00:40:53,690 --> 00:40:55,810 Mes priimame sveikasis skaičius vadinamas vertė. 715 00:40:55,810 --> 00:40:59,285 Mes priimame sveikųjų skaičių masyvas, vadinamas vertės, ir mes, kad n 716 00:40:59,285 --> 00:41:00,850 masyvo dydis. 717 00:41:00,850 --> 00:41:05,640 On line 10 Štai čia turiu aštrūs yra stdbool.h. 718 00:41:05,640 --> 00:41:07,360 Ar kas nors žino, kodėl tai yra? 719 00:41:07,360 --> 00:41:12,180 720 00:41:12,180 --> 00:41:16,600 Taigi, ką tai kodo eilutę daryti? 721 00:41:16,600 --> 00:41:19,880 >> STUDENTAS: Tai leidžia naudoti bool grįžti tipo. 722 00:41:19,880 --> 00:41:20,350 >> JASON Hirschhorn: Būtent. 723 00:41:20,350 --> 00:41:22,300 >> STUDENTAS: Arba tai biblioteka, kuri leidžia naudoti bool grįžti tipo. 724 00:41:22,300 --> 00:41:27,590 >> JASON Hirschhorn: Taigi aštrus yra stdbool.h linija man suteikia kai 725 00:41:27,590 --> 00:41:31,340 apibrėžimai ir pareiškimai dalykų kad man leidžiama naudoti 726 00:41:31,340 --> 00:41:32,400 ši biblioteka. 727 00:41:32,400 --> 00:41:36,570 Taigi, tarp tų, kurie sako, kad ten šis tipas vadinamas bool, ir ji gali būti 728 00:41:36,570 --> 00:41:37,750 true arba false. 729 00:41:37,750 --> 00:41:39,010 Štai ką tai linija veikia. 730 00:41:39,010 --> 00:41:41,680 Ir jei aš neturėjau, kad linijos, norėčiau gauti į bėdą už tai rašau 731 00:41:41,680 --> 00:41:43,520 Žodis čia, bool, teisę ten. 732 00:41:43,520 --> 00:41:44,140 Visiškai teisus. 733 00:41:44,140 --> 00:41:46,430 Taigi man reikia, kad šiame kodekse. 734 00:41:46,430 --> 00:41:47,690 Gerai. 735 00:41:47,690 --> 00:41:51,860 Taigi, tai, vėlgi, yra kartotinis versija, ne rekursywny vienas. 736 00:41:51,860 --> 00:41:53,820 Taigi leiskite mums pradėti. 737 00:41:53,820 --> 00:41:56,200 >> Pradėkime tai pirmasis linija pseudo kodu. 738 00:41:56,200 --> 00:41:58,770 Ir tikiuosi, mes - ar ne, tikiuosi. 739 00:41:58,770 --> 00:42:00,530 Mes ketiname eiti aplink kambarį. 740 00:42:00,530 --> 00:42:05,110 Mes eiti pagal kiekvieną eilutę, ir Aš tau padėsiu jums išsiaiškinti liniją, kad mes turime 741 00:42:05,110 --> 00:42:06,310 rašyti pirma. 742 00:42:06,310 --> 00:42:10,550 Taigi, nors ilgis sąrašo yra didesnis už nulį. 743 00:42:10,550 --> 00:42:12,680 Pradėkime priekyje. 744 00:42:12,680 --> 00:42:15,190 Kas linija turėčiau rašyti čia, kodą? 745 00:42:15,190 --> 00:42:19,470 >> STUDENTAS: Nors skliaustelis n yra didesnis nei 0. 746 00:42:19,470 --> 00:42:21,900 >> JASON Hirschhorn: Nors n yra didelis, nei 0. 747 00:42:21,900 --> 00:42:26,550 Taigi n yra sąrašo dydis, ir mes tikrinti, ar - 748 00:42:26,550 --> 00:42:26,800 >> [Tarpines BALSAI] 749 00:42:26,800 --> 00:42:27,660 >> JASON Hirschhorn: - Atsiprašau? 750 00:42:27,660 --> 00:42:29,360 >> STUDENTAS: Kaip mes žinome, kad n yra sąrašo dydis? 751 00:42:29,360 --> 00:42:29,690 >> JASON Hirschhorn: Atsiprašome. 752 00:42:29,690 --> 00:42:34,690 Vienam pset specifikacijos paieška ir rūšiavimo funkcijos jums reikia parašyti, 753 00:42:34,690 --> 00:42:36,230 n yra sąrašo dydis. 754 00:42:36,230 --> 00:42:37,710 Aš pamiršau paaiškinti, kad čia. 755 00:42:37,710 --> 00:42:41,310 Bet taip. n yra dydis sąrašas, šiuo atveju. 756 00:42:41,310 --> 00:42:44,740 Taigi, nors n yra didesnis nei 0. 757 00:42:44,740 --> 00:42:45,580 Gerai. 758 00:42:45,580 --> 00:42:50,090 Tai gali pasirodyti šiek tiek problemiška nors, jei viskas vyks toliau. 759 00:42:50,090 --> 00:42:54,510 Kadangi mes tęsime žinoti per tai dydis sąrašo 760 00:42:54,510 --> 00:43:06,640 funkcija, bet sako, kad mes pradėti nuo su 5 sveikųjų skaičių masyvo. 761 00:43:06,640 --> 00:43:08,950 Ir mes einame per ir mes dabar sumažėjo jį žemyn į 762 00:43:08,950 --> 00:43:10,310 2 sveikųjų skaičių masyvas. 763 00:43:10,310 --> 00:43:12,160 Kuris 2 sveikieji skaičiai tai? 764 00:43:12,160 --> 00:43:15,895 Dydis yra 2 dabar, kad mes norime pažvelgti, bet kurių 2 yra tai, kad? 765 00:43:15,895 --> 00:43:17,720 Ar tai prasminga, į šį klausimą? 766 00:43:17,720 --> 00:43:18,020 >> Gerai. 767 00:43:18,020 --> 00:43:19,120 Aš paprašyti jį dar kartą. 768 00:43:19,120 --> 00:43:26,640 Taigi, mes pradėti su šiuo 5 masyvas sveikieji skaičiai, ir n lygu 5, tiesa? 769 00:43:26,640 --> 00:43:28,050 Mes paleisti per čia. 770 00:43:28,050 --> 00:43:31,560 mes tikriausiai pakeisti dydį, teisė, kaip viskas vyks toliau. 771 00:43:31,560 --> 00:43:32,700 O tai, ką mes sakome, mes norime padaryti. 772 00:43:32,700 --> 00:43:34,150 Mes nenorime ieškoti Visas dalykas dar kartą. 773 00:43:34,150 --> 00:43:35,480 Taigi sako, kad mes pakeisime jį 2. 774 00:43:35,480 --> 00:43:36,970 Mes pusę sąrašą, kad keista. 775 00:43:36,970 --> 00:43:38,800 Taigi tiesiog pasiimti 2. 776 00:43:38,800 --> 00:43:40,590 Taigi dabar n lygu 2. 777 00:43:40,590 --> 00:43:42,780 Atsiprašau už prastas Sausai valomos žymekliai. 778 00:43:42,780 --> 00:43:43,080 Teisė? 779 00:43:43,080 --> 00:43:45,670 Ir mes ieškome per sąrašą vėl su 2 dydžio sąrašą. 780 00:43:45,670 --> 00:43:48,580 Na, mūsų masyvas yra dar dydžio 5. 781 00:43:48,580 --> 00:43:51,920 Mes sakome, mes tik norime ieškoti 2 buriavietes jį. 782 00:43:51,920 --> 00:43:53,590 Taigi, kuris 2 dėmės yra tie? 783 00:43:53,590 --> 00:43:57,640 784 00:43:57,640 --> 00:43:58,815 >> Ar tai prasminga? 785 00:43:58,815 --> 00:44:00,290 Ar jie liko 2 vietos? 786 00:44:00,290 --> 00:44:01,940 Ar jie teisingi 2 dėmių? 787 00:44:01,940 --> 00:44:03,540 Ar jie vidurį 2 dėmių? 788 00:44:03,540 --> 00:44:06,350 Mes lūžo problema sumažėjo, bet mes tikrai nežinau, kokia dalis 789 00:44:06,350 --> 00:44:11,600 problema mes vis dar žiūri, tik turėdami šiuos 2 kintamuosius. 790 00:44:11,600 --> 00:44:16,450 Taigi mums reikia šiek tiek daugiau tada, o n yra didesnis nei 0. 791 00:44:16,450 --> 00:44:21,410 Mums reikia žinoti, kur, kad n yra mūsų tikrasis masyvo. 792 00:44:21,410 --> 00:44:26,660 >> Taigi, ar kas nors turi pakeisti šią eilutę? 793 00:44:26,660 --> 00:44:27,970 Dauguma šios linijos visiškai teisingai. 794 00:44:27,970 --> 00:44:29,170 Ar yra dar be? 795 00:44:29,170 --> 00:44:32,510 Galime sukeisti kažką už "n" padaryti šią eilutę šiek tiek geriau? 796 00:44:32,510 --> 00:44:32,865 Mm-hm? 797 00:44:32,865 --> 00:44:38,040 >> STUDENTAS: Ar galite inicijuoti kintamąjį kaip ilgio ir n, kad bus tada būti naudojamas 798 00:44:38,040 --> 00:44:39,600 vėliau į funkciją? 799 00:44:39,600 --> 00:44:42,060 >> JASON Hirschhorn: Taigi inicijuoti kintamo ilgio n, 800 00:44:42,060 --> 00:44:42,900 ir mes naudojame, kad vėliau? 801 00:44:42,900 --> 00:44:47,070 Bet tada mes tiesiog atnaujinti ilgio ir mes vis dar paleisti į šią problemą, kur mes 802 00:44:47,070 --> 00:44:51,180 sumažinti mūsų problemos ilgis, bet mes niekada žinoti, kur, iš tikrųjų, 803 00:44:51,180 --> 00:44:52,510 kad ilgis žemėlapiai ant. 804 00:44:52,510 --> 00:44:54,790 >> STUDENTAS: Ar ne tai, kad nutiks vėliau, kai jūs sakote, paiešką kairę, 805 00:44:54,790 --> 00:44:55,746 ieškoti tiesa? 806 00:44:55,746 --> 00:44:57,640 Jūs ketinate eiti į skirtingas plotas jūsų - 807 00:44:57,640 --> 00:44:59,110 >> JASON Hirschhorn: Mes ketiname eiti į rajoną, bet kaip mes žinome, 808 00:44:59,110 --> 00:45:01,150 kurie turi eiti į? 809 00:45:01,150 --> 00:45:03,800 Jei mes turime tik masyvo ir tai n, kaip mes žinome, kur 810 00:45:03,800 --> 00:45:05,050 eiti į masyvą. 811 00:45:05,050 --> 00:45:05,900 Gale, taip? 812 00:45:05,900 --> 00:45:07,507 >> STUDENTAS: Ar turite, pavyzdžiui, mažesnės riba ir viršutinė riba kintamasis arba 813 00:45:07,507 --> 00:45:08,586 kažkas panašaus? 814 00:45:08,586 --> 00:45:09,060 >> JASON Hirschhorn: Gerai. 815 00:45:09,060 --> 00:45:10,780 Taigi, tai yra dar vienas idėja. 816 00:45:10,780 --> 00:45:13,490 Užuot tiesiog sekti dydis, mes sekti mažesnis ir 817 00:45:13,490 --> 00:45:14,770 viršutinė riba nevienoda. 818 00:45:14,770 --> 00:45:17,840 Taigi, kaip mes apskaičiuoti dydį iš apatinė ir viršutinė riba? 819 00:45:17,840 --> 00:45:18,520 >> [Tarpines BALSAI] 820 00:45:18,520 --> 00:45:19,710 >> JASON Hirschhorn: atimtis. 821 00:45:19,710 --> 00:45:23,650 O taip pat sekti mažesnis jungiasi ir viršutinė riba leiskite mums žinoti, 822 00:45:23,650 --> 00:45:26,215 mes ieškome šių dviejų? 823 00:45:26,215 --> 00:45:28,220 Mes ieškome šių dviejų čia? 824 00:45:28,220 --> 00:45:29,540 Mes ieškome viduryje du? 825 00:45:29,540 --> 00:45:32,810 Tikriausiai ne vidutinio du, nes tai, iš tiesų, yra dvejetainis paieška. 826 00:45:32,810 --> 00:45:37,320 Bet dabar mes galėsime gauti dydį, bet ir masyvo ribos. 827 00:45:37,320 --> 00:45:40,020 Iš esmės, jei mes turime milžinas Telefonų knyga, mes nukopijuoti jį per pusę. 828 00:45:40,020 --> 00:45:42,990 Dabar mes žinome, jeigu tai mažesni telefono knyga. 829 00:45:42,990 --> 00:45:45,260 Bet mes ne iš tikrųjų nepaprastas Telefonų knyga pusę. 830 00:45:45,260 --> 00:45:48,570 Mums vis dar reikia žinoti, kur naujos ribos mūsų problemos. 831 00:45:48,570 --> 00:45:51,645 Ar kas nors turi kokių nors klausimų, apie tai? 832 00:45:51,645 --> 00:45:52,440 Taip? 833 00:45:52,440 --> 00:45:56,020 >> STUDENTAS: Ar tai veikia, sukuriant kintamasis, aš, kad jūs tada tiesiog pereiti 834 00:45:56,020 --> 00:46:00,770 I, palyginti su jo pozicija dabartinė padėtis, ir ilgis, n? 835 00:46:00,770 --> 00:46:01,710 >> JASON Hirschhorn: Ir kas aš? 836 00:46:01,710 --> 00:46:04,110 >> STUDENTAS: Kaip aš yra kaip rūšies - 837 00:46:04,110 --> 00:46:08,040 Kaip galėtumėte inicijuoti i būti vidurinė padėtis masyvo. 838 00:46:08,040 --> 00:46:12,540 Ir tada, jei padėtyje vertė i iš masyvo viduryje nustatyta, kad 839 00:46:12,540 --> 00:46:17,870 būti mažesnis nei vertė, jums reikia, aš dabar tampa masyvo ilgis, plius 840 00:46:17,870 --> 00:46:19,215 I vertė padalinta iš 2. 841 00:46:19,215 --> 00:46:20,270 Kaip, matote, jums pereiti i - 842 00:46:20,270 --> 00:46:20,770 >> JASON Hirschhorn: Teisė. 843 00:46:20,770 --> 00:46:21,165 >> STUDENTAS: - iki - 844 00:46:21,165 --> 00:46:24,010 >> JASON Hirschhorn: Taigi, aš esu beveik teigiama, kad veiks. 845 00:46:24,010 --> 00:46:26,800 Bet Esmė yra, jūs turite dvi gabaliukai informacijos rasite čia. 846 00:46:26,800 --> 00:46:30,050 Jūs galite tai padaryti su pradžioje ir pabaigoje, arba galite daryti su dydžiu, ir tada 847 00:46:30,050 --> 00:46:31,060 kai žymeklis. 848 00:46:31,060 --> 00:46:32,630 Bet jūs turite du gabalus informacijos čia. 849 00:46:32,630 --> 00:46:34,160 Jūs negalite išsiversti tik su vienu. 850 00:46:34,160 --> 00:46:35,830 Ar tai prasminga? 851 00:46:35,830 --> 00:46:39,560 >> Taigi, mes ketiname eiti per, ir mes ketiname daryti [nesigirdi] 852 00:46:39,560 --> 00:46:41,330 ir sukurti keletą žymeklių. 853 00:46:41,330 --> 00:46:42,690 Taigi what'd rašote savo kodą? 854 00:46:42,690 --> 00:46:46,190 >> STUDENTAS: Aš ką tik pasakė int riba vienas yra lygi 0. 855 00:46:46,190 --> 00:46:47,790 >> JASON Hirschhorn: Pavadinkime kad int pradžia. 856 00:46:47,790 --> 00:46:49,140 >> STUDENTAS: Gerai. 857 00:46:49,140 --> 00:46:50,590 >> JASON Hirschhorn: Tai leidžia daugiau prasmės man. 858 00:46:50,590 --> 00:46:51,670 Ir? 859 00:46:51,670 --> 00:46:54,340 >> STUDENTAS: sakiau, manau, int baigiasi. 860 00:46:54,340 --> 00:46:55,870 >> JASON Hirschhorn: int baigiasi. 861 00:46:55,870 --> 00:46:57,640 >> STUDENTAS: Manau, n atėmus 1, ar kažkas panašaus. 862 00:46:57,640 --> 00:46:59,100 Kaip, paskutinis elementas. 863 00:46:59,100 --> 00:47:02,310 >> JASON Hirschhorn: Taigi rašė, int pradedant lygi 0, kabliataškiu, ir int 864 00:47:02,310 --> 00:47:04,320 pabaiga Lygu n atėmus 1, kabliataškiu. 865 00:47:04,320 --> 00:47:06,850 Taigi, iš esmės, ką mes darome čia 0 pirmąją poziciją. 866 00:47:06,850 --> 00:47:09,570 Ir kaip mes žinome, masyvuose, jie neturi eiti iki n, jie eiti n atėmus 1. 867 00:47:09,570 --> 00:47:11,110 Taigi, mes turime keletą mūsų masyvo ribų. 868 00:47:11,110 --> 00:47:15,730 Ir šios pradinės ribos atsitiktų būti pradinės ribos mūsų problema. 869 00:47:15,730 --> 00:47:16,640 Gerai. 870 00:47:16,640 --> 00:47:19,200 Taigi, kad gerai skamba. 871 00:47:19,200 --> 00:47:22,380 Tada, jei mes einame atgal į šią eilutę, o ilgis sąraše yra didesnis nei 0, 872 00:47:22,380 --> 00:47:24,752 ką, vietoj n, turėtų mes įdėti čia? 873 00:47:24,752 --> 00:47:28,820 >> STUDENTAS: Rašyti baigiant minuso pradžia. 874 00:47:28,820 --> 00:47:34,780 >> JASON Hirschhorn: Nors baigiant minuso pradžioje yra didesnis negu 0? 875 00:47:34,780 --> 00:47:35,480 Gerai. 876 00:47:35,480 --> 00:47:37,730 Ir mes galime, jei norime padaryti, kad šiek tiek gražiau, ką 877 00:47:37,730 --> 00:47:38,980 dar galėtume padaryti? 878 00:47:38,980 --> 00:47:41,650 879 00:47:41,650 --> 00:47:43,412 Jei mes norėjome valyti šis kodas iki šiek tiek? 880 00:47:43,412 --> 00:47:46,716 881 00:47:46,716 --> 00:47:48,180 Kaip mes galime atsikratyti 0? 882 00:47:48,180 --> 00:47:51,560 883 00:47:51,560 --> 00:47:52,690 Tai tik stiliaus klausimas. 884 00:47:52,690 --> 00:47:53,690 Tai teisinga dabar. 885 00:47:53,690 --> 00:47:54,870 >> STUDENTAS: Ending nėra lygūs pradžia? 886 00:47:54,870 --> 00:47:55,740 >> JASON Hirschhorn: Mes galime ką daryti? 887 00:47:55,740 --> 00:47:56,730 >> [Tarpines BALSAI] 888 00:47:56,730 --> 00:47:57,330 >> STUDENTAS: Paskutinysis yra didesnis? 889 00:47:57,330 --> 00:47:57,720 >> JASON Hirschhorn: Taip. 890 00:47:57,720 --> 00:48:01,110 Galime tik daryti, o baigiant yra didesnis nei pradžioje. 891 00:48:01,110 --> 00:48:03,580 Teisė. 892 00:48:03,580 --> 00:48:06,240 Mes pridėtinės pradeda iš kitos pusės , kad ir mes atsikratė 0. 893 00:48:06,240 --> 00:48:08,000 Taigi, tai tik atrodo šiek tiek švaresnis. 894 00:48:08,000 --> 00:48:08,990 Gerai. 895 00:48:08,990 --> 00:48:11,460 Taigi, nors ilgis sąraše yra 0, mes parašėme kad nors baigiasi yra didesnis 896 00:48:11,460 --> 00:48:12,240 nei pradžioje. 897 00:48:12,240 --> 00:48:19,840 Mes ketiname įdėti į mūsų reikia garbanotas petnešos, tada pirmas dalykas, 898 00:48:19,840 --> 00:48:22,090 mes norime padaryti, tai pažvelgti į jie šiek tiek sąrašą. 899 00:48:22,090 --> 00:48:22,510 Jūs? 900 00:48:22,510 --> 00:48:23,320 Ar galite duoti man - 901 00:48:23,320 --> 00:48:26,460 >> STUDENTAS: Jei skliaustelis vertė aikštė laikiklis - 902 00:48:26,460 --> 00:48:30,450 >> JASON Hirschhorn: Jeigu skliausteliuose vertė aikštė laikiklis. 903 00:48:30,450 --> 00:48:33,210 >> STUDENTAS: nesibaigianti suskirstyti pagal 2. 904 00:48:33,210 --> 00:48:33,952 >> JASON Hirschhorn: nesibaigianti? 905 00:48:33,952 --> 00:48:35,280 >> STUDENTAS: matau su savo problema - 906 00:48:35,280 --> 00:48:35,750 >> JASON Hirschhorn: Gerai. 907 00:48:35,750 --> 00:48:39,150 Na, atrodo ne per vidurį. 908 00:48:39,150 --> 00:48:41,226 Kaip mes žinome, ką viduryje yra? 909 00:48:41,226 --> 00:48:42,450 Taip. 910 00:48:42,450 --> 00:48:43,070 Taigi leiskite man ištrinti tą kodą. 911 00:48:43,070 --> 00:48:46,360 Kaip mes žinome, ką viduryje yra? 912 00:48:46,360 --> 00:48:48,003 Nieko, kai jūs turite pradžią ir pabaiga, kaip jums atrodo 913 00:48:48,003 --> 00:48:48,876 viduryje? 914 00:48:48,876 --> 00:48:49,590 >> STUDENTAS: Jūs vidutiniškai. 915 00:48:49,590 --> 00:48:51,820 >> STUDENTAS: Jūs pridėti juos kartu ir tada - 916 00:48:51,820 --> 00:48:53,150 >> JASON Hirschhorn: Įtraukti juos kartu ir tada? 917 00:48:53,150 --> 00:48:54,090 >> STUDENTAS: Ir jūs vidutiniškai. 918 00:48:54,090 --> 00:48:55,050 Padalinkite jį 2. 919 00:48:55,050 --> 00:48:56,500 >> JASON Hirschhorn: Įtraukti juos kartu ir padalinti iš 2. 920 00:48:56,500 --> 00:48:59,400 Taigi int vidutinio lygu? 921 00:48:59,400 --> 00:49:01,120 Tomas, galite duoti man? 922 00:49:01,120 --> 00:49:03,550 >> STUDENTAS: Pradedant plius baigiasi - 923 00:49:03,550 --> 00:49:04,950 >> JASON Hirschhorn: pradžia plius baigiasi. 924 00:49:04,950 --> 00:49:06,880 >> STUDENTAS: Visi, laikiklis, padalintas iš 2. 925 00:49:06,880 --> 00:49:10,940 >> JASON Hirschhorn: Visi, skliausteliuose, padalintas iš 2. 926 00:49:10,940 --> 00:49:16,300 Taigi, kad suteikia man vidurį nieko ištaisyti? 927 00:49:16,300 --> 00:49:18,980 >> STUDENTAS: Taip pat reikia suapvalinti ją. 928 00:49:18,980 --> 00:49:19,990 >> JASON Hirschhorn: Ką jūs tai, man reikia suapvalinti ją? 929 00:49:19,990 --> 00:49:20,400 >> [Tarpines BALSAI] 930 00:49:20,400 --> 00:49:24,520 >> STUDENTAS: Nes jei Tai keista skaičius, tada tai kaip - 931 00:49:24,520 --> 00:49:25,440 >> JASON Hirschhorn: Na, gerai. 932 00:49:25,440 --> 00:49:26,360 Taigi galėčiau suapvalinti ją. 933 00:49:26,360 --> 00:49:33,350 Bet jei jis nelyginis skaičius, 5, galiu atsižvelgiant 1 nuo viduriu. 934 00:49:33,350 --> 00:49:35,665 Arba jei jis net skaičius, o, tai geriau atvejis. 935 00:49:35,665 --> 00:49:39,600 Jei tai 4, mes turime tik 4, galiu imtis Pirmoji "viduryje", citata, citatos ar 936 00:49:39,600 --> 00:49:41,760 Antrasis "viduryje" vienas. 937 00:49:41,760 --> 00:49:46,390 Arba dirbtų dvejetainis paieškos, kad aš ne iš tikrųjų reikia suapvalinti ją. 938 00:49:46,390 --> 00:49:48,640 Bet yra dar vienas dalykas, aš reikia pažvelgti į šią eilutę. 939 00:49:48,640 --> 00:49:50,530 Mes galime nesupranta dar, bet mes prie jo grįžti. 940 00:49:50,530 --> 00:49:53,200 Kadangi ši eilutė iš tikrųjų vis dar turi vieną kitą dalyką. 941 00:49:53,200 --> 00:49:55,990 >> Tačiau iki šiol, mes raštu keturių eilučių kodo. 942 00:49:55,990 --> 00:49:58,120 Mes turime mūsų pradžią ir baigiant žymeklius. 943 00:49:58,120 --> 00:50:01,320 Mes turime while cikle, kuris žemėlapiai tiesiogiai mūsų Pseudocode. 944 00:50:01,320 --> 00:50:05,790 Mes ieškome viduryje, kad žemėlapiai tiesiai ant mūsų Pseudocode. 945 00:50:05,790 --> 00:50:09,070 Sakyčiau, tai eina į vidurį sąrašo, tai kodo eilutę. 946 00:50:09,070 --> 00:50:11,560 Ir tada, kai mes einame į vidurį sąrašas, kitas dalykas, kurį turime padaryti 947 00:50:11,560 --> 00:50:14,880 yra patikrinti, jei mūsų vertė yra ten Pseudocode rašėme anksčiau. 948 00:50:14,880 --> 00:50:17,100 >> Taigi, kaip mes patikrinti, ar mūsų vertė yra viduryje sąraše? 949 00:50:17,100 --> 00:50:17,300 Jūs. 950 00:50:17,300 --> 00:50:18,511 Kodėl tai darote? 951 00:50:18,511 --> 00:50:23,070 >> STUDENTAS: Jei mūsų vertė s yra viduryje yra lygi 952 00:50:23,070 --> 00:50:24,592 ką mes nustatyti - 953 00:50:24,592 --> 00:50:26,190 Aš turiu galvoje, lygios lygios - 954 00:50:26,190 --> 00:50:26,690 >> JASON Hirschhorn: Tai - 955 00:50:26,690 --> 00:50:27,940 Gerai. 956 00:50:27,940 --> 00:50:30,080 957 00:50:30,080 --> 00:50:32,170 >> STUDENTAS: Aš nesu įsitikinęs, ką kintamasis mes ieškome 958 00:50:32,170 --> 00:50:32,850 nes, nors, nes - 959 00:50:32,850 --> 00:50:33,330 >> [Tarpines BALSAI] 960 00:50:33,330 --> 00:50:34,520 >> STUDENTAS: [nesigirdi]. 961 00:50:34,520 --> 00:50:35,060 >> JASON Hirschhorn: Būtent. 962 00:50:35,060 --> 00:50:37,260 Už funkcijų deklaracijos mes ieškome vertė. 963 00:50:37,260 --> 00:50:39,760 Taigi, mes ieškome vertė į vertybių masyvo. 964 00:50:39,760 --> 00:50:41,080 Taigi, jūs esate visiškai teisus. 965 00:50:41,080 --> 00:50:45,040 Jūs darote, jei atviras skliaustas vertė laikiklis viduryje uždarytos laikiklis lygu 966 00:50:45,040 --> 00:50:49,930 Lygu vertę, o viduje yra Ką mes turime daryti? 967 00:50:49,930 --> 00:50:51,230 Jei mūsų vertė aisiais, ką mes turime daryti? 968 00:50:51,230 --> 00:50:51,420 >> [Tarpines BALSAI] 969 00:50:51,420 --> 00:50:52,160 >> STUDENTAS: Grįžti nulį. 970 00:50:52,160 --> 00:50:53,070 >> JASON Hirschhorn: Grįžti tiesa. 971 00:50:53,070 --> 00:50:54,790 >> STUDENTAS: Grįžti tiesa. 972 00:50:54,790 --> 00:50:57,856 >> JASON Hirschhorn: Mykolas, Ką ši eilutė daryti? 973 00:50:57,856 --> 00:51:01,105 >> STUDENTAS: [nesigirdi] programa paleisti jos, žinoma, ir tai yra daugiau, ir 974 00:51:01,105 --> 00:51:01,920 jūs ką reikia daryti? 975 00:51:01,920 --> 00:51:03,030 >> JASON Hirschhorn: programa, ar ką? 976 00:51:03,030 --> 00:51:03,700 Šiuo atveju? 977 00:51:03,700 --> 00:51:04,210 >> STUDENTAS: funkcija. 978 00:51:04,210 --> 00:51:05,170 >> JASON Hirschhorn: funkcija. 979 00:51:05,170 --> 00:51:08,420 Ir taip, kad grįžtumėte į ką vadinamas tai ir suteikia jai reikšmę, tiesa. 980 00:51:08,420 --> 00:51:09,890 Visiškai teisus. 981 00:51:09,890 --> 00:51:10,170 Pagrindinis. 982 00:51:10,170 --> 00:51:12,035 Kas grįžimo tipo iš esmės, Michael? 983 00:51:12,035 --> 00:51:16,480 984 00:51:16,480 --> 00:51:17,150 >> STUDENTAS: int sveikas? 985 00:51:17,150 --> 00:51:18,080 >> JASON Hirschhorn: int, tiksliai. 986 00:51:18,080 --> 00:51:18,680 Sveikasis skaičius. 987 00:51:18,680 --> 00:51:20,980 Tai buvo tik klausimas įsitikinti vaikinai buvo ant jo. 988 00:51:20,980 --> 00:51:24,250 Ką tai paprastai grįžti, jei viskas veikia gerai? 989 00:51:24,250 --> 00:51:24,520 >> STUDENTAS: nulis. 990 00:51:24,520 --> 00:51:24,820 >> JASON Hirschhorn: nulis. 991 00:51:24,820 --> 00:51:25,430 Visiškai teisus. 992 00:51:25,430 --> 00:51:28,790 >> STUDENTAS: Jei tai tiesiog grąžina true, nėra informacijos skiriant 993 00:51:28,790 --> 00:51:30,675 apie tai, kas - 994 00:51:30,675 --> 00:51:34,040 Oh, tai tiesiog pasakyti, kad šis vertė viduje masyvo. 995 00:51:34,040 --> 00:51:35,350 >> JASON Hirschhorn: Būtent. 996 00:51:35,350 --> 00:51:38,080 Ši programa yra ne suteikti informaciją kur tiksliai vertė. 997 00:51:38,080 --> 00:51:41,850 Jis tik sako: taip, mes radome tai ar ne, mes ne jį rasti. 998 00:51:41,850 --> 00:51:42,990 Taigi, jei skaičius, rastas, grąžina true. 999 00:51:42,990 --> 00:51:45,500 Na, iš tikrųjų mes tiesiog padarė, kad tikrai greitai tą vieną eilutę kodo. 1000 00:51:45,500 --> 00:51:47,500 Taigi aš judėti, kad Pseudocode liniją. 1001 00:51:47,500 --> 00:51:50,045 >> STUDENTAS: Ar ne mes turime pakeisti matrica? 1002 00:51:50,045 --> 00:51:52,830 Ji turėtų būti vertės, o ne vertės, tiesa? 1003 00:51:52,830 --> 00:51:53,430 >> JASON Hirschhorn: Atsiprašome. 1004 00:51:53,430 --> 00:51:54,010 Ačiū. 1005 00:51:54,010 --> 00:51:54,800 >> STUDENTAS: Taip. 1006 00:51:54,800 --> 00:51:55,850 >> JASON Hirschhorn: Ši eilutė turėtų būti vertės. 1007 00:51:55,850 --> 00:51:57,150 Visiškai teisus. 1008 00:51:57,150 --> 00:51:57,920 Gerai. 1009 00:51:57,920 --> 00:51:59,170 Taigi, mes pažvelgė vidurinės sąrašą. 1010 00:51:59,170 --> 00:52:00,790 Jei skaičius, rastas sugrįžimas. 1011 00:52:00,790 --> 00:52:04,470 Tęstinis su mūsų Pseudocode, jei viduryje yra didesnis, paiešką kairę. 1012 00:52:04,470 --> 00:52:09,640 Taigi turėjau čia, jeigu numeris didesnis, paieška kairę. 1013 00:52:09,640 --> 00:52:12,700 1014 00:52:12,700 --> 00:52:14,462 Konstantinas, galite duoti man tai kodo eilutę? 1015 00:52:14,462 --> 00:52:17,240 1016 00:52:17,240 --> 00:52:23,520 >> STUDENTAS: Jei vertė viduryje - 1017 00:52:23,520 --> 00:52:24,890 >> JASON Hirschhorn: Taigi, jei vertė - 1018 00:52:24,890 --> 00:52:28,890 jei atviras skliaustas vertės laikiklis vidutinio skliaustai uždaromi - 1019 00:52:28,890 --> 00:52:31,500 >> STUDENTAS: Ar mažesnis nei vertė? 1020 00:52:31,500 --> 00:52:32,760 >> JASON Hirschhorn: Ar mažiau nei. 1021 00:52:32,760 --> 00:52:33,800 >> STUDENTAS: Mažiau nei vertės. 1022 00:52:33,800 --> 00:52:34,060 >> JASON Hirschhorn: Vertė. 1023 00:52:34,060 --> 00:52:35,310 Na, iš tikrųjų, jūs norite patikrinti, ar numeris - 1024 00:52:35,310 --> 00:52:38,310 1025 00:52:38,310 --> 00:52:38,490 Atsiprašau. 1026 00:52:38,490 --> 00:52:39,140 Tai šiek tiek klaidina. 1027 00:52:39,140 --> 00:52:43,920 Bet kitur, jei į skaičius viduryje sąraše yra didesnis. 1028 00:52:43,920 --> 00:52:45,170 >> STUDENTAS: O, gerai. 1029 00:52:45,170 --> 00:52:49,800 1030 00:52:49,800 --> 00:52:50,410 >> JASON Hirschhorn: aš pakeisti. 1031 00:52:50,410 --> 00:52:55,060 Else if viduryje yra didesnis, mes norite ieškoti kairėje, gerai? 1032 00:52:55,060 --> 00:52:57,310 Ir ką mes darome viduje tai jei liga? 1033 00:52:57,310 --> 00:53:03,660 1034 00:53:03,660 --> 00:53:07,510 >> STUDENTAS: Ar galiu padaryti mažą pakeitimą sąlyga, pakeisti jį į kitas, jei? 1035 00:53:07,510 --> 00:53:08,380 >> JASON Hirschhorn: kita, jei? 1036 00:53:08,380 --> 00:53:09,270 Gerai. 1037 00:53:09,270 --> 00:53:12,840 Taigi, šis kodas bus atlikti apie tą patį. 1038 00:53:12,840 --> 00:53:18,620 Bet malonus dalykas, apie naudojant, jei dar jei if arba jei kitas, jei kitas 1039 00:53:18,620 --> 00:53:22,320 reiškia, kad tik vienas iš tų, ketina būti tikrinami ne visi trys iš jų, 1040 00:53:22,320 --> 00:53:23,290 potencialiai. 1041 00:53:23,290 --> 00:53:25,530 Ir tai daro jį šiek tiek gražiau kompiuteryje, kad yra 1042 00:53:25,530 --> 00:53:26,670 veikia savo programą. 1043 00:53:26,670 --> 00:53:27,620 >> Taigi [? Konstantinas?] 1044 00:53:27,620 --> 00:53:31,330 mes viduj šioje eilutėje, kitas, jei vertės, laikiklis vidutinio skliaustai uždaromi 1045 00:53:31,330 --> 00:53:32,260 yra didesnis nei vertės. 1046 00:53:32,260 --> 00:53:33,150 Ką mes turime daryti? 1047 00:53:33,150 --> 00:53:33,970 Mums reikia ieškoti kairėje. 1048 00:53:33,970 --> 00:53:35,220 Kaip mes tai darome? 1049 00:53:35,220 --> 00:53:46,960 1050 00:53:46,960 --> 00:53:48,720 Aš ruošiuosi duoti jums pradėti. 1051 00:53:48,720 --> 00:53:52,210 >> Mes turime šiuos du dalykus, vadinamus prasidedanti ir pasibaigianti. 1052 00:53:52,210 --> 00:53:57,340 Taigi, kas turi įvykti į pradžią? 1053 00:53:57,340 --> 00:53:59,640 Jei norite atlikti paiešką kairę sąrašas, mes gauti mūsų dabartinę pradžia. 1054 00:53:59,640 --> 00:54:01,080 Ką mes turime daryti? 1055 00:54:01,080 --> 00:54:04,220 >> STUDENTAS: Mes nustatėme pradžią į vidurį plius 1. 1056 00:54:04,220 --> 00:54:05,120 >> JASON Hirschhorn: Taigi, jei mes ieškoti kairę? 1057 00:54:05,120 --> 00:54:06,250 >> STUDENTAS: Atsiprašome, viduriniosios atėmus - 1058 00:54:06,250 --> 00:54:11,310 todėl galūnė būtų viduryje minus 1 ir pradžia - 1059 00:54:11,310 --> 00:54:12,450 >> JASON Hirschhorn: Ir kas atsitinka pradžioje? 1060 00:54:12,450 --> 00:54:13,210 >> STUDENTAS: Jis lieka tas pats. 1061 00:54:13,210 --> 00:54:14,120 >> JASON Hirschhorn: Taigi prasmė lieka ta pati. 1062 00:54:14,120 --> 00:54:16,040 Jei mes ieškome į kairę, mes naudojant tą pačią pradžią - 1063 00:54:16,040 --> 00:54:16,860 visiškai teisus. 1064 00:54:16,860 --> 00:54:17,870 Ir baigiasi? 1065 00:54:17,870 --> 00:54:19,390 Atsiprašome, ką baigiant lygūs vėl? 1066 00:54:19,390 --> 00:54:20,750 >> STUDENTAS: Vidurio minus 1. 1067 00:54:20,750 --> 00:54:21,620 >> JASON Hirschhorn: Vidurio minus 1. 1068 00:54:21,620 --> 00:54:23,470 Dabar, kodėl minus 1, ne tik viduryje? 1069 00:54:23,470 --> 00:54:32,870 1070 00:54:32,870 --> 00:54:35,570 >> STUDENTAS: viduryje yra iš paveikslėlį jau, nes mes turėjome 1071 00:54:35,570 --> 00:54:36,700 patikrinti, kad tai atlikti? 1072 00:54:36,700 --> 00:54:37,630 >> JASON Hirschhorn: Štai visiškai teisus. 1073 00:54:37,630 --> 00:54:38,580 Viduryje yra iš paveikslėlio. 1074 00:54:38,580 --> 00:54:39,800 Mes jau patikrinta per vidurį. 1075 00:54:39,800 --> 00:54:44,730 Taigi mes nenorime "viduriu", citata citatos, toliau būti 1076 00:54:44,730 --> 00:54:46,110 matrica, mes ieškome. 1077 00:54:46,110 --> 00:54:47,670 Taigi tai yra fantastinis. 1078 00:54:47,670 --> 00:54:50,670 >> Else if vertės laikiklis viduryje yra didesnis nei vertė baigiant lygu 1079 00:54:50,670 --> 00:54:51,920 vidutinio atėmus 1. 1080 00:54:51,920 --> 00:54:55,060 1081 00:54:55,060 --> 00:54:57,340 Jeffas, ką apie šį paskutinę eilutę? 1082 00:54:57,340 --> 00:54:58,590 >> STUDENTAS: kita. 1083 00:54:58,590 --> 00:55:02,486 1084 00:55:02,486 --> 00:55:06,000 Vertybės viduryje yra mažesnis nei vertė? 1085 00:55:06,000 --> 00:55:07,570 >> JASON Hirschhorn: mes jūs suteikėte man kitur. 1086 00:55:07,570 --> 00:55:09,310 Taigi, jei nenorite duoti man - 1087 00:55:09,310 --> 00:55:12,270 >> STUDENTAS: Taigi pradedant būtų viduryje plius 1. 1088 00:55:12,270 --> 00:55:16,100 1089 00:55:16,100 --> 00:55:19,070 >> JASON Hirschhorn: prasideda lygybės vidutinio plius 1 vėlgi pats 1090 00:55:19,070 --> 00:55:20,820 Priežasties, kad Konstantinas davė mums anksčiau. 1091 00:55:20,820 --> 00:55:24,280 Ir, galų gale, kas nedavė man kodo eilutę dar? 1092 00:55:24,280 --> 00:55:26,600 Return false, Aleha, ką mes rašyti čia? 1093 00:55:26,600 --> 00:55:28,590 >> STUDENTAS: Grįžti klaidinga. 1094 00:55:28,590 --> 00:55:29,320 >> JASON Hirschhorn: Grįžti klaidinga. 1095 00:55:29,320 --> 00:55:33,340 Ir mes turime padaryti, nes jei mes nerandate, mes turime pasakyti, kad mes 1096 00:55:33,340 --> 00:55:34,080 nebuvo rasti. 1097 00:55:34,080 --> 00:55:36,270 Ir mes pasakėme mes ketiname grįžti bool, kad mes tikrai turime grįžti 1098 00:55:36,270 --> 00:55:38,150 bool kažkur. 1099 00:55:38,150 --> 00:55:42,590 >> Taigi, galime paleisti šį kodą. 1100 00:55:42,590 --> 00:55:44,520 Aš iš tikrųjų ketiname - 1101 00:55:44,520 --> 00:55:45,930 todėl mes terminale. 1102 00:55:45,930 --> 00:55:47,230 Mes išvalyti mūsų langą. 1103 00:55:47,230 --> 00:55:49,270 Padarykime viską. 1104 00:55:49,270 --> 00:55:50,340 Mes radome ten viena klaida. 1105 00:55:50,340 --> 00:55:54,280 Yra apie 15 eilutėje klaida, tikimasi, kabliataškis prie pabaigos 1106 00:55:54,280 --> 00:55:54,890 deklaracija. 1107 00:55:54,890 --> 00:55:56,454 Taigi, ką aš pamiršti? 1108 00:55:56,454 --> 00:55:57,230 >> STUDENTAS: kabliataškiu. 1109 00:55:57,230 --> 00:56:00,200 >> JASON Hirschhorn: kabliataškiu teisė čia. 1110 00:56:00,200 --> 00:56:00,950 Manau, kad buvo Tomo kodas. 1111 00:56:00,950 --> 00:56:01,870 Taigi, Tomai, [nesigirdi]. 1112 00:56:01,870 --> 00:56:03,120 Juokauju. 1113 00:56:03,120 --> 00:56:05,010 1114 00:56:05,010 --> 00:56:07,310 Leiskite padarysiu Visi dar kartą. 1115 00:56:07,310 --> 00:56:10,180 >> STUDENTAS: Kas ZMI katalogas mes turėtume būti už tai? 1116 00:56:10,180 --> 00:56:11,345 >> JASON Hirschhorn: Taigi jūs galite tiesiog žiūrėti šio bitų. 1117 00:56:11,345 --> 00:56:16,380 Bet vėl, jei norite perkelti jį kodą į savo pset3 kataloge pabandyti 1118 00:56:16,380 --> 00:56:17,050 jį, kad tai, ką aš padariau. 1119 00:56:17,050 --> 00:56:18,600 Jei pastebėsite čia - gaila, geras klausimas. 1120 00:56:18,600 --> 00:56:19,460 >> [? LS,?] 1121 00:56:19,460 --> 00:56:24,700 Turiu čia find.c kodas nuo šios savaitės Distro kodą. 1122 00:56:24,700 --> 00:56:26,300 Turiu helpers.h. 1123 00:56:26,300 --> 00:56:30,010 Turiu Make failą, kad aš iš tikrųjų redagavo truputį įtraukti šiuos naujus 1124 00:56:30,010 --> 00:56:30,710 bylos mes raštu. 1125 00:56:30,710 --> 00:56:34,120 Visi šio kodekso bus galima ne paskirstymo kodas, bet nauja 1126 00:56:34,120 --> 00:56:39,510 Padaryti failą, nauja helpers.h failas bus galima internetu atsisiųsti. 1127 00:56:39,510 --> 00:56:41,800 Vėl, todėl jie yra extra kodai turime. 1128 00:56:41,800 --> 00:56:46,130 >> Taigi padaryti viską, už šios linijos, todėl rasti, dvejetainis, burbulo pasirinkimas - daro 1129 00:56:46,130 --> 00:56:50,930 visi trys ir kaupia į tai vykdomąjį kodą rasti. 1130 00:56:50,930 --> 00:56:54,090 Taigi, apskritai, mes nenorime į tiesiai į check50. 1131 00:56:54,090 --> 00:56:57,580 Mes norime paleisti tam tikrus tyrimus dėl mūsų pačių. 1132 00:56:57,580 --> 00:57:11,750 Bet tik, kad galėtume paspartinti šį šiek tiek, check50 2013 pset3.find praeis 1133 00:57:11,750 --> 00:57:14,630 į helpers.c-- mano blogas. 1134 00:57:14,630 --> 00:57:16,050 >> Aš neturiu, kad dabar. 1135 00:57:16,050 --> 00:57:20,670 Taigi mes iš tikrųjų ketiname paleisti nekilnojamojo kodą. 1136 00:57:20,670 --> 00:57:23,570 Usage.find /, jūs žinote, ką tai reiškia? 1137 00:57:23,570 --> 00:57:25,970 >> STUDENTAS: Jūs turite sekundės komandinės eilutės apie tai. 1138 00:57:25,970 --> 00:57:26,980 >> JASON Hirschhorn: turiu antra komandinės eilutės. 1139 00:57:26,980 --> 00:57:30,640 Ir už specifikacijos, man reikia įveskite ko mes ieškome. 1140 00:57:30,640 --> 00:57:33,750 Taigi pažvelkime į 42. 1141 00:57:33,750 --> 00:57:37,030 Mes nuolat jį surūšiuoti, nes mes neparašiau rūšiavimo funkcija dar - 1142 00:57:37,030 --> 00:57:41,830 42, 43, 44. 1143 00:57:41,830 --> 00:57:46,240 >> Ir kontrolės D nerado adatą šieno kupetoje. 1144 00:57:46,240 --> 00:57:46,505 Tai blogai. 1145 00:57:46,505 --> 00:57:47,200 Tai tikrai yra. 1146 00:57:47,200 --> 00:57:48,090 Leiskite pabandyti kažką kita. 1147 00:57:48,090 --> 00:57:49,860 Gal tai todėl, kad aš įdėti tai pradžioje. 1148 00:57:49,860 --> 00:57:54,490 >> Darom 41, 42, 43. 1149 00:57:54,490 --> 00:57:55,012 Čia mes eiti. 1150 00:57:55,012 --> 00:57:56,400 Jis ją radau. 1151 00:57:56,400 --> 00:58:00,040 Leiskite jį pabaigoje dabar tik taip mes galime būti kruopščiai - 1152 00:58:00,040 --> 00:58:03,580 40, 41, 42. 1153 00:58:03,580 --> 00:58:05,760 Nepavyko rasti adatą. 1154 00:58:05,760 --> 00:58:07,550 Taigi minėjau tai anksčiau. 1155 00:58:07,550 --> 00:58:08,980 Deja, aš žinojau, tai nutiks. 1156 00:58:08,980 --> 00:58:11,490 >> Bet pedagoginiams tikslams, tai gerai ją ištirti. 1157 00:58:11,490 --> 00:58:12,990 Tai neveikia. 1158 00:58:12,990 --> 00:58:16,020 Dėl tam tikrų priežasčių, jis negali rasti. 1159 00:58:16,020 --> 00:58:18,970 Mes žinome, kas yra ten, bet mes ne rasti jį. 1160 00:58:18,970 --> 00:58:24,140 Taigi, vienas dalykas, mes galime padaryti, tai eiti per GDB jį rasti, bet ar kas nors, 1161 00:58:24,140 --> 00:58:27,850 nesikreipiant per GDB, turi jausmas, kai mes įsukus? 1162 00:58:27,850 --> 00:58:28,480 [? Madu? ?] 1163 00:58:28,480 --> 00:58:30,960 >> STUDENTAS: Aš manau, kad tai gali būti, kai baigiasi yra lygi pradžioje, ir tai 1164 00:58:30,960 --> 00:58:33,090 tik vienas elementas, sąrašas. 1165 00:58:33,090 --> 00:58:35,560 Tada jis tiesiog ignoruoja, o ne faktiškai patikrinti jį. 1166 00:58:35,560 --> 00:58:36,940 >> JASON Hirschhorn: Štai visiškai teisus. 1167 00:58:36,940 --> 00:58:41,110 Kai baigiasi Lygu pradžioje, mes dar turime mūsų sąraše elementas? 1168 00:58:41,110 --> 00:58:42,480 >> STUDENTAS: Taip. 1169 00:58:42,480 --> 00:58:45,450 >> JASON Hirschhorn: Taip, iš tiesų, mes turėti tik vieną elementą. 1170 00:58:45,450 --> 00:58:50,500 Ir tai greičiausiai atsitiks, kai, už kodu mes patikrinome, mes esame 1171 00:58:50,500 --> 00:58:54,640 priekis šieno kupetoje arba iš šieno kupetoje pabaigoje. 1172 00:58:54,640 --> 00:58:56,000 Štai kur pradžia ir pabaiga ketina lygūs 1173 00:58:56,000 --> 00:58:57,820 vienas su dvejetainėje paiešką. 1174 00:58:57,820 --> 00:59:01,440 Taigi šių dviejų atvejų ji neveikia, nes baigiasi sudarė pradžioje. 1175 00:59:01,440 --> 00:59:06,030 >> Bet jei baigiant lygi pradžioje ar tai while cikle vykdyti? 1176 00:59:06,030 --> 00:59:06,390 Taip nėra. 1177 00:59:06,390 --> 00:59:08,660 Ir mes galėjome patikrinti kad vėl per GDB. 1178 00:59:08,660 --> 00:59:14,000 Taigi, kaip mes galime išspręsti šį kodą, nes kai tuo tarpu baigiant lygi 1179 00:59:14,000 --> 00:59:16,070 pradžioje, mes taip pat norime, kad tai o kilpa paleisti. 1180 00:59:16,070 --> 00:59:18,620 >> Taigi, ką mes galime padaryti nustatyti liniją 18? 1181 00:59:18,620 --> 00:59:21,060 >> STUDENTAS: [nesigirdi] yra didesnis viršytų arba būtų lygios. 1182 00:59:21,060 --> 00:59:21,700 >> JASON Hirschhorn: Būtent teisus. 1183 00:59:21,700 --> 00:59:24,600 Nors pabaiga yra didesnis nei arba lygus pradžioje. 1184 00:59:24,600 --> 00:59:27,300 Taigi dabar mes įsitikinkite, kad gauti, kad kampas atvejis pabaigoje. 1185 00:59:27,300 --> 00:59:27,870 Ir pažiūrėkime. 1186 00:59:27,870 --> 00:59:29,560 Leiskite paleisti šią dar kartą. 1187 00:59:29,560 --> 00:59:31,266 >> Padarykime viską. 1188 00:59:31,266 --> 00:59:33,910 Vėlgi, jūs turite tik sekti kartu čia. 1189 00:59:33,910 --> 00:59:36,280 Ieškoti 41 šiuo metu. 1190 00:59:36,280 --> 00:59:37,360 Tiesiog laikyti jį atitinka. 1191 00:59:37,360 --> 00:59:38,210 >> Ieškoti 42. 1192 00:59:38,210 --> 00:59:38,930 Leiskite jį pradžioje - 1193 00:59:38,930 --> 00:59:41,630 42, 43, 44. 1194 00:59:41,630 --> 00:59:42,860 Mes jį rasti. 1195 00:59:42,860 --> 00:59:47,710 Taigi, kad iš tiesų buvo pakeisti mums reikia padaryti. 1196 00:59:47,710 --> 00:59:51,090 >> Tai buvo kodavimo mes daug ką tik padarė, dvejetainis paieškos. 1197 00:59:51,090 --> 00:59:55,760 Ar kas nors turite kokių nors klausimų prieš Aš pereiti į eilučių rašėme 1198 00:59:55,760 --> 00:59:58,750 Dvejetainė paieška, arba kaip mes sugalvojome , ką mes išsiaiškinti? 1199 00:59:58,750 --> 01:00:01,900 1200 01:00:01,900 --> 01:00:06,270 Prieš mes judėti į priekį, aš taip pat noriu atkreipti , kad ir didelis, mes apibudino 1201 01:00:06,270 --> 01:00:09,300 mūsų pseudo kodas vienas vienas į mūsų kodą. 1202 01:00:09,300 --> 01:00:11,550 >> Mes turime, kad keblus dalykas išsiaiškinti su 1203 01:00:11,550 --> 01:00:12,890 prasidedanti ir pasibaigianti. 1204 01:00:12,890 --> 01:00:17,380 Bet jei būtumėte ne suprato, kad, jums būtų parašyta gana daug 1205 01:00:17,380 --> 01:00:20,740 identiškas kodas, išskyrus šios dvi top linijos. 1206 01:00:20,740 --> 01:00:23,380 Ir tada jūs suprato, kai jūs padarėte jį patikrinimų bei atvejais, kurie 1207 01:00:23,380 --> 01:00:24,840 jums reikia ką nors kita. 1208 01:00:24,840 --> 01:00:28,510 Taigi, net jei jūs laikėsi mūsų pseudo kodas eilutės į eilutę, jūs tai jau 1209 01:00:28,510 --> 01:00:31,130 Dotarłeś visi, bet dvi eilutės kodą reikia rašyti. 1210 01:00:31,130 --> 01:00:33,900 >> Ir aš būčiau pasirengęs bet kad vaikinai būtų visi suprato, kad iš 1211 01:00:33,900 --> 01:00:37,940 gana greitai, kad jums reikia įdėti kai žymeklis yra rikiuoti ten išsiaiškinti 1212 01:00:37,940 --> 01:00:39,190 iš kur jūs buvote. 1213 01:00:39,190 --> 01:00:41,540 1214 01:00:41,540 --> 01:00:44,550 Kad vėl yra padaryti galia pseudo-kodą iš anksto. 1215 01:00:44,550 --> 01:00:47,310 Taigi, mes galime padaryti, logika, o paskui mes galime nerimauti sintaksė. 1216 01:00:47,310 --> 01:00:51,470 >> Jeigu mes buvo supainioti apie logiką Bandant įrašyti šį kodą į C, 1217 01:00:51,470 --> 01:00:53,110 mes Dotarłeś visi messed up. 1218 01:00:53,110 --> 01:00:56,340 Ir tada mes norime būti užduoti klausimus apie logika ir sintaksė ir sulieti 1219 01:00:56,340 --> 01:00:57,320 juos visus kartu. 1220 01:00:57,320 --> 01:01:02,170 Ir mes Dotarłeś prarastas , kas gali greitai tapti 1221 01:01:02,170 --> 01:01:04,000 labai sudėtinga problema. 1222 01:01:04,000 --> 01:01:08,680 Taigi pereikime dabar Parinkimo rūšiuoti. 1223 01:01:08,680 --> 01:01:10,760 >> Mes turime 20 minučių liko. 1224 01:01:10,760 --> 01:01:14,130 Taigi Turiu jausmas, mes negalės gauti per visus atrankos rūšiuoti 1225 01:01:14,130 --> 01:01:15,940 ir burbulas rūšiuoti. 1226 01:01:15,940 --> 01:01:20,670 Bet leiskite mums bent bandymas užbaigti atrankos rūšiuoti. 1227 01:01:20,670 --> 01:01:23,540 Taigi įgyvendinti pasirinkimą rūšiuoti naudojant Ši funkcija deklaraciją. 1228 01:01:23,540 --> 01:01:27,530 >> Vėlgi, tai yra paimta iš problema nustatyta specifikacija. 1229 01:01:27,530 --> 01:01:31,560 Int reikšmės yra skliausteliuose, yra sveikųjų skaičių masyvas. 1230 01:01:31,560 --> 01:01:33,490 Ir int.n yra tos masyvo dydis. 1231 01:01:33,490 --> 01:01:36,840 Atrankos rūšiuoti vyksta rūšiuoti šį masyvo. 1232 01:01:36,840 --> 01:01:43,580 >> Taigi, už mūsų psichikos modelio atrankos rūšiuoti, mes traukti - 1233 01:01:43,580 --> 01:01:47,720 pirma, mes eiti per sąrašą pirmą kartą laikas, rasti mažiausią skaičių, 1234 01:01:47,720 --> 01:01:52,860 padėkite jį pradžioje, rasti antrą mažiausias skaičius, įdėkite jį į 1235 01:01:52,860 --> 01:01:56,380 Antroji pozicija, jei norime Rūšiuoti didėjimo tvarka. 1236 01:01:56,380 --> 01:01:58,440 Nesu verčia rašyti pseudo-kodą dabar. 1237 01:01:58,440 --> 01:02:01,350 >> Tačiau prieš tai kodą kaip klasėje penkias minutes, mes ketiname rašyti 1238 01:02:01,350 --> 01:02:03,550 pseudo kodas, todėl mes turime tam tikrą prasmę iš kur mes einame. 1239 01:02:03,550 --> 01:02:05,630 Taigi nebandykite rašyti pseudo kodą savo. 1240 01:02:05,630 --> 01:02:08,610 Ir tada bandyti pasukti, kad pseudo kodą į kodą. 1241 01:02:08,610 --> 01:02:10,740 Mes padarysime, kad kaip grupė per penkias minutes. 1242 01:02:10,740 --> 01:02:32,560 1243 01:02:32,560 --> 01:02:33,895 >> Ir, žinoma, leiskite man žinoti, jei turite kokių nors klausimų. 1244 01:02:33,895 --> 01:03:56,738 1245 01:03:56,738 --> 01:03:58,230 >> STUDENTAS: Kad ji? 1246 01:03:58,230 --> 01:04:00,280 >> JASON Hirschhorn: pamatyti, kiek jūs galite gauti daugiau dviejų minučių. 1247 01:04:00,280 --> 01:04:01,790 Aš suprantu, jūs ne galės baigti. 1248 01:04:01,790 --> 01:04:03,050 Bet mes galėsime eiti per šį, kaip grupė. 1249 01:04:03,050 --> 01:04:57,830 1250 01:04:57,830 --> 01:05:00,630 >> Jūs visi kodavimo taip [nesigirdi], todėl aš atsiprašau sustabdyti, ką jūs darote. 1251 01:05:00,630 --> 01:05:02,530 Bet eikime per tai kaip grupė. 1252 01:05:02,530 --> 01:05:07,590 Ir vėl, dvejetainis paieškos, jūs visi duoti man viena, jei ne daugiau eilučių kodo. 1253 01:05:07,590 --> 01:05:08,530 Ačiū jums už tai. 1254 01:05:08,530 --> 01:05:11,730 Mes ketiname padaryti tą patį čia kodas kartu kaip grupei. 1255 01:05:11,730 --> 01:05:15,170 >> Taigi pasirinkimas rūšiuoti - tegul rašyti kai greitai pseudo kodas. 1256 01:05:15,170 --> 01:05:20,380 Už psichikos modelio, gali kas nors duoti man Pirmoje eilutėje pseudo-kodas, prašome? 1257 01:05:20,380 --> 01:05:23,000 1258 01:05:23,000 --> 01:05:24,270 Ką norite daryti? 1259 01:05:24,270 --> 01:05:27,070 >> STUDENTAS: Nors sąrašas yra ne iš eilės. 1260 01:05:27,070 --> 01:05:30,630 >> JASON Hirschhorn: Gerai, o sąrašas iš eilės. 1261 01:05:30,630 --> 01:05:33,540 Ir ką reiškia "ne iš eilės? 1262 01:05:33,540 --> 01:05:34,960 >> STUDENTAS: Nors [nesigirdi] 1263 01:05:34,960 --> 01:05:36,210 nebuvo rūšiuojamos. 1264 01:05:36,210 --> 01:05:38,460 1265 01:05:38,460 --> 01:05:40,290 >> JASON Hirschhorn: Nors sąrašas yra ne iš eilės, ką mes darome? 1266 01:05:40,290 --> 01:05:44,200 Duok man antrą eilutę, prašome Marcus. 1267 01:05:44,200 --> 01:05:47,186 >> STUDENTAS: Taigi susirasti kitą mažiausias skaičius. 1268 01:05:47,186 --> 01:05:49,000 Tai bus atitrauktas. 1269 01:05:49,000 --> 01:05:55,140 >> JASON Hirschhorn: Taigi rasti kitas mažiausias skaičius. 1270 01:05:55,140 --> 01:05:56,460 Ir tada kažkas? 1271 01:05:56,460 --> 01:06:01,030 Kai randame kitas mažiausias skaičius, ką mes darome? 1272 01:06:01,030 --> 01:06:03,010 Aš ruošiuosi pasakyti rasti mažiausias skaičius. 1273 01:06:03,010 --> 01:06:04,820 Štai ką mes norime daryti. 1274 01:06:04,820 --> 01:06:06,210 >> Taigi, rasti mažiausią skaičių. 1275 01:06:06,210 --> 01:06:08,061 Tada ką mes darome? 1276 01:06:08,061 --> 01:06:09,480 >> STUDENTAS: [nesigirdi] ir pradžioje. 1277 01:06:09,480 --> 01:06:10,680 >> JASON Hirschhorn: Atsiprašome? 1278 01:06:10,680 --> 01:06:12,700 >> STUDENTAS: Įdėkite ją į pradžioje sąrašo. 1279 01:06:12,700 --> 01:06:18,540 >> JASON Hirschhorn: Taigi įdėkite jį į Sąrašo pradžioje. 1280 01:06:18,540 --> 01:06:20,140 Ir ką mes darome dalykas kad pradžioje buvo 1281 01:06:20,140 --> 01:06:20,830 Į sąrašą, tiesa? 1282 01:06:20,830 --> 01:06:21,910 Mes perrašyti kažką. 1283 01:06:21,910 --> 01:06:23,130 Taigi, kur mes įdėti, kad? 1284 01:06:23,130 --> 01:06:24,120 Taip, Ana? 1285 01:06:24,120 --> 01:06:25,520 >> STUDENTAS: Kur mažiausias skaičius buvo? 1286 01:06:25,520 --> 01:06:32,530 >> JASON Hirshhorn: Taigi įdėti pradžią sąrašo, kai 1287 01:06:32,530 --> 01:06:35,180 Mažiausiai buvo. 1288 01:06:35,180 --> 01:06:38,510 Taigi, nors sąrašas yra ne iš eilės, rasti mažiausias skaičius, įdėkite jį į 1289 01:06:38,510 --> 01:06:40,630 Sąrašo pradžioje, įdėti pradžioje, sąrašas, kur 1290 01:06:40,630 --> 01:06:42,900 Mažiausiai buvo. 1291 01:06:42,900 --> 01:06:45,780 Marcus, galite perfrazuoti šią eilutę o sąrašas yra ne iš eilės? 1292 01:06:45,780 --> 01:06:51,160 1293 01:06:51,160 --> 01:06:53,900 >> STUDENTAS: Nors skaičiai nebuvo atskirtos? 1294 01:06:53,900 --> 01:06:55,920 >> JASON Hirshhorn: Gerai, kad, siekiant žinoti, kad skaičiai nebuvo 1295 01:06:55,920 --> 01:06:58,670 rūšiuojami, ką mes turime daryti? 1296 01:06:58,670 --> 01:07:00,640 Kiek mes turime eiti per šį sąrašą? 1297 01:07:00,640 --> 01:07:09,650 >> STUDENTAS: Taigi, manau, už linijos, arba o, o patikrinta skaičius yra mažiau 1298 01:07:09,650 --> 01:07:11,900 nei sąrašo ilgį? 1299 01:07:11,900 --> 01:07:13,160 >> JASON Hirshhorn: Gerai, gerai. 1300 01:07:13,160 --> 01:07:15,000 Manau, misphrased mano klausimas prastai. 1301 01:07:15,000 --> 01:07:15,990 Aš tiesiog bando gauti ne mes ketiname eiti 1302 01:07:15,990 --> 01:07:17,580 per visą sąrašą. 1303 01:07:17,580 --> 01:07:20,490 Taigi, nors sąrašas yra ne iš eilės, man sunku žemėlapį. 1304 01:07:20,490 --> 01:07:24,940 Bet iš esmės, tai kaip Manau apie tai. 1305 01:07:24,940 --> 01:07:28,880 Eiti per visą sąrašą, rasti mažiausias skaičius, įdėkite jį į 1306 01:07:28,880 --> 01:07:30,130 pradžioje - iš tikrųjų, tu teisus. 1307 01:07:30,130 --> 01:07:31,380 Leiskite įdėti juos abu. 1308 01:07:31,380 --> 01:07:33,470 1309 01:07:33,470 --> 01:07:39,050 >> Taigi, nors sąrašas yra ne iš eilės, mes reikia eiti per visą sąrašą 1310 01:07:39,050 --> 01:07:42,250 vieną kartą, rasti mažiausią skaičių, vietą jį į sąrašo pradžią, įdėti 1311 01:07:42,250 --> 01:07:45,430 Sąrašo pradžioje, kai mažiausias skaičius buvo ir tada, jei 1312 01:07:45,430 --> 01:07:47,460 sąrašas vis dar ne iš eilės, mes turiu eiti per šį 1313 01:07:47,460 --> 01:07:48,620 procesas vėl, tiesa? 1314 01:07:48,620 --> 01:07:51,610 Štai kodėl pasirinkimas rūšiuoti, Big-O Runtime Atrankos rūšiuoti, bet kas? 1315 01:07:51,610 --> 01:07:52,830 >> STUDENTAS: n kvadratu. 1316 01:07:52,830 --> 01:07:53,590 >> JASON Hirshhorn: n kvadratu. 1317 01:07:53,590 --> 01:07:57,040 Nes kaip Markas ir aš tiesiog suprato, čia mes ketiname turėti 1318 01:07:57,040 --> 01:08:00,310 eiti per, sąrašas skaičių kartų. 1319 01:08:00,310 --> 01:08:03,420 Taigi išgyvena kažką ilgis n n kartų skaičių 1320 01:08:03,420 --> 01:08:04,990 iš tiesų n kvadratu. 1321 01:08:04,990 --> 01:08:08,100 >> Taigi, tai yra mūsų Pseudocode. 1322 01:08:08,100 --> 01:08:09,360 Tai atrodo labai gerai. 1323 01:08:09,360 --> 01:08:11,870 Ar kas nors turi kokių nors klausimų, apie Pseudocode? 1324 01:08:11,870 --> 01:08:14,440 Nes iš tikrųjų pasirinkimas yra rikiuoti turėtų tikriausiai ateis 12:59, kodas iš 1325 01:08:14,440 --> 01:08:14,980 Pseudocode. 1326 01:08:14,980 --> 01:08:17,569 Taigi kokių nors klausimų apie logika Pseudocode? 1327 01:08:17,569 --> 01:08:18,819 Paprašykite jį dabar. 1328 01:08:18,819 --> 01:08:22,609 1329 01:08:22,609 --> 01:08:25,379 >> Atrankos rūšiuoti - o sąrašas yra iš iš eilės, mes ketiname eiti per jį 1330 01:08:25,379 --> 01:08:27,529 ir rasti mažiausią kiekvieną kartą ir įdėti jį į priekį. 1331 01:08:27,529 --> 01:08:33,470 Taigi, nors sąrašas yra ne iš eilės, gali kas nors, duok man tą kodo eilutę, kuris 1332 01:08:33,470 --> 01:08:39,689 nedavė man linija kodo dar, prašome? 1333 01:08:39,689 --> 01:08:40,939 Tai skamba kaip kas? 1334 01:08:40,939 --> 01:08:43,669 1335 01:08:43,669 --> 01:08:44,649 >> STUDENTAS: Štai už linijos. 1336 01:08:44,649 --> 01:08:45,830 >> JASON Hirshhorn: Tai skamba norėčiau už linijos. 1337 01:08:45,830 --> 01:08:47,653 Gerai, galite duoti man už linijos? 1338 01:08:47,653 --> 01:08:48,925 Už - 1339 01:08:48,925 --> 01:08:50,219 >> STUDENTAS: i lygu 0. 1340 01:08:50,219 --> 01:08:52,705 >> JASON Hirshhorn: aš arba - 1341 01:08:52,705 --> 01:08:55,111 ką mes trūksta? 1342 01:08:55,111 --> 01:08:56,819 Kas vyksta čia? 1343 01:08:56,819 --> 01:08:57,550 >> STUDENTAS: Žiniasklaida. 1344 01:08:57,550 --> 01:08:59,270 >> JASON Hirshhorn: Būtent. 1345 01:08:59,270 --> 01:09:02,590 (Int i = 0; - 1346 01:09:02,590 --> 01:09:07,843 >> STUDENTAS: i 01:09:09,319 >> JASON Hirshhorn: prikalė jį Jeff. 1348 01:09:09,319 --> 01:09:10,660 Mes ketiname per sąrašą, tiesa? 1349 01:09:10,660 --> 01:09:11,880 Mes matėme, kad kodą prieš. 1350 01:09:11,880 --> 01:09:12,850 Tobula. 1351 01:09:12,850 --> 01:09:14,790 Taigi, galime įdėti mūsų vingiuotus skliaustus čia. 1352 01:09:14,790 --> 01:09:17,859 Aš ruošiuosi įdėti kai garbanotas petnešos čia. 1353 01:09:17,859 --> 01:09:21,660 >> Taigi, nors tai 0, turime eiti visą sąrašą. 1354 01:09:21,660 --> 01:09:26,612 Taigi kiekvieną kartą, mes einame per sąrašą, ką mes norime sekti? 1355 01:09:26,612 --> 01:09:28,260 >> STUDENTAS: jei sandoriai yra pagaminti. 1356 01:09:28,260 --> 01:09:29,069 >> JASON Hirshhorn: Ieškoti mažiausias skaičius. 1357 01:09:29,069 --> 01:09:31,479 Taigi, mes tikriausiai turėtų sekti mažiausias skaičius kiekvieną kartą. 1358 01:09:31,479 --> 01:09:34,590 Taigi linijos aš galiu padaryti, sekti mažiausio skaičiaus? 1359 01:09:34,590 --> 01:09:37,720 Aleha, kaip aš galiu laikyti kelio kažką? 1360 01:09:37,720 --> 01:09:38,460 >> STUDENTAS: Pradėkite naują kintamąjį. 1361 01:09:38,460 --> 01:09:39,390 >> JASON Hirshhorn: Pradėkite naują kintamąjį. 1362 01:09:39,390 --> 01:09:40,069 Taigi, kurkime kintamąjį. 1363 01:09:40,069 --> 01:09:41,830 Kokia? 1364 01:09:41,830 --> 01:09:42,930 >> STUDENTAS: Žiniasklaida. 1365 01:09:42,930 --> 01:09:43,710 >> JASON Hirshhorn: Žiniasklaida. 1366 01:09:43,710 --> 01:09:44,939 Tegul ją vadina mažiausių. 1367 01:09:44,939 --> 01:09:47,600 Ir ką ji lygi, kai mes tik pradedate? 1368 01:09:47,600 --> 01:09:48,910 Mes dar išgyveno sąrašą dar. 1369 01:09:48,910 --> 01:09:50,540 Mes ne pirmos dalies per sąrašą mūsų pirmą kartą. 1370 01:09:50,540 --> 01:09:51,930 Ką tai lygūs, mažiausias skaičius? 1371 01:09:51,930 --> 01:09:54,140 >> STUDENTAS: Vertybės i. 1372 01:09:54,140 --> 01:09:54,900 >> JASON Hirshhorn: Vertybės i. 1373 01:09:54,900 --> 01:09:56,980 Tai skamba visiškai teisus, tiesa? 1374 01:09:56,980 --> 01:09:59,590 Mažiausias skaičius iš pradžių kur mes esame. 1375 01:09:59,590 --> 01:10:01,960 Taigi dabar mes turime mažiausias, ir mes turime eiti per visą sąrašą ir 1376 01:10:01,960 --> 01:10:05,080 palyginti tai mažiausias visa kita. 1377 01:10:05,080 --> 01:10:08,150 Taigi mes eiti per sąrašą dar kartą? 1378 01:10:08,150 --> 01:10:08,630 Michael? 1379 01:10:08,630 --> 01:10:10,000 >> STUDENTAS: Jums reikia padaryti kita kilpa. 1380 01:10:10,000 --> 01:10:10,383 >> JASON Hirshhorn: Kitas kilpą. 1381 01:10:10,383 --> 01:10:11,276 Darom. 1382 01:10:11,276 --> 01:10:12,540 Duokit kodą. 1383 01:10:12,540 --> 01:10:13,790 >> STUDENTAS: Dėl kilpa - 1384 01:10:13,790 --> 01:10:16,750 1385 01:10:16,750 --> 01:10:19,470 už mažiausias - 1386 01:10:19,470 --> 01:10:23,040 1387 01:10:23,040 --> 01:10:25,770 tik int j, gal galėtumėte pasakyti? 1388 01:10:25,770 --> 01:10:31,150 = 0; toks, kad - 1389 01:10:31,150 --> 01:10:34,014 1390 01:10:34,014 --> 01:10:35,710 >> JASON Hirshhorn: Na, jei mes norime eiti per visą sąrašą - 1391 01:10:35,710 --> 01:10:37,847 >> STUDENTAS: j 01:10:42,140 1393 01:10:42,140 --> 01:10:42,405 >> JASON Hirshhorn: Fantastiškas. 1394 01:10:42,405 --> 01:10:46,100 Mes ketiname eiti per už linijos dar kartą. 1395 01:10:46,100 --> 01:10:51,380 Ir kaip mes galime rasti mažiausias skaičius? 1396 01:10:51,380 --> 01:10:52,630 Tomas? 1397 01:10:52,630 --> 01:10:54,570 1398 01:10:54,570 --> 01:11:00,520 Mes turime dabartinę mažiausią skaičių, Taigi, kaip mes galime rasti naują mažiausių? 1399 01:11:00,520 --> 01:11:07,200 >> STUDENTAS: Mes galime patikrinti, ar mažiausias skaičius turime, yra didesnė nei 1400 01:11:07,200 --> 01:11:09,040 vertės laikiklis j. 1401 01:11:09,040 --> 01:11:14,740 >> JASON Hirshhorn: Taigi, jei mažiausias yra didesnis nei vertybių kronšteino j. 1402 01:11:14,740 --> 01:11:19,350 Taigi, jei dabartinis mūsų mažiausias yra didesnis nei - 1403 01:11:19,350 --> 01:11:21,770 Aš ruošiuosi perkelti šias dvi eilutes kodo ten sekundę. 1404 01:11:21,770 --> 01:11:26,010 Nes kol mes padaryti bet Swapping, mes reikia eiti per visą sąrašą. 1405 01:11:26,010 --> 01:11:28,880 Taigi tai Pseudocode tiesų turėtų būti ne kad vidinis už linijos. 1406 01:11:28,880 --> 01:11:30,390 Tad visą sąrašą. 1407 01:11:30,390 --> 01:11:34,520 Jei mažiausias yra didesnis nei vertės j kas tada? 1408 01:11:34,520 --> 01:11:37,830 >> STUDENTAS: Tada mažiausias Lygu vertybes j. 1409 01:11:37,830 --> 01:11:41,190 1410 01:11:41,190 --> 01:11:42,600 >> JASON Hirshhorn: Fantastiškas. 1411 01:11:42,600 --> 01:11:44,580 Vienas greitas klausimas - 1412 01:11:44,580 --> 01:11:47,236 pirmą kartą, mes einame per šį kilpa, aš ketina 0, j vyksta 1413 01:11:47,236 --> 01:11:50,710 iki 0, kai mes gauti čia. 1414 01:11:50,710 --> 01:11:52,410 Taigi, mes ketiname būti palyginti skaičius savaime. 1415 01:11:52,410 --> 01:11:53,660 Ar tai veiksminga? 1416 01:11:53,660 --> 01:11:57,260 1417 01:11:57,260 --> 01:11:58,390 Ne, tai tikrai ne efektyvus. 1418 01:11:58,390 --> 01:12:02,915 Taigi ar mūsų j reikia eiti nuo 0 iki N kiekvieną kartą? 1419 01:12:02,915 --> 01:12:06,310 Mes visada reikia patikrinti visą sąrašą? 1420 01:12:06,310 --> 01:12:06,520 [Nesigirdi]? 1421 01:12:06,520 --> 01:12:07,564 >> STUDENTAS: Pradėti su i vietoj. 1422 01:12:07,564 --> 01:12:09,405 >> JASON Hirshhorn: j skardinė pradėti su ką? 1423 01:12:09,405 --> 01:12:09,990 >> STUDENTAS: i. 1424 01:12:09,990 --> 01:12:13,040 >> JASON Hirshhorn: j galite pradėti su i. 1425 01:12:13,040 --> 01:12:18,840 Taigi dabar mes palyginkite pradedant su vienu mes apie. 1426 01:12:18,840 --> 01:12:21,020 Bet net ir tada, yra tai, kad veiksmingai, kaip įmanoma? 1427 01:12:21,020 --> 01:12:22,320 >> STUDENTAS: i + 1. 1428 01:12:22,320 --> 01:12:25,420 >> JASON Hirshhorn: i + 1, atrodo, efektyviausias, nes mes 1429 01:12:25,420 --> 01:12:26,120 jau aš. 1430 01:12:26,120 --> 01:12:28,100 Mes kuriame, kad mažiausias 15 eilutėje. 1431 01:12:28,100 --> 01:12:29,350 Mes ketiname pradėti šalia vienas automatiškai. 1432 01:12:29,350 --> 01:12:34,470 1433 01:12:34,470 --> 01:12:38,540 Taigi mes einame per už linijos. 1434 01:12:38,540 --> 01:12:39,620 Mes pereiti per kiekvieną kartą. 1435 01:12:39,620 --> 01:12:40,860 Mes eiti per keletą kartų. 1436 01:12:40,860 --> 01:12:42,860 Dabar mes Dotarłeś per tai vidinis už linijos. 1437 01:12:42,860 --> 01:12:44,350 Mes turime mažiausias vertė taupo. 1438 01:12:44,350 --> 01:12:46,045 Mums reikia įdėti jį pradžioje sąrašo. 1439 01:12:46,045 --> 01:12:48,390 Taigi, kaip aš galiu įdėti jį pradžioje į sąrašą? 1440 01:12:48,390 --> 01:12:51,290 1441 01:12:51,290 --> 01:12:55,926 Kas yra kintamasis, kuris nurodo į sąrašo pradžioje? 1442 01:12:55,926 --> 01:13:00,500 Mes šioje išorėje už linijos, Taigi, ką reiškia 1443 01:13:00,500 --> 01:13:01,280 pradžioje į sąrašą? 1444 01:13:01,280 --> 01:13:02,880 >> STUDENTAS: Vertybės i. 1445 01:13:02,880 --> 01:13:03,510 >> JASON Hirshhorn: Būtent teisus. 1446 01:13:03,510 --> 01:13:04,650 Vertybės i iš pradžios - 1447 01:13:04,650 --> 01:13:06,320 ar gaila, o ne pradžia. 1448 01:13:06,320 --> 01:13:07,090 Tai buvo paini. 1449 01:13:07,090 --> 01:13:11,620 Tai kur mes esame pradžioje nerūšiuotus dalis sąrašo. 1450 01:13:11,620 --> 01:13:12,800 Taigi vertybės aš. 1451 01:13:12,800 --> 01:13:14,050 Ir ką, kad lygūs? 1452 01:13:14,050 --> 01:13:15,925 1453 01:13:15,925 --> 01:13:17,326 >> STUDENTAS: mažiausias. 1454 01:13:17,326 --> 01:13:18,862 >> JASON Hirshhorn: Vertybės i lygu ką? 1455 01:13:18,862 --> 01:13:19,310 >> STUDENTAS: mažiausias. 1456 01:13:19,310 --> 01:13:20,030 >> JASON Hirshhorn: mažiausias. 1457 01:13:20,030 --> 01:13:20,980 Visiškai teisus. 1458 01:13:20,980 --> 01:13:23,510 Taigi, mes įdėti jį pradžioje sąrašo, o dabar mes turime įdėti 1459 01:13:23,510 --> 01:13:25,710 Sąrašo pradžioje, kai Mažiausiai buvo. 1460 01:13:25,710 --> 01:13:29,700 Taigi, kaip aš galiu rašyti, kai Mažiausiai buvo? 1461 01:13:29,700 --> 01:13:31,670 Vertybės ką? 1462 01:13:31,670 --> 01:13:33,170 >> STUDENTAS: 0. 1463 01:13:33,170 --> 01:13:34,090 >> JASON Hirshhorn: mažas skaičius yra ne 0? 1464 01:13:34,090 --> 01:13:35,340 >> STUDENTAS: Taip. 1465 01:13:35,340 --> 01:13:38,680 1466 01:13:38,680 --> 01:13:39,910 >> JASON Hirshhorn: Ką daryti, jei mažiausias skaičius buvo pabaigoje 1467 01:13:39,910 --> 01:13:40,860 šis nerūšiuotų sąrašas? 1468 01:13:40,860 --> 01:13:42,460 >> STUDENTAS: Atsiprašome, koks buvo klausimas? 1469 01:13:42,460 --> 01:13:44,020 >> JASON Hirshhorn: Kur yra mažiausias skaičius? 1470 01:13:44,020 --> 01:13:46,940 Mes paėmė mažiausias ir įdėti jį pradžioje, su šia linija čia. 1471 01:13:46,940 --> 01:13:48,987 >> STUDENTAS: Tai turėtų būti buvo laikomi kai kurie - 1472 01:13:48,987 --> 01:13:50,510 >> STUDENTAS: Vertybės j. 1473 01:13:50,510 --> 01:13:51,520 >> JASON Hirshhorn: Na, tai nebūtinai vertina j. 1474 01:13:51,520 --> 01:13:54,100 Ji nėra net egzistuoti šiuo metu. 1475 01:13:54,100 --> 01:13:55,960 >> STUDENTAS: Jūs turite deklaruoti kintamasis anksčiau ir 1476 01:13:55,960 --> 01:13:58,230 tada priskirti jį - 1477 01:13:58,230 --> 01:14:01,150 kai jums rasti mažiausią skaičių, Pavesti šio skaičiaus indeksas 1478 01:14:01,150 --> 01:14:02,480 kai kintamoji, ar kažkas panašaus. 1479 01:14:02,480 --> 01:14:04,790 >> JASON Hirshhorn: Taigi galima jums pasakyti, kad dar kartą? 1480 01:14:04,790 --> 01:14:08,390 >> STUDENTAS: Taigi, kur paskelbė int mažiausias, jūs taip pat turėtų paskelbti int 1481 01:14:08,390 --> 01:14:10,750 mažiausias rodiklis = i ar kažkas panašaus. 1482 01:14:10,750 --> 01:14:13,280 >> JASON Hirshhorn: Taigi, kur aš int mažiausias, aš turėtų saugoti ne tik stebėti 1483 01:14:13,280 --> 01:14:16,150 sutarties vertės, tačiau vieta. 1484 01:14:16,150 --> 01:14:20,850 int smallest_location = šiame atveju, mes tiesiog padaryti i. 1485 01:14:20,850 --> 01:14:22,390 Mums reikia žinoti, kur ji yra. 1486 01:14:22,390 --> 01:14:26,820 Mes pateko į kodo pabaigos, o mes supratau mes neturėjome supratimo, kur jis buvo. 1487 01:14:26,820 --> 01:14:29,810 Ir taip dar kartą, mes kartografavimo tai apie 00:59. 1488 01:14:29,810 --> 01:14:32,890 Vaikinai kodavimo tai savo noru tikriausiai gauti į tą pačią problemą. 1489 01:14:32,890 --> 01:14:34,130 Kaip gi man jį rasti? 1490 01:14:34,130 --> 01:14:36,720 Ir tada jūs suprasite, palauk, aš reikia sekti, kad. 1491 01:14:36,720 --> 01:14:38,500 >> Taigi, jei mažiausias yra didesnis kaip vertybės j. 1492 01:14:38,500 --> 01:14:39,740 Mes nustatyti mažiausias prilygsta vertybių j. 1493 01:14:39,740 --> 01:14:42,090 Ką dar reikia pakeisti? 1494 01:14:42,090 --> 01:14:43,710 Constantin, ką dar daryti mums reikia pakeisti? 1495 01:14:43,710 --> 01:14:44,560 >> STUDENTAS: Location. 1496 01:14:44,560 --> 01:14:45,270 >> JASON Hirshhorn: Būtent. 1497 01:14:45,270 --> 01:14:46,925 Taigi man, kad kodo eilutę. 1498 01:14:46,925 --> 01:14:53,310 >> STUDENTAS: smallest_location = j. 1499 01:14:53,310 --> 01:14:54,790 >> JASON Hirshhorn: Būtent. 1500 01:14:54,790 --> 01:14:58,210 Ir tada žemyn pabaigoje, jei norime įdėti į sąrašo pradžią, kur 1501 01:14:58,210 --> 01:15:00,790 mažiausias skaičius buvo kaip mes kreiptis į kur 1502 01:15:00,790 --> 01:15:02,200 Mažiausiai buvo? 1503 01:15:02,200 --> 01:15:03,580 Marcus? 1504 01:15:03,580 --> 01:15:08,530 >> STUDENTAS: mažiausias skaičius buvo įsikūręs mažiausią vietą. 1505 01:15:08,530 --> 01:15:12,230 >> JASON Hirshhorn: Taigi ne vertybes smallest_location. 1506 01:15:12,230 --> 01:15:14,700 Ir ką mes įdėti ten? 1507 01:15:14,700 --> 01:15:17,600 Iš pradžioje sąrašas, kas tai? 1508 01:15:17,600 --> 01:15:19,710 >> STUDENTAS: Na, mes tikrai nežinome, nebereikia, nes mes perrašė. 1509 01:15:19,710 --> 01:15:23,250 Taigi tai pavertė vietos Šių dviejų linijų? 1510 01:15:23,250 --> 01:15:26,110 Jei įjungsite šias dvi eilutes aplink. 1511 01:15:26,110 --> 01:15:30,740 >> JASON Hirshhorn: Gerai, kad mes ne nebėra, nes mes iš naujo liniją 1512 01:15:30,740 --> 01:15:31,960 prieš vertybes I mažiausių. 1513 01:15:31,960 --> 01:15:33,810 Taigi mes praradome, kad pradinės vertės. 1514 01:15:33,810 --> 01:15:37,350 Taigi sakei apsikeitimo šios dvi linijos. 1515 01:15:37,350 --> 01:15:41,780 Taigi dabar įdėti sąrašo pradžią kur mažiausias skaičius buvo. 1516 01:15:41,780 --> 01:15:47,060 Taigi smallest_location Lygu vertybes i. 1517 01:15:47,060 --> 01:15:51,310 Kad juda, kad šis pradžią nerūšiuotus dalis į sąrašą 1518 01:15:51,310 --> 01:15:52,090 mažiausia vietą. 1519 01:15:52,090 --> 01:15:54,860 Ir tada į vertybes i mes judame kad mažiausias skaičius. 1520 01:15:54,860 --> 01:15:57,450 >> Ar tai prasminga, kodėl mes turėjo padaryti, kad swap? 1521 01:15:57,450 --> 01:15:59,650 Būtume perrašyti tą vertę - dar vienas dalykas, jūs tikriausiai turės 1522 01:15:59,650 --> 01:16:02,740 išsiaiškino ir nustatė BVP. 1523 01:16:02,740 --> 01:16:05,310 Taigi mes pasirūpinta visi Pseudocode. 1524 01:16:05,310 --> 01:16:10,935 Ar dar ką nors mes reikia rašyti čia? 1525 01:16:10,935 --> 01:16:14,911 Ar kas nors galvoja apie ką nors? 1526 01:16:14,911 --> 01:16:16,180 >> STUDENTAS: Kaip žinote, kai baigsite? 1527 01:16:16,180 --> 01:16:17,680 >> JASON Hirshhorn: Kaip mes žinoti, kada baigsime? 1528 01:16:17,680 --> 01:16:18,890 Puikus klausimas. 1529 01:16:18,890 --> 01:16:21,684 Taigi, kaip mes žinome, kai baigsime. 1530 01:16:21,684 --> 01:16:24,720 >> STUDENTAS: Sukurti kintamąjį išlaikyti skaičius informacija, jei ten apsikeitimo, ar ne 1531 01:16:24,720 --> 01:16:27,810 ir eiti per perėja. 1532 01:16:27,810 --> 01:16:30,180 >> JASON Hirshhorn: Gerai. 1533 01:16:30,180 --> 01:16:31,800 Kad dirbtų burbulas rūšiuoti. 1534 01:16:31,800 --> 01:16:35,210 Tačiau atrankos rūšiuoti, jei mes ne padaryti apsikeitimo sandoriai, kurie gali būti tik 1535 01:16:35,210 --> 01:16:38,670 nes mažiausia vertė yra jame jo tinkamą vietą. 1536 01:16:38,670 --> 01:16:41,240 Mes gali turėti 1 2 sąrašas, 4, 3. 1537 01:16:41,240 --> 01:16:42,830 Antrą kartą per mes nebus jokių apsikeitimo sandorius. 1538 01:16:42,830 --> 01:16:47,260 Mes būsime nuo skaičiaus 2, bet mes vis dar reikia nesustoti. 1539 01:16:47,260 --> 01:16:49,390 Taigi mums reikia sekti kada baigsime, ar mes tiesiog norime eiti 1540 01:16:49,390 --> 01:16:50,640 tol, kol bus baigtas? 1541 01:16:50,640 --> 01:16:54,098 1542 01:16:54,098 --> 01:16:56,740 >> STUDENTAS: Mes galime tiesiog eiti kol jis nebaigtas. 1543 01:16:56,740 --> 01:16:58,090 >> JASON Hirshhorn: Mes galime tik eiti tol, kol bus baigtas. 1544 01:16:58,090 --> 01:17:01,720 Burbulas rūšiuoti, esate visiškai teisus, Jeffas ir Aleha, su jūsų sprendimas - 1545 01:17:01,720 --> 01:17:04,990 jis yra puikus sekti, kiek apsikeitimo jūs padarėte, nes burbulas 1546 01:17:04,990 --> 01:17:07,920 rūšiuoti, jei jūs iš tikrųjų gali padaryti jokių apsikeitimo sandorius, baigsite, ir jūs galbūt gali sumažinti savo 1547 01:17:07,920 --> 01:17:09,000 problema žemyn truputį. 1548 01:17:09,000 --> 01:17:11,440 Tačiau atrankos rūšiuoti, jūs tikrai turiu eiti per su tikslu 1549 01:17:11,440 --> 01:17:14,940 kiekvieną kartą, kai aplink sąrašą. 1550 01:17:14,940 --> 01:17:16,200 >> Taigi tai, kad. 1551 01:17:16,200 --> 01:17:18,530 Turime dvi minutes liko. 1552 01:17:18,530 --> 01:17:21,560 Padarykime viską. 1553 01:17:21,560 --> 01:17:24,340 Leiskite man tiesiog atvira Čia rasite ir padaryti Ar tikrai aš iš tiesų iškvietimas - 1554 01:17:24,340 --> 01:17:25,610 Aš ne skambinti burbulas rūšiuoti. 1555 01:17:25,610 --> 01:17:29,230 Tegul jį pakeisti atrankos rūšiuoti. 1556 01:17:29,230 --> 01:17:31,060 padaryti visiems. / rasti. 1557 01:17:31,060 --> 01:17:32,360 Raskime 42. 1558 01:17:32,360 --> 01:17:38,110 Šį kartą mes ketiname pereiti nerūšiuotas sąrašas, nes ji turėtų rūšiuoti 1559 01:17:38,110 --> 01:17:43,790 pirma, už ieškomo kodas - turėtų surūšiuoti Pirmasis naudojant mūsų rūšiavimo funkciją ir tada 1560 01:17:43,790 --> 01:17:44,995 ieškoti kažko. 1561 01:17:44,995 --> 01:17:46,245 Kumščius visiems. 1562 01:17:46,245 --> 01:17:48,530 1563 01:17:48,530 --> 01:17:49,370 >> Dieve mano. 1564 01:17:49,370 --> 01:17:50,800 Oho, mano širdis plaka. 1565 01:17:50,800 --> 01:17:52,320 Taigi, kad yra teisinga. 1566 01:17:52,320 --> 01:17:57,270 Iš tiesų, jei mes bėgo tai daugiau plačiai, kodas, kiek galiu 1567 01:17:57,270 --> 01:17:59,280 pasakyti, yra visiškai teisinga. 1568 01:17:59,280 --> 01:18:02,150 Yra keletas pasiūlymų Aš turiu jums. 1569 01:18:02,150 --> 01:18:06,215 Pavyzdžiui, 15 ir 16 atrodo tiek nereikalingas. 1570 01:18:06,215 --> 01:18:09,450 Atrodo, jūs nebūtinai reikia įrašyti ir tuos. 1571 01:18:09,450 --> 01:18:12,790 Jei turite mažiausią vietą, Jums galite lengvai rasti mažiausią vertę 1572 01:18:12,790 --> 01:18:14,750 tiesiog rašyti vertybes i. 1573 01:18:14,750 --> 01:18:18,100 >> Taigi, jei aš turėjo būti klasifikavimo kodą, kurį aš iš tiesų bus, norėčiau 1574 01:18:18,100 --> 01:18:21,160 tikriausiai kilimo tašką, jeigu įtraukti abu, nes jums 1575 01:18:21,160 --> 01:18:22,670 nereikia abu. 1576 01:18:22,670 --> 01:18:25,400 Jei turite vietą, galite labai lengvai gauti vertę. 1577 01:18:25,400 --> 01:18:27,520 Ir atrodo truputį keistai laikyti abu. 1578 01:18:27,520 --> 01:18:31,070 Gal net ne imtis tašką, tačiau tikrai pastebėjo, kad tai yra gal 1579 01:18:31,070 --> 01:18:32,670 ne stilistinė pasirinkimas jūs turite padaryti. 1580 01:18:32,670 --> 01:18:35,290 Žinoma, kodas dar veikia puikiai. 1581 01:18:35,290 --> 01:18:36,860 >> Taigi, deja, mes ne gauti burbulas rūšiuoti. 1582 01:18:36,860 --> 01:18:37,940 Atsiprašau apie tai. 1583 01:18:37,940 --> 01:18:39,135 Mes padarėme finišo atrankos rūšiuoti. 1584 01:18:39,135 --> 01:18:41,450 Ar kas nors turite kokių nors galutinius klausimus apie atrankos rūšiuoti? 1585 01:18:41,450 --> 01:18:44,320 1586 01:18:44,320 --> 01:18:47,690 >> Gerai, kol mes galvą, aš noriu, kad jūs atverti savo "Chrome" naršyklę. 1587 01:18:47,690 --> 01:18:54,340 Atsiprašome, tai buvo tik grubus kištukas vienos rūšies interneto naršyklėje. 1588 01:18:54,340 --> 01:18:57,770 Galite atidaryti bet kokį naršyklės tipą, bet tai tikriausiai bus Chrome. 1589 01:18:57,770 --> 01:19:01,250 Ir eiti į šį interneto svetainėje - 1590 01:19:01,250 --> 01:19:06,410 sayat.me/cs50. 1591 01:19:06,410 --> 01:19:07,685 Jei nesate įvedę savo kompiuteryje dabar, jūs aiškiai 1592 01:19:07,685 --> 01:19:10,210 ne tai daryti, Tomai. 1593 01:19:10,210 --> 01:19:12,870 >> Ir prašome tai padaryti arba į dešinę dabar arba kitą valandą - 1594 01:19:12,870 --> 01:19:14,260 duoti man atsiliepimą. 1595 01:19:14,260 --> 01:19:15,660 Tai tik du skyrius. 1596 01:19:15,660 --> 01:19:18,060 Mes turime daug daugiau kartu, todėl aš turėti kambarį pagerinti daug. 1597 01:19:18,060 --> 01:19:19,620 Aš tikiuosi, taip pat padarė kai kuriuos dalykus gerai. 1598 01:19:19,620 --> 01:19:22,160 Taigi jūs galite padaryti mane jaustis taip blogai, bet jei jūs taip pat norite, kad man veiduko 1599 01:19:22,160 --> 01:19:24,250 veido, būčiau dėkingas, kad taip pat. 1600 01:19:24,250 --> 01:19:25,330 Užpildykite kad in 1601 01:19:25,330 --> 01:19:28,210 >> Ir vieną minutę į kairę, kad buvo savaitę trys. 1602 01:19:28,210 --> 01:19:30,750 Aš stovėti lauke truputį jei turite kokių nors klausimų. 1603 01:19:30,750 --> 01:19:32,220 Aš pamatysiu jus vaikinai paskaita rytoj. 1604 01:19:32,220 --> 01:19:34,742