1 00:00:00,000 --> 00:00:00,500 2 00:00:00,500 --> 00:00:05,120 [Muzikos grojimo] 3 00:00:05,120 --> 00:00:12,026 4 00:00:12,026 --> 00:00:12,900 SPEAKER 1: Gerai. 5 00:00:12,900 --> 00:00:14,600 Kiekvienas sveikintinas grįžti į skyrių. 6 00:00:14,600 --> 00:00:18,660 Tikiuosi, kad jūs visi esate sėkmingai išieškoti iš jūsų viktorinos 7 00:00:18,660 --> 00:00:19,510 nuo praėjusios savaitės. 8 00:00:19,510 --> 00:00:22,564 Žinau, kad tai šiek tiek kvailai, kartais. 9 00:00:22,564 --> 00:00:25,230 Kaip jau sakiau anksčiau, jei esate per standartinį nuokrypį, 10 00:00:25,230 --> 00:00:28,188 nelabai nerimauti, ypač už mažiau patogus skyriuje. 11 00:00:28,188 --> 00:00:30,230 Štai apie tai, kur ir turėtų būti. 12 00:00:30,230 --> 00:00:32,850 >> Jei taip puiku, tada awesome. 13 00:00:32,850 --> 00:00:33,650 Kudos į jums. 14 00:00:33,650 --> 00:00:36,149 Ir jei jūs manote, kaip jums reikia šiek tiek daugiau pagalbos, prašome 15 00:00:36,149 --> 00:00:38,140 nedvejodami pasiekti iš bet kuriai TFS. 16 00:00:38,140 --> 00:00:40,030 Mes visi esame čia, kad padėtų. 17 00:00:40,030 --> 00:00:40,960 >> Štai kodėl mes mokome. 18 00:00:40,960 --> 00:00:44,550 Štai kodėl aš čia kiekvieną pirmadienį jums vaikinai ir ne darbo valandomis ketvirtadieniais. 19 00:00:44,550 --> 00:00:48,130 Taigi, prašome nedvejodami praneškite man žinoti jei esate susirūpinę nieko 20 00:00:48,130 --> 00:00:52,450 arba, jei nėra nieko ant Viktorinos kad jūs tikrai patinka spręsti. 21 00:00:52,450 --> 00:00:56,940 >> Taigi šiandien darbotvarkę viskas apie duomenų struktūras. 22 00:00:56,940 --> 00:01:01,520 Kai kurie iš jų yra tik ketina būti tik gauti Jums supažindinti su šiomis. 23 00:01:01,520 --> 00:01:04,870 Jūs negalite niekada įgyvendinti juos į šią klasę. 24 00:01:04,870 --> 00:01:08,690 Kai kurie iš jų bus, kaip jūsų Speller pset. 25 00:01:08,690 --> 00:01:11,380 >> Jūs galite pasirinkti tarp maišos lentelėmis ir bando. 26 00:01:11,380 --> 00:01:13,680 Taigi mes tikrai reikia eiti per juos. 27 00:01:13,680 --> 00:01:18,690 Ji ketina būti tikrai daugiau rūšių iš horizontalaus aukštos šiandien, nors, 28 00:01:18,690 --> 00:01:22,630 nes ten yra daug iš jų, o jei nuėjome į įgyvendinimo detales 29 00:01:22,630 --> 00:01:26,490 dėl visų šių, mes gi ne net gauti per susijusias sąrašus 30 00:01:26,490 --> 00:01:28,520 o gal šiek tiek maišos lenteles. 31 00:01:28,520 --> 00:01:31,200 >> Taigi būti su manimi. 32 00:01:31,200 --> 00:01:33,530 Mes neketiname daryti kaip daug kodavimo šį kartą. 33 00:01:33,530 --> 00:01:36,870 Jei turite kokių nors klausimų apie tai ar jūs norite pamatyti, kuris įgyvendino 34 00:01:36,870 --> 00:01:39,260 arba patys jį išbandyti, Aš tikrai rekomenduoju 35 00:01:39,260 --> 00:01:44,250 ketina study.cs50.net, kuris pavyzdžiai turi visa tai. 36 00:01:44,250 --> 00:01:46,400 Tai turite savo PowerPoints su pastabomis, kad mes 37 00:01:46,400 --> 00:01:50,860 linkę naudoti taip pat kai programavimo pratimai, ypač už tai, ko 38 00:01:50,860 --> 00:01:55,250 kaip susijusių sąrašų ir dvejetainės medžiai vamzdžiai ir užuominas. 39 00:01:55,250 --> 00:01:59,590 Taigi šiek tiek daugiau aukšto lygio, kuris gali būti gražus jums vaikinai. 40 00:01:59,590 --> 00:02:01,320 >> Taigi su tuo, mes pradėti. 41 00:02:01,320 --> 00:02:03,060 Ir taip pat, yes-- viktorinos. 42 00:02:03,060 --> 00:02:06,550 Manau, kad dauguma iš jūsų, kurie yra mano sekcija turi savo viktorinos, 43 00:02:06,550 --> 00:02:12,060 bet kiekvienas ateina arba kokios nors priežasties jums ne, jie tiesiog čia, priekyje. 44 00:02:12,060 --> 00:02:12,740 >> Taigi susietas sąrašus. 45 00:02:12,740 --> 00:02:15,650 Aš žinau, tai rūšies eina atgal prieš savo viktoriną. 46 00:02:15,650 --> 00:02:17,940 Tai buvo prieš savaitę kad mes sužinojome apie tai. 47 00:02:17,940 --> 00:02:21,040 Tačiau šiuo atveju, mes tiesiog eiti šiek tiek daugiau į gylį. 48 00:02:21,040 --> 00:02:25,900 >> Tad kodėl gali renkamės susijęs sąrašas per masyvą? 49 00:02:25,900 --> 00:02:27,130 Jų skiriamieji? 50 00:02:27,130 --> 00:02:27,630 Taip? 51 00:02:27,630 --> 00:02:30,464 >> AUDITORIJA: Galite išplėsti susijęs sąrašą, palyginti masyvą fiksuotas dydis. 52 00:02:30,464 --> 00:02:31,171 SPEAKER 1: Teisė. 53 00:02:31,171 --> 00:02:33,970 Masyvas turi fiksuotas dydis tarpu susijęs sąrašas yra kintamas dydis. 54 00:02:33,970 --> 00:02:36,970 Taigi, jei mes nežinome, kaip daug norime išsaugoti, 55 00:02:36,970 --> 00:02:39,880 susijęs sąrašas suteikia mums puikus būdas tai padaryti, nes mes galime tiesiog 56 00:02:39,880 --> 00:02:43,730 pridėti kitą mazgas ir pridėti kitas mazgas ir pridėti kitą mazgą. 57 00:02:43,730 --> 00:02:45,750 Bet kas gali būti kompromisas? 58 00:02:45,750 --> 00:02:49,521 Ar kas nors prisimena kompromisą tarp matricos ir susijusių sąrašus? 59 00:02:49,521 --> 00:02:50,020 Mmhmm? 60 00:02:50,020 --> 00:02:51,460 >> AUDITORIJA: Jūs turite pereiti visą kelią 61 00:02:51,460 --> 00:02:53,738 Susietos sąrašą rasti sudarant sąrašą elementą. 62 00:02:53,738 --> 00:02:55,570 Masyve, galite tiesiog rasti elementą. 63 00:02:55,570 --> 00:02:56,278 >> SPEAKER 1: Teisė. 64 00:02:56,278 --> 00:02:57,120 Taigi su arrays-- 65 00:02:57,120 --> 00:02:58,500 >> AUDITORIJA: [nesigirdi]. 66 00:02:58,500 --> 00:03:01,090 >> SPEAKER 1: Su masyvais, turime tai, kas vadinama operatyvioji. 67 00:03:01,090 --> 00:03:04,820 Tai reiškia, kad jei mes norime ką kada penktoji vieta iš sąrašo 68 00:03:04,820 --> 00:03:07,230 arba penktasis taškas mūsų masyvas, galime tiesiog paimti jį. 69 00:03:07,230 --> 00:03:10,440 Jei tai susiję sąrašas, turime kad paeiliui per, tiesa? 70 00:03:10,440 --> 00:03:14,020 Taigi gauti in elementą masyvas yra pastovus laikas, 71 00:03:14,020 --> 00:03:19,530 o su susietą sąrašą Būtų greičiausiai būtų tiesinis laiko, nes gal 72 00:03:19,530 --> 00:03:21,370 elementas yra mūsų visi pabaigoje būdas. 73 00:03:21,370 --> 00:03:23,446 Mes turime ieškoti per viską. 74 00:03:23,446 --> 00:03:25,320 Taigi visus šiuos duomenis struktūros Važiuojame 75 00:03:25,320 --> 00:03:29,330 reikia skirti šiek tiek daugiau laiko, kokie pliusai ir negatyvai. 76 00:03:29,330 --> 00:03:31,480 Kai gali norime naudoti vieną virš kito? 77 00:03:31,480 --> 00:03:34,970 Ir kad tipo didesnis dalykas atimti. 78 00:03:34,970 --> 00:03:40,140 >> Taigi, mes turime čia apibrėžimas mazgas. 79 00:03:40,140 --> 00:03:43,040 Tai kaip vieną elementą mūsų susijęs sąrašas, tiesa? 80 00:03:43,040 --> 00:03:46,180 Taigi, mes visi susipažinę su mūsų Typedef structs, 81 00:03:46,180 --> 00:03:47,980 kurioje mes visi drauge perėjo peržiūros paskutinį kartą. 82 00:03:47,980 --> 00:03:53,180 Iš esmės tai buvo tiesiog sukurti kitas duomenų tipas, kad mes galime naudoti. 83 00:03:53,180 --> 00:03:57,930 >> Ir šiuo atveju, tai kai mazgas kad laikys tam tikrą sveikuosius. 84 00:03:57,930 --> 00:04:00,210 Ir tada kas antra dalis čia? 85 00:04:00,210 --> 00:04:03,192 86 00:04:03,192 --> 00:04:05,677 Kiekvienas? 87 00:04:05,677 --> 00:04:06,680 >> AUDITORIJA: [nesigirdi]. 88 00:04:06,680 --> 00:04:07,020 >> SPEAKER 1: Taip. 89 00:04:07,020 --> 00:04:08,400 Tai žymiklį į kitą mazgą. 90 00:04:08,400 --> 00:04:12,610 Taigi tai iš tiesų turėtų būti čia. 91 00:04:12,610 --> 00:04:18,790 Tai tipo rodyklė mazgas į kitą dalyką. 92 00:04:18,790 --> 00:04:22,410 Ir tai, ką jie apima mūsų mazgas. 93 00:04:22,410 --> 00:04:24,060 Cool. 94 00:04:24,060 --> 00:04:29,390 >> Gerai, taigi su paieškos, kaip mes buvome tiesiog pasakyti prieš vertus, jei esate 95 00:04:29,390 --> 00:04:31,840 ketina ieškoti, jūs turite iš tikrųjų pakartoti 96 00:04:31,840 --> 00:04:33,660 per savo susietą sąrašą. 97 00:04:33,660 --> 00:04:38,530 Taigi, jei mes ieškome numerį 9, mes pradėti mūsų galvos 98 00:04:38,530 --> 00:04:41,520 ir kad mums primena pradžioje Mūsų susietą sąrašą, ar ne? 99 00:04:41,520 --> 00:04:44,600 Ir mes sakome, gerai, tai daro mazgas yra skaičių 9? 100 00:04:44,600 --> 00:04:45,690 Ne? 101 00:04:45,690 --> 00:04:47,500 >> Gerai, eikite į kitą. 102 00:04:47,500 --> 00:04:48,312 Sekite jį. 103 00:04:48,312 --> 00:04:49,520 Ar jame skaičių 9? 104 00:04:49,520 --> 00:04:50,570 Ne. 105 00:04:50,570 --> 00:04:51,550 Sekite kitą. 106 00:04:51,550 --> 00:04:55,490 >> Taigi, mes turime iš tikrųjų pakartoti per mūsų susietą sąrašą. 107 00:04:55,490 --> 00:05:00,070 Mes galime ne tik eiti tiesiai ten, kur 9 yra. 108 00:05:00,070 --> 00:05:05,860 Ir jei jus vaikinai iš tikrųjų nori matyti kai pseudo-kodas ten. 109 00:05:05,860 --> 00:05:10,420 Mes kai paieškos funkcija čia kad mano in-- ką reikia iš? 110 00:05:10,420 --> 00:05:13,110 111 00:05:13,110 --> 00:05:14,320 Ką manote? 112 00:05:14,320 --> 00:05:15,960 Taigi lengva. 113 00:05:15,960 --> 00:05:17,784 Kas tai yra? 114 00:05:17,784 --> 00:05:18,700 AUDITORIJA: [nesigirdi]. 115 00:05:18,700 --> 00:05:20,366 SPEAKER 1: skaičius mes ieškome. 116 00:05:20,366 --> 00:05:20,980 Teisė? 117 00:05:20,980 --> 00:05:22,875 Ir kas galėtų tai atitinka? 118 00:05:22,875 --> 00:05:25,020 Tai žymiklį? 119 00:05:25,020 --> 00:05:26,000 >> AUDITORIJA: mazgas. 120 00:05:26,000 --> 00:05:28,980 >> SPEAKER 1: mazgas į sąrašą kad mes ieškome, ar ne? 121 00:05:28,980 --> 00:05:33,700 Taigi, mes turime kai mazgai yra žymeklis čia. 122 00:05:33,700 --> 00:05:37,240 Tai vieta, kad ketina tikrai kartoti, kad mūsų sąraše. 123 00:05:37,240 --> 00:05:39,630 Mes nustatėme, kad lygus sąrašą nes tai tik 124 00:05:39,630 --> 00:05:44,380 nustatant ji lygi pradėti mūsų susietą sąrašą. 125 00:05:44,380 --> 00:05:50,660 >> Ir nors tai nėra NULL, o mes vis dar turime dalykų mūsų sąraše, 126 00:05:50,660 --> 00:05:55,580 patikrinkite, ar kad mazgas turi skaičius mes ieškome. 127 00:05:55,580 --> 00:05:57,740 Grąžina true. 128 00:05:57,740 --> 00:06:01,070 Kitaip, atnaujinti jį, ar ne? 129 00:06:01,070 --> 00:06:04,870 >> Jei jis yra NULL, mes išeiti mūsų while cikle ir grįžti klaidinga 130 00:06:04,870 --> 00:06:08,340 nes tai reiškia, kad mums nepavyko rasti jį. 131 00:06:08,340 --> 00:06:11,048 Ar visi gauti, kaip tai veikia? 132 00:06:11,048 --> 00:06:11,548 Gerai. 133 00:06:11,548 --> 00:06:14,940 134 00:06:14,940 --> 00:06:20,260 >> Taigi su įterpimą, turi tris skirtingus būdus. 135 00:06:20,260 --> 00:06:25,250 Galite Dėti galite pridėti ir jūs galite įdėti į asorti. 136 00:06:25,250 --> 00:06:28,215 Šiuo atveju, mes ketinate daryti Dėti. 137 00:06:28,215 --> 00:06:33,380 Ar kas nors žino, kaip tie, trys atvejai gali skirtis? 138 00:06:33,380 --> 00:06:36,920 >> Taigi pridėkite reiškia, kad jūs galėsite įdėti tai ne jūsų sąrašo priekyje. 139 00:06:36,920 --> 00:06:39,770 Taigi tai reikštų, kad nesvarbu, koks jūsų mazgas, nesvarbu 140 00:06:39,770 --> 00:06:43,160 kas vertė yra, jūs ketinate įdėti ją tiesiog čia, priekyje, gerai? 141 00:06:43,160 --> 00:06:45,160 Ji ketina būti pirmas elementas yra sąraše. 142 00:06:45,160 --> 00:06:49,510 >> Pridėjus tai, kad vyksta eiti į savo sąrašą, nugaros. 143 00:06:49,510 --> 00:06:54,010 Ir įdėkite į asorti reiškia, kad jūs ketina pateikti faktiškai į vietą 144 00:06:54,010 --> 00:06:57,700 kur ji saugo jūsų susijęs sąrašas rūšiuojami. 145 00:06:57,700 --> 00:07:00,810 Vėlgi, kaip jūs naudojate tie ir kai jūs naudojate 146 00:07:00,810 --> 00:07:02,530 jiems gali skirtis priklausomai nuo jūsų atveju. 147 00:07:02,530 --> 00:07:05,834 148 00:07:05,834 --> 00:07:07,750 Jei jis neturi reikia rūšiuoti, pridėkite linkęs 149 00:07:07,750 --> 00:07:10,460 būti tai, ką dauguma žmonių naudoti, nes jūs neturite 150 00:07:10,460 --> 00:07:15,680 turi eiti per visą sąrašą rasti pabaigą pridėti jį prie, tiesa? 151 00:07:15,680 --> 00:07:17,720 Jūs galite tiesiog klijuoti tiesiai. 152 00:07:17,720 --> 00:07:21,930 >> Taigi mes bus eiti per įterpimas 1 dabar. 153 00:07:21,930 --> 00:07:26,360 Taigi vienas dalykas, kad aš ruošiuosi labai rekomenduoju šia pset 154 00:07:26,360 --> 00:07:29,820 atkreipti dalykus, kaip visada. 155 00:07:29,820 --> 00:07:35,130 Tai labai svarbu, kad jūs atnaujinsite jūsų patarimų teisinga tvarka 156 00:07:35,130 --> 00:07:38,620 nes jei juos atnaujinti šiek tiek iš tam, 157 00:07:38,620 --> 00:07:42,210 jūs ketinate baigti prarasti dalių sąrašo. 158 00:07:42,210 --> 00:07:49,680 >> Taigi, pavyzdžiui, šiuo atveju, mes sako tiesiog taško galva 1. 159 00:07:49,680 --> 00:07:56,070 Jei mes tiesiog padaryti, kad neįrašę šį 1, 160 00:07:56,070 --> 00:07:58,570 mes neturime supratimo, ką 1 turėtų nurodyti dabar 161 00:07:58,570 --> 00:08:02,490 nes mes jau prarado, ką vadovas pabrėžė. 162 00:08:02,490 --> 00:08:05,530 Taigi vienas dalykas prisiminti kai darai Dėti 163 00:08:05,530 --> 00:08:09,630 yra išsaugoti tai, ką Galvos nurodo, pirma, 164 00:08:09,630 --> 00:08:15,210 tada iš naujo priskirti, o tada atnaujinkite ką jūsų naujasis mazgas turėtų nurodyti. 165 00:08:15,210 --> 00:08:20,870 166 00:08:20,870 --> 00:08:22,560 Šiuo atveju, tai yra vienas būdas tai padaryti. 167 00:08:22,560 --> 00:08:25,440 >> Taigi, jei mes padarė jį šiuo būdu kur mes tiesiog perskirstomas galvą, 168 00:08:25,440 --> 00:08:30,320 mes prarasime esmės DUK Visas sąrašas, tiesa? 169 00:08:30,320 --> 00:08:38,000 Vienas iš būdų tai padaryti yra turėti 1 tašką šalia, ir tada turėti galvos tašką 1. 170 00:08:38,000 --> 00:08:42,650 Arba jūs galite padaryti šiek tiek kaip laikinas saugojimas, kurį aš kalbėjau apie. 171 00:08:42,650 --> 00:08:45,670 >> Bet perskirstymo tavo rodykles teisinga tvarka 172 00:08:45,670 --> 00:08:48,750 bus labai, labai svarbu, kad šis pset. 173 00:08:48,750 --> 00:08:53,140 Priešingu atveju, jūs ketinate turėti maišos stalo arba pabandyti tai tik bus 174 00:08:53,140 --> 00:08:56,014 tik dalis žodžių, o tuomet you're-- mmhmm? 175 00:08:56,014 --> 00:08:58,930 AUDITORIJA: Koks buvo laikinas saugojimas dalykas, kurį buvo kalbi? 176 00:08:58,930 --> 00:09:00,305 SPEAKER 1: laikinas saugojimas. 177 00:09:00,305 --> 00:09:02,760 Taigi, iš esmės kito būdas galite tai padaryti 178 00:09:02,760 --> 00:09:07,650 yra saugoti galva kažko, kaip laikykite laikiną kintamąjį. 179 00:09:07,650 --> 00:09:11,250 Priskirti ją 1 ir tada atnaujinkite 1 taškas 180 00:09:11,250 --> 00:09:13,830 į ką galva naudojamas nurodyti. 181 00:09:13,830 --> 00:09:16,920 Taip, žinoma, daugiau elegantiškas, nes jums 182 00:09:16,920 --> 00:09:20,770 nereikia laikiną vertės, tačiau tik siūlyti kitą būdą tai padaryti. 183 00:09:20,770 --> 00:09:23,999 184 00:09:23,999 --> 00:09:25,790 Ir mes iš tikrųjų turime kai už tai kodas. 185 00:09:25,790 --> 00:09:28,080 Taigi susietas sąrašą, mes iš tikrųjų turi tam tikrą kodą. 186 00:09:28,080 --> 00:09:31,930 Taigi įterpti čia tai prepending. 187 00:09:31,930 --> 00:09:34,290 Taigi tai, įveda jį į galvą. 188 00:09:34,290 --> 00:09:38,820 >> Taigi pirmas dalykas, ką jums reikia sukurti naują mazgas, žinoma, 189 00:09:38,820 --> 00:09:40,790 ir patikrinkite, ar NULL. 190 00:09:40,790 --> 00:09:43,250 Visada geras. 191 00:09:43,250 --> 00:09:47,840 Ir tada jūs turite priskirti vertybes. 192 00:09:47,840 --> 00:09:51,260 Kiekvieną kartą, kai jūs sukuriate naują mazgas, jums nežinau, ką ji nukreipta į kitas, 193 00:09:51,260 --> 00:09:54,560 todėl jūs norite inicijuoti ją null. 194 00:09:54,560 --> 00:09:58,760 Jei jis galų gale nukreipta į kažką kita, jis bus perkeltas ir tai gerai. 195 00:09:58,760 --> 00:10:00,740 Jei tai pirmas dalykas, į sąrašą, ji turi 196 00:10:00,740 --> 00:10:04,270 atkreipti NULL nes tai sąrašo gale. 197 00:10:04,270 --> 00:10:12,410 >> Taigi tada įdėkite jį matome čia mes yra priskirti kitą reikšmę mūsų mazgas 198 00:10:12,410 --> 00:10:17,380 būti kokia galva, o tai, ką mes turėjome čia. 199 00:10:17,380 --> 00:10:19,930 Štai ką mes ką tik padarė. 200 00:10:19,930 --> 00:10:25,820 Ir tada mes priskiriame galvos iki taško į mūsų naują mazgą, nes atsimenu, 201 00:10:25,820 --> 00:10:31,090 Nauja tai kai Rodyklė į mazgą, Ir tai būtent tai, ką galva. 202 00:10:31,090 --> 00:10:34,370 Būtent todėl mes turi šią rodyklės accessor. 203 00:10:34,370 --> 00:10:37,030 204 00:10:37,030 --> 00:10:37,530 Cool? 205 00:10:37,530 --> 00:10:38,130 Mmhmm? 206 00:10:38,130 --> 00:10:41,100 >> AUDITORIJA: Ar turime inicijuoti naują Next NULL pirma, 207 00:10:41,100 --> 00:10:44,240 ar mes galime tiesiog inicijuoti jį į galvą? 208 00:10:44,240 --> 00:10:48,210 >> SPEAKER 1: Naujoji Kitas turi būti lygus NULL pradėti 209 00:10:48,210 --> 00:10:53,760 nes jūs nežinote, kur jis bus. 210 00:10:53,760 --> 00:10:56,100 Be to, tai yra natūra tiesiog patinka paradigmos. 211 00:10:56,100 --> 00:10:59,900 Jūs nustatote, kad lygus NULL, tik, kad įsitikinkite, kad visi jūsų bazės apima 212 00:10:59,900 --> 00:11:04,070 pries tai jokios paskirties pakeitimą taip, kad jūs visada garantuojama, kad jis bus 213 00:11:04,070 --> 00:11:08,880 būti nukreipta į tam tikra specifine verte prieš kaip šiukšlių vertę. 214 00:11:08,880 --> 00:11:12,210 Nes, taip, mes priskirti Naujas šalia automatiškai 215 00:11:12,210 --> 00:11:15,420 bet tai daugiau kaip gera praktika inicijuoti ją 216 00:11:15,420 --> 00:11:19,270 tokiu būdu ir tada perleisti. 217 00:11:19,270 --> 00:11:23,420 >> Gerai, kad dvigubai susietas sąrašus dabar. 218 00:11:23,420 --> 00:11:24,601 Ką mes manome? 219 00:11:24,601 --> 00:11:26,350 Koks skirtumas su dvigubai susietas sąrašus? 220 00:11:26,350 --> 00:11:30,750 221 00:11:30,750 --> 00:11:34,300 >> Taigi mūsų susijusių sąrašus, galime perkelti tik į vieną pusę, į dešinę? 222 00:11:34,300 --> 00:11:35,270 Mes turime tik šalia. 223 00:11:35,270 --> 00:11:36,760 Mes galime tik eiti į priekį. 224 00:11:36,760 --> 00:11:40,300 >> Su dvigubai susietas sąrašą mes taip pat galite perkelti atgal. 225 00:11:40,300 --> 00:11:44,810 Taigi, mes turime ne tik skaičius, kad mes norime saugoti, 226 00:11:44,810 --> 00:11:50,110 turime kur ji nurodo kitas ir kur mes tiesiog atėjo. 227 00:11:50,110 --> 00:11:52,865 Taigi tai leidžia kai geriau Sankryþos. 228 00:11:52,865 --> 00:11:56,620 229 00:11:56,620 --> 00:12:01,240 >> Taigi dvigubai susiję mazgai, labai panašus, tiesa? 230 00:12:01,240 --> 00:12:05,000 Skirtumas tik tas, dabar mes turėti šalia ir ankstesnių. 231 00:12:05,000 --> 00:12:06,235 Tai vienintelis skirtumas. 232 00:12:06,235 --> 00:12:09,570 233 00:12:09,570 --> 00:12:14,790 >> Taigi, jei mes Dėti arba append-- mes Neturime kodas tai iki here-- 234 00:12:14,790 --> 00:12:17,830 bet jei jums buvo išbandyti ir įdėkite jį, svarbiausia 235 00:12:17,830 --> 00:12:19,980 yra jums reikia padaryti kad jūs priskirdami 236 00:12:19,980 --> 00:12:23,360 tiek savo ankstesnio ir savo Kitas žymeklis teisingai. 237 00:12:23,360 --> 00:12:29,010 Taigi šiuo atveju, jūs, ne tik inicijuoti kitas, 238 00:12:29,010 --> 00:12:31,820 Jūs inicijuoti ankstesnę. 239 00:12:31,820 --> 00:12:36,960 Jei mes ne sąrašo galvos, mes būtų ne tik, kad galva lygi naujas, 240 00:12:36,960 --> 00:12:41,750 bet mūsų naujas ankstesnę dozę atkreipti į galvą, ar ne? 241 00:12:41,750 --> 00:12:43,380 >> Tai vienintelis skirtumas. 242 00:12:43,380 --> 00:12:47,200 O jei norite daugiau praktikos su tai su susijusiomis sąrašus, kuriuose įterpimo, 243 00:12:47,200 --> 00:12:49,900 su išbraukiant, su įdėklu į asorti sąrašą 244 00:12:49,900 --> 00:12:52,670 prašome patikrinti study.cs50.net. 245 00:12:52,670 --> 00:12:54,870 Yra daug puikių pratimų krūva. 246 00:12:54,870 --> 00:12:55,870 Aš labai rekomenduoju juos. 247 00:12:55,870 --> 00:12:59,210 Aš noriu, kad mes turėjome laiko eiti per juos bet ten iš duomenų struktūrų daug 248 00:12:59,210 --> 00:13:01,530 perėmė kamuolį. 249 00:13:01,530 --> 00:13:02,650 >> Gerai, kad maišos lenteles. 250 00:13:02,650 --> 00:13:07,070 Tai turbūt pats naudinga tiek Jūsų pset 251 00:13:07,070 --> 00:13:11,090 čia, nes jūs ketinate būti Įgyvendinant vieną iš šių arba pabandyti. 252 00:13:11,090 --> 00:13:12,200 Man labai patinka maišos lenteles. 253 00:13:12,200 --> 00:13:13,110 Jie gana kietas. 254 00:13:13,110 --> 00:13:17,080 >> Taigi, iš esmės tai, ką atsitinka maišos lentelė 255 00:13:17,080 --> 00:13:22,050 yra tada, kai tikrai reikia greitai įvesti, ištrinti ir peržvalgos. 256 00:13:22,050 --> 00:13:25,010 Tai yra tai, kas mes esame pirmenybę tam maišos lentelė. 257 00:13:25,010 --> 00:13:29,500 Jie gali gauti gana didelis, bet kaip pamatysite su bando, 258 00:13:29,500 --> 00:13:33,040 yra dalykų, kurie yra daug didesni. 259 00:13:33,040 --> 00:13:38,330 >> Bet iš esmės, visi maišos lentelė maišos funkcija 260 00:13:38,330 --> 00:13:47,215 kad jums pasakys, kuris kibirą įdėti kiekvienas savo duomenis, kiekvienam iš jūsų elementų. 261 00:13:47,215 --> 00:13:51,140 Paprastas būdas galvoti apie maišos lentelė yra tai, kad tai tik kibirai dalykų, 262 00:13:51,140 --> 00:13:51,770 tiesa? 263 00:13:51,770 --> 00:13:59,720 Taigi, kai jūs rūšiavimas dalykus kaip pirmąją raidę savo vardą, 264 00:13:59,720 --> 00:14:01,820 kad tipo kaip maišos lentelėje. 265 00:14:01,820 --> 00:14:06,180 >> Taigi jūs vaikinai, jei aš buvo grupėje į grupes kas prasideda vardas 266 00:14:06,180 --> 00:14:11,670 su daugiau nei čia, arba tas, kas yra gimtadienis yra sausio, vasario, kovo, 267 00:14:11,670 --> 00:14:15,220 kas, kad yra veiksmingiau sukurti maišos lentelę. 268 00:14:15,220 --> 00:14:18,120 Tai tiesiog sukurti kibirus, kad galimybę rūšiuoti elementus į 269 00:14:18,120 --> 00:14:19,520 taip, kad jūs galite juos rasti lengviau. 270 00:14:19,520 --> 00:14:22,300 Taigi tokiu būdu, kai man reikia rasti iš jūsų, 271 00:14:22,300 --> 00:14:24,680 Aš neturiu ieškoti per kiekvieną savo pavardes. 272 00:14:24,680 --> 00:14:29,490 Galiu būti kaip, oh, aš žinau, kad Danielle gimtadienis yra in-- 273 00:14:29,490 --> 00:14:30,240 AUDITORIJA: --April. 274 00:14:30,240 --> 00:14:30,948 SPEAKER 1: Balandžio. 275 00:14:30,948 --> 00:14:33,120 Taigi man atrodo, mano balandis kibiras, ir su bet sėkmės, 276 00:14:33,120 --> 00:14:38,270 ji bus viena iš ten tik ir mano laikas buvo pastovus šia prasme, 277 00:14:38,270 --> 00:14:41,230 o jei turiu ieškoti per visa krūva žmonių, 278 00:14:41,230 --> 00:14:43,090 jis ketina imtis daug ilgiau. 279 00:14:43,090 --> 00:14:45,830 Taigi maišos lentelės tikrai tik kibirai. 280 00:14:45,830 --> 00:14:48,630 Lengvas būdas galvoti apie juos. 281 00:14:48,630 --> 00:14:52,930 >> Taigi labai svarbus dalykas apie maišos lentelė maišos funkcija. 282 00:14:52,930 --> 00:14:58,140 Taigi ką aš ką tik kalbėjau apie, pavyzdžiui, Jūsų pirmoji raidė jūsų vardas 283 00:14:58,140 --> 00:15:01,450 ar jūsų gimtadienis mėnesį Šiuos pratimus 284 00:15:01,450 --> 00:15:03,070 tikrai koreliuoja su maišos funkcija. 285 00:15:03,070 --> 00:15:08,900 Tai tiesiog nuspręsti, kelias, kuris kaušas esi elemento eina į, gerai? 286 00:15:08,900 --> 00:15:14,850 Taigi šiam pset galite ieškoti beveik bet maišos funkcija norite. 287 00:15:14,850 --> 00:15:16,030 >> Neturi būti savo. 288 00:15:16,030 --> 00:15:21,140 Yra keletas tikrai cool tie iš ten, kad padaryti visus crazy matematika rūšių. 289 00:15:21,140 --> 00:15:25,170 Ir jei jūs norite, kad jūsų Korektorius super greitai, 290 00:15:25,170 --> 00:15:27,620 Aš, be abejo, pažvelgti į vieną iš jų. 291 00:15:27,620 --> 00:15:32,390 >> Tačiau taip pat yra paprastų, kaip Compute 292 00:15:32,390 --> 00:15:39,010 iš žodžių, suma kaip Kiekviena raidė turi numerį. 293 00:15:39,010 --> 00:15:39,940 Apskaičiuojamas sumą. 294 00:15:39,940 --> 00:15:42,230 Kuris lemia kibirą. 295 00:15:42,230 --> 00:15:45,430 Jie taip pat turi lengvai tuos, tiesiog kaip visi 's čia 296 00:15:45,430 --> 00:15:47,050 visi B čia. 297 00:15:47,050 --> 00:15:48,920 Bet kuris iš tų vienas. 298 00:15:48,920 --> 00:15:55,770 >> Iš esmės, tai tiesiog jums pasakys, kuris masyvas indeksuoti jūsų elementas turėtų eiti į. 299 00:15:55,770 --> 00:15:58,690 Tiesiog sprendžiant bucket-- tai viskas maišos funkcija. 300 00:15:58,690 --> 00:16:04,180 Taigi čia mes turime pavyzdį, kuris yra tiesiog pirmoji raidė eilutę 301 00:16:04,180 --> 00:16:05,900 kad aš tik kalbu. 302 00:16:05,900 --> 00:16:11,900 >> Taigi, jūs turite tam tikrą maišos tai tik Raide savo styginių minus, 303 00:16:11,900 --> 00:16:16,090 kuri duos jums kai skaičius tarp 0 ir 25. 304 00:16:16,090 --> 00:16:20,790 Ir tai, ką jūs norite daryti yra įsitikinkite, kad tai yra 305 00:16:20,790 --> 00:16:24,110 Jūsų maišos dydis table-- kiek kibirai yra. 306 00:16:24,110 --> 00:16:25,860 Su daugeliu iš jų maišos funkcijos, jie 307 00:16:25,860 --> 00:16:31,630 bus grąžinti vertybes, galėtų būti gerokai aukštesnis segmentų skaičių 308 00:16:31,630 --> 00:16:33,610 kad jūs iš tikrųjų turi jūsų maišos lentelės, 309 00:16:33,610 --> 00:16:37,240 todėl jums reikia padaryti Būtinai ir mod tie. 310 00:16:37,240 --> 00:16:42,190 Priešingu atveju, jis ketina pasakyti, oh, tai turėtų būti kibirą 5000 311 00:16:42,190 --> 00:16:46,040 bet jūs turite tik 30 kibirai Jūsų maišos lentelė. 312 00:16:46,040 --> 00:16:49,360 Ir, žinoma, mes visi žinome, kad tai atves prie kai kurių kvailai klaidų. 313 00:16:49,360 --> 00:16:52,870 Todėl įsitikinkite, kad mod dydžio jūsų maišos lentelės. 314 00:16:52,870 --> 00:16:58,430 315 00:16:58,430 --> 00:16:58,930 Cool. 316 00:16:58,930 --> 00:17:00,506 Taigi susidūrimų. 317 00:17:00,506 --> 00:17:02,620 Ar visi gerai iki šiol? 318 00:17:02,620 --> 00:17:03,120 Mmhmm? 319 00:17:03,120 --> 00:17:05,900 >> AUDITORIJA: kodėl jis grįžti tokį masinį vertę? 320 00:17:05,900 --> 00:17:09,210 >> SPEAKER 1: Priklausomai nuo algoritmas kad jūsų maišos funkcija naudoja. 321 00:17:09,210 --> 00:17:12,270 Kai kurie iš jų bus padaryti pamišęs daugyba. 322 00:17:12,270 --> 00:17:16,270 Ir visa tai apie tai tolygus, 323 00:17:16,270 --> 00:17:18,490 todėl jie ką nors tikrai beprotiškai kartais. 324 00:17:18,490 --> 00:17:20,960 Tai viskas. 325 00:17:20,960 --> 00:17:22,140 Ką nors? 326 00:17:22,140 --> 00:17:22,829 Gerai. 327 00:17:22,829 --> 00:17:24,480 >> Taigi susidūrimų. 328 00:17:24,480 --> 00:17:29,270 Iš esmės, kaip jau minėjau, geriausiu atveju, 329 00:17:29,270 --> 00:17:32,040 bet kibiras žiūriu į tai teks vienas dalykas, 330 00:17:32,040 --> 00:17:34,160 todėl aš neturiu ieškoti ne visi, tiesa? 331 00:17:34,160 --> 00:17:37,040 Aš tiek žinau, tai ten ar tai ne, ir tai, ką mes iš tikrųjų norime. 332 00:17:37,040 --> 00:17:43,960 Bet jei mes turime dešimtis tūkstančių duomenų taškai ir mažiau nei už tą skaičių 333 00:17:43,960 --> 00:17:48,700 kaušai, mes ketiname turėti Susidūrimai kur galiausiai kažkas 334 00:17:48,700 --> 00:17:54,210 teks baigti su kibiras, kad jau turi elementą. 335 00:17:54,210 --> 00:17:57,390 >> Taigi kyla klausimas, ką darome tokiu atveju? 336 00:17:57,390 --> 00:17:58,480 Ką mes darome? 337 00:17:58,480 --> 00:17:59,300 Mes jau turime kažką ten? 338 00:17:59,300 --> 00:18:00,060 Ar mes tiesiog mesti jį iš? 339 00:18:00,060 --> 00:18:00,700 >> Ne. 340 00:18:00,700 --> 00:18:01,980 Mes turime išlaikyti abu. 341 00:18:01,980 --> 00:18:06,400 Taigi būdas, kad mes paprastai padaryti tai, ką? 342 00:18:06,400 --> 00:18:08,400 Kas yra duomenų struktūra mes tiesiog kalbėjomės apie? 343 00:18:08,400 --> 00:18:09,316 AUDITORIJA: Susijęs sąrašas. 344 00:18:09,316 --> 00:18:10,500 SPEAKER 1: susijęs sąrašas. 345 00:18:10,500 --> 00:18:16,640 Taigi dabar, užuot kiekvienas iš jų kibirai tiesiog vieną elementą, 346 00:18:16,640 --> 00:18:24,020 jis ketina būti susietas sąrašą elementus, kurie buvo maiša į jį. 347 00:18:24,020 --> 00:18:27,588 Gerai, ar visi rūšies gauti šią idėją? 348 00:18:27,588 --> 00:18:30,546 Nes negalėjome masyvą nes mes nežinome, kiek daug 349 00:18:30,546 --> 00:18:31,730 ketinate būti ten. 350 00:18:31,730 --> 00:18:36,540 Susijęs sąrašas leidžia mums turite tik tikslaus skaičiaus, kad 351 00:18:36,540 --> 00:18:38,465 yra maiša į tą kibirą, tiesa? 352 00:18:38,465 --> 00:18:42,260 353 00:18:42,260 --> 00:18:50,500 >> Taigi linijinis zondavimo yra iš esmės tai idea-- 354 00:18:50,500 --> 00:18:52,300 tai vienas iš būdų kovoti su susidūrimo. 355 00:18:52,300 --> 00:18:58,010 Ką jūs galite padaryti, tai, jeigu tai atvejis, uogų buvo maiša į 1 356 00:18:58,010 --> 00:19:01,130 ir mes jau turime kažkas ten, jūs tiesiog 357 00:19:01,130 --> 00:19:04,840 nesustoti, kol Apie pastebėtas tuščią lizdą. 358 00:19:04,840 --> 00:19:06,370 Štai vienas iš būdų susitvarkyti. 359 00:19:06,370 --> 00:19:09,020 Kitas būdas spręsti tai yra tai, ką mes ką tik 360 00:19:09,020 --> 00:19:12,280 called-- susijęs sąrašas yra vadinamas grupavimo. 361 00:19:12,280 --> 00:19:20,510 >> Taigi ši idėja veikia, jei Jūsų maišos lentelė manote 362 00:19:20,510 --> 00:19:24,150 yra daug didesnis nei Jūsų duomenys nustatyti arba jei 363 00:19:24,150 --> 00:19:28,870 nori pabandyti ir sumažinti Grupavimo kol jis būtinas. 364 00:19:28,870 --> 00:19:34,050 Taigi vienas dalykas yra tiesinė Atidžiau akivaizdžiai reiškia 365 00:19:34,050 --> 00:19:37,290 kad jūsų maišos funkcija yra ne visai taip pat naudinga, 366 00:19:37,290 --> 00:19:42,200 nes jūs ketinate baigti naudojant Jūsų maišos funkcija, gauti iki taško, 367 00:19:42,200 --> 00:19:46,400 Jūs linijinis zondas iki kai vieta, kuri yra prieinama. 368 00:19:46,400 --> 00:19:49,670 Bet dabar, žinoma, nieko kita, baigiasi ten, 369 00:19:49,670 --> 00:19:52,050 jūs ketinate turi ieškoti net toliau. 370 00:19:52,050 --> 00:19:55,650 >> Ir ten yra daug daugiau paieška sąskaita, kad 371 00:19:55,650 --> 00:19:59,820 eina į įvedusi elementą jūsų maišos lentelės dabar, tiesa? 372 00:19:59,820 --> 00:20:05,640 Ir dabar, kai jūs einate ir pabandyti ir sužinoti uoga vėl, jūs ketinate maišos jį, 373 00:20:05,640 --> 00:20:07,742 ir jis ketina pasakyti, oh, ieškoti kibirą 1, 374 00:20:07,742 --> 00:20:09,700 ir ji nesiruošia būti į kibirą 1, todėl jūs 375 00:20:09,700 --> 00:20:11,970 teks feed per šių poilsio. 376 00:20:11,970 --> 00:20:17,720 Taigi kartais verta, tačiau daugeliu atvejų, 377 00:20:17,720 --> 00:20:22,660 mes ketiname pasakyti, kad grupavimo, ką jūs norite daryti. 378 00:20:22,660 --> 00:20:25,520 >> Taigi, mes kalbėjome apie tai anksčiau. 379 00:20:25,520 --> 00:20:27,812 Gavau šiek prieš save. 380 00:20:27,812 --> 00:20:33,560 Bet grupavimo iš esmės, kad kiekvienas savo maišos lentelė kibiras 381 00:20:33,560 --> 00:20:36,120 yra tik susijęs sąrašas. 382 00:20:36,120 --> 00:20:39,660 >> Taigi dar vienas būdas, arba daugiau techninės būdas, galvoti apie maišos lentelė 383 00:20:39,660 --> 00:20:44,490 yra tai, kad tai tik masyvas Susietų sąrašus, kurie 384 00:20:44,490 --> 00:20:49,330 kai rašote savo žodyną, ir bandote jį įkelti, 385 00:20:49,330 --> 00:20:52,070 galvoju apie tai, kaip masyvas, susijusių sąrašus 386 00:20:52,070 --> 00:20:54,390 bus daug lengviau jums inicijuoti. 387 00:20:54,390 --> 00:20:57,680 >> AUDITORIJA: Taigi maišos lentelė turi iš anksto nustatytą dydį, 388 00:20:57,680 --> 00:20:58,980 kaip [nesigirdi] kaušų? 389 00:20:58,980 --> 00:20:59,220 >> SPEAKER 1: Teisė. 390 00:20:59,220 --> 00:21:01,655 Todėl jis turi nustatytą skaičių kibirai, kad jūs determine-- 391 00:21:01,655 --> 00:21:03,530 kurie vaikinai turėtų nedvejodami žaisti. 392 00:21:03,530 --> 00:21:05,269 Tai gali būti gana kietas pamatyti, kas vyksta 393 00:21:05,269 --> 00:21:06,810 kaip galite pakeisti savo numerį Kaušų. 394 00:21:06,810 --> 00:21:09,410 395 00:21:09,410 --> 00:21:11,510 Bet taip, ji turi nustatyti skaičius kibirai. 396 00:21:11,510 --> 00:21:15,360 Ką, Jūs galėsite taip daug elementų, kaip jums reikia 397 00:21:15,360 --> 00:21:19,350 tai atskiras grupavimo kur jus susiejo sąrašus kiekviename segmente. 398 00:21:19,350 --> 00:21:22,850 Tai reiškia, kad jūsų maišos lentelę bus lygiai dydis 399 00:21:22,850 --> 00:21:25,440 kad jums reikia, kad ji būtų, ar ne? 400 00:21:25,440 --> 00:21:27,358 Štai esmė susijusių sąrašus. 401 00:21:27,358 --> 00:21:30,850 402 00:21:30,850 --> 00:21:32,480 Cool. 403 00:21:32,480 --> 00:21:38,780 >> Taigi kiekvienas Gerai ten? 404 00:21:38,780 --> 00:21:39,801 Gerai. 405 00:21:39,801 --> 00:21:40,300 Ak. 406 00:21:40,300 --> 00:21:41,860 Kas atsitiko? 407 00:21:41,860 --> 00:21:42,960 Tikrai dabar. 408 00:21:42,960 --> 00:21:45,250 Atspėk kas manimi nužudyti mane. 409 00:21:45,250 --> 00:21:52,060 >> Gerai, mes ketiname eiti į bando, kurie šiek tiek beprotiška. 410 00:21:52,060 --> 00:21:53,140 Man patinka maišos lenteles. 411 00:21:53,140 --> 00:21:54,460 Manau, kad jie tikrai gerai. 412 00:21:54,460 --> 00:21:56,710 Bando yra cool, taip pat. 413 00:21:56,710 --> 00:21:59,590 >> Taigi ar kas nors prisiminti, ką pabandyti tai? 414 00:21:59,590 --> 00:22:01,740 Turėtumėte perėjo jis trumpai veikia paskaitos? 415 00:22:01,740 --> 00:22:04,570 416 00:22:04,570 --> 00:22:06,377 Ar pamenate natūra, kaip ji veikia? 417 00:22:06,377 --> 00:22:08,460 AUDITORIJA: Aš tiesiog linksinčią kad mes eiti per jį. 418 00:22:08,460 --> 00:22:09,626 SPEAKER 1: Mes eiti per jį. 419 00:22:09,626 --> 00:22:13,100 Gerai, mes tikrai ketiname eiti per tai dabar yra tai, ką mes pasakyti. 420 00:22:13,100 --> 00:22:14,860 >> AUDITORIJA: Štai už apsikeitimo medį. 421 00:22:14,860 --> 00:22:15,280 >> SPEAKER 1: Taip. 422 00:22:15,280 --> 00:22:16,196 Tai paieškos medis. 423 00:22:16,196 --> 00:22:16,960 Nuostabus. 424 00:22:16,960 --> 00:22:23,610 Taigi vienas dalykas, kad pranešimas čia yra, kad mes ieško individualių personažų 425 00:22:23,610 --> 00:22:24,480 čia, tiesa? 426 00:22:24,480 --> 00:22:29,710 >> Taigi prieš mūsų maišos funkcija, mes buvo ieško žodžių, kaip visumos, 427 00:22:29,710 --> 00:22:32,270 ir dabar mes ieškome daugiau ne simbolių, tiesa? 428 00:22:32,270 --> 00:22:38,380 Taigi, mes turime Maxwell čia ir Mendel. 429 00:22:38,380 --> 00:22:47,840 Taigi, iš esmės try-- būdas galvoti apie tai, kad kiekvienas lygis čia 430 00:22:47,840 --> 00:22:49,000 yra raidžių masyvas. 431 00:22:49,000 --> 00:22:53,310 432 00:22:53,310 --> 00:22:55,790 Taigi tai yra jūsų šakninis mazgas čia, tiesa? 433 00:22:55,790 --> 00:23:01,980 Tai turi visus simbolius abėcėlė už kiekvieno žodžio pradžioje. 434 00:23:01,980 --> 00:23:06,480 >> Ir tai, ką jūs norite daryti yra tarkim, Gerai, mes kai M žodį. 435 00:23:06,480 --> 00:23:10,590 Mes ketiname ieškoti Maxwell, todėl mes einame į M. ir M taškų visuma 436 00:23:10,590 --> 00:23:14,800 kitas masyvas, kur kiekvienas žodis, taip ilgai, kaip ten 437 00:23:14,800 --> 00:23:17,044 yra žodis, kuris turi A kaip antruoju minėtuoju raštu 438 00:23:17,044 --> 00:23:19,460 kol žodis, turi B, kaip antruoju minėtuoju raštu 439 00:23:19,460 --> 00:23:24,630 jis turės žymiklį į kažkokį kitą masyvą. 440 00:23:24,630 --> 00:23:29,290 >> Tikriausiai ne Žodis MP kažkas, 441 00:23:29,290 --> 00:23:32,980 būdamas P padėtį tai masyvas, tai būtų tik NULL. 442 00:23:32,980 --> 00:23:38,840 Jis sakydavo: Gerai, nėra žodžio , kuri po kurio M P, gerai? 443 00:23:38,840 --> 00:23:43,100 Taigi, jei mes apie tai galvoti, kiekvienam viena iš šių mažesnių dalykų 444 00:23:43,100 --> 00:23:47,990 iš tikrųjų yra vienas iš šių dideli masyvai nuo A iki Z. 445 00:23:47,990 --> 00:23:55,064 Taigi, ką gali vienas iš dalykų, kad yra natūra iš pabandyti drobeko? 446 00:23:55,064 --> 00:23:56,500 >> AUDITORIJA: daug atminties. 447 00:23:56,500 --> 00:23:59,940 >> SPEAKER 1: Tai atminties ton, tiesa? 448 00:23:59,940 --> 00:24:08,750 Kiekvienas iš šių blokų čia atstovauja 26 skyriai 26 elementų masyvą. 449 00:24:08,750 --> 00:24:13,680 Taigi bando gauti neįtikėtinai erdvę sunkus. 450 00:24:13,680 --> 00:24:17,100 >> Bet jie yra labai greitai. 451 00:24:17,100 --> 00:24:22,540 Taip neįtikėtinai greitai, bet tikrai erdvę neefektyviai. 452 00:24:22,540 --> 00:24:24,810 Rūšies turite išsiaiškinti iš kurių vienas nori. 453 00:24:24,810 --> 00:24:29,470 Tai yra tikrai cool jūsų pset, tačiau jie užima daug atminties, 454 00:24:29,470 --> 00:24:30,290 todėl jūs kompromisą. 455 00:24:30,290 --> 00:24:31,480 Taip? 456 00:24:31,480 --> 00:24:34,300 >> AUDITORIJA: Ar būtų galima įsteigti pabandyti ir tada 457 00:24:34,300 --> 00:24:37,967 Kai turite visus duomenų į ją, kad jūs need-- 458 00:24:37,967 --> 00:24:39,550 Aš nežinau, jei tai būtų prasminga. 459 00:24:39,550 --> 00:24:42,200 Buvau atsikratyti visų NULL simbolių, bet tada 460 00:24:42,200 --> 00:24:42,910 jūs negalėsite them-- indekso 461 00:24:42,910 --> 00:24:43,275 >> SPEAKER 1: Jūs vis dar reikia. 462 00:24:43,275 --> 00:24:44,854 >> AUDITORIJA: - taip pat, kiekvieną kartą. 463 00:24:44,854 --> 00:24:45,520 SPEAKER 1: Taip. 464 00:24:45,520 --> 00:24:50,460 Jums reikia null simbolių leiskite jūs žinote, jei ten ne žodis ten. 465 00:24:50,460 --> 00:24:52,040 Ben tu turi ką norite? 466 00:24:52,040 --> 00:24:52,540 Gerai. 467 00:24:52,540 --> 00:24:54,581 Gerai, kad mes ketiname eiti truputį daugiau 468 00:24:54,581 --> 00:24:58,920 į technines smulkmenas, už pabandykite ir dirbti kaip pavyzdys. 469 00:24:58,920 --> 00:25:01,490 >> Gerai, kad tai yra tas pats dalykas. 470 00:25:01,490 --> 00:25:06,290 Kadangi susietoje sąrašą, mūsų pagrindinis rūšies of-- kas žodis, kaip reikia? - 471 00:25:06,290 --> 00:25:08,350 kaip statybinis blokas buvo mazgas. 472 00:25:08,350 --> 00:25:12,280 Be pabandyti, mes taip pat turime mazgas, bet jis skirtingai apibrėžiama. 473 00:25:12,280 --> 00:25:17,000 >> Taigi, mes turime šiek tiek bool kad atstovauja ar žodžio iš tikrųjų 474 00:25:17,000 --> 00:25:23,530 egzistuoja šioje vietoje, ir tada mes kai masyvas here-- arba, tiksliau, 475 00:25:23,530 --> 00:25:27,840 tai rodyklė į masyvas 27 simbolių. 476 00:25:27,840 --> 00:25:33,339 Ir tai yra dėl, šiuo atveju, tai 27-- aš tikras, kad visi esame kaip, palaukite, 477 00:25:33,339 --> 00:25:34,880 yra 26 raidės abėcėlės. 478 00:25:34,880 --> 00:25:36,010 Kodėl mes turime 27? 479 00:25:36,010 --> 00:25:37,870 >> Taigi priklausomai nuo kaip jums įgyvendinti tai, 480 00:25:37,870 --> 00:25:43,240 tai iš pset kad leidžiama kabutes. 481 00:25:43,240 --> 00:25:46,010 Štai kodėl papildomas vienas. 482 00:25:46,010 --> 00:25:50,500 Jūs taip pat turėsite kai atvejai null terminatorines 483 00:25:50,500 --> 00:25:53,230 yra įtraukta kaip vienas iš simboliai, tai leidžiama, 484 00:25:53,230 --> 00:25:56,120 ir tai, kaip jie patikrins pamatyti, jei ji Žodžio pabaiga. 485 00:25:56,120 --> 00:26:01,340 Jei jus domina, patikrinkite Kevin vaizdo study.cs50, 486 00:26:01,340 --> 00:26:04,790 taip pat turi Vikipedija gerų ištekliai ten. 487 00:26:04,790 --> 00:26:09,000 >> Bet mes ketiname eiti per ką tik natūra kaip jums gali dirbti per pabandyti 488 00:26:09,000 --> 00:26:11,010 jei jums suteikta viena. 489 00:26:11,010 --> 00:26:16,230 Taigi, mes turime super paprasta, kad čia turi žodžiai "šikšnosparnis" ir "Zoom" jais. 490 00:26:16,230 --> 00:26:18,920 Ir, kaip matome čia, tai mažai vietos čia 491 00:26:18,920 --> 00:26:22,560 simbolizuoja mūsų bool kad sako, taip, tai yra žodis. 492 00:26:22,560 --> 00:26:27,060 Ir tada tai turi DUK matricos simbolių, tiesa? 493 00:26:27,060 --> 00:26:33,480 >> Taigi, mes ketiname eiti per rasti GPGB "šiame pabandyti. 494 00:26:33,480 --> 00:26:38,340 Taigi pradėti viršuje, tiesa? 495 00:26:38,340 --> 00:26:46,290 Ir mes žinome, kad b atitinka antra indeksas, antrasis elementas 496 00:26:46,290 --> 00:26:47,840 šiame masyve, nes ir b. 497 00:26:47,840 --> 00:26:51,340 Taigi maždaug antrasis. 498 00:26:51,340 --> 00:26:58,820 >> Ir jis sako, gerai, kietas, atlikite kad į Kitas masyvas, nes jei mes prisimename, 499 00:26:58,820 --> 00:27:02,160 tai nereiškia, kad kiekvienas iš jų iš tikrųjų sudaro elementas. 500 00:27:02,160 --> 00:27:07,110 Kiekvienas iš šių masyvų reikšmę Rodyklė, tiesa? 501 00:27:07,110 --> 00:27:10,030 Tai svarbus skirtumas, kad. 502 00:27:10,030 --> 00:27:13,450 >> Aš žinau, tai ketina be-- bando yra tikrai sunku gauti dėl pirmą kartą, 503 00:27:13,450 --> 00:27:15,241 todėl net jei tai antrą ar trečią kartą 504 00:27:15,241 --> 00:27:18,370 ir jis vis dar geras iš tariamas sunku, 505 00:27:18,370 --> 00:27:21,199 Pažadu, jei jūs einate žiūrėti trumpas rytoj, 506 00:27:21,199 --> 00:27:22,740 tai turbūt padaryti daug daugiau prasmės. 507 00:27:22,740 --> 00:27:23,890 Tai užtrunka daug virškinti. 508 00:27:23,890 --> 00:27:27,800 Aš vis dar kartais esu kaip, palauk, kas pabandyti? 509 00:27:27,800 --> 00:27:29,080 Kaip man tai naudoti? 510 00:27:29,080 --> 00:27:33,880 >> Taigi, mes turime b šiuo atveju, kuris yra mūsų antras puslapis. 511 00:27:33,880 --> 00:27:40,240 Jei mes turėjo, tarkim, c arba d arba bet kuri kita raidė, 512 00:27:40,240 --> 00:27:45,810 turime žemėlapį, kad atgal į indeksą mūsų masyvas kad atitinka. 513 00:27:45,810 --> 00:27:56,930 Taigi, mes imsis kaip rchar ir mes tiesiog atimti ne į žemėlapį ją 0-25. 514 00:27:56,930 --> 00:27:58,728 Visi geri, kaip mes map mūsų personažus? 515 00:27:58,728 --> 00:28:00,440 Gerai. 516 00:28:00,440 --> 00:28:05,980 >> Taigi mes einame į antrąjį vienas ir mes matyti, kad taip, tai nėra NULL. 517 00:28:05,980 --> 00:28:07,780 Galime pereiti prie šio kito masyvo. 518 00:28:07,780 --> 00:28:12,300 Taigi mes einame į šį kito masyvo čia. 519 00:28:12,300 --> 00:28:15,500 >> Ir mes sakome, gerai, dabar mes reikia pamatyti, jei yra čia. 520 00:28:15,500 --> 00:28:18,590 Ar null arba daro iš tikrųjų eiti į priekį? 521 00:28:18,590 --> 00:28:21,880 Taigi iš tikrųjų juda perduoti šiame masyve. 522 00:28:21,880 --> 00:28:24,570 Ir mes sakome, gerai, t yra mūsų paskutinis laiškas. 523 00:28:24,570 --> 00:28:27,580 Taigi mes einame į t tuo indeksą. 524 00:28:27,580 --> 00:28:30,120 Ir tada mes judėti į priekį nes ten dar viena. 525 00:28:30,120 --> 00:28:38,340 Ir tai vienas iš esmės sako, kad taip, jis sako, kad yra žodis here-- 526 00:28:38,340 --> 00:28:41,750 kad jei atlikite tai Kelias, turite atvykti 527 00:28:41,750 --> 00:28:43,210 ne vienu žodžiu, kurį mes žinome, yra "šikšnosparnis". 528 00:28:43,210 --> 00:28:43,800 Taip? 529 00:28:43,800 --> 00:28:46,770 >> AUDITORIJA: Ar šis standartas turės kad kaip 0 ir indekso tada turėti bent 1 rūšiuoti 530 00:28:46,770 --> 00:28:47,660 arba turėti ne, galų gale? 531 00:28:47,660 --> 00:28:48,243 >> SPEAKER 1: Ne 532 00:28:48,243 --> 00:28:55,360 Taigi, jei mes pažvelgti atgal į mūsų deklaracija čia, tai bool, 533 00:28:55,360 --> 00:28:59,490 todėl savo elementas jūsų mazgas. 534 00:28:59,490 --> 00:29:03,331 Taigi, tai nėra dalis masyvo. 535 00:29:03,331 --> 00:29:03,830 Cool. 536 00:29:03,830 --> 00:29:08,370 Taigi, kai mes baigsime žodį ir mes Šiuo masyvo, ką mes norime daryti 537 00:29:08,370 --> 00:29:12,807 yra padaryti čekį tai žodis. 538 00:29:12,807 --> 00:29:14,390 Ir šiuo atveju, jis sugrįš taip. 539 00:29:14,390 --> 00:29:17,220 540 00:29:17,220 --> 00:29:24,090 >> Taigi dėl šio rašto, mes žinome, kad "zoologijos" - mes žinome, kaip žmogui, kad "zoologijos sodas" yra žodis, 541 00:29:24,090 --> 00:29:24,820 tiesa? 542 00:29:24,820 --> 00:29:28,990 Bet pabandyti čia būtų sako, ne, tai ne. 543 00:29:28,990 --> 00:29:33,980 Ir sakyčiau, kad, nes mes ji netaikoma kaip žodis čia. 544 00:29:33,980 --> 00:29:40,440 Nors mes galime feed iki šio masyvo, 545 00:29:40,440 --> 00:29:43,890 tai bandymas sakyčiau, kad ne, zoo nėra jūsų žodyną 546 00:29:43,890 --> 00:29:47,070 nes mes turime ne paskirta kaip tokią. 547 00:29:47,070 --> 00:29:52,870 >> Taigi vienas iš būdų tai padaryti that-- Oi, atsiprašau, tai vienas. 548 00:29:52,870 --> 00:29:59,450 Taigi, šiuo atveju, "zoo" yra ne žodis, bet jis yra mūsų pabandyti. 549 00:29:59,450 --> 00:30:05,690 Bet šis, sako, kad mes norime jį pristatyti žodį "pirtis", kas atsitinka 550 00:30:05,690 --> 00:30:08,260 yra sekame through-- b, a, t. 551 00:30:08,260 --> 00:30:11,820 Mes šiame masyve ir mes einame ieškoti val. 552 00:30:11,820 --> 00:30:15,220 >> Šiuo atveju, kai mes ieškoti rodyklės ne h, 553 00:30:15,220 --> 00:30:17,890 tai nukreipta NULL, gerai? 554 00:30:17,890 --> 00:30:20,780 Taigi, jei tai aiškiai nukreipta į kitą masyvą, 555 00:30:20,780 --> 00:30:25,000 Jūs prielaidą, kad visi žymekliai šiame masyve yra nukreipta į null. 556 00:30:25,000 --> 00:30:28,270 Taigi šiuo atveju yra nukreipta h null todėl mes negalime nieko daryti, 557 00:30:28,270 --> 00:30:31,540 todėl taip pat grįžti false "vonia" yra ne čia. 558 00:30:31,540 --> 00:30:34,102 559 00:30:34,102 --> 00:30:35,810 Taigi, dabar mes tikrai ketina pereiti 560 00:30:35,810 --> 00:30:39,790 kaip mes turime iš tikrųjų pasakyti kad "zoologijos sodas" yra mūsų pabandyti. 561 00:30:39,790 --> 00:30:42,920 Kaip mes įterpti "zoologijos" į mūsų pabandyti? 562 00:30:42,920 --> 00:30:47,810 Taigi tuo pačiu būdu, kad mes su prasidejo mūsų susijęs sąrašas, pradedant šaknis. 563 00:30:47,810 --> 00:30:50,600 Jei abejojate, pradėkite Šių dalykų šaknys. 564 00:30:50,600 --> 00:30:53,330 >> Ir mes pasakyti, GERAI, z. 565 00:30:53,330 --> 00:30:55,650 z egzistuoja, ir apie tai daro. 566 00:30:55,650 --> 00:30:58,370 Taigi jūs judate į kitas jūsų masyvas, gerai? 567 00:30:58,370 --> 00:31:01,482 Ir tada ant kito, mes sakome, gerai, nėra o egzistuoja? 568 00:31:01,482 --> 00:31:03,000 Ji veikia. 569 00:31:03,000 --> 00:31:04,330 Tai vėl. 570 00:31:04,330 --> 00:31:08,670 >> Ir taip mūsų kito, mes pasakė, Gerai, "zoo" jau yra čia. 571 00:31:08,670 --> 00:31:12,440 Visi mes turime padaryti, tai nustatyti tokios vienodos true, kad yra žodis ten. 572 00:31:12,440 --> 00:31:15,260 Jei laikėsi viską iki prieš šį momentą, 573 00:31:15,260 --> 00:31:17,030 tai žodis, todėl tiesiog nustatyti, kad jis lygus tokių. 574 00:31:17,030 --> 00:31:17,530 Taip? 575 00:31:17,530 --> 00:31:22,550 >> AUDITORIJA: Taigi tai daro reiškia, kad "ba" yra žodis, taip pat? 576 00:31:22,550 --> 00:31:24,120 >> SPEAKER 1: Ne 577 00:31:24,120 --> 00:31:28,870 Taigi, šiuo atveju, "ba" gautume čia mes sakytume tai žodis, 578 00:31:28,870 --> 00:31:31,590 ir ji vis dar nebūtų. 579 00:31:31,590 --> 00:31:32,822 Gerai? 580 00:31:32,822 --> 00:31:33,740 Mmhmm? 581 00:31:33,740 --> 00:31:36,360 >> AUDITORIJA: Taigi, kai jūs tai Žodis ir pasakyti "taip, tai 582 00:31:36,360 --> 00:31:38,380 bus pateikta eiti į m? 583 00:31:38,380 --> 00:31:42,260 >> SPEAKER 1: Taigi tai turi daryti with-- esate pakrovimo tai. 584 00:31:42,260 --> 00:31:43,640 Jūs sakote, "zoo" yra žodis. 585 00:31:43,640 --> 00:31:47,020 Kai jūs einate į check-- kaip, tarkim, jūs norite pasakyti, 586 00:31:47,020 --> 00:31:49,400 reiškia "zoologijos sodas" yra šios žodyną? 587 00:31:49,400 --> 00:31:54,200 Jūs tik ketina ieškoti "zoologijos" ir tada patikrinkite, ar tai žodis. 588 00:31:54,200 --> 00:31:57,291 Jūs niekada pereiti iki m, nes tai ne 589 00:31:57,291 --> 00:31:58,290 ką jūs ieškote. 590 00:31:58,290 --> 00:32:02,690 591 00:32:02,690 --> 00:32:08,070 >> Taigi, jei mes iš tikrųjų norėjo pridėti "vonioje" į šį pabandyti, 592 00:32:08,070 --> 00:32:11,390 mes tą patį padaryti kaip mes padarėme su "zoologijos sodo" 593 00:32:11,390 --> 00:32:15,380 išskyrus pamatytume, kad kai mes išbandyti ir gauti iki h, jis neegzistuoja. 594 00:32:15,380 --> 00:32:20,090 Taigi, ką galima galvoti apie tai, kaip bando pridėti naują mazgas į objektą, susietą sąrašą, 595 00:32:20,090 --> 00:32:27,210 todėl mums reikia pridėti kitą viena iš šių masyvų, pavyzdžiui, taip. 596 00:32:27,210 --> 00:32:35,670 Ir tada, ką mes darome, mes tiesiog nustatykite h elementas šiame masyve nukreipta į tai. 597 00:32:35,670 --> 00:32:39,430 >> Ir kas tada būtų, mes norime padaryti čia? 598 00:32:39,430 --> 00:32:43,110 Pridėti jį lygi true nes tai žodis. 599 00:32:43,110 --> 00:32:46,350 600 00:32:46,350 --> 00:32:48,150 Cool. 601 00:32:48,150 --> 00:32:48,700 Žinau. 602 00:32:48,700 --> 00:32:51,170 Bando ne labiausiai jaudinantis. 603 00:32:51,170 --> 00:32:54,250 Patikėkit manim, aš žinau. 604 00:32:54,250 --> 00:32:58,040 >> Taigi vienas dalykas suvokti su bando, Aš pasakiau, kad jie labai veiksminga. 605 00:32:58,040 --> 00:33:00,080 Taigi mes matėme tie, užima erdvę toną. 606 00:33:00,080 --> 00:33:01,370 Jie rūšies painu. 607 00:33:01,370 --> 00:33:03,367 Tai kodėl mes kada nors naudoti šiuos? 608 00:33:03,367 --> 00:33:05,450 Mes naudojame juos, nes jie neįtikėtinai veiksminga. 609 00:33:05,450 --> 00:33:08,130 >> Taigi, jei jūs kada nors ieškote iki Žodžiu, esate tik 610 00:33:08,130 --> 00:33:10,450 apriboti žodžio ilgį. 611 00:33:10,450 --> 00:33:15,210 Taigi, jei jūs ieškote Žodis yra ilgio penkių, 612 00:33:15,210 --> 00:33:20,940 jūs tik kada nors teks padaryti dažniausiai per penkis palyginimų, gerai? 613 00:33:20,940 --> 00:33:25,780 Taigi ji tampa iš esmės pastovus. 614 00:33:25,780 --> 00:33:29,150 Kaip įdėti ir peržvalgos Iš esmės yra pastovus laiko. 615 00:33:29,150 --> 00:33:33,750 >> Taigi, jei jūs kada nors gauti kažkas nuolat laiku, 616 00:33:33,750 --> 00:33:35,150 tai taip gerai, kaip ji pasireiškia. 617 00:33:35,150 --> 00:33:37,990 Jūs negalite gauti geriau nei pastovus laikas šių dalykų. 618 00:33:37,990 --> 00:33:43,150 Taigi, kad yra vienas iš didžiuliai pliusai, bando. 619 00:33:43,150 --> 00:33:46,780 >> Bet tai yra daug erdvės. 620 00:33:46,780 --> 00:33:50,380 Taigi jūs rūšies turite nuspręsti kas daugiau jums svarbu. 621 00:33:50,380 --> 00:33:54,700 Ir šiandienos kompiuterių, erdvė, bandymas gali trukti iki 622 00:33:54,700 --> 00:33:57,740 gal neveikia Jūs, kad daug, bet gal 623 00:33:57,740 --> 00:34:01,350 jūs susiduriame su kažkuo kad turi daug, daug daugiau dalykų, 624 00:34:01,350 --> 00:34:02,810 ir pabandyti tiesiog nėra pagrįstas. 625 00:34:02,810 --> 00:34:03,000 Taip? 626 00:34:03,000 --> 00:34:05,610 >> AUDITORIJA: Palaukite, todėl jūs turite 26 raidės kiekvieną vieną? 627 00:34:05,610 --> 00:34:07,440 >> SPEAKER 1: Mmhmm. 628 00:34:07,440 --> 00:34:08,570 Taip, jūs turite 26. 629 00:34:08,570 --> 00:34:16,984 Turite kai yra žodis žymeklį ir tada turite 26 rodykles į kiekvienas. 630 00:34:16,984 --> 00:34:17,775 Ir jie point-- 631 00:34:17,775 --> 00:34:20,280 >> AUDITORIJA: Ir kas 26, jie kiekvienas turi 26? 632 00:34:20,280 --> 00:34:21,500 >> SPEAKER 1: Taip. 633 00:34:21,500 --> 00:34:27,460 Ir štai kodėl, kaip jūs galite pamatyti, ji plečiasi gana sparčiai. 634 00:34:27,460 --> 00:34:28,130 Gerai. 635 00:34:28,130 --> 00:34:32,524 Taigi, mes ketiname gauti į medžius, kurie Jaučiu, kaip yra lengviau ir tikriausiai 636 00:34:32,524 --> 00:34:36,150 būti gražus leisti atsikvėpti nuo bando ten. 637 00:34:36,150 --> 00:34:39,620 Taigi, tikiuosi, kad dauguma iš jūsų mačiau medį prieš. 638 00:34:39,620 --> 00:34:41,820 Nepatinka gana tie lauke, kurį aš 639 00:34:41,820 --> 00:34:44,340 Nežinau, ar kas nors nuvyko lauke neseniai. 640 00:34:44,340 --> 00:34:49,230 Nuėjau obuolių skinti šį savaitgalį, ir oh my GOSH, tai buvo graži. 641 00:34:49,230 --> 00:34:52,250 Aš nežinojau, lapai galėtų atrodyti, kad gana. 642 00:34:52,250 --> 00:34:53,610 >> Taigi, tai tik medis, tiesa? 643 00:34:53,610 --> 00:34:56,790 Tai tik keletas mazgas, ir jis atkreipia dėmesį į kitų mazgų krūva. 644 00:34:56,790 --> 00:34:59,570 Kaip matote čia, tai yra rūšies kartojasi tema. 645 00:34:59,570 --> 00:35:03,720 Mazgai, rodanti į mazgų rūšies Daugelio duomenų struktūrų esmė. 646 00:35:03,720 --> 00:35:06,670 Tai tiesiog priklauso nuo to, kaip juos rodo vienas kitą 647 00:35:06,670 --> 00:35:08,600 ir kaip mes feed per juos ir kaip mes 648 00:35:08,600 --> 00:35:14,500 įterpti dalykus, nustato jų skirtingas savybes. 649 00:35:14,500 --> 00:35:17,600 >> Taigi tik keletas terminologija, kuris aš naudojamas anksčiau. 650 00:35:17,600 --> 00:35:20,010 Taigi esmė yra kokia yra pačiame viršuje. 651 00:35:20,010 --> 00:35:21,200 tai kur mes visada prasideda. 652 00:35:21,200 --> 00:35:23,610 Jūs galite galvoti apie tai, kaip galvos taip pat. 653 00:35:23,610 --> 00:35:28,750 Bet medžiai, mes linkę nurodo kaip root. 654 00:35:28,750 --> 00:35:32,820 >> Viskas, kas apačioje here-- ne labai, labai bottom-- 655 00:35:32,820 --> 00:35:34,500 laikomi lapai. 656 00:35:34,500 --> 00:35:37,210 Taip eina kartu su Visa medis dalykas, tiesa? 657 00:35:37,210 --> 00:35:39,860 Lapai ne jūsų medžio briaunų. 658 00:35:39,860 --> 00:35:45,820 >> Ir tada mes taip pat turime ir pora terminai kalbėti apie mazgų atžvilgiu 659 00:35:45,820 --> 00:35:46,680 viena su kita. 660 00:35:46,680 --> 00:35:49,700 Taigi, mes turime iš tėvų, vaikai ir broliai ir seserys. 661 00:35:49,700 --> 00:35:56,260 Taigi šiuo atveju yra 3 patronuojanti 5, 6 ir 7. 662 00:35:56,260 --> 00:36:00,370 Taigi tėvai yra kokia yra vienas žingsnis virš kokia esi 663 00:36:00,370 --> 00:36:02,940 nurodant, kad tik kaip šeimos medį. 664 00:36:02,940 --> 00:36:07,090 Tikimės, kad tai yra viskas šiek tiek tiek daugiau intuityviai nei bando. 665 00:36:07,090 --> 00:36:10,970 >> Broliai ir seserys yra bet kad turi pats tėvas, tiesa? 666 00:36:10,970 --> 00:36:13,470 Jie tame pačiame lygyje čia. 667 00:36:13,470 --> 00:36:16,960 Ir tada, kaip man buvo sakydamas vaikai tiesiog 668 00:36:16,960 --> 00:36:22,630 kokia yra vienas žingsnis toliau tas mazgas, gerai? 669 00:36:22,630 --> 00:36:23,470 Cool. 670 00:36:23,470 --> 00:36:25,610 Taigi dvejetainis medis. 671 00:36:25,610 --> 00:36:31,450 Ar kas nors rizikuočiau spėti į vieną iš dvejetainis medis charakteristikos? 672 00:36:31,450 --> 00:36:32,770 >> AUDITORIJA: Max du lapai. 673 00:36:32,770 --> 00:36:33,478 >> SPEAKER 1: Teisė. 674 00:36:33,478 --> 00:36:34,640 Taigi max dviejų lapų. 675 00:36:34,640 --> 00:36:39,730 Taigi šis prieš, mes turėjome šį vieną kad turėjo tris, bet dvejetainėje medžio, 676 00:36:39,730 --> 00:36:45,000 turite du max vaikai per tėvų, tiesa? 677 00:36:45,000 --> 00:36:46,970 Yra ir kita Įdomus bruožas. 678 00:36:46,970 --> 00:36:51,550 Ar kas nors žino, kad? 679 00:36:51,550 --> 00:36:52,620 Binary tree. 680 00:36:52,620 --> 00:37:00,350 >> Taigi dvejetainis medis turės viską ant the-- šis yra ne sorted-- 681 00:37:00,350 --> 00:37:05,320 bet tam surūšiuoti dvejetainiu medžiu, viskas dešinėje 682 00:37:05,320 --> 00:37:08,530 yra didesnė nei tėvų, ir viskas kairėje 683 00:37:08,530 --> 00:37:10,035 yra mažesnis nei tėvų. 684 00:37:10,035 --> 00:37:15,690 Ir kad buvo viktorina klausimas anksčiau, todėl gera žinoti. 685 00:37:15,690 --> 00:37:19,500 Taigi, kaip mes nustatyti tai, vėl turime dar vieną mazgą. 686 00:37:19,500 --> 00:37:21,880 Tai atrodo labai panašūs į tai, ką? 687 00:37:21,880 --> 00:37:28,336 688 00:37:28,336 --> 00:37:28,836 Dvigubai 689 00:37:28,836 --> 00:37:29,320 >> Auditorija: Susijęs sąrašai 690 00:37:29,320 --> 00:37:31,100 >> SPEAKER 1: dvigubas susijęs sąrašas, tiesa? 691 00:37:31,100 --> 00:37:33,690 Taigi, jei mes pakeisti šią su ankstesnės ir naujos, 692 00:37:33,690 --> 00:37:35,670 tai būtų dvigubai susiję sąrašas. 693 00:37:35,670 --> 00:37:40,125 Tačiau šiuo atveju, mes iš tikrųjų turi kairę ir į dešinę, ir viskas. 694 00:37:40,125 --> 00:37:41,500 Priešingu atveju, tai lygiai tas pats. 695 00:37:41,500 --> 00:37:43,374 Mes vis dar turime elementą Jūs ieškote, 696 00:37:43,374 --> 00:37:45,988 ir jūs tiesiog turite dvi rodykles ketina ką daryti toliau. 697 00:37:45,988 --> 00:37:49,210 698 00:37:49,210 --> 00:37:51,870 Taip, taip, dvejetainis paieškos medis. 699 00:37:51,870 --> 00:37:57,665 Jei pastebime, viską čia yra didesnis than-- 700 00:37:57,665 --> 00:37:59,850 ar viskas iš karto į čia 701 00:37:59,850 --> 00:38:02,840 yra didesnis nei, viskas čia yra mažesnis nei. 702 00:38:02,840 --> 00:38:06,980 703 00:38:06,980 --> 00:38:14,000 >> Taigi, jei mes ieškoti, ją turėtų atrodyti labai arti dvejetainis paieškos 704 00:38:14,000 --> 00:38:14,910 čia, tiesa? 705 00:38:14,910 --> 00:38:17,640 Išskyrus užuot ieškojus pusę masyvo, 706 00:38:17,640 --> 00:38:21,720 mes tiesiog ieško arba į kairę, pusė arba dešinėje medžio. 707 00:38:21,720 --> 00:38:24,850 Taigi ji tampa šiek tiek paprastesnis, manau. 708 00:38:24,850 --> 00:38:29,300 >> Taigi, jei jūsų šaknys yra NULL, žinoma, ji tiesiog neteisinga. 709 00:38:29,300 --> 00:38:33,470 Ir jei jis ten, be abejo, tai tiesa. 710 00:38:33,470 --> 00:38:35,320 Jei tai mažiau nei mes ieškoti kairę. 711 00:38:35,320 --> 00:38:37,070 Jei tai didesnis nei, mes ieškome teisę. 712 00:38:37,070 --> 00:38:39,890 Tai yra būtent tai, kaip dvejetainiai paieškos, tiesiog kitoks duomenų struktūra 713 00:38:39,890 --> 00:38:40,600 kad mes naudojame. 714 00:38:40,600 --> 00:38:42,790 Vietoj masyvo tai tik dvejetainiai medžių. 715 00:38:42,790 --> 00:38:45,820 716 00:38:45,820 --> 00:38:48,090 >> Gerai, kaminai. 717 00:38:48,090 --> 00:38:51,550 Ir taip pat, atrodo, kad mes gali turėti šiek tiek laiko. 718 00:38:51,550 --> 00:38:54,460 Jei mes darome, Man malonu eiti per bet tai dar kartą. 719 00:38:54,460 --> 00:38:56,856 Gerai, kad kaminai. 720 00:38:56,856 --> 00:39:02,695 Ar kas nors prisiminti, ką stacks-- bet koks kamino savybės? 721 00:39:02,695 --> 00:39:05,550 722 00:39:05,550 --> 00:39:10,400 >> Gerai, kad dauguma iš mūsų, manau, valgyti pietūs halls-- 723 00:39:10,400 --> 00:39:13,100 kiek mes negali patinka. 724 00:39:13,100 --> 00:39:16,900 Tačiau akivaizdu, galite galvoti apie rietuvės pažodžiui tik kaip padėklai kamino 725 00:39:16,900 --> 00:39:18,460 arba daiktų rietuvė. 726 00:39:18,460 --> 00:39:21,820 Ir tai, kas svarbu suprasti, kad tai 727 00:39:21,820 --> 00:39:26,850 something-- charakteristika kurį mes vadiname tai by-- yra LIFO. 728 00:39:26,850 --> 00:39:28,450 Ar kas nors žino, ką tai reiškia? 729 00:39:28,450 --> 00:39:29,070 Mmhmm? 730 00:39:29,070 --> 00:39:30,650 >> AUDITORIJA: Paskutinis in, first out. 731 00:39:30,650 --> 00:39:32,250 >> SPEAKER 1: Teisė, paskutinė, first out. 732 00:39:32,250 --> 00:39:36,585 Taigi, jei mes žinome, jei mes krovimas dalykus iki, lengviausias dalykas patraukti off-- 733 00:39:36,585 --> 00:39:39,570 o gal vienintelis dalykas, mes galime paimti off, jei mūsų šūsnis didelis enough-- 734 00:39:39,570 --> 00:39:40,850 yra tai, kad top elementas. 735 00:39:40,850 --> 00:39:43,460 Taigi kokia buvo įtrauktas last-- kaip matome čia, 736 00:39:43,460 --> 00:39:46,370 kokia buvo stumiama daugumoje recently-- yra 737 00:39:46,370 --> 00:39:51,160 bus pirmas dalykas, kad mes nusibaigti, gerai? 738 00:39:51,160 --> 00:39:56,324 >> Taigi, ką mes turime čia yra kitas Typedef konstrukto. 739 00:39:56,324 --> 00:39:58,740 Tai tikrai tik patinka Avarijos metu į duomenų struktūrą, 740 00:39:58,740 --> 00:40:01,650 taip yra daug mesta jums vaikinai. 741 00:40:01,650 --> 00:40:02,540 Žinau. 742 00:40:02,540 --> 00:40:04,970 Taigi dar vienas konstrukto. 743 00:40:04,970 --> 00:40:06,740 Yay už struktūras. 744 00:40:06,740 --> 00:40:16,660 >> Ir šiuo atveju, tai kai žymeklis į masyvą, kuris turi tam tikrą pajėgumų. 745 00:40:16,660 --> 00:40:20,830 Taigi tai yra mūsų krūvą Čia, kaip ir mūsų tikrojo masyvo 746 00:40:20,830 --> 00:40:22,520 Štai laikydami savo elementus. 747 00:40:22,520 --> 00:40:24,850 Ir tada čia mes kai dydį. 748 00:40:24,850 --> 00:40:31,170 >> Ir paprastai, kurį norite išsaugoti kūrinys, kaip didelis jūsų šūsnis 749 00:40:31,170 --> 00:40:36,180 nes tai, ką jis ketina leisti jums reikia padaryti, tai, jei jūs žinote, dydis, 750 00:40:36,180 --> 00:40:39,170 jis leidžia pasakyti, Gerai, aš ne pajėgumai? 751 00:40:39,170 --> 00:40:40,570 Ar galiu pridėti ką nors daugiau? 752 00:40:40,570 --> 00:40:44,650 Ir jis taip pat pasakys, kur Jūsų žetonų viršaus 753 00:40:44,650 --> 00:40:48,180 yra, kad jūs žinote, ką jūs iš tikrųjų gali pakilti. 754 00:40:48,180 --> 00:40:51,760 Ir tai iš tikrųjų vyksta būti šiek tiek daugiau aišku čia. 755 00:40:51,760 --> 00:40:57,350 >> Taigi tiesioginio ryšio, vienas dalykas, jei jums kada nors įgyvendinti stumti, 756 00:40:57,350 --> 00:41:01,330 kaip man buvo tiesiog pasakyti, jūsų kamino turi ribotą dydį, teisingai? 757 00:41:01,330 --> 00:41:03,990 Mūsų masyvas turėjo tam tikrą pajėgumų. 758 00:41:03,990 --> 00:41:04,910 Tai masyvas. 759 00:41:04,910 --> 00:41:08,930 Tai fiksuoto dydžio, todėl reikia įsitikinkite, kad mes ne išleisti daugiau 760 00:41:08,930 --> 00:41:11,950 į mūsų masyvas, nei mes iš tikrųjų turi erdvę. 761 00:41:11,950 --> 00:41:16,900 >> Taigi, kai jūs kuriate stumti funkcija, pirmas dalykas, kurį jūs darote, yra tarkim, Gerai, 762 00:41:16,900 --> 00:41:18,570 turiu vietos mano kamino? 763 00:41:18,570 --> 00:41:23,330 Nes jei aš ne, atsiprašau, Negaliu laikyti savo elementą. 764 00:41:23,330 --> 00:41:28,980 Jei aš, tuomet jūs norite saugoti ji tuo kamino viršuje, tiesa? 765 00:41:28,980 --> 00:41:31,325 >> Ir tai, kodėl mes turime sekti mūsų dydžio. 766 00:41:31,325 --> 00:41:35,290 Jei mes neturime sekti mūsų dydžio mes nežinome, kur įdėti. 767 00:41:35,290 --> 00:41:39,035 Mes nežinome, kaip daug dalykų yra jau mūsų masyvas. 768 00:41:39,035 --> 00:41:41,410 Kaip akivaizdžiai yra būdų kad gal galite tai padaryti. 769 00:41:41,410 --> 00:41:44,610 Galite inicijuoti viską NULL ir tada patikrinkite, ar naujausia NULL 770 00:41:44,610 --> 00:41:47,950 bet daug lengviau dalykas yra tiesiog pasakyti, GERAI, sekti dydį. 771 00:41:47,950 --> 00:41:51,840 Kaip aš žinau, kad turiu keturis elementus mano matrica, todėl kitas dalykas 772 00:41:51,840 --> 00:41:55,930 kad mes įdėti, mes ketina išlaikyti ne 4 indeksą. 773 00:41:55,930 --> 00:42:00,940 Ir tada, žinoma, tai reiškia, kad Jūs sėkmingai pastūmėjo kažkas 774 00:42:00,940 --> 00:42:03,320 ant savo krūvos, jūsų norite padidinti dydžio 775 00:42:03,320 --> 00:42:08,880 taip, kad jūs žinote, kur yra tiek kad galite stumti daugiau dalykų. 776 00:42:08,880 --> 00:42:12,730 >> Taigi, jei mes bandome pop kažkas nuo kamino, 777 00:42:12,730 --> 00:42:16,072 kas gali būti pirmas dalykas, kad mes norime patikrinti? 778 00:42:16,072 --> 00:42:18,030 Jūs bandote imtis kažkas ne savo kamino. 779 00:42:18,030 --> 00:42:21,710 780 00:42:21,710 --> 00:42:24,781 Ar tikrai ten kažkas jūsų kamino? 781 00:42:24,781 --> 00:42:25,280 Ne. 782 00:42:25,280 --> 00:42:26,894 Taigi, kas gali norime patikrinti? 783 00:42:26,894 --> 00:42:27,810 >> AUDITORIJA: [nesigirdi]. 784 00:42:27,810 --> 00:42:29,880 SPEAKER 1: Patikrinkite dydžio? 785 00:42:29,880 --> 00:42:31,840 Dydis. 786 00:42:31,840 --> 00:42:38,520 Taigi, mes norime patikrinti, ar mūsų dydis yra didesnis už 0, gerai? 787 00:42:38,520 --> 00:42:44,970 Ir jei ji yra, tada mes norime mažėjimą Mūsų dydis iki 0 ir grįžti, kad. 788 00:42:44,970 --> 00:42:45,840 Kodėl? 789 00:42:45,840 --> 00:42:49,950 >> Pirmuoju mes buvome stumdymas, mes seniai ji 790 00:42:49,950 --> 00:42:52,460 ant dydžio ir tada atnaujinta dydžio. 791 00:42:52,460 --> 00:42:57,850 Šiuo atveju, mes mažėjančio dydžio ir tada imtis jį išjungti, skynimas jį 792 00:42:57,850 --> 00:42:58,952 iš mūsų masyvas. 793 00:42:58,952 --> 00:42:59,826 Kodėl mes galime padaryti? 794 00:42:59,826 --> 00:43:04,800 795 00:43:04,800 --> 00:43:11,811 Taigi, jei aš turiu vieną dalyką mano kaminą, koks būtų mano dydis tuo momentu? 796 00:43:11,811 --> 00:43:13,140 1. 797 00:43:13,140 --> 00:43:15,180 >> Ir kur yra elementas 1 saugomi? 798 00:43:15,180 --> 00:43:17,621 Kokiame puslapis? 799 00:43:17,621 --> 00:43:18,120 AUDITORIJA: 0. 800 00:43:18,120 --> 00:43:19,060 SPEAKER 1: 0. 801 00:43:19,060 --> 00:43:22,800 Taigi šiuo atveju, mes visada reikia padaryti sure-- 802 00:43:22,800 --> 00:43:27,630 o ne grąžinant dydis minus 1, nes mes 803 00:43:27,630 --> 00:43:31,730 žinome, kad mūsų elementas bus saugomi ne mažiau 1 804 00:43:31,730 --> 00:43:34,705 kokia mūsų dydis, tai tiesiog rūpinasi juo. 805 00:43:34,705 --> 00:43:36,080 Tai šiek tiek daugiau elegantiškas būdas. 806 00:43:36,080 --> 00:43:41,220 Ir mes tiesiog Mažėja DUK dydis, o tada grįžti dydį. 807 00:43:41,220 --> 00:43:42,330 Mmhmm? 808 00:43:42,330 --> 00:43:45,300 >> AUDITORIJA: Spėju tiesiog apskritai, kodėl gi tai duomenų struktūra 809 00:43:45,300 --> 00:43:47,800 būti naudingas? 810 00:43:47,800 --> 00:43:50,660 >> SPEAKER 1: Tai priklauso nuo jūsų požiūriu. 811 00:43:50,660 --> 00:43:57,420 Taigi kai kurie iš teoriją, jei dirbate with-- Gerai, 812 00:43:57,420 --> 00:44:02,750 Aš noriu pamatyti, jei yra naudingi vienos kad yra naudinga daugiau nei už 813 00:44:02,750 --> 00:44:05,420 CS. 814 00:44:05,420 --> 00:44:15,780 Su kaminai, bet kuriuo metu jums reikia sekti kažką, kad 815 00:44:15,780 --> 00:44:20,456 yra neseniai pridėta, kai jūs ketinate norite naudoti kamino. 816 00:44:20,456 --> 00:44:24,770 >> Aš negaliu galvoti apie gerai pavyzdys, kad dabar. 817 00:44:24,770 --> 00:44:29,955 Bet kai naujausi dalykas yra jums svarbiausi, 818 00:44:29,955 --> 00:44:31,705 tai, kai stekas bus naudinga. 819 00:44:31,705 --> 00:44:35,797 820 00:44:35,797 --> 00:44:39,330 Bandau galvoti, jei ten gera už tai. 821 00:44:39,330 --> 00:44:43,720 Jei aš manau, yra geras pavyzdys ir kitas 20 minučių, aš tikrai pasakys. 822 00:44:43,720 --> 00:44:49,455 >> Bet apskritai, jei nėra nieko, kaip ir sakiau dauguma, kur naujausių 823 00:44:49,455 --> 00:44:52,470 Svarbiausia, kad manimi kur kamino ateina į žaidimą. 824 00:44:52,470 --> 00:44:58,860 Kadangi eilėse yra rūšies priešingai. 825 00:44:58,860 --> 00:44:59,870 Ir visi mažieji šunys. 826 00:44:59,870 --> 00:45:00,890 Ar tai nėra didysis, tiesa? 827 00:45:00,890 --> 00:45:03,299 Aš jaučiuosi kaip aš turėtų Tiesiog Bunny vaizdo 828 00:45:03,299 --> 00:45:05,090 pačiame viduryje skyrius jums vaikinai 829 00:45:05,090 --> 00:45:08,870 nes tai yra intensyvus skirsnis. 830 00:45:08,870 --> 00:45:10,480 >> Taigi eilė. 831 00:45:10,480 --> 00:45:12,710 Iš esmės eilė kaip linija. 832 00:45:12,710 --> 00:45:15,780 Jūs vaikinai aš tikiu naudojimas tai kasdien tiesiog patinka mūsų valgyklose. 833 00:45:15,780 --> 00:45:18,160 Taigi, mes turime eiti į ir gauti mūsų padėklai, aš tikiu, 834 00:45:18,160 --> 00:45:21,260 įsitikinkite, kad turite laukti eilėje servetėlės ​​ar jūsų maisto. 835 00:45:21,260 --> 00:45:24,650 >> Taigi skirtumas čia kad tai yra FIFO. 836 00:45:24,650 --> 00:45:30,090 Taigi, jei LIFO paskutinė buvo pirmasis out, FIFO yra first in, first out. 837 00:45:30,090 --> 00:45:33,400 Taigi tai yra, kai ką įdėti ant pirmas tavo svarbiausia. 838 00:45:33,400 --> 00:45:35,540 Taigi, jei jums buvo laukia į line-- Ar galite 839 00:45:35,540 --> 00:45:39,130 įsivaizduokite, jei išvyko į eikite gauti naują iPhone 840 00:45:39,130 --> 00:45:42,800 ir tai buvo kaminas kur paskutinis asmuo atitinka gavo jį pirmas, 841 00:45:42,800 --> 00:45:44,160 žmonės žudo vieni kitus. 842 00:45:44,160 --> 00:45:49,800 >> Taigi FIFO, mes visi labai gerai susipažinęs su realaus pasaulio čia 843 00:45:49,800 --> 00:45:54,930 ir visa tai turi daryti su iš tikrųjų rūšies atkurti visą šią liniją 844 00:45:54,930 --> 00:45:56,900 ir aptarnavimo struktūrą. 845 00:45:56,900 --> 00:46:02,390 Todėl nors su kamino, mes turime stumti ir pop. 846 00:46:02,390 --> 00:46:06,440 Su eilėje, turime Įtraukti į eilę ir dequeue. 847 00:46:06,440 --> 00:46:10,910 Taigi į eilę iš esmės reiškia, padėkite jį ant nugaros, 848 00:46:10,910 --> 00:46:13,680 ir dequeue priemonės imtis išjungti iš priekio. 849 00:46:13,680 --> 00:46:18,680 Taigi, mūsų duomenų struktūra nėra šiek tiek daugiau sudėtinga. 850 00:46:18,680 --> 00:46:21,060 Turime antrą dalyką sekti. 851 00:46:21,060 --> 00:46:25,950 >> Taigi be galvos, tai būtent kamino, tiesa? 852 00:46:25,950 --> 00:46:27,900 Tai yra tas pats, kaip struktūra kamino. 853 00:46:27,900 --> 00:46:32,480 Vienintelis dalykas, skiriasi dabar yra mums turi šią galvutę, kuri Ką manote 854 00:46:32,480 --> 00:46:34,272 ketina sekti? 855 00:46:34,272 --> 00:46:35,510 >> AUDITORIJA: pirmasis. 856 00:46:35,510 --> 00:46:38,685 >> SPEAKER 1: Teisė, Pirmas dalykas, kad mes įdėti į. 857 00:46:38,685 --> 00:46:41,130 Mūsų eilėje galva. 858 00:46:41,130 --> 00:46:42,240 Kas pirmas eilėje. 859 00:46:42,240 --> 00:46:45,300 860 00:46:45,300 --> 00:46:49,420 Gerai, taigi, jei mes į eilę. 861 00:46:49,420 --> 00:46:52,720 862 00:46:52,720 --> 00:46:55,920 Vėlgi, su bet kuriuo iš šie duomenų struktūros, 863 00:46:55,920 --> 00:46:59,760 nes mes susiduriame su masyvo, mes turime patikrinti, ar mes turime erdvę. 864 00:46:59,760 --> 00:47:03,290 >> Tai tipo kaip man pasakojo vaikinai, jeigu Jūs atidarote failą, 865 00:47:03,290 --> 00:47:04,760 jums reikia patikrinti null. 866 00:47:04,760 --> 00:47:08,330 Su bet kuriuo iš šių kaminai ir eiles, jums reikia 867 00:47:08,330 --> 00:47:13,420 pamatyti, jei ten vietos, nes mes susijusius su fiksuoto dydžio masyvą, 868 00:47:13,420 --> 00:47:16,030 kaip matome here-- 0, 1 visa iki 5. 869 00:47:16,030 --> 00:47:20,690 Taigi, ką mes darome, kad tokiu atveju yra patikrinti pamatyti, jei mes vis dar turime vietos. 870 00:47:20,690 --> 00:47:23,110 Mūsų dydis mažiau nei pajėgumų? 871 00:47:23,110 --> 00:47:28,480 >> Jei taip, mes turime laikyti jį Uodega ir mes atnaujiname mūsų dydžio. 872 00:47:28,480 --> 00:47:30,250 Taigi, ką gali uodega būtų šiuo atveju? 873 00:47:30,250 --> 00:47:32,360 Tai nėra aiškiai parašytas. 874 00:47:32,360 --> 00:47:33,380 Kaip mes saugome jį? 875 00:47:33,380 --> 00:47:34,928 Ką uodega būtų? 876 00:47:34,928 --> 00:47:38,600 877 00:47:38,600 --> 00:47:40,190 >> Taigi galime eiti per šį pavyzdį. 878 00:47:40,190 --> 00:47:44,590 Taigi tai yra jų dydis 6 masyvas, tiesa? 879 00:47:44,590 --> 00:47:49,220 Ir mes turime dabar, mūsų dydis yra 5. 880 00:47:49,220 --> 00:47:55,240 Ir kai mes įdėti ją, ji vyksta eiti į penktą indekso, tiesa? 881 00:47:55,240 --> 00:47:57,030 Taigi sandėliuoja uodegos. 882 00:47:57,030 --> 00:48:05,600 >> Kitas būdas rašyti uodega tiesiog būti mūsų masyvas prie rodiklio dydžio, tiesa? 883 00:48:05,600 --> 00:48:07,560 Tai dydis 5. 884 00:48:07,560 --> 00:48:11,490 Kitas dalykas ketina eiti į 5. 885 00:48:11,490 --> 00:48:12,296 Cool? 886 00:48:12,296 --> 00:48:13,290 Gerai. 887 00:48:13,290 --> 00:48:16,350 Ji gauna šiek tiek sudėtingiau kai mes pradedame su maitinimu galvą. 888 00:48:16,350 --> 00:48:17,060 Taip? 889 00:48:17,060 --> 00:48:20,090 >> AUDITORIJA: Ar tai reiškia, kad mes būtų paskelbta matrica, 890 00:48:20,090 --> 00:48:23,880 buvo penki elementai ilgai ir tada mes įtraukiame į jį? 891 00:48:23,880 --> 00:48:24,730 >> SPEAKER 1: Ne 892 00:48:24,730 --> 00:48:27,560 Taigi šiuo atveju, tai yra kaminai. 893 00:48:27,560 --> 00:48:31,760 Tai būtų skelbiama kaip dydis 6 masyvo. 894 00:48:31,760 --> 00:48:37,120 Ir šiuo atveju, mes tik vieną paliekamas. 895 00:48:37,120 --> 00:48:42,720 >> Gerai, kad vienas dalykas yra tai atveju, jei mūsų galva yra ne 0, 896 00:48:42,720 --> 00:48:45,270 tada mes tiesiog įdėti gali ne dydis. 897 00:48:45,270 --> 00:48:51,020 Bet ji tampa šiek tiek sudėtingesnis nes iš tikrųjų, jie 898 00:48:51,020 --> 00:48:52,840 neturite skaidrės už tai, kad aš ruošiuosi 899 00:48:52,840 --> 00:48:56,670 atkreipti vieną, nes tai nėra taip paprasta, kai jums 900 00:48:56,670 --> 00:48:59,230 pradėti atsikratyti daiktų. 901 00:48:59,230 --> 00:49:03,920 Todėl nors su kamino Jūs tik kada nors 902 00:49:03,920 --> 00:49:08,920 nerimauti, kokio dydžio yra pridėdami kažką, 903 00:49:08,920 --> 00:49:15,710 su eilėje jums taip pat reikia padaryti Įsitikinkite, kad jūsų galva yra apskaitomas, 904 00:49:15,710 --> 00:49:20,760 nes cool dalykas apie eiles yra tai, kad, jei esate ne pajėgumo, 905 00:49:20,760 --> 00:49:23,040 jūs iš tikrųjų galite padaryti jį apvynioti. 906 00:49:23,040 --> 00:49:28,810 >> Gerai, kad vienas thing-- oh, tai baisi kreida. 907 00:49:28,810 --> 00:49:31,815 Vienas dalykas, apsvarstyti, yra tas atvejis. 908 00:49:31,815 --> 00:49:35,514 909 00:49:35,514 --> 00:49:37,140 Mes tik atlikti penki. 910 00:49:37,140 --> 00:49:41,810 Gerai, kad mes ketiname sako vadovas yra čia. 911 00:49:41,810 --> 00:49:46,140 Šis yra 0, 1, 2, 3, 4. 912 00:49:46,140 --> 00:49:54,210 >> Galva ten, ir prašome turėti dalykų juose. 913 00:49:54,210 --> 00:49:58,340 Ir mes norime pridėti kažką, ar ne? 914 00:49:58,340 --> 00:50:01,170 Taigi, ką mes turime žinoti yra tai, kad vadovas yra visada 915 00:50:01,170 --> 00:50:05,620 ketina perkelti šį kelią ir tada kilpa atgal aplink, gerai? 916 00:50:05,620 --> 00:50:10,190 >> Taigi tai eilė yra vietos, tiesa? 917 00:50:10,190 --> 00:50:13,950 Jis turi erdvę pačioje pradžioje, rūšies į tai priešais. 918 00:50:13,950 --> 00:50:17,920 Taigi, ką mes turime padaryti, tai mes reikia apskaičiuoti uodegą. 919 00:50:17,920 --> 00:50:20,530 Jei žinote, kad jūsų vadovas nepadarė, uodega 920 00:50:20,530 --> 00:50:24,630 tik jūsų masyvas ne iš dydžio indeksas. 921 00:50:24,630 --> 00:50:30,000 >> Bet iš tikrųjų, jei jūs naudojate eilę, jūsų galva tikriausiai nuolat atnaujinami. 922 00:50:30,000 --> 00:50:33,890 Taigi, ką jums reikia padaryti, tai realiai apskaičiuoti uodegą. 923 00:50:33,890 --> 00:50:39,990 Taigi, ką mes darome, yra ši formulė čia aš ruošiuosi let you 924 00:50:39,990 --> 00:50:42,680 vaikinai manote apie, ir tada mes kalbame apie tai. 925 00:50:42,680 --> 00:50:49,567 926 00:50:49,567 --> 00:50:50,400 Taigi tai yra talpa. 927 00:50:50,400 --> 00:50:55,890 928 00:50:55,890 --> 00:50:59,660 >> Taigi tai tikrai jums, kaip tai padaryti. 929 00:50:59,660 --> 00:51:03,205 930 00:51:03,205 --> 00:51:04,330 Nes šiuo atveju, ką? 931 00:51:04,330 --> 00:51:09,205 Mūsų pagrindinė yra 1, mūsų dydis yra 4. 932 00:51:09,205 --> 00:51:11,760 933 00:51:11,760 --> 00:51:18,490 Jei mes mod kad 5, gauname 0, kuris yra kur turėtume įrašyti šiuos duomenis. 934 00:51:18,490 --> 00:51:23,320 935 00:51:23,320 --> 00:51:26,080 >> Taigi tada į kitą atveju jei mes tai padaryti, 936 00:51:26,080 --> 00:51:33,390 mes sakome, gerai, tegul dequeue kažką. 937 00:51:33,390 --> 00:51:34,390 Mes dequeue tai. 938 00:51:34,390 --> 00:51:37,740 Mes imti šį elementą, tiesa? 939 00:51:37,740 --> 00:51:47,930 >> Ir dabar mūsų galva nukreipta čia ir mes norime pridėti dar vieną dalyką. 940 00:51:47,930 --> 00:51:52,470 Tai iš esmės yra atgal mūsų linijos, ar ne? 941 00:51:52,470 --> 00:51:55,450 Eiles gali apsukti masyvo. 942 00:51:55,450 --> 00:51:57,310 Tai vienas iš pagrindinių skirtumų. 943 00:51:57,310 --> 00:51:58,780 Stacks, jūs padaryti negalite. 944 00:51:58,780 --> 00:52:01,140 >> Su eilėse, galite nes visi klausimai 945 00:52:01,140 --> 00:52:03,940 yra tai, kad jūs žinote, ką Naujausias pridėta. 946 00:52:03,940 --> 00:52:10,650 Kadangi viskas vyksta į papildomas tai į kairę kryptis, šiuo atveju, 947 00:52:10,650 --> 00:52:16,480 ir tada apvynioti, galite toliau įgyvendinant naujus elementus 948 00:52:16,480 --> 00:52:18,830 ne masyvo priekyje nes tai tikrai ne 949 00:52:18,830 --> 00:52:20,640 masyvo priekyje nebėra. 950 00:52:20,640 --> 00:52:26,320 Jūs galite galvoti apie pradžioje masyvas kaip kai jūsų galva yra iš tikrųjų. 951 00:52:26,320 --> 00:52:29,710 >> Taigi ši formulė kaip jums apskaičiuoti savo uodegą. 952 00:52:29,710 --> 00:52:32,780 953 00:52:32,780 --> 00:52:35,610 Ar tai prasminga? 954 00:52:35,610 --> 00:52:36,110 Gerai. 955 00:52:36,110 --> 00:52:39,400 956 00:52:39,400 --> 00:52:44,040 Gerai, dequeue, tada jus vaikinai 10 minučių 957 00:52:44,040 --> 00:52:48,840 paklausti man kokių nors, patikslinančius klausimus norite, nes žinau, kad tai beprotiška. 958 00:52:48,840 --> 00:52:51,980 >> Visos teisės, todėl toje pačioje way-- Aš nežinau, jei jus vaikinai pastebėjo, 959 00:52:51,980 --> 00:52:53,450 bet CS yra visa informacija apie modelius. 960 00:52:53,450 --> 00:52:57,370 Daiktai yra gana daug tas pats, tik su maža tweaks. 961 00:52:57,370 --> 00:52:58,950 Taigi pats čia. 962 00:52:58,950 --> 00:53:04,040 Mes turime patikrinti, ar mes iš tikrųjų turi kažką mūsų eilėje, tiesa? 963 00:53:04,040 --> 00:53:05,960 Pasakykite, OK, mūsų dydis yra didesnis nei 0? 964 00:53:05,960 --> 00:53:06,730 Cool. 965 00:53:06,730 --> 00:53:10,690 >> Jei mes darome, tada mes judėti mūsų galvą, kuris yra tai, ką aš ką tik įrodė čia. 966 00:53:10,690 --> 00:53:13,870 Mes nuolat atnaujiname mūsų galva, yra viena daugiau. 967 00:53:13,870 --> 00:53:18,390 Ir tada mes Mažėja mūsų dydis ir grįžti elementą. 968 00:53:18,390 --> 00:53:21,000 969 00:53:21,000 --> 00:53:26,250 >> Yra daug daugiau betono kodas ant study.cs50.net, 970 00:53:26,250 --> 00:53:29,440 ir aš labai rekomenduoju vyksta per jį, jei turite laiko, 971 00:53:29,440 --> 00:53:30,980 net jei tai tik pseudo-kodas. 972 00:53:30,980 --> 00:53:35,980 Ir jei jus vaikinai nori kalbėti per kad su manim vienas ant vieno, praneškite man, 973 00:53:35,980 --> 00:53:37,500 žinoti. 974 00:53:37,500 --> 00:53:38,770 Aš mielai. 975 00:53:38,770 --> 00:53:42,720 Duomenų struktūros, jei vartojate CS 124, jums 976 00:53:42,720 --> 00:53:47,830 žinau, kad duomenų struktūros gauti labai smagu ir tai yra tik pradžia. 977 00:53:47,830 --> 00:53:50,350 >> Taigi, aš žinau, tai sunku. 978 00:53:50,350 --> 00:53:51,300 Viskas OK. 979 00:53:51,300 --> 00:53:52,410 Mes kovoti. 980 00:53:52,410 --> 00:53:53,630 Aš vis dar. 981 00:53:53,630 --> 00:53:56,660 Taigi nesijaudinkite, per daug apie ją. 982 00:53:56,660 --> 00:54:02,390 >> Bet tai iš esmės tavo Avarijos metu į duomenų struktūras. 983 00:54:02,390 --> 00:54:03,400 Žinau, kad tai labai daug. 984 00:54:03,400 --> 00:54:06,860 Ar yra kas nors, kad mes norėtų eiti vėl? 985 00:54:06,860 --> 00:54:09,400 Viskas, ką mes norime kalbėti per? 986 00:54:09,400 --> 00:54:10,060 Taip? 987 00:54:10,060 --> 00:54:16,525 >> AUDITORIJA: Dėl šios Pavyzdžiui, taip Naujas uodega yra 0 per tai? 988 00:54:16,525 --> 00:54:17,150 SPEAKER 1: Taip. 989 00:54:17,150 --> 00:54:18,230 AUDITORIJA: Gerai. 990 00:54:18,230 --> 00:54:24,220 Taigi išgyvena, jūs turite 1 plius 4 or-- 991 00:54:24,220 --> 00:54:27,671 >> SPEAKER 1: Taigi jums buvo pasakyti, kai mes norime eiti tai padaryti dar kartą? 992 00:54:27,671 --> 00:54:28,296 AUDITORIJA: Taip. 993 00:54:28,296 --> 00:54:38,290 Taigi, jei jums buvo suprasti out-- kur yra Jūs skaičiuojant nuo tuo, kad uodega? 994 00:54:38,290 --> 00:54:44,260 >> SPEAKER 1: Taigi uodega buvo in-- aš pakeitė. 995 00:54:44,260 --> 00:54:52,010 Taigi šiame pavyzdyje čia, tai buvo masyvas mes ieškome, gerai? 996 00:54:52,010 --> 00:54:54,670 Taigi, mes turime dalykus 1, 2, 3, ir 4. 997 00:54:54,670 --> 00:55:05,850 Taigi, mes turime mūsų galva yra lygi 1 metu šis punktas, o mūsų dydis yra lygus 4 998 00:55:05,850 --> 00:55:07,050 šiuo metu, ar ne? 999 00:55:07,050 --> 00:55:08,960 >> Jūs visi sutinka, kad toks atvejis? 1000 00:55:08,960 --> 00:55:14,620 Taigi mes galvą plius dydis, kuris suteikia mums 5, ir tada mes mod 5. 1001 00:55:14,620 --> 00:55:20,690 Sulaukiame 0, kuris pasakoja, kad 0 yra kur yra mūsų uodega, kur mes turime erdvę. 1002 00:55:20,690 --> 00:55:22,010 >> AUDITORIJA: Kas dangtelis? 1003 00:55:22,010 --> 00:55:23,520 >> SPEAKER 1: talpa. 1004 00:55:23,520 --> 00:55:24,020 Atsiprašau. 1005 00:55:24,020 --> 00:55:29,640 Taigi tai yra jūsų masyvo dydis. 1006 00:55:29,640 --> 00:55:35,210 1007 00:55:35,210 --> 00:55:36,047 Taip? 1008 00:55:36,047 --> 00:55:39,210 >> AUDITORIJA: [nesigirdi] prieš mes grįžti elementą? 1009 00:55:39,210 --> 00:55:46,270 >> SPEAKER 1: Taigi mes einame galvos arba grąžinti momentą? 1010 00:55:46,270 --> 00:55:52,680 Taigi, jei mes perkelti vieną, Mažėja dydį? 1011 00:55:52,680 --> 00:55:54,150 Prašome palaukti. 1012 00:55:54,150 --> 00:55:55,770 Aš tikrai pamiršo kitą. 1013 00:55:55,770 --> 00:56:00,646 1014 00:56:00,646 --> 00:56:01,990 Never mind. 1015 00:56:01,990 --> 00:56:04,980 Nėra kito formulė. 1016 00:56:04,980 --> 00:56:09,980 Taip, kad jūs norėtumėte grįžti galva ir tada perkelti jį atgal. 1017 00:56:09,980 --> 00:56:13,270 >> AUDITORIJA: Gerai, nes šiuo taškas, galva buvo 0, 1018 00:56:13,270 --> 00:56:18,452 ir tada jūs norite grįžti 0, o indeksų tada galvos 1? 1019 00:56:18,452 --> 00:56:19,870 >> SPEAKER 1: Teisė. 1020 00:56:19,870 --> 00:56:22,820 Manau, kad yra dar vienas formulė lyg tai. 1021 00:56:22,820 --> 00:56:26,970 Aš neturiu ją viršuje, kaip mano galva Nenoriu, kad turėtumėte klaidingą vieną. 1022 00:56:26,970 --> 00:56:35,470 Bet manau, kad tai visiškai galioja iki tarkim, Gerai, nelaikykite šio element-- kokia 1023 00:56:35,470 --> 00:56:40,759 galvutės elementas is-- Mažėja jūsų dydis, judinkite galvą virš, ir grąžinimas 1024 00:56:40,759 --> 00:56:41,800 kad ir ką tai elementas. 1025 00:56:41,800 --> 00:56:44,760 Štai puikiai tinka. 1026 00:56:44,760 --> 00:56:45,260 Gerai. 1027 00:56:45,260 --> 00:56:48,360 1028 00:56:48,360 --> 00:56:53,560 Jaučiu, tai nėra kaip most-- nesate 1029 00:56:53,560 --> 00:56:55,740 ketina išeiti iš čia kaip, taip, aš žinau, bando. 1030 00:56:55,740 --> 00:56:56,880 Aš jį visą. 1031 00:56:56,880 --> 00:56:57,670 Tai gerai. 1032 00:56:57,670 --> 00:57:00,200 Pažadu. 1033 00:57:00,200 --> 00:57:05,240 Bet duomenų struktūros yra kažkas, kad ji užima daug laiko priprasti prie. 1034 00:57:05,240 --> 00:57:10,010 Bene sunkiausiai dalykų, manau, į paskaitas. 1035 00:57:10,010 --> 00:57:15,330 >> Taigi jis tikrai užima kartojimas ir ieško at-- I 1036 00:57:15,330 --> 00:57:20,050 nelabai žinau, susijusius sąrašus kol aš per daug su jais, 1037 00:57:20,050 --> 00:57:22,550 tuo pačiu būdu, kad aš ne tikrai suprasti patarimų 1038 00:57:22,550 --> 00:57:27,040 kol aš turėjo mokyti jį dviems metų ir padaryti savo pačių psets su juo. 1039 00:57:27,040 --> 00:57:28,990 Tai užtrunka daug pakartojimu ir daug laiko. 1040 00:57:28,990 --> 00:57:32,600 Ir galiausiai, tai kokios spustelėkite. 1041 00:57:32,600 --> 00:57:36,320 >> Tačiau kol kas, jei turite geras aukšto lygio specialistų supratimą, kas 1042 00:57:36,320 --> 00:57:39,321 tai padaryti, jų privalumus ir cons-- kuris yra tai, ką 1043 00:57:39,321 --> 00:57:41,820 mes tikrai linkę akcentuoti, ypač intro kursą. 1044 00:57:41,820 --> 00:57:45,511 Kaip, kodėl mes naudojame pabandykite per masyvą? 1045 00:57:45,511 --> 00:57:48,010 Kaip, kas yra teigiami ir negatyvai, apie kiekvieną tų? 1046 00:57:48,010 --> 00:57:51,610 >> Ir suprasti kompromisus tarp kiekvienos iš šių struktūrų 1047 00:57:51,610 --> 00:57:54,910 yra tai, kas daug svarbiau dabar. 1048 00:57:54,910 --> 00:57:58,140 Gali būti vienas iš proto klausimas ar du, kad yra 1049 00:57:58,140 --> 00:58:03,710 Paprašysiu jus įgyvendinti stumti ar įgyvendinti pasipriešinimo arba į eilę ir dequeue. 1050 00:58:03,710 --> 00:58:07,340 Tačiau didžioji dalis, kurios, kad aukštesnio lygio supratimą ir daugiau 1051 00:58:07,340 --> 00:58:09,710 iš intuityvus čiupti yra svarbesnis nei iš tikrųjų 1052 00:58:09,710 --> 00:58:11,250 kad galėtų ją įgyvendinti. 1053 00:58:11,250 --> 00:58:14,880 >> Tai būčiau tikrai nuostabus, jei jūs visi gali eiti ir eiti įgyvendinti pabandyti, 1054 00:58:14,880 --> 00:58:19,720 bet mes suprantame, kad tai nebūtinai Tinkamiausias dalykas dabar. 1055 00:58:19,720 --> 00:58:23,370 Bet jūs galite savo pset, jei norite , tada jūs gausite praktiką, 1056 00:58:23,370 --> 00:58:27,200 ir tada gal jums tikrai suprasti. 1057 00:58:27,200 --> 00:58:27,940 Taip? 1058 00:58:27,940 --> 00:58:30,440 >> AUDITORIJA: Gerai, kad kuris iš jų yra mes reiškė naudoti į pset? 1059 00:58:30,440 --> 00:58:31,916 Ar man reikia naudoti vieną iš jų? 1060 00:58:31,916 --> 00:58:32,540 SPEAKER 1: Taip. 1061 00:58:32,540 --> 00:58:34,199 Taigi jūs turite savo pasirinkimą. 1062 00:58:34,199 --> 00:58:36,740 Spėju, šiuo atveju, mes galime kalbėti apie pset dalelę 1063 00:58:36,740 --> 00:58:40,480 nes išbėgau pro juos. 1064 00:58:40,480 --> 00:58:47,779 Taigi jūsų pset, turite pasirinkimas bando ar hash lenteles. 1065 00:58:47,779 --> 00:58:49,570 Kai kurie žmonės bando ir naudoti žydėti filtrai, 1066 00:58:49,570 --> 00:58:51,840 bet kurie techniškai nėra teisinga. 1067 00:58:51,840 --> 00:58:55,804 Dėl jų tikimybinis pobūdis, jie klaidingai teigiami, kartais. 1068 00:58:55,804 --> 00:58:57,095 Jie kietas žvilgsnis į, nors. 1069 00:58:57,095 --> 00:58:59,030 Labai rekomenduoju ieškote į juos bent. 1070 00:58:59,030 --> 00:59:03,260 Bet jūs turite savo pasirinkimą tarp maišos lentelė ir pabandyti. 1071 00:59:03,260 --> 00:59:06,660 Ir kad tai bus kur Jūs kraunate savo žodyną. 1072 00:59:06,660 --> 00:59:09,230 >> Ir jums reikia pasirinkti Jūsų maišos funkcija, 1073 00:59:09,230 --> 00:59:13,420 jums reikia pasirinkti, kiek kaušai turite, ir jis gali varijuoti. 1074 00:59:13,420 --> 00:59:17,440 Pavyzdžiui, jei turite daugiau kibirai, gal jis bus paleisti greičiau. 1075 00:59:17,440 --> 00:59:22,790 Bet gal jūs eikvoti daug erdvės, kad taip, nors. 1076 00:59:22,790 --> 00:59:26,320 Turite suprasti jį. 1077 00:59:26,320 --> 00:59:27,140 Mmhmm? 1078 00:59:27,140 --> 00:59:29,875 >> AUDITORIJA: Jūs sakėte, prieš tai mes galime naudoti kitų maišos funkcijas, 1079 00:59:29,875 --> 00:59:31,750 kad mes neturime į sukurti maišos funkcija? 1080 00:59:31,750 --> 00:59:32,666 >> SPEAKER 1: Taip, tiesa. 1081 00:59:32,666 --> 00:59:38,150 Taigi pažodžiui jūsų maišos funkcija, kaip google "maišos funkcija" 1082 00:59:38,150 --> 00:59:40,770 ir surasti kai cool tie. 1083 00:59:40,770 --> 00:59:43,250 Jūs nesate tikimasi pastatyti jūsų pačių maišos funkcijos. 1084 00:59:43,250 --> 00:59:46,100 Žmonės praleidžia savo tezės apie šiuos dalykus. 1085 00:59:46,100 --> 00:59:50,250 >> Taigi nesijaudinkite apie pastato savo. 1086 00:59:50,250 --> 00:59:53,350 Ieškoti vieną internete pradėti. 1087 00:59:53,350 --> 00:59:56,120 Kai kurie iš jų, jūs turite manipuliuoti truputį 1088 00:59:56,120 --> 00:59:59,430 įsitikinti, ar grąžinimo tipai atitikmenys ir Papuošalą, todėl iš pradžių, 1089 00:59:59,430 --> 01:00:02,420 Norėčiau rekomenduoti naudojant kažką tikrai paprasta, kad gal tiesiog 1090 01:00:02,420 --> 01:00:04,680 maišų pirmąją raidę. 1091 01:00:04,680 --> 01:00:08,760 Ir tada, kai jūs turite, kad darbas, įtraukiant aušintuvas maišos funkcija. 1092 01:00:08,760 --> 01:00:09,260 Mmhmm? 1093 01:00:09,260 --> 01:00:13,020 >> AUDITORIJA: Ar bandyti būti arba efektyvus, bet tik sunkiau, like-- 1094 01:00:13,020 --> 01:00:15,880 >> SPEAKER 1: Taigi pabandyti, manau, yra intuityviai sunku įgyvendinti 1095 01:00:15,880 --> 01:00:18,310 bet yra labai greitas. 1096 01:00:18,310 --> 01:00:20,620 Tačiau užima daugiau vietos. 1097 01:00:20,620 --> 01:00:25,270 Vėlgi, jūs galite optimizuoti tiek tiems, įvairiais būdais ir yra būdų to-- 1098 01:00:25,270 --> 01:00:26,770 AUDITORIJA: Kaip mes rūšiuojami tai? 1099 01:00:26,770 --> 01:00:27,540 Ar tai matter-- 1100 01:00:27,540 --> 01:00:29,164 >> SPEAKER 1: Taigi jūs surūšiuoti įprastu būdu. 1101 01:00:29,164 --> 01:00:31,330 Jūs ketinate būti rūšiuojami dizainas. 1102 01:00:31,330 --> 01:00:36,020 Nesvarbu, kaip jūs darote, jūs norite įsitikinkite, kad jis, kaip elegantiškas, nes jis gali būti 1103 01:00:36,020 --> 01:00:38,610 ir tokia veiksminga, kaip jis gali būti. 1104 01:00:38,610 --> 01:00:41,950 Tačiau jei jūs pasirinksite pabandyti arba maišos lentelė, taip ilgai, kaip ji veikia, 1105 01:00:41,950 --> 01:00:45,350 mes džiaugiamės, kad. 1106 01:00:45,350 --> 01:00:48,370 Ir jei jūs naudojate kažką, kad maišos pirmame laiške, tai gerai, 1107 01:00:48,370 --> 01:00:51,410 kaip gal kaip dizaino atžvilgiais. 1108 01:00:51,410 --> 01:00:53,410 Mes taip pat pasiekė taškas šiame semester-- 1109 01:00:53,410 --> 01:00:55,340 Aš nežinau, jei jums vaikinai noticed-- jei esate 1110 01:00:55,340 --> 01:00:58,780 pset rūšių mažėti šiek tiek dėl dizaino ir Papuošalą, 1111 01:00:58,780 --> 01:00:59,900 kad puikiai gerai. 1112 01:00:59,900 --> 01:01:02,960 Tai vis iki taško, kur yra jūsų programos darosi sudėtingesnis. 1113 01:01:02,960 --> 01:01:04,830 Yra daugiau vietų galite pagerinti. 1114 01:01:04,830 --> 01:01:06,370 >> Taigi, tai visiškai normalu. 1115 01:01:06,370 --> 01:01:08,810 Tai nereiškia, kad jūs esate daro blogiau savo pset. 1116 01:01:08,810 --> 01:01:11,885 Tai tiesiog mes yra sunkiau jums dabar. 1117 01:01:11,885 --> 01:01:13,732 Taigi kiekvienas manimi jausmas. 1118 01:01:13,732 --> 01:01:14,940 Aš tiesiog surūšiuoti visus psets. 1119 01:01:14,940 --> 01:01:16,490 Aš žinau, visi yra jausmas. 1120 01:01:16,490 --> 01:01:19,600 >> Taigi nereikia nerimauti, kad. 1121 01:01:19,600 --> 01:01:23,580 Ir jei turite kokių nors klausimų apie tai išankstiniai psets ar būdų, kaip galite pagerinti, 1122 01:01:23,580 --> 01:01:27,760 Bandau ir komentuoti konkrečių vietos, bet kartais tai vėlai 1123 01:01:27,760 --> 01:01:30,840 ir aš pavargsta. 1124 01:01:30,840 --> 01:01:34,885 Ar yra kitų dalykų, apie duomenų struktūros? 1125 01:01:34,885 --> 01:01:37,510 Aš tikiu, kad jūs vaikinai nelabai noriu kalbėti apie jų nebėra, 1126 01:01:37,510 --> 01:01:42,650 bet jei yra, aš esu laimingas, kad eiti per juos, taip pat nieko 1127 01:01:42,650 --> 01:01:45,580 iš paskaitos tai praeities savaitę ar praeitą savaitę. 1128 01:01:45,580 --> 01:01:51,580 >> Žinau, praeitą savaitę buvo viskas peržiūra, todėl mes galėjo praleisti per tam tikrą peržiūros 1129 01:01:51,580 --> 01:01:54,190 iš paskaitos. 1130 01:01:54,190 --> 01:01:58,230 Kitus klausimus galiu atsakyti? 1131 01:01:58,230 --> 01:01:59,350 Gerai, gerai. 1132 01:01:59,350 --> 01:02:02,400 Na, vaikinai išeiti 15 minučių anksčiau. 1133 01:02:02,400 --> 01:02:08,370 >> Tikiuosi, kad tai buvo pusiau naudinga bent ir aš pamatysiu jus vaikinai kitą savaitę, 1134 01:02:08,370 --> 01:02:12,150 ar ketvirtadienis darbo valandomis. 1135 01:02:12,150 --> 01:02:15,285 Ar yra pareikalavimas užkandžiai kitą savaitę, tai dalykas? 1136 01:02:15,285 --> 01:02:17,459 Nes aš pamiršau saldainiai šiandien. 1137 01:02:17,459 --> 01:02:19,750 Atvedžiau saldainiai paskutinį savaitę, bet tai buvo Kolumbo diena, 1138 01:02:19,750 --> 01:02:25,400 tad tikrai buvo kaip šešių žmonių, kurie turėjo keturis maišelius saldainių sau. 1139 01:02:25,400 --> 01:02:28,820 Galiu duoti pliūpsniais dar kartą, jei norite. 1140 01:02:28,820 --> 01:02:29,580 Pliūpsniais? 1141 01:02:29,580 --> 01:02:32,250 Gerai, gerai skamba. 1142 01:02:32,250 --> 01:02:35,050 Iki pasimatymo, vaikinai. 1143 01:02:35,050 --> 01:02:39,510