1 00:00:00,000 --> 00:00:00,500 2 00:00:00,500 --> 00:00:05,120 [Tónlist spila] 3 00:00:05,120 --> 00:00:12,026 4 00:00:12,026 --> 00:00:12,900 Ræðumaður 1: Allt í lagi. 5 00:00:12,900 --> 00:00:14,600 Allir velkomnir aftur til kafla. 6 00:00:14,600 --> 00:00:18,660 Ég vona að þú allur ert tókst batna frá prófið 7 00:00:18,660 --> 00:00:19,510 frá síðustu viku. 8 00:00:19,510 --> 00:00:22,564 Ég veit að það er svolítið brjálaður stundum. 9 00:00:22,564 --> 00:00:25,230 Eins og ég var að segja áður, ef þú ert innan staðalfráviks, 10 00:00:25,230 --> 00:00:28,188 raun ekki hafa áhyggjur óður í það, sérstaklega fyrir minna þægilegt kafla. 11 00:00:28,188 --> 00:00:30,230 Það er um hvar þú ættir að vera. 12 00:00:30,230 --> 00:00:32,850 >> Ef þú gerðir vel, þá ógnvekjandi. 13 00:00:32,850 --> 00:00:33,650 Kudos til þín. 14 00:00:33,650 --> 00:00:36,149 Og ef þér finnst eins og þú þarft svolítið meira hjálp, vinsamlegast 15 00:00:36,149 --> 00:00:38,140 ekki hika við að ná út einhverju TFS. 16 00:00:38,140 --> 00:00:40,030 Við erum öll hér til að hjálpa. 17 00:00:40,030 --> 00:00:40,960 >> Þess vegna við kennum. 18 00:00:40,960 --> 00:00:44,550 Þess vegna er ég hér á hverjum mánudegi fyrir þig krakkar og á skrifstofutíma á fimmtudögum. 19 00:00:44,550 --> 00:00:48,130 Svo skaltu ekki hika við að láta mig vita Ef þú ert að hafa áhyggjur neitt 20 00:00:48,130 --> 00:00:52,450 eða ef það er eitthvað á spurningakeppni að þú vilt virkilega til að takast á við. 21 00:00:52,450 --> 00:00:56,940 >> Svo er dagskrá fyrir daginn í dag allt um uppbyggingu gagna. 22 00:00:56,940 --> 00:01:01,520 Sumir af þessir ert bara að fara að vera bara til að fá þig kynnt með þessum. 23 00:01:01,520 --> 00:01:04,870 Þú getur ekki alltaf framkvæma þá í þessum flokki. 24 00:01:04,870 --> 00:01:08,690 Sumir af þeim sem þú verður, eins og fyrir Speller pset þinn. 25 00:01:08,690 --> 00:01:11,380 >> Þú munt hafa val þitt milli hash borðum og reynir. 26 00:01:11,380 --> 00:01:13,680 Svo við munum örugglega vera að fara yfir þær. 27 00:01:13,680 --> 00:01:18,690 Það er að fara að vera ákveðið meira af tagi af háu stigi kafla í dag, þó, 28 00:01:18,690 --> 00:01:22,630 vegna þess að það er mikið af þeim, og ef fórum inn í framkvæmd smáatriði 29 00:01:22,630 --> 00:01:26,490 á öllum þessum, myndum við ekki jafnvel komast í gegnum tengd listum 30 00:01:26,490 --> 00:01:28,520 og kannski smá kjötkássa matskeið. 31 00:01:28,520 --> 00:01:31,200 >> Svo bera með mér. 32 00:01:31,200 --> 00:01:33,530 Við erum ekki að fara að vera að gera eins mikið kóðun þetta sinn. 33 00:01:33,530 --> 00:01:36,870 Ef þú hefur einhverjar spurningar um það eða ef þú vilt sjá það framkvæmda 34 00:01:36,870 --> 00:01:39,260 eða reyna það fyrir þig, Ég mæli með ákveðið 35 00:01:39,260 --> 00:01:44,250 fara að study.cs50.net sem hefur dæmi um allar þessar. 36 00:01:44,250 --> 00:01:46,400 Það verður PowerPoints mínar með skýringum sem við 37 00:01:46,400 --> 00:01:50,860 hafa tilhneigingu til að nota sem og sumir forritun æfingar, sérstaklega fyrir hluti 38 00:01:50,860 --> 00:01:55,250 eins tengd listum og tvöfaldur tré stafla og Cues. 39 00:01:55,250 --> 00:01:59,590 Svo lítið meira mikil, sem gæti verið gott fyrir ykkur. 40 00:01:59,590 --> 00:02:01,320 >> Svo með það, munum við byrja. 41 00:02:01,320 --> 00:02:03,060 Og einnig, yes-- Skyndipróf. 42 00:02:03,060 --> 00:02:06,550 Ég held að flest ykkar sem eru í kafla minn hefur Skyndipróf þínum, 43 00:02:06,550 --> 00:02:12,060 en einhver kemur inn eða sumir ástæða þú gera ekki, þeir eru hérna í framan. 44 00:02:12,060 --> 00:02:12,740 >> Svo tengd listum. 45 00:02:12,740 --> 00:02:15,650 Ég veit svona af fer til baka áður prófið. 46 00:02:15,650 --> 00:02:17,940 Það var viku fyrir að við lærðum um þetta. 47 00:02:17,940 --> 00:02:21,040 En í þessu tilfelli, við verðum bara fara svolítið meira í dýpt. 48 00:02:21,040 --> 00:02:25,900 >> Svo hvers vegna gætum við valið tengd lista yfir fjölda? 49 00:02:25,900 --> 00:02:27,130 Hvað aðgreinir þá? 50 00:02:27,130 --> 00:02:27,630 Já? 51 00:02:27,630 --> 00:02:30,464 >> Áhorfendur: Þú getur aukið tengdur lista móti fasta stærð fylki er. 52 00:02:30,464 --> 00:02:31,171 Ræðumaður 1: Hægri. 53 00:02:31,171 --> 00:02:33,970 An array hefur fasta stærð en a tengda listanum hefur breytilega stærð. 54 00:02:33,970 --> 00:02:36,970 Þannig að ef við vitum ekki hvernig mikið við viljum til að geyma, 55 00:02:36,970 --> 00:02:39,880 tengdur listi gefur okkur a mikill leiðin til að gera það vegna þess að við getum bara 56 00:02:39,880 --> 00:02:43,730 bæta við á annan hnút og bæta við á annar hnútur og bæta á annan hnút. 57 00:02:43,730 --> 00:02:45,750 En hvað gæti verið málamiðlun? 58 00:02:45,750 --> 00:02:49,521 Hefur einhver man málamiðlun milli fylki og tengist listum? 59 00:02:49,521 --> 00:02:50,020 Mmhmm? 60 00:02:50,020 --> 00:02:51,460 >> Áhorfendur: Þú þarft að fara í gegnum alla leið 61 00:02:51,460 --> 00:02:53,738 gegnum tengda listanum finna stak í lista. 62 00:02:53,738 --> 00:02:55,570 Í fylki, þú getur bara finna stak. 63 00:02:55,570 --> 00:02:56,278 >> Ræðumaður 1: Hægri. 64 00:02:56,278 --> 00:02:57,120 Svo með arrays-- 65 00:02:57,120 --> 00:02:58,500 >> Áhorfendur: [inaudible]. 66 00:02:58,500 --> 00:03:01,090 >> Ræðumaður 1: Með fylki, höfum við hvað heitir handahófi aðgang. 67 00:03:01,090 --> 00:03:04,820 Þýðir að ef við viljum það sem er alltaf fimmta lið af lista 68 00:03:04,820 --> 00:03:07,230 eða fimmta lið af okkar array, getum við bara grípa það. 69 00:03:07,230 --> 00:03:10,440 Ef það er tengda listanum, við höfum að iterate gegnum, ekki satt? 70 00:03:10,440 --> 00:03:14,020 Svo aðgang stak í fylki er fasti tími, 71 00:03:14,020 --> 00:03:19,530 en með tengda listanum það myndi líklegast vera línuleg tími því kannski 72 00:03:19,530 --> 00:03:21,370 þáttur okkar er alla leið á enda. 73 00:03:21,370 --> 00:03:23,446 Við verðum að leita í gegnum allt. 74 00:03:23,446 --> 00:03:25,320 Svo með öllum þessum gögnum mannvirki sem við ætlum 75 00:03:25,320 --> 00:03:29,330 til að eyða aðeins meiri tíma í, hvað eru plús-merkjum og neikvæður. 76 00:03:29,330 --> 00:03:31,480 Hvenær gætum við viljum nota einn yfir öðrum? 77 00:03:31,480 --> 00:03:34,970 Og það er góður af stærri hlutur að taka í burtu. 78 00:03:34,970 --> 00:03:40,140 >> Þannig að við höfum hér skilgreining á hnút. 79 00:03:40,140 --> 00:03:43,040 Það er eins og einn þáttur í tengda listanum okkar, ekki satt? 80 00:03:43,040 --> 00:03:46,180 Þannig að við erum öll kunnugur með typedef structs okkar, 81 00:03:46,180 --> 00:03:47,980 sem við fórum yfir í endurskoðun á síðasta tíma. 82 00:03:47,980 --> 00:03:53,180 Það var í rauninni bara að búa annars gögn tegund sem við gætum notað. 83 00:03:53,180 --> 00:03:57,930 >> Og í þessu tilfelli, er það sumir hnút sem mun halda einhverja heiltölu í. 84 00:03:57,930 --> 00:04:00,210 Og þá er það seinni hluti hér? 85 00:04:00,210 --> 00:04:03,192 86 00:04:03,192 --> 00:04:05,677 Einhver? 87 00:04:05,677 --> 00:04:06,680 >> Áhorfendur: [inaudible]. 88 00:04:06,680 --> 00:04:07,020 >> Ræðumaður 1: Já. 89 00:04:07,020 --> 00:04:08,400 Það er bendi á næsta hnút. 90 00:04:08,400 --> 00:04:12,610 Þannig að þetta ætti í raun að vera hérna. 91 00:04:12,610 --> 00:04:18,790 Þetta er bendi af tegund hnút í næsta hlutur. 92 00:04:18,790 --> 00:04:22,410 Og það er það sem þeir nær hnút okkar. 93 00:04:22,410 --> 00:04:24,060 Cool. 94 00:04:24,060 --> 00:04:29,390 >> Allt í lagi, svo við leit, eins og við vorum bara að segja áður en hendi, ef þú ert 95 00:04:29,390 --> 00:04:31,840 að fara að leita í gegnum, þú þarft að raunverulega kunnugt 96 00:04:31,840 --> 00:04:33,660 gegnum tengda listanum þínum. 97 00:04:33,660 --> 00:04:38,530 Þannig að ef við erum að leita fyrir fjölda 9, myndum við byrja á höfði okkar 98 00:04:38,530 --> 00:04:41,520 og það bendir okkur á upphafi af tengda listanum okkar, ekki satt? 99 00:04:41,520 --> 00:04:44,600 Og við segjum, OK, er þetta hnút innihalda númer 9? 100 00:04:44,600 --> 00:04:45,690 Nei? 101 00:04:45,690 --> 00:04:47,500 >> Allt í lagi, fara til the næstur einn. 102 00:04:47,500 --> 00:04:48,312 Fylgja henni. 103 00:04:48,312 --> 00:04:49,520 Hefur það að geyma númer 9? 104 00:04:49,520 --> 00:04:50,570 No. 105 00:04:50,570 --> 00:04:51,550 Fylgdu næstu einn. 106 00:04:51,550 --> 00:04:55,490 >> Þannig að við höfum í raun og veru kunnugt gegnum tengda listanum okkar. 107 00:04:55,490 --> 00:05:00,070 Við getum ekki bara fara beint til þar 9 er. 108 00:05:00,070 --> 00:05:05,860 Og ef þú krakkar vilja í raun að sjá nokkrar gervi-númer þarna. 109 00:05:05,860 --> 00:05:10,420 Við höfum einhverja leit virka hér sem tekur in-- hvað tekur það inn? 110 00:05:10,420 --> 00:05:13,110 111 00:05:13,110 --> 00:05:14,320 Hvað finnst þér? 112 00:05:14,320 --> 00:05:15,960 Svo auðvelt einn. 113 00:05:15,960 --> 00:05:17,784 Hvað er þetta? 114 00:05:17,784 --> 00:05:18,700 Áhorfendur: [inaudible]. 115 00:05:18,700 --> 00:05:20,366 Ræðumaður 1: Fjöldi við erum að leita að. 116 00:05:20,366 --> 00:05:20,980 Hægri? 117 00:05:20,980 --> 00:05:22,875 Og hvað myndi þetta samsvara? 118 00:05:22,875 --> 00:05:25,020 Það er bendi til? 119 00:05:25,020 --> 00:05:26,000 >> Áhorfendur: A hnútur. 120 00:05:26,000 --> 00:05:28,980 >> Ræðumaður 1: A hnútur á listann að við erum að horfa á, ekki satt? 121 00:05:28,980 --> 00:05:33,700 Þannig að við höfum sumir hnútar eru bendi hér. 122 00:05:33,700 --> 00:05:37,240 Þetta er lið sem er að fara til reyndar iterate gegnum listann okkar. 123 00:05:37,240 --> 00:05:39,630 Við setjum það jafnt að skrá því það er bara 124 00:05:39,630 --> 00:05:44,380 stilling það jafnt við byrja á tengda listanum okkar. 125 00:05:44,380 --> 00:05:50,660 >> Og meðan það er ekki NULL, en við höfum enn hluti á listanum okkar, 126 00:05:50,660 --> 00:05:55,580 athuga hvort þessi hnútur hefur fjöldi sem við erum að leita að. 127 00:05:55,580 --> 00:05:57,740 Return true. 128 00:05:57,740 --> 00:06:01,070 Annars, endurnýja það, ekki satt? 129 00:06:01,070 --> 00:06:04,870 >> Ef það er NULL, við hætta okkar meðan lykkja og return false 130 00:06:04,870 --> 00:06:08,340 því það þýðir að við höfum ekki fundið það. 131 00:06:08,340 --> 00:06:11,048 Þurfa allir fá hvernig það virkar? 132 00:06:11,048 --> 00:06:11,548 OK. 133 00:06:11,548 --> 00:06:14,940 134 00:06:14,940 --> 00:06:20,260 >> Svo með innsetning, þú hafa þrjú mismunandi vegu. 135 00:06:20,260 --> 00:06:25,250 Þú getur prepend, getur þú bæta og þú getur sett inn í blandað. 136 00:06:25,250 --> 00:06:28,215 Í þessu tilviki, við erum fara að gera prepend. 137 00:06:28,215 --> 00:06:33,380 Hefur einhver veit hvernig þeim þrjú tilfelli verið mismunandi? 138 00:06:33,380 --> 00:06:36,920 >> Svo prepend þýðir að þú setur það framan á listanum þínum. 139 00:06:36,920 --> 00:06:39,770 Svo sem myndi þýða að það er sama hvaða hnút er, sama 140 00:06:39,770 --> 00:06:43,160 hvaða gildi er, ert þú að fara til að setja það hérna fyrir framan, OK? 141 00:06:43,160 --> 00:06:45,160 Það er að fara til vera the fyrstur þáttur í listanum þínum. 142 00:06:45,160 --> 00:06:49,510 >> Ef þú bæta það, það er að fara að fara á bak við listann. 143 00:06:49,510 --> 00:06:54,010 Og settu inn blandað þýðir að þú ert að fara að setja í raun í stað 144 00:06:54,010 --> 00:06:57,700 þar sem það heldur tengda listanum þínum raðað. 145 00:06:57,700 --> 00:07:00,810 Aftur, hvernig þú notar þá og þegar þú notar 146 00:07:00,810 --> 00:07:02,530 þá er breytilegt eftir þínu tilviki. 147 00:07:02,530 --> 00:07:05,834 148 00:07:05,834 --> 00:07:07,750 Ef það þarf ekki að vera flokkaður, prepend tilhneigingu 149 00:07:07,750 --> 00:07:10,460 að vera það sem flestir nota vegna þess að þú ert ekki 150 00:07:10,460 --> 00:07:15,680 þarft að fara í gegnum allt listann að finna enda til að bæta það á, ekki satt? 151 00:07:15,680 --> 00:07:17,720 Þú getur bara halda það rétt í. 152 00:07:17,720 --> 00:07:21,930 >> Þannig að við munum fara í gegnum innsetningu 1 núna. 153 00:07:21,930 --> 00:07:26,360 Svo eitt sem ég ætla að mjög mæla á þessari pset 154 00:07:26,360 --> 00:07:29,820 er að draga það út, eins og alltaf. 155 00:07:29,820 --> 00:07:35,130 Það er mjög mikilvægt að þú uppfærir ábendingum þínum í réttri röð 156 00:07:35,130 --> 00:07:38,620 því ef þú uppfærir þá örlítið út af röð, 157 00:07:38,620 --> 00:07:42,210 þú ert að fara að enda tapa hluta listann. 158 00:07:42,210 --> 00:07:49,680 >> Svo til dæmis, í þessu tilfelli, við erum segja höfuðið bara benda til 1. 159 00:07:49,680 --> 00:07:56,070 Ef við gerum bara það án þess að vista þetta 1, 160 00:07:56,070 --> 00:07:58,570 við höfum ekki hugmynd um hvað 1 ætti að benda til nú 161 00:07:58,570 --> 00:08:02,490 vegna þess að við höfum misst það höfuð benti til. 162 00:08:02,490 --> 00:08:05,530 Svo eitt að muna þegar þú ert að gera a prepend 163 00:08:05,530 --> 00:08:09,630 er að bjarga því sem við höfuð benda til fyrsta, 164 00:08:09,630 --> 00:08:15,210 þá breyta henni, og þá uppfæra hvaða nýja hnút ætti benda á. 165 00:08:15,210 --> 00:08:20,870 166 00:08:20,870 --> 00:08:22,560 Í þessu tilviki, þetta er ein leiðin til að gera það. 167 00:08:22,560 --> 00:08:25,440 >> Þannig að ef við hefðum gert það með þessum hætti þar sem við færður bara höfðinu, 168 00:08:25,440 --> 00:08:30,320 við missa grundvallaratriðum OKKAR öllum listanum, ekki satt? 169 00:08:30,320 --> 00:08:38,000 Ein leið til að gera það er að hafa 1 stig til næst, og þá hafa höfuð benda til 1. 170 00:08:38,000 --> 00:08:42,650 Eða þú getur gert góður af eins og tímabundin geymsla, sem ég talaði um. 171 00:08:42,650 --> 00:08:45,670 >> En reassigning ÞINN ábendingum í réttri röð 172 00:08:45,670 --> 00:08:48,750 er að fara að vera mjög, mjög mikilvægt fyrir þessa pset. 173 00:08:48,750 --> 00:08:53,140 Annars, þú ert að fara að hafa kjötkássa borð eða a reyna það er bara að fara að vera 174 00:08:53,140 --> 00:08:56,014 aðeins hluti af þeim orðum sem þú vilja og þá mmhmm you're--? 175 00:08:56,014 --> 00:08:58,930 Áhorfendur: Hvað var tímabundin geymsla sem þú varst að tala um? 176 00:08:58,930 --> 00:09:00,305 Ræðumaður 1: tímabundna geymslu. 177 00:09:00,305 --> 00:09:02,760 Svo í rauninni annað leiðin sem þú gætir gert þetta 178 00:09:02,760 --> 00:09:07,650 er geyma höfuð eitthvað, eins geyma það sem tímabundna breytu. 179 00:09:07,650 --> 00:09:11,250 Framselja það til 1 og uppfærðu síðan 1 til að benda 180 00:09:11,250 --> 00:09:13,830 til hvað höfuð notuð til að benda á. 181 00:09:13,830 --> 00:09:16,920 This vegur er augljóslega glæsilegur vegna þess að þú 182 00:09:16,920 --> 00:09:20,770 þurfa ekki tímabundið gildi, en bara bjóða aðra leið til að gera það. 183 00:09:20,770 --> 00:09:23,999 184 00:09:23,999 --> 00:09:25,790 Og við gerum í raun hafa nokkur númer fyrir þetta. 185 00:09:25,790 --> 00:09:28,080 Svo fyrir tengda listanum, við raun hafa nokkur númer. 186 00:09:28,080 --> 00:09:31,930 Svo setja hér, þetta er prepending. 187 00:09:31,930 --> 00:09:34,290 Svo fer þetta það á höfuðið. 188 00:09:34,290 --> 00:09:38,820 >> Svo fyrsta sem þú þarft að búa til nýtt hnút þína, auðvitað, 189 00:09:38,820 --> 00:09:40,790 og athuga NÚLL. 190 00:09:40,790 --> 00:09:43,250 Alltaf gott. 191 00:09:43,250 --> 00:09:47,840 Og þá þú þarft að tengja gildin. 192 00:09:47,840 --> 00:09:51,260 Alltaf þegar þú býrð til nýja hnút, þú veit ekki hvað það er að vísa á næsta, 193 00:09:51,260 --> 00:09:54,560 svo þú vilt að frumstilla það að null. 194 00:09:54,560 --> 00:09:58,760 Ef það er á endanum sem bendir á eitthvað annars fær það færður og það er fínt. 195 00:09:58,760 --> 00:10:00,740 Ef það er það fyrsta sem á listanum, það þarf 196 00:10:00,740 --> 00:10:04,270 að benda á NÚLL því það er aftast í listanum. 197 00:10:04,270 --> 00:10:12,410 >> Svo þá á að setja það, sjáum við hér við eru framselja næsta gildi hnút okkar 198 00:10:12,410 --> 00:10:17,380 að vera hvað sem höfuð er, sem er það sem við höfðum hér. 199 00:10:17,380 --> 00:10:19,930 Það er það sem við gerðum rétt. 200 00:10:19,930 --> 00:10:25,820 Og svo við erum að framselja höfuð til lið á nýja hnút okkar, vegna muna, 201 00:10:25,820 --> 00:10:31,090 nýja er einhver bendi til hnút, og það er einmitt það sem höfuð er. 202 00:10:31,090 --> 00:10:34,370 Það er einmitt þess vegna sem við hafa þetta ör aukahlutir. 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 >> Áhorfendur: eigum við að frumstilla nýja Next til NULL fyrst, 207 00:10:41,100 --> 00:10:44,240 eða getum við frumstilla bara það að höfuð? 208 00:10:44,240 --> 00:10:48,210 >> Ræðumaður 1: New Næsta þarf að vera NULL til að byrja 209 00:10:48,210 --> 00:10:53,760 vegna þess að þú veist ekki þar sem það er að fara til vera. 210 00:10:53,760 --> 00:10:56,100 Einnig er þetta eins konar bara eins og fyrirmynd. 211 00:10:56,100 --> 00:10:59,900 Þú stillir það jafn NÚLL bara að gera viss um að allir bækistöðvar þínar falla 212 00:10:59,900 --> 00:11:04,070 áður en þú gerir einhverjar reassignment svo að þú ert alltaf að tryggja að það mun 213 00:11:04,070 --> 00:11:08,880 vera að benda á ákveðna gildi móti eins og sorp gildi. 214 00:11:08,880 --> 00:11:12,210 Vegna þess, já, við gefum nýtt næst sjálfkrafa, 215 00:11:12,210 --> 00:11:15,420 en það er meira bara eins og a gott að frumstilla hana 216 00:11:15,420 --> 00:11:19,270 á þann hátt og svo endurúthluta. 217 00:11:19,270 --> 00:11:23,420 >> OK, svo tvöfalt tengd listum núna. 218 00:11:23,420 --> 00:11:24,601 Hvað eigum við held? 219 00:11:24,601 --> 00:11:26,350 Hvað er öðruvísi við tvöfalt tengd listum? 220 00:11:26,350 --> 00:11:30,750 221 00:11:30,750 --> 00:11:34,300 >> Svo í tengdum listum okkar, getum við aðeins fara í eina átt, ekki satt? 222 00:11:34,300 --> 00:11:35,270 Við höfum aðeins næst. 223 00:11:35,270 --> 00:11:36,760 Við getum aðeins farið fram. 224 00:11:36,760 --> 00:11:40,300 >> Með tvöfalt tengist lista, getum einnig færa aftur á bak. 225 00:11:40,300 --> 00:11:44,810 Þannig að við höfum ekki aðeins númer sem við viljum geyma, 226 00:11:44,810 --> 00:11:50,110 við höfum þar sem það bendir til næsta og þar sem við kom bara frá. 227 00:11:50,110 --> 00:11:52,865 Svo gerir þetta fyrir sumir betri traversal. 228 00:11:52,865 --> 00:11:56,620 229 00:11:56,620 --> 00:12:01,240 >> Svo tvöfalt tengdra hnúður, mjög svipuð, ekki satt? 230 00:12:01,240 --> 00:12:05,000 Aðeins er munur nú við hafa næsta og fyrri. 231 00:12:05,000 --> 00:12:06,235 Það er eini munurinn. 232 00:12:06,235 --> 00:12:09,570 233 00:12:09,570 --> 00:12:14,790 >> Þannig að ef við værum að prepend eða append-- við ekki hafa allir kóðann fyrir þetta upp here-- 234 00:12:14,790 --> 00:12:17,830 en ef þú varst að reyna að settu það skiptir mestu 235 00:12:17,830 --> 00:12:19,980 er sem þú þarft að gera viss um að þú ert að framselja 236 00:12:19,980 --> 00:12:23,360 bæði fyrri og þinn næsta bendi rétt. 237 00:12:23,360 --> 00:12:29,010 Svo í þessu tilfelli, þú vildi ekki aðeins frumstilla næst, 238 00:12:29,010 --> 00:12:31,820 þú frumstilla fyrri. 239 00:12:31,820 --> 00:12:36,960 Ef við erum í forsvari fyrir listann, við myndi ekki aðeins gera höfuð jafn ný, 240 00:12:36,960 --> 00:12:41,750 en ný fyrri okkar ætti benda til höfuðs, ekki satt? 241 00:12:41,750 --> 00:12:43,380 >> Það er eini munurinn. 242 00:12:43,380 --> 00:12:47,200 Og ef þú vilt meira starf með þessir með tengd listum, með því að setja, 243 00:12:47,200 --> 00:12:49,900 með eyða með innskoti inn Fjölbreyttir lista, 244 00:12:49,900 --> 00:12:52,670 Vinsamlegast kíkja study.cs50.net. 245 00:12:52,670 --> 00:12:54,870 There er a búnt af frábærum æfingum. 246 00:12:54,870 --> 00:12:55,870 Ég mæli þá. 247 00:12:55,870 --> 00:12:59,210 Ég vildi að við hefðum tíma til að fara í gegnum þá en það er a einhver fjöldi af gögn uppbygging 248 00:12:59,210 --> 00:13:01,530 að komast í gegnum. 249 00:13:01,530 --> 00:13:02,650 >> OK, svo kjötkássa matskeið. 250 00:13:02,650 --> 00:13:07,070 Þetta er sennilega mest gagnlegur hluti fyrir pset þína 251 00:13:07,070 --> 00:13:11,090 hér vegna þess að þú ert að fara til vera koma einhverjum af þessum, eða reyna. 252 00:13:11,090 --> 00:13:12,200 Mér finnst virkilega kjötkássa matskeið. 253 00:13:12,200 --> 00:13:13,110 Þeir eru ansi kaldur. 254 00:13:13,110 --> 00:13:17,080 >> Svo í grundvallaratriðum hvað gerist er kjötkássa borð 255 00:13:17,080 --> 00:13:22,050 er þegar við þurfum virkilega skjótur innsetning, eyðingu, og útlit. 256 00:13:22,050 --> 00:13:25,010 Þeir eru það sem við ert forgangsraða í kjötkássa töflunni. 257 00:13:25,010 --> 00:13:29,500 Þeir geta fengið nokkuð stór, En eins og við munum sjá með reynir, 258 00:13:29,500 --> 00:13:33,040 það eru hlutir sem eru miklu stærri. 259 00:13:33,040 --> 00:13:38,330 >> En í grundvallaratriðum, allir a kjötkássa tafla er a kjötkássa virka 260 00:13:38,330 --> 00:13:47,215 sem segir þér hvaða fötu til að setja hvert af gögnunum, hvert þætti þína í. 261 00:13:47,215 --> 00:13:51,140 Einföld leið til að hugsa um kjötkássa borð er að það er bara fötunum af hlutum, 262 00:13:51,140 --> 00:13:51,770 ekki satt? 263 00:13:51,770 --> 00:13:59,720 Svo þegar þú ert að flokka hluti eftir eins og fyrsta staf í nafni þeirra, 264 00:13:59,720 --> 00:14:01,820 það er góður af eins og a kjötkássa töflunni. 265 00:14:01,820 --> 00:14:06,180 >> Svo ef ég væri í hóp sem þú krakkar eru í hópa af hver heitir byrjar 266 00:14:06,180 --> 00:14:11,670 með A hérna, eða sá er afmæli er í janúar, febrúar, mars, 267 00:14:11,670 --> 00:14:15,220 hvað sem, sem er í raun skapa kjötkássa töflunni. 268 00:14:15,220 --> 00:14:18,120 Það er bara að búa fötunum sem þú flokkað þætti inn 269 00:14:18,120 --> 00:14:19,520 þannig að þú getur fundið þá auðveldara. 270 00:14:19,520 --> 00:14:22,300 Svo Þannig þegar ég þarf að finna einn af þér, 271 00:14:22,300 --> 00:14:24,680 Ég þarf ekki að leita gegnum hvert nöfn. 272 00:14:24,680 --> 00:14:29,490 Ég get verið eins og, ó, ég veit að Afmæli Danielle er in-- 273 00:14:29,490 --> 00:14:30,240 Áhorfendur: --April. 274 00:14:30,240 --> 00:14:30,948 Ræðumaður 1: apríl. 275 00:14:30,948 --> 00:14:33,120 Svo ég lít í apríl minn fötu, og með hvaða heppni, 276 00:14:33,120 --> 00:14:38,270 hún verður að vera sú eina þar og tími minn var stöðug í þeim skilningi, 277 00:14:38,270 --> 00:14:41,230 en ef ég þarf að leita gegnum allt fullt af fólki, 278 00:14:41,230 --> 00:14:43,090 það er að fara að taka mikið lengur. 279 00:14:43,090 --> 00:14:45,830 Svo kjötkássa matskeið eru raunverulega aðeins fötunum. 280 00:14:45,830 --> 00:14:48,630 Auðveld leið til að hugsa um þau. 281 00:14:48,630 --> 00:14:52,930 >> Svo mjög mikilvægur hlutur óður tæti tafla er kjötkássa virka. 282 00:14:52,930 --> 00:14:58,140 Svo það sem ég talaði bara um eins og Fyrsta bréf af fornafni 283 00:14:58,140 --> 00:15:01,450 eða mánuður afmæli, þetta eru hugmyndir sem 284 00:15:01,450 --> 00:15:03,070 virkilega samsvarað kjötkássa virka. 285 00:15:03,070 --> 00:15:08,900 Það er bara leið til að ákveða hvaða Bucket þú þáttur ert fer í, OK? 286 00:15:08,900 --> 00:15:14,850 Svo fyrir þetta pset, getur þú lítur upp laglegur mikill allir kjötkássa virka þú vilt. 287 00:15:14,850 --> 00:15:16,030 >> Þarf ekki að vera þinn eigin. 288 00:15:16,030 --> 00:15:21,140 There ert sumir raunverulega kaldur sjálfur út þar sem gera alls konar brjálaður stærðfræði. 289 00:15:21,140 --> 00:15:25,170 Og ef þú vilt að gera þinn Villupúki frábær fljótur, 290 00:15:25,170 --> 00:15:27,620 Ég myndi örugglega líta inn í einn af þeim. 291 00:15:27,620 --> 00:15:32,390 >> En það eru einnig einföld sjálfur, eins óendanlegur 292 00:15:32,390 --> 00:15:39,010 samtala orðum, eins hvert bréf hefur a tala. 293 00:15:39,010 --> 00:15:39,940 Reiknið summu. 294 00:15:39,940 --> 00:15:42,230 Sem ákvarðar fötu. 295 00:15:42,230 --> 00:15:45,430 Þeir hafa einnig auðvelt sjálfur sem eru bara eins og alla A er hér, 296 00:15:45,430 --> 00:15:47,050 öllum B er hér. 297 00:15:47,050 --> 00:15:48,920 Einhverjum þeirra. 298 00:15:48,920 --> 00:15:55,770 >> Grundvallaratriðum, segir það bara þér sem array vísitölu þáttur þinn ætti að fara inn. 299 00:15:55,770 --> 00:15:58,690 Bara ákveða bucket-- það er allt a kjötkássa virka er. 300 00:15:58,690 --> 00:16:04,180 Svo hér höfum við dæmi sem er bara fyrsti stafur strengsins 301 00:16:04,180 --> 00:16:05,900 að ég var bara að tala um. 302 00:16:05,900 --> 00:16:11,900 >> Svo þú hefur einhverja summu sem er bara Fyrsta bréf band mínus þinn A, 303 00:16:11,900 --> 00:16:16,090 sem mun gefa þér nokkra tala á milli 0 og 25. 304 00:16:16,090 --> 00:16:20,790 Og hvað sem þú vilt gera er ganga úr skugga um að þetta táknar 305 00:16:20,790 --> 00:16:24,110 stærð hash þínum table-- hversu margir fötunum eru. 306 00:16:24,110 --> 00:16:25,860 Með mörgum af þessum kjötkássa virka, þá eru þeir 307 00:16:25,860 --> 00:16:31,630 fara að vera aftur gildi sem gæti vera langt yfir fjölda fötunum 308 00:16:31,630 --> 00:16:33,610 að þú hefur í raun í kjötkássa töflunni, 309 00:16:33,610 --> 00:16:37,240 svo þú þarft að gera viss og unga fólkið af þeim. 310 00:16:37,240 --> 00:16:42,190 Annars er það að fara að segja, ó, ætti það að vera í fötu 5000 311 00:16:42,190 --> 00:16:46,040 en þú hefur aðeins 30 fötunum í kjötkássa töflunni. 312 00:16:46,040 --> 00:16:49,360 Og auðvitað, við vitum öll að er að fara að leiða í sumum brjálaður villur. 313 00:16:49,360 --> 00:16:52,870 Svo að gæta þess að unga fólkið komi stærð kjötkássa töflunni. 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 Svo árekstra. 317 00:17:00,506 --> 00:17:02,620 Er allir góður svo langt? 318 00:17:02,620 --> 00:17:03,120 Mmhmm? 319 00:17:03,120 --> 00:17:05,900 >> Áhorfendur: Hvers vegna vildi það skila svo svakalega gildi? 320 00:17:05,900 --> 00:17:09,210 >> Ræðumaður 1: fer eftir reiknirit að kjötkássa virka notar. 321 00:17:09,210 --> 00:17:12,270 Sumir þeirra vilja gera brjálaður margföldun. 322 00:17:12,270 --> 00:17:16,270 Og það er allt um að fá a jafnvel dreifingu, 323 00:17:16,270 --> 00:17:18,490 svo þeir gera sumir raunverulega brjálaður hlutir stundum. 324 00:17:18,490 --> 00:17:20,960 Það er allt. 325 00:17:20,960 --> 00:17:22,140 Nokkuð fleira? 326 00:17:22,140 --> 00:17:22,829 OK. 327 00:17:22,829 --> 00:17:24,480 >> Svo árekstra. 328 00:17:24,480 --> 00:17:29,270 Grundvallaratriðum, eins og ég sagði áðan, í besta falli, 329 00:17:29,270 --> 00:17:32,040 hvaða fötu ég lít inn er fara að hafa eitt, 330 00:17:32,040 --> 00:17:34,160 svo ég þurfi ekki að líta á alla, ekki satt? 331 00:17:34,160 --> 00:17:37,040 Ég annaðhvort veit að það er þarna eða það er ekki, og það er það sem við viljum í raun. 332 00:17:37,040 --> 00:17:43,960 En ef við höfum tugir þúsunda gögn stig og minna en að tala 333 00:17:43,960 --> 00:17:48,700 fötunum, við erum að fara að hafa árekstrar þar loksins eitthvað 334 00:17:48,700 --> 00:17:54,210 er að fara til verða að enda í fötu sem þegar hefur stak. 335 00:17:54,210 --> 00:17:57,390 >> Svo spurningin er, hvað eigum við að gera í því tilfelli? 336 00:17:57,390 --> 00:17:58,480 Hvað gerum við? 337 00:17:58,480 --> 00:17:59,300 Við höfum nú þegar eitthvað þarna? 338 00:17:59,300 --> 00:18:00,060 Gera við henda bara það út? 339 00:18:00,060 --> 00:18:00,700 >> No. 340 00:18:00,700 --> 00:18:01,980 Við verðum að halda þau bæði. 341 00:18:01,980 --> 00:18:06,400 Svo hátt að við yfirleitt gera það er það? 342 00:18:06,400 --> 00:18:08,400 Hvað er gögn uppbygging við ræddum bara um? 343 00:18:08,400 --> 00:18:09,316 Áhorfendur: tengda listanum. 344 00:18:09,316 --> 00:18:10,500 Ræðumaður 1: A tengda listanum. 345 00:18:10,500 --> 00:18:16,640 Svo nú, í stað þess að hver af þessum fötunum bara að hafa einn þáttur, 346 00:18:16,640 --> 00:18:24,020 það er að fara að innihalda tengda lista yfir þættir sem voru tætt í það. 347 00:18:24,020 --> 00:18:27,588 OK, er allir konar fá þessi hugmynd? 348 00:18:27,588 --> 00:18:30,546 Þar sem við gátum ekki haft fylki vegna þess að við vitum ekki hvernig margt 349 00:18:30,546 --> 00:18:31,730 eru að fara að vera þar. 350 00:18:31,730 --> 00:18:36,540 A tengda listanum leyfa okkur að hafa bara nákvæmlega númerið sem 351 00:18:36,540 --> 00:18:38,465 eru tætt í þá fötu, ekki satt? 352 00:18:38,465 --> 00:18:42,260 353 00:18:42,260 --> 00:18:50,500 >> Svo línuleg leit er grundvallaratriðum þetta idea-- 354 00:18:50,500 --> 00:18:52,300 það er ein leið til að takast á við árekstur. 355 00:18:52,300 --> 00:18:58,010 Það sem þú getur gert er ef, í þessu tilfelli, Berry var tætt í 1 356 00:18:58,010 --> 00:19:01,130 og við höfum nú þegar eitthvað þarna, þú bara 357 00:19:01,130 --> 00:19:04,840 halda að fara niður þar þú finnur tómt rifa. 358 00:19:04,840 --> 00:19:06,370 Það er ein leið til að höndla það. 359 00:19:06,370 --> 00:19:09,020 Hin leiðin til að höndla það er með það við bara 360 00:19:09,020 --> 00:19:12,280 called-- tengda listi er kallað chaining. 361 00:19:12,280 --> 00:19:20,510 >> Svo þessi hugmynd virkar ef kjötkássa borð þitt þú heldur 362 00:19:20,510 --> 00:19:24,150 er miklu stærri en gögn sett eða ef þú 363 00:19:24,150 --> 00:19:28,870 langar að prófa og lágmarka chaining þar til það er algerlega nauðsynlegt. 364 00:19:28,870 --> 00:19:34,050 Svo er eitt línuleg leit augljóslega þýðir 365 00:19:34,050 --> 00:19:37,290 að kjötkássa virka þinn er ekki alveg eins og gagnlegur 366 00:19:37,290 --> 00:19:42,200 vegna þess að þú ert að fara að enda með kjötkássa virka þinn, fá að punkti, 367 00:19:42,200 --> 00:19:46,400 þú Línuleg rannsaka niður sum staðar sem er í boði. 368 00:19:46,400 --> 00:19:49,670 En nú, að sjálfsögðu, nokkuð annað sem endar þar, 369 00:19:49,670 --> 00:19:52,050 þú ert að fara til verða að leita enn frekar niður. 370 00:19:52,050 --> 00:19:55,650 >> Og það er a einhver fjöldi fleiri leita kostnað sem 371 00:19:55,650 --> 00:19:59,820 fer í inputting stak í kjötkássa töflunni núna, ekki satt? 372 00:19:59,820 --> 00:20:05,640 Og nú þegar þú ferð og reyna að finna Berry aftur, þú ert að fara að kjötkássa það, 373 00:20:05,640 --> 00:20:07,742 og það er að fara að segja, Ó, líttu í fötu 1, 374 00:20:07,742 --> 00:20:09,700 og það er ekki að fara að vera í fötu 1, þannig að þú ert 375 00:20:09,700 --> 00:20:11,970 fara að hafa til að fara yfir gegnum the hvíla af þessir. 376 00:20:11,970 --> 00:20:17,720 Svo það er stundum gagnlegt, en í flestum tilvikum, 377 00:20:17,720 --> 00:20:22,660 við erum að fara að segja að chaining er það sem þú vilt gera. 378 00:20:22,660 --> 00:20:25,520 >> Þannig að við töluðum um þetta fyrr. 379 00:20:25,520 --> 00:20:27,812 Ég fékk smá á undan mér. 380 00:20:27,812 --> 00:20:33,560 En chaining er í rauninni að hverri fötu í kjötkássa töflunni 381 00:20:33,560 --> 00:20:36,120 er bara a tengda listanum. 382 00:20:36,120 --> 00:20:39,660 >> Svo önnur leið, eða meira tæknilega leið, að hugsa um kjötkássa borð 383 00:20:39,660 --> 00:20:44,490 er að það er bara array tengdra listum, sem 384 00:20:44,490 --> 00:20:49,330 þegar þú ert að skrifa orðabókina þína og þú ert að reyna að hlaða hana, 385 00:20:49,330 --> 00:20:52,070 hugsa um það sem array tengdra listum 386 00:20:52,070 --> 00:20:54,390 mun gera það mun auðveldara fyrir þig að frumstilla. 387 00:20:54,390 --> 00:20:57,680 >> Áhorfendur: Svo kjötkássa borð hefur fyrirfram ákveðinn stærð, 388 00:20:57,680 --> 00:20:58,980 eins [inaudible] fötunum? 389 00:20:58,980 --> 00:20:59,220 >> Ræðumaður 1: Hægri. 390 00:20:59,220 --> 00:21:01,655 Svo það hefur a setja fjölda fötunum sem þú determine-- 391 00:21:01,655 --> 00:21:03,530 sem þú krakkar ættu ekki hika við að leika sér við. 392 00:21:03,530 --> 00:21:05,269 Það getur verið ansi kaldur til að sjá hvað gerist 393 00:21:05,269 --> 00:21:06,810 eins og þú breyta fjölda fötunum. 394 00:21:06,810 --> 00:21:09,410 395 00:21:09,410 --> 00:21:11,510 En já, það hefur a tiltekinn fjölda fötunum. 396 00:21:11,510 --> 00:21:15,360 Hvað gerir þú til að passa eins og margir þættir sem þú þarft 397 00:21:15,360 --> 00:21:19,350 er þetta sérstakt chaining þar þér hafa tengt lista í hverri fötu. 398 00:21:19,350 --> 00:21:22,850 Það þýðir kjötkássa töflunni verður nákvæmlega stærð 399 00:21:22,850 --> 00:21:25,440 að þú þarft það til að vera, ekki satt? 400 00:21:25,440 --> 00:21:27,358 Það er allt lið af tengd listum. 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 >> Svo allir OK þarna? 404 00:21:38,780 --> 00:21:39,801 Allt í lagi. 405 00:21:39,801 --> 00:21:40,300 Ah. 406 00:21:40,300 --> 00:21:41,860 Hvað gerðist bara? 407 00:21:41,860 --> 00:21:42,960 Really núna. 408 00:21:42,960 --> 00:21:45,250 Giska einhver er að drepa mig. 409 00:21:45,250 --> 00:21:52,060 >> OK við erum að fara að fara inn í reynir, sem eru svolítið brjálaður. 410 00:21:52,060 --> 00:21:53,140 Mér líkar kjötkássa matskeið. 411 00:21:53,140 --> 00:21:54,460 Ég held að þeir séu virkilega flott. 412 00:21:54,460 --> 00:21:56,710 Tilraunir eru töff líka. 413 00:21:56,710 --> 00:21:59,590 >> Svo er einhver man hvað reyna er? 414 00:21:59,590 --> 00:22:01,740 Þú ættir að hafa farið yfir það stuttlega í fyrirlestri? 415 00:22:01,740 --> 00:22:04,570 416 00:22:04,570 --> 00:22:06,377 Manstu konar hvernig það virkar? 417 00:22:06,377 --> 00:22:08,460 Áhorfendur: Ég er bara að nodding að við vildum fara yfir það. 418 00:22:08,460 --> 00:22:09,626 Ræðumaður 1: Við að fara yfir það. 419 00:22:09,626 --> 00:22:13,100 OK, við erum alveg að fara að fara yfir og það er nú það sem við erum að segja. 420 00:22:13,100 --> 00:22:14,860 >> Áhorfendur: Það er um sókn tré. 421 00:22:14,860 --> 00:22:15,280 >> Ræðumaður 1: Já. 422 00:22:15,280 --> 00:22:16,196 Það er sókn tré. 423 00:22:16,196 --> 00:22:16,960 Ógnvekjandi. 424 00:22:16,960 --> 00:22:23,610 Svo eitt að taka hér er að við eru að horfa á einstaka stafi 425 00:22:23,610 --> 00:22:24,480 hér, ekki satt? 426 00:22:24,480 --> 00:22:29,710 >> Svo áður með kjötkássa virka okkar, við varst að horfa á orð sem heild, 427 00:22:29,710 --> 00:22:32,270 og nú erum við að leita meira á persónum, ekki satt? 428 00:22:32,270 --> 00:22:38,380 Þannig að við höfum Maxwell hérna og Mendel. 429 00:22:38,380 --> 00:22:47,840 Svo í grundvallaratriðum a try-- a leið til að hugsa um þetta er að hvert stig hér 430 00:22:47,840 --> 00:22:49,000 er fylki af stöfum. 431 00:22:49,000 --> 00:22:53,310 432 00:22:53,310 --> 00:22:55,790 Svo er þetta rót hnút þinn hér, ekki satt? 433 00:22:55,790 --> 00:23:01,980 Þetta hefur alla stafina í Alphabet fyrir byrjun hvers orðs. 434 00:23:01,980 --> 00:23:06,480 >> Og hvað sem þú vilt gera er segja, OK, við höfum sumir M orð. 435 00:23:06,480 --> 00:23:10,590 Við erum að fara að leita að Maxwell, svo við förum til M. og M bendir á heild 436 00:23:10,590 --> 00:23:14,800 hinn array þar sem hvert orð, svo lengi sem það 437 00:23:14,800 --> 00:23:17,044 er orð sem hefur sem annan staf, 438 00:23:17,044 --> 00:23:19,460 svo lengi sem það er orð sem hefur B sem annan staf, 439 00:23:19,460 --> 00:23:24,630 það mun hafa músina fara að einhverju næsta fylki. 440 00:23:24,630 --> 00:23:29,290 >> There er líklega ekki orð sem MP eitthvað, 441 00:23:29,290 --> 00:23:32,980 svo í P stöðu í þessu array, það vildi bara vera NULL. 442 00:23:32,980 --> 00:23:38,840 Það myndi segja, OK, það er ekkert orð sem hefur M fylgt eftir með P, OK? 443 00:23:38,840 --> 00:23:43,100 Þannig að ef við hugsum um það, hvert einn af þessum smærri hlutum 444 00:23:43,100 --> 00:23:47,990 er í raun einn af þessum stór fylki frá A til Z. 445 00:23:47,990 --> 00:23:55,064 Svo hvað gæti verið einn af þeim hlutum sem er eins konar endurgreiðslu á reyna? 446 00:23:55,064 --> 00:23:56,500 >> Áhorfendur: A einhver fjöldi af minni. 447 00:23:56,500 --> 00:23:59,940 >> Ræðumaður 1: Það er tonn af minni, ekki satt? 448 00:23:59,940 --> 00:24:08,750 Hver einn af þessum blokkum hér táknar 26 rými, 26 þátturinn array. 449 00:24:08,750 --> 00:24:13,680 Svo reynir fá ótrúlega rúm þungur. 450 00:24:13,680 --> 00:24:17,100 >> En þeir eru mjög hratt. 451 00:24:17,100 --> 00:24:22,540 Svo ótrúlega hratt en virkilega pláss óhagkvæm. 452 00:24:22,540 --> 00:24:24,810 Konar hafa að reikna út hver þú vilt. 453 00:24:24,810 --> 00:24:29,470 Þetta eru mjög flott fyrir pset þína, en þeir taka upp a einhver fjöldi af minni, 454 00:24:29,470 --> 00:24:30,290 svo þú viðskipti burt. 455 00:24:30,290 --> 00:24:31,480 Já? 456 00:24:31,480 --> 00:24:34,300 >> Áhorfendur: Væri hægt að setja upp a reyna og þá 457 00:24:34,300 --> 00:24:37,967 þegar þú hefur öll gögn í það að þú need-- 458 00:24:37,967 --> 00:24:39,550 Ég veit ekki hvort það væri skynsamleg. 459 00:24:39,550 --> 00:24:42,200 Ég var að fá losa af öllum NULL stafi, en þá 460 00:24:42,200 --> 00:24:42,910 að þú viljir ekki vera fær til vísitölu them-- 461 00:24:42,910 --> 00:24:43,275 >> Ræðumaður 1: Þú þarft enn þá. 462 00:24:43,275 --> 00:24:44,854 >> Áhorfendur: - á sama hátt í hvert skipti. 463 00:24:44,854 --> 00:24:45,520 Ræðumaður 1: Já. 464 00:24:45,520 --> 00:24:50,460 Þú þarft að Null stafi að láta þú veist ef það er ekki orð þarna. 465 00:24:50,460 --> 00:24:52,040 Ben hafðirðu eitthvað sem þú vilt? 466 00:24:52,040 --> 00:24:52,540 OK. 467 00:24:52,540 --> 00:24:54,581 Allt í lagi, þannig að við erum að fara að fara svolítið meira 468 00:24:54,581 --> 00:24:58,920 í tæknilegu smáatriði bak a reyna og vinna með dæmi. 469 00:24:58,920 --> 00:25:01,490 >> OK, þannig að þetta er það sama. 470 00:25:01,490 --> 00:25:06,290 En í tengda listanum, Main okkar góður of-- hvað er orð sem ég vil? - 471 00:25:06,290 --> 00:25:08,350 eins og að byggja blokk var hnút. 472 00:25:08,350 --> 00:25:12,280 Í reyna, höfum við einnig hnút, en það er skilgreint á annan hátt. 473 00:25:12,280 --> 00:25:17,000 >> Þannig að við höfum sumir bool sem táknar hvort orð raun 474 00:25:17,000 --> 00:25:23,530 staðar á þessum stað, og þá við höfum einhverja array here-- eða öllu heldur, 475 00:25:23,530 --> 00:25:27,840 þetta er bendi að array 27 stafi. 476 00:25:27,840 --> 00:25:33,339 Og þetta er fyrir, í þessu tilfelli, þetta 27-- Ég er viss um að allir af þú ert eins, bíddu, 477 00:25:33,339 --> 00:25:34,880 það eru 26 stafir í stafrófinu. 478 00:25:34,880 --> 00:25:36,010 Hvers vegna höfum við 27.? 479 00:25:36,010 --> 00:25:37,870 >> Svo eftir því sem vegur þú framkvæma þetta, 480 00:25:37,870 --> 00:25:43,240 Þetta er úr pset sem leyfð fyrir úrfellingarmerki. 481 00:25:43,240 --> 00:25:46,010 Svo er það hvers vegna auka einn. 482 00:25:46,010 --> 00:25:50,500 Þú munt einnig hafa í nokkrum tilvikum null Terminator 483 00:25:50,500 --> 00:25:53,230 er innifalinn eins og einn af stafir sem það er leyft að vera, 484 00:25:53,230 --> 00:25:56,120 og það er hvernig þeir athuga sjá hvort það er í lok orðsins. 485 00:25:56,120 --> 00:26:01,340 Ef þú hefur áhuga, kíkja Vídeó Kevin á study.cs50, 486 00:26:01,340 --> 00:26:04,790 sem og Wikipedia hefur nokkur góð úrræði þar. 487 00:26:04,790 --> 00:26:09,000 >> En við erum að fara að fara í gegnum bara góður um hvernig þú gætir vinna gegnum try 488 00:26:09,000 --> 00:26:11,010 Ef þú ert að gefa einn. 489 00:26:11,010 --> 00:26:16,230 Þannig að við höfum frábær einföld hér að Inniheldur orðin "kylfu" og "zoom" í þeim. 490 00:26:16,230 --> 00:26:18,920 Og eins og við sjáum hér, þetta litla pláss hér 491 00:26:18,920 --> 00:26:22,560 táknar bool okkar að segir, já, þetta er orðið. 492 00:26:22,560 --> 00:26:27,060 Og svo hefur þetta OKKAR fylki af stöfum, ekki satt? 493 00:26:27,060 --> 00:26:33,480 >> Þannig að við erum að fara að fara í gegnum finna "kylfu" í þessu reyna. 494 00:26:33,480 --> 00:26:38,340 Svo byrja efst, ekki satt? 495 00:26:38,340 --> 00:26:46,290 Og við vitum að b samsvarar annar stuðullinn, annað þáttur 496 00:26:46,290 --> 00:26:47,840 í þessu fylki, vegna þess og b. 497 00:26:47,840 --> 00:26:51,340 Svo um það bil sá seinni. 498 00:26:51,340 --> 00:26:58,820 >> Og það segir, OK, kaldur, fylgja því inn næsta array, því ef við muna, 499 00:26:58,820 --> 00:27:02,160 það er ekki að hver af þessum raun inniheldur frumefni. 500 00:27:02,160 --> 00:27:07,110 Hver einn af þessum fylki inniheldur bendi, ekki satt? 501 00:27:07,110 --> 00:27:10,030 Það er mikilvægt greinarmun að gera. 502 00:27:10,030 --> 00:27:13,450 >> Ég veit að þetta er að fara að be-- reynir eru mjög erfitt að fá á í fyrsta sinn, 503 00:27:13,450 --> 00:27:15,241 svo jafnvel ef þetta er annað eða þriðja sinn 504 00:27:15,241 --> 00:27:18,370 og það er samt góður að virðist erfitt, 505 00:27:18,370 --> 00:27:21,199 Ég lofa ef þú ferð horfa skamms aftur á morgun, 506 00:27:21,199 --> 00:27:22,740 það mun líklega gera mikið meira vit. 507 00:27:22,740 --> 00:27:23,890 Það tekur a einhver fjöldi til að melta. 508 00:27:23,890 --> 00:27:27,800 Ég samt stundum er eins, bíddu, hvað er að reyna? 509 00:27:27,800 --> 00:27:29,080 Hvernig nota ég þetta? 510 00:27:29,080 --> 00:27:33,880 >> Þannig að við höfum b í þessu tilfelli, sem er annar vísitölu okkar. 511 00:27:33,880 --> 00:27:40,240 Ef við hefðum td c eða d eða önnur bréf, 512 00:27:40,240 --> 00:27:45,810 við þurfum að kortleggja að baka til vísitölu af array okkar að það samsvarar. 513 00:27:45,810 --> 00:27:56,930 Svo við myndum taka eins rchar og við bara draga burt a að kortleggja það í 0-25. 514 00:27:56,930 --> 00:27:58,728 Allir gott hvernig við kortleggja eðli okkar? 515 00:27:58,728 --> 00:28:00,440 OK. 516 00:28:00,440 --> 00:28:05,980 >> Svo förum við í seinni og við sjá að, já, það er ekki að NÚLL. 517 00:28:05,980 --> 00:28:07,780 Við getum flutt á þessa næstu fylki. 518 00:28:07,780 --> 00:28:12,300 Svo við förum á þessa næstu array hér. 519 00:28:12,300 --> 00:28:15,500 >> Og við segjum, OK, nú erum við þarf að sjá hvort er hér. 520 00:28:15,500 --> 00:28:18,590 Er A null eða hefur það reyndar halda áfram? 521 00:28:18,590 --> 00:28:21,880 Svo í raun færist áfram í þessu fylki. 522 00:28:21,880 --> 00:28:24,570 Og við segjum, OK, t er síðasta bréfi. 523 00:28:24,570 --> 00:28:27,580 Svo förum við í t á vísitölunni. 524 00:28:27,580 --> 00:28:30,120 Og þá erum við að fara fram vegna þess að það er annað. 525 00:28:30,120 --> 00:28:38,340 Og þetta segir í rauninni að, já, það segir að það er orð here-- 526 00:28:38,340 --> 00:28:41,750 að ef þú fylgir þessum slóð, þú ert komin 527 00:28:41,750 --> 00:28:43,210 á orði, sem við vitum er "kylfu." 528 00:28:43,210 --> 00:28:43,800 Já? 529 00:28:43,800 --> 00:28:46,770 >> Áhorfendur: Er það staðall að hafa þessi sem vísitala 0 og síðan hafa eins konar á 1 530 00:28:46,770 --> 00:28:47,660 eða að hafa í lok? 531 00:28:47,660 --> 00:28:48,243 >> Ræðumaður 1: No. 532 00:28:48,243 --> 00:28:55,360 Þannig að ef við lítum til baka á okkar yfirlýsing hér, er það a bool, 533 00:28:55,360 --> 00:28:59,490 svo það er eigin þáttur þess í hnút þínu. 534 00:28:59,490 --> 00:29:03,331 Svo það er ekki hluti af fylki. 535 00:29:03,331 --> 00:29:03,830 Cool. 536 00:29:03,830 --> 00:29:08,370 Svo þegar við klára orð okkar og við erum á þessu fylki, hvað við viljum gera 537 00:29:08,370 --> 00:29:12,807 er gera a stöðva fyrir er þetta orð. 538 00:29:12,807 --> 00:29:14,390 Og í þessu tilfelli, myndi það koma aftur já. 539 00:29:14,390 --> 00:29:17,220 540 00:29:17,220 --> 00:29:24,090 >> Svo á að huga, við vitum að "dýragarðinum" - við vitum eins og menn að "dýragarðinum" er orð, 541 00:29:24,090 --> 00:29:24,820 ekki satt? 542 00:29:24,820 --> 00:29:28,990 En eru að reyna hér væri segja, nei, það er ekki. 543 00:29:28,990 --> 00:29:33,980 Og það myndi segja að vegna þess að við hafa ekki tilnefnt hana sem orð hér. 544 00:29:33,980 --> 00:29:40,440 Jafnvel þó að við getum fara gegnum til þessu fylki, 545 00:29:40,440 --> 00:29:43,890 þetta reyna myndi segja að, nei, Þykki er ekki í orðabókinni þinni 546 00:29:43,890 --> 00:29:47,070 vegna þess að við höfum ekki tilnefnd það sem slíkt. 547 00:29:47,070 --> 00:29:52,870 >> Svo ein leið til að gera that-- ó, fyrirgefðu, þetta einn. 548 00:29:52,870 --> 00:29:59,450 Þannig að í þessu tilfelli, "dýragarðinn" er ekki orð, en það er í tilraun okkar. 549 00:29:59,450 --> 00:30:05,690 En í þessu einn, segja við viljum það kynna orðið "bað", hvað gerist 550 00:30:05,690 --> 00:30:08,260 er að við fylgjum through-- b, a, t. 551 00:30:08,260 --> 00:30:11,820 Við erum í þessu fylki, og við förum að leita að h. 552 00:30:11,820 --> 00:30:15,220 >> Í þessu tilviki, þegar við líta á músina á h, 553 00:30:15,220 --> 00:30:17,890 það bendir til NÚLL, OK? 554 00:30:17,890 --> 00:30:20,780 Þannig nema það er sérstaklega bendir til annars fylking, 555 00:30:20,780 --> 00:30:25,000 þú ráð fyrir að allar ábendingar í þessu fylki eru að benda á núll. 556 00:30:25,000 --> 00:30:28,270 Þannig að í þessu tilfelli, H er að benda að núll þannig að við getum ekki gert neitt, 557 00:30:28,270 --> 00:30:31,540 svo það myndi einnig skila rangar, "bað" er ekki í hér. 558 00:30:31,540 --> 00:30:34,102 559 00:30:34,102 --> 00:30:35,810 Svo nú erum við í raun að fara að fara í gegnum 560 00:30:35,810 --> 00:30:39,790 hvernig myndum við segja reyndar að "dýragarðinum" er í tilraun okkar. 561 00:30:39,790 --> 00:30:42,920 Hvernig eigum við að setja inn "dýragarðinum" í tilraun okkar? 562 00:30:42,920 --> 00:30:47,810 Svo á sama hátt sem við byrjuðum með tengda listanum okkar, byrjum við á rót. 563 00:30:47,810 --> 00:30:50,600 Hvenær í vafa, að byrja á rót af þessum hlutum. 564 00:30:50,600 --> 00:30:53,330 >> Og við munum segja, OK, Z. 565 00:30:53,330 --> 00:30:55,650 z er í þessu, og það gerir. 566 00:30:55,650 --> 00:30:58,370 Svo þú ert að flytja á næsta array þinn, OK? 567 00:30:58,370 --> 00:31:01,482 Og þá á næsta einn, við segjum, OK, er o til? 568 00:31:01,482 --> 00:31:03,000 Það gerir. 569 00:31:03,000 --> 00:31:04,330 Þetta aftur. 570 00:31:04,330 --> 00:31:08,670 >> Og svo á næsta einn okkar, höfum við sagt, OK, "dýragarðinum" er nú þegar hér. 571 00:31:08,670 --> 00:31:12,440 Allt sem við þurfum að gera er að setja þetta jafn satt að það er orðið þar. 572 00:31:12,440 --> 00:31:15,260 Ef þú hefðir fylgt allt að fyrir þann lið, 573 00:31:15,260 --> 00:31:17,030 það er orð, svo bara setja það jafn svo. 574 00:31:17,030 --> 00:31:17,530 Já? 575 00:31:17,530 --> 00:31:22,550 >> Áhorfendur: Svo gerir það meina að "BA" er orð líka? 576 00:31:22,550 --> 00:31:24,120 >> Ræðumaður 1: No. 577 00:31:24,120 --> 00:31:28,870 Svo í þessu tilfelli, "BA" við viljum fá hér er sagt er það orð, 578 00:31:28,870 --> 00:31:31,590 og það myndi samt vera ekki. 579 00:31:31,590 --> 00:31:32,822 OK? 580 00:31:32,822 --> 00:31:33,740 Mmhmm? 581 00:31:33,740 --> 00:31:36,360 >> Áhorfendur: Svo þegar þú er það orð og þú segir já, þá er það 582 00:31:36,360 --> 00:31:38,380 mun innihalda að fara til m? 583 00:31:38,380 --> 00:31:42,260 >> Ræðumaður 1: Svo hefur þetta að gera with-- þú ert að hlaða þetta í. 584 00:31:42,260 --> 00:31:43,640 Þú segir "dýragarðinum" er orð. 585 00:31:43,640 --> 00:31:47,020 Þegar þú ferð að check-- eins, segjum að þú vilt segja, 586 00:31:47,020 --> 00:31:49,400 þýðir "dýragarðinum" til í þessari orðabók? 587 00:31:49,400 --> 00:31:54,200 Þú ert bara að fara að leita að "dýragarðinum" og þá athuga hvort það er orð. 588 00:31:54,200 --> 00:31:57,291 Þú ert aldrei að fara að flytja gegnum til m því það er ekki 589 00:31:57,291 --> 00:31:58,290 hvað þú ert að leita að. 590 00:31:58,290 --> 00:32:02,690 591 00:32:02,690 --> 00:32:08,070 >> Þannig að ef við vildum í raun að bæta "bað" í þessa reyna, 592 00:32:08,070 --> 00:32:11,390 við myndum gera það sama eins og við gerðum með "dýragarðinum" 593 00:32:11,390 --> 00:32:15,380 nema við myndum sjá að þegar við reyna að fá að h, er það ekki til. 594 00:32:15,380 --> 00:32:20,090 Svo er hægt að hugsa um þetta og að reyna að bæta við nýjum hnút í tengda listanum, 595 00:32:20,090 --> 00:32:27,210 þannig að við myndum þurfa að bæta við öðru einn af þessum fylki, eins og svo. 596 00:32:27,210 --> 00:32:35,670 Og þá það sem við gerum er að við setja bara h þáttur í þessu fylki sem bendir á þetta. 597 00:32:35,670 --> 00:32:39,430 >> Og þá hvað myndi við viljum gera hér? 598 00:32:39,430 --> 00:32:43,110 Setja jafn satt því það er orð. 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 Ég veit. 602 00:32:48,700 --> 00:32:51,170 Reynir eru ekki mest spennandi. 603 00:32:51,170 --> 00:32:54,250 Treystu mér, ég veit. 604 00:32:54,250 --> 00:32:58,040 >> Svo eitt að átta sig með reynir, Ég sagði, að þeir eru mjög duglegur. 605 00:32:58,040 --> 00:33:00,080 Þannig að við höfum séð að þeir taka upp tonn af plássi. 606 00:33:00,080 --> 00:33:01,370 Þeir eru eins konar ruglingslegt. 607 00:33:01,370 --> 00:33:03,367 Svo hvers vegna ættum við að nota alltaf þessar? 608 00:33:03,367 --> 00:33:05,450 Við notum þessar því þeir eru ótrúlega duglegur. 609 00:33:05,450 --> 00:33:08,130 >> Svo ef þú ert alltaf að leita upp orði, þú ert eina 610 00:33:08,130 --> 00:33:10,450 afmarkast af lengd orðsins. 611 00:33:10,450 --> 00:33:15,210 Svo ef þú ert að leita að a orð sem er lengd fimm, 612 00:33:15,210 --> 00:33:20,940 þú ert bara alltaf að fara að hafa til að gera í mesta lagi fimm samanburð, OK? 613 00:33:20,940 --> 00:33:25,780 Svo gerir það það í grundvallaratriðum a fasti. 614 00:33:25,780 --> 00:33:29,150 Eins ísetningu og útlit eru í grundvallaratriðum stöðug skipti. 615 00:33:29,150 --> 00:33:33,750 >> Þannig að ef þú getur alltaf fengið eitthvað í föstu tíma, 616 00:33:33,750 --> 00:33:35,150 það er eins gott og það gerist. 617 00:33:35,150 --> 00:33:37,990 Þú getur ekki fá betri en fasti tími fyrir þessum hlutum. 618 00:33:37,990 --> 00:33:43,150 Svo er að ein af gríðarstór plús af reynir. 619 00:33:43,150 --> 00:33:46,780 >> En það er mikið af pláss. 620 00:33:46,780 --> 00:33:50,380 Svo þú ert góður af að ákveða hvað er meira mikilvægt fyrir þig. 621 00:33:50,380 --> 00:33:54,700 Og á tölvum í dag, rúm að reyna getur tekið upp 622 00:33:54,700 --> 00:33:57,740 kannski hefur ekki áhrif þú það mikið, en kannski 623 00:33:57,740 --> 00:34:01,350 þú ert að takast á við eitthvað sem hefur langt, langt fleiri hluti, 624 00:34:01,350 --> 00:34:02,810 og a reyna er bara ekki sanngjarnt. 625 00:34:02,810 --> 00:34:03,000 Já? 626 00:34:03,000 --> 00:34:05,610 >> Áhorfendur: Bíddu, þannig að þú hefur 26 bréf í hvert einasta einn? 627 00:34:05,610 --> 00:34:07,440 >> Ræðumaður 1: Mmhmm. 628 00:34:07,440 --> 00:34:08,570 Já, hefur þú 26. 629 00:34:08,570 --> 00:34:16,984 Þú hefur sum er orð merki og þá þú hefur 26 ábendingum í hverjum einum. 630 00:34:16,984 --> 00:34:17,775 Og þeir eru að point-- 631 00:34:17,775 --> 00:34:20,280 >> Áhorfendur: Og hverjum 26, gera þeir hafa hver 26? 632 00:34:20,280 --> 00:34:21,500 >> Ræðumaður 1: Já. 633 00:34:21,500 --> 00:34:27,460 Og þess vegna, eins og þú getur sjá, það stækkar ört. 634 00:34:27,460 --> 00:34:28,130 Allt í lagi. 635 00:34:28,130 --> 00:34:32,524 Þannig að við erum að fara að fá inn tré, sem Mér finnst eins og er auðveldara og mun sennilega 636 00:34:32,524 --> 00:34:36,150 vera a ágætur lítill reprieve frá reynir þar. 637 00:34:36,150 --> 00:34:39,620 Svo vonandi flest ykkar hafa séð tré áður. 638 00:34:39,620 --> 00:34:41,820 Ekki eins og nokkuð sjálfur utan, sem ég 639 00:34:41,820 --> 00:34:44,340 veit ekki hvort einhver fór úti nýlega. 640 00:34:44,340 --> 00:34:49,230 Ég fór epli tína um helgina, og ó nei, það var fallegt. 641 00:34:49,230 --> 00:34:52,250 Ég vissi ekki lauf gæti litið að nokkuð. 642 00:34:52,250 --> 00:34:53,610 >> Svo er þetta bara tré, ekki satt? 643 00:34:53,610 --> 00:34:56,790 Það er bara nokkrar hnútur, og það bendir til fullt af öðrum hnúður. 644 00:34:56,790 --> 00:34:59,570 Eins og þú sérð hér, þetta er konar endurteknar þema. 645 00:34:59,570 --> 00:35:03,720 Hnúður vísa á tengipunkta er góður af kjarninn í mörgum gögn mannvirki. 646 00:35:03,720 --> 00:35:06,670 Það veltur bara á því hvernig við hafa þá benda til hvers annars 647 00:35:06,670 --> 00:35:08,600 og hvernig við fara gegnum þá og hvernig við 648 00:35:08,600 --> 00:35:14,500 setja hluti sem ákvarðar mismunandi einkenni þeirra. 649 00:35:14,500 --> 00:35:17,600 >> Svo bara sumir hugtök, sem ég hef notað áður. 650 00:35:17,600 --> 00:35:20,010 Svo er rót hvað er á mjög toppur. 651 00:35:20,010 --> 00:35:21,200 það er þar sem við byrjum alltaf. 652 00:35:21,200 --> 00:35:23,610 Þú getur hugsað um það sem höfði einnig. 653 00:35:23,610 --> 00:35:28,750 En fyrir tré, við hafa tilhneigingu til að vísa til þess sem rót. 654 00:35:28,750 --> 00:35:32,820 >> Nokkuð neðst here-- á mjög, mjög bottom-- 655 00:35:32,820 --> 00:35:34,500 teljast lauf. 656 00:35:34,500 --> 00:35:37,210 Svo fer það ásamt heild tré hlutur, ekki satt? 657 00:35:37,210 --> 00:35:39,860 Leaves eru á brúnir tré. 658 00:35:39,860 --> 00:35:45,820 >> Og þá höfum við einnig nokkra hugtök til að tala um hnúta í tengslum 659 00:35:45,820 --> 00:35:46,680 til hvers annars. 660 00:35:46,680 --> 00:35:49,700 Þannig að við höfum foreldri, Börn og systkini. 661 00:35:49,700 --> 00:35:56,260 Þannig að í þessu tilfelli, 3 er foreldri 5, 6, og 7. 662 00:35:56,260 --> 00:36:00,370 Svo er foreldri hvað er eitt skref yfir hvað þú ert 663 00:36:00,370 --> 00:36:02,940 vísa til, svo bara eins ættartré. 664 00:36:02,940 --> 00:36:07,090 Vonandi, þetta er allt svolítið aðeins meira innsæi en reynir. 665 00:36:07,090 --> 00:36:10,970 >> Systkini eru allir sem hafa sama foreldri, ekki satt? 666 00:36:10,970 --> 00:36:13,470 Þeir eru á sama stigi hér. 667 00:36:13,470 --> 00:36:16,960 Og þá, eins og ég var segja, börn eru bara 668 00:36:16,960 --> 00:36:22,630 hvað er eitt skref fyrir neðan hnúturinn ræðir, OK? 669 00:36:22,630 --> 00:36:23,470 Cool. 670 00:36:23,470 --> 00:36:25,610 Svo tvöfaldur tré. 671 00:36:25,610 --> 00:36:31,450 Getur einhver greiningar áhættu giska á einn af eiginleika tvöfaldur tré? 672 00:36:31,450 --> 00:36:32,770 >> Áhorfendur: Max tvö laufblöð. 673 00:36:32,770 --> 00:36:33,478 >> Ræðumaður 1: Hægri. 674 00:36:33,478 --> 00:36:34,640 Svo max tveggja laufum. 675 00:36:34,640 --> 00:36:39,730 Svo í þessu einn áður, við höfðum þetta eitt sem átti þrjá, en í binary tré, 676 00:36:39,730 --> 00:36:45,000 þú hafa a max tveimur Börn á foreldri, ekki satt? 677 00:36:45,000 --> 00:36:46,970 There 'annar áhugavert eiginleika. 678 00:36:46,970 --> 00:36:51,550 Hefur einhver veit það? 679 00:36:51,550 --> 00:36:52,620 Tvöfaldur tré. 680 00:36:52,620 --> 00:37:00,350 >> Svo tvöfaldur tré mun hafa allt á the-- þetta er ekki sorted-- 681 00:37:00,350 --> 00:37:05,320 en í raðað tvöfaldur tré, allt á hægri 682 00:37:05,320 --> 00:37:08,530 er meiri en foreldri, og allt á vinstri 683 00:37:08,530 --> 00:37:10,035 er minna en foreldri. 684 00:37:10,035 --> 00:37:15,690 Og það hefur verið quiz spurning áður, svo gott að vita. 685 00:37:15,690 --> 00:37:19,500 Svo hvernig við skilgreinum þetta, aftur, höfum við annan hnút. 686 00:37:19,500 --> 00:37:21,880 Þetta lítur mjög svipað hvað? 687 00:37:21,880 --> 00:37:28,336 688 00:37:28,336 --> 00:37:28,836 Tvöfalt 689 00:37:28,836 --> 00:37:29,320 >> Áhorfendur: Tengd listar 690 00:37:29,320 --> 00:37:31,100 >> Ræðumaður 1: A tvöfaldur tengda listanum, ekki satt? 691 00:37:31,100 --> 00:37:33,690 Þannig að ef við skipta þessu með fyrri og næsta, 692 00:37:33,690 --> 00:37:35,670 þetta myndi vera tvöfalt tengda listanum. 693 00:37:35,670 --> 00:37:40,125 En í þessu tilfelli, í raun við hafa vinstri og hægri og það er það. 694 00:37:40,125 --> 00:37:41,500 Annars er það nákvæmlega það sama. 695 00:37:41,500 --> 00:37:43,374 Við höfum enn þáttur þú ert að leita að, 696 00:37:43,374 --> 00:37:45,988 og þú verður bara tvær ábendingar fara til hvað er næst. 697 00:37:45,988 --> 00:37:49,210 698 00:37:49,210 --> 00:37:51,870 Já, svo tvöfaldur leita tré. 699 00:37:51,870 --> 00:37:57,665 Ef við tökum eftir, allt á hérna er meiri than-- 700 00:37:57,665 --> 00:37:59,850 eða allt strax til hérna 701 00:37:59,850 --> 00:38:02,840 er meiri en, allt hér er minna en. 702 00:38:02,840 --> 00:38:06,980 703 00:38:06,980 --> 00:38:14,000 >> Þannig að ef við værum að leita í gegnum, það ætti að líta mjög nálægt tvöfaldur leit 704 00:38:14,000 --> 00:38:14,910 hér, ekki satt? 705 00:38:14,910 --> 00:38:17,640 Nema í stað þess að leita á helmingi fylki, 706 00:38:17,640 --> 00:38:21,720 við erum bara að horfa á annaðhvort vinstra hlið eða hægri hlið af trénu. 707 00:38:21,720 --> 00:38:24,850 Svo það fær lítið einfaldara, held ég. 708 00:38:24,850 --> 00:38:29,300 >> Svo ef rót er NULL, augljóslega er það bara rangt. 709 00:38:29,300 --> 00:38:33,470 Og ef það er þarna, augljóslega það er satt. 710 00:38:33,470 --> 00:38:35,320 Ef það er minna en, leita við vinstri. 711 00:38:35,320 --> 00:38:37,070 Ef það er meira en, við leit rétt. 712 00:38:37,070 --> 00:38:39,890 Það er nákvæmlega eins og tvöfaldur leit, bara mismunandi gögn uppbygging 713 00:38:39,890 --> 00:38:40,600 að við erum að nota. 714 00:38:40,600 --> 00:38:42,790 Í stað þess fjölda, það er bara tvöfaldur tré. 715 00:38:42,790 --> 00:38:45,820 716 00:38:45,820 --> 00:38:48,090 >> OK, stafla. 717 00:38:48,090 --> 00:38:51,550 Og einnig, það útlit eins og við gæti haft smá tíma. 718 00:38:51,550 --> 00:38:54,460 Ef við gerum það, ég er fús til að fara yfir eitthvað af þessu aftur. 719 00:38:54,460 --> 00:38:56,856 OK, svo stafla. 720 00:38:56,856 --> 00:39:02,695 Hefur einhver man hvað stacks-- aðra eiginleika reykháf? 721 00:39:02,695 --> 00:39:05,550 722 00:39:05,550 --> 00:39:10,400 >> OK, svo af okkur, ég held, borða í borðstofu halls-- 723 00:39:10,400 --> 00:39:13,100 eins mikið og við getum ekki eins og til. 724 00:39:13,100 --> 00:39:16,900 En vitanlega er hægt að hugsa um stafla bókstaflega bara sem stafla af stæði 725 00:39:16,900 --> 00:39:18,460 eða stafla af hlutum. 726 00:39:18,460 --> 00:39:21,820 Og það sem er mikilvægt að átta sig á er að það er 727 00:39:21,820 --> 00:39:26,850 something-- einkennandi sem við köllum það by-- er LIFO. 728 00:39:26,850 --> 00:39:28,450 Hefur einhver veit hvað það stendur fyrir? 729 00:39:28,450 --> 00:39:29,070 Mmhmm? 730 00:39:29,070 --> 00:39:30,650 >> Áhorfendur: síðasta, fyrst út. 731 00:39:30,650 --> 00:39:32,250 >> Ræðumaður 1: Hægri, endast í, fyrst út. 732 00:39:32,250 --> 00:39:36,585 Þannig að ef við vitum, ef við erum að stöflun hlutina upp, auðveldasta hlutur til að grípa off-- 733 00:39:36,585 --> 00:39:39,570 og kannski það eina sem við getum grípa burt ef stafla okkar er stór enough-- 734 00:39:39,570 --> 00:39:40,850 er að ofan þáttur. 735 00:39:40,850 --> 00:39:43,460 Svo hvað var sett á last-- eins og við sjáum hér, 736 00:39:43,460 --> 00:39:46,370 hvað var ýtt á flestum recently-- er 737 00:39:46,370 --> 00:39:51,160 fara til vera the fyrstur hlutur sem við skjóta burt, OK? 738 00:39:51,160 --> 00:39:56,324 >> Svo er það sem við höfum hér annar typedef strúktúr. 739 00:39:56,324 --> 00:39:58,740 Þetta er í raun bara eins og a hrun námskeið í gögn uppbygging, 740 00:39:58,740 --> 00:40:01,650 þannig að það er a einhver fjöldi kastað á ykkur. 741 00:40:01,650 --> 00:40:02,540 Ég veit. 742 00:40:02,540 --> 00:40:04,970 Svo enn annar strúktúr. 743 00:40:04,970 --> 00:40:06,740 Yay fyrir mannvirki. 744 00:40:06,740 --> 00:40:16,660 >> Og í þessu tilfelli, er það sumir bendi til fjölda sem hefur einhverja getu. 745 00:40:16,660 --> 00:40:20,830 Svo táknar þetta stafla okkar hér, eins og raun array okkar 746 00:40:20,830 --> 00:40:22,520 sem eignarhlutur þætti okkar. 747 00:40:22,520 --> 00:40:24,850 Og svo hér höfum sumir stærð. 748 00:40:24,850 --> 00:40:31,170 >> Og venjulega, þú vilt halda utan um hversu stór stafla er 749 00:40:31,170 --> 00:40:36,180 vegna þess hvað það er að fara að leyfa þér að gera er ef þú veist stærð, 750 00:40:36,180 --> 00:40:39,170 það gerir þér kleift að segja, OK, ég á getu? 751 00:40:39,170 --> 00:40:40,570 Get ég bætt eitthvað meira? 752 00:40:40,570 --> 00:40:44,650 Og það segir þér einnig þar efst á stafla þinn 753 00:40:44,650 --> 00:40:48,180 er svo þú veist hvað þú geta í raun tekið burt. 754 00:40:48,180 --> 00:40:51,760 Og það er í raun að fara til vera svolítið skýrari hér. 755 00:40:51,760 --> 00:40:57,350 >> Svo fyrir ýta, einn hlutur, ef þú voru alltaf að framkvæma ýta, 756 00:40:57,350 --> 00:41:01,330 eins og ég var bara að segja, þín Stack hefur takmarkaðan stærð, ekki satt? 757 00:41:01,330 --> 00:41:03,990 Array okkar höfðu sumir getu. 758 00:41:03,990 --> 00:41:04,910 Það er óákveðinn greinir í ensku fylking. 759 00:41:04,910 --> 00:41:08,930 Það er fasta stærð, þannig að við þurfum að ganga úr skugga um að við erum ekki að setja meira 760 00:41:08,930 --> 00:41:11,950 í fylking okkar en við raun hafa pláss fyrir. 761 00:41:11,950 --> 00:41:16,900 >> Svo þegar þú ert að búa til ýta virka, fyrstur hlutur þú gera er að segja, OK, 762 00:41:16,900 --> 00:41:18,570 þarf ég pláss í stakkur minn? 763 00:41:18,570 --> 00:41:23,330 Vegna þess að ef ég er ekki, því miður, Ég get ekki geymt þáttur þinn. 764 00:41:23,330 --> 00:41:28,980 Ef ég geri, þá þú vilt geyma það efst á stafla, ekki satt? 765 00:41:28,980 --> 00:41:31,325 >> Og þetta er ástæða þess að við höfum að halda utan um stærð okkar. 766 00:41:31,325 --> 00:41:35,290 Ef við gerum ekki viðurværi rekja spor einhvers af stærð okkar, við vitum ekki hvar á að setja það. 767 00:41:35,290 --> 00:41:39,035 Við vitum ekki hvernig margt eru í fylking okkar þegar. 768 00:41:39,035 --> 00:41:41,410 Eins augljóslega eru leiðir sem kannski þú gætir gert það. 769 00:41:41,410 --> 00:41:44,610 Þú gætir frumstilla allt til NULL og þá stöðva fyrir nýjustu NÚLL, 770 00:41:44,610 --> 00:41:47,950 en mun auðveldara hlutur er bara að segja, OK, halda utan um stærð. 771 00:41:47,950 --> 00:41:51,840 Eins og ég veit að ég hef fjóra þætti fylkt mínum, þannig að næsta hlutur 772 00:41:51,840 --> 00:41:55,930 að við að setja á, erum við að fara að geyma í vísitölu 4. 773 00:41:55,930 --> 00:42:00,940 Og þá, að sjálfsögðu, þetta þýðir að þér hefur tekist að ýtt eitthvað 774 00:42:00,940 --> 00:42:03,320 á mánudaginn, þú vilja til að auka stærð 775 00:42:03,320 --> 00:42:08,880 þannig að þú veist hvar þú ert svo að þú getur ýta fleiri hluti á. 776 00:42:08,880 --> 00:42:12,730 >> Þannig að ef við erum að reyna að skjóta eitthvað af stafla, 777 00:42:12,730 --> 00:42:16,072 hvað gæti verið það fyrsta sem að við viljum athuga? 778 00:42:16,072 --> 00:42:18,030 Þú ert að reyna að taka eitthvað burt Stakkur þitt. 779 00:42:18,030 --> 00:42:21,710 780 00:42:21,710 --> 00:42:24,781 Ertu viss er það eitthvað í Stakkur þitt? 781 00:42:24,781 --> 00:42:25,280 No. 782 00:42:25,280 --> 00:42:26,894 Svo hvað gæti við viljum að athuga? 783 00:42:26,894 --> 00:42:27,810 >> Áhorfendur: [inaudible]. 784 00:42:27,810 --> 00:42:29,880 Ræðumaður 1: Athugaðu að stærð? 785 00:42:29,880 --> 00:42:31,840 Size. 786 00:42:31,840 --> 00:42:38,520 Þannig að við viljum athuga hvort stærð okkar er meiri en 0, OK? 787 00:42:38,520 --> 00:42:44,970 Og ef það er, þá viljum við lækka stærð okkar um 0 og aftur það. 788 00:42:44,970 --> 00:42:45,840 Hvers vegna? 789 00:42:45,840 --> 00:42:49,950 >> Í þeirri fyrstu við vorum þrýsta, ýtt við það 790 00:42:49,950 --> 00:42:52,460 á stærð og svo uppfærð stærð. 791 00:42:52,460 --> 00:42:57,850 Í þessu tilfelli erum við decrementing stærð og þá að taka það burt, plokkun það 792 00:42:57,850 --> 00:42:58,952 frá array okkar. 793 00:42:58,952 --> 00:42:59,826 Hvers vegna gætum við gert það? 794 00:42:59,826 --> 00:43:04,800 795 00:43:04,800 --> 00:43:11,811 Svo ef ég hef eitt á mánudaginn mitt, hvað væri stærð minn á þeim tímapunkti? 796 00:43:11,811 --> 00:43:13,140 1. 797 00:43:13,140 --> 00:43:15,180 >> Og hvar er þáttur 1 geymdar? 798 00:43:15,180 --> 00:43:17,621 Á hvaða vísitölu? 799 00:43:17,621 --> 00:43:18,120 Áhorfendur: 0. 800 00:43:18,120 --> 00:43:19,060 Ræðumaður 1: 0. 801 00:43:19,060 --> 00:43:22,800 Þannig að í þessu tilfelli, við alltaf þarf að gera sure-- 802 00:43:22,800 --> 00:43:27,630 stað þess að skila stærð mínus 1, vegna þess að við 803 00:43:27,630 --> 00:43:31,730 vita að þátturinn okkar er að fara að geyma við 1 minna 804 00:43:31,730 --> 00:43:34,705 hvað stærð okkar er, þetta bara tekur sjá um það. 805 00:43:34,705 --> 00:43:36,080 Það er örlítið meira glæsilegur hátt. 806 00:43:36,080 --> 00:43:41,220 Og við lækka bara OKKAR stærð og síðan aftur stærð. 807 00:43:41,220 --> 00:43:42,330 Mmhmm? 808 00:43:42,330 --> 00:43:45,300 >> Áhorfendur: Ég giska bara almennt, hvers vegna vildi þessi gögn uppbygging 809 00:43:45,300 --> 00:43:47,800 verið gagnleg? 810 00:43:47,800 --> 00:43:50,660 >> Ræðumaður 1: Það veltur á samhengi þínu. 811 00:43:50,660 --> 00:43:57,420 Svo fyrir sumir af kenningunni, Ef þú ert að vinna with-- lagi, 812 00:43:57,420 --> 00:44:02,750 láttu mig sjá hvort það er til góðs einn það er gagnlegt að meira en utan 813 00:44:02,750 --> 00:44:05,420 CS. 814 00:44:05,420 --> 00:44:15,780 Með stafla, hvenær sem þú þarft að halda utan um eitthvað sem 815 00:44:15,780 --> 00:44:20,456 er nýlega bætt er þegar þú ert að fara til að vilja nota stafla. 816 00:44:20,456 --> 00:44:24,770 >> Og ég get ekki hugsað mér gott dæmi um það núna. 817 00:44:24,770 --> 00:44:29,955 En þegar nýjasta hlutur er mest mikilvægt að þú, 818 00:44:29,955 --> 00:44:31,705 það er þegar stafla er að fara til að vera gagnlegt. 819 00:44:31,705 --> 00:44:35,797 820 00:44:35,797 --> 00:44:39,330 Ég er að reyna að hugsa ef það er gott ár fyrir þetta. 821 00:44:39,330 --> 00:44:43,720 Ef ég hugsa um góðu fordæmi í næstu 20 mínútur, mun ég örugglega segja þér. 822 00:44:43,720 --> 00:44:49,455 >> En í heild, ef það er eitthvað, eins og ég sagði flest, þar nýjustu 823 00:44:49,455 --> 00:44:52,470 er mikilvægast, það er þar stafla kemur inn í leik. 824 00:44:52,470 --> 00:44:58,860 En biðraðir eru konar hið gagnstæða. 825 00:44:58,860 --> 00:44:59,870 Og allir litlu hundar. 826 00:44:59,870 --> 00:45:00,890 Er þetta ekki frábært, ekki satt? 827 00:45:00,890 --> 00:45:03,299 Mér líður eins og ég ætti bara kanínu vídeó 828 00:45:03,299 --> 00:45:05,090 réttur í the miðja af kafla fyrir ykkur 829 00:45:05,090 --> 00:45:08,870 því þetta er mikil kafla. 830 00:45:08,870 --> 00:45:10,480 >> Svo biðröð. 831 00:45:10,480 --> 00:45:12,710 Í grundvallaratriðum er biðröð eins línu. 832 00:45:12,710 --> 00:45:15,780 Þú krakkar Ég er viss notkun þessa daglegur, Rétt eins og í veitingastöðum sölum okkar. 833 00:45:15,780 --> 00:45:18,160 Þannig að við verðum að fara í og fá stæði okkar, ég er 834 00:45:18,160 --> 00:45:21,260 viss um að þú þarft að bíða í línu að högg eða fá matinn þinn. 835 00:45:21,260 --> 00:45:24,650 >> Svo munurinn hér er að þetta er FIFO. 836 00:45:24,650 --> 00:45:30,090 Svo ef LIFO var síðast í, fyrst út, FIFO er fyrst inn fyrst út. 837 00:45:30,090 --> 00:45:33,400 Svo er þetta þar sem þú setur á fyrri er mikilvægasta þinn. 838 00:45:33,400 --> 00:45:35,540 Svo ef þú varst að bíða í line-- kanntu 839 00:45:35,540 --> 00:45:39,130 ímynda sér ef þú fórst í fara að fá nýja iPhone 840 00:45:39,130 --> 00:45:42,800 og það var stafla þar sem síðasta manneskja í línu fékk það fyrst, 841 00:45:42,800 --> 00:45:44,160 fólk myndi drepa hvert annað. 842 00:45:44,160 --> 00:45:49,800 >> Svo FIFO, erum við öll mjög kunnugur með í hinum raunverulega heimi hér, 843 00:45:49,800 --> 00:45:54,930 og það allt hefur að gera með raunverulega konar skemmtun þessa alla línuna 844 00:45:54,930 --> 00:45:56,900 og biðröð uppbyggingu. 845 00:45:56,900 --> 00:46:02,390 Svo þar með stafla, við höfum ýta og POP. 846 00:46:02,390 --> 00:46:06,440 Með biðröð, við höfum enqueue og dequeue. 847 00:46:06,440 --> 00:46:10,910 Svo enqueue grundvallaratriðum þýðir setja það á bak, 848 00:46:10,910 --> 00:46:13,680 og dequeue leið taka burt frá the andlit. 849 00:46:13,680 --> 00:46:18,680 Svo er gagnagrind okkar a svolítið flóknara. 850 00:46:18,680 --> 00:46:21,060 Við höfum annað hlutur til að halda utan um. 851 00:46:21,060 --> 00:46:25,950 >> Svo án þess að höfuð, þetta er einmitt a stakkur, ekki satt? 852 00:46:25,950 --> 00:46:27,900 Þetta er það sama uppbygging sem stafla. 853 00:46:27,900 --> 00:46:32,480 Það eina öðruvísi núna er að við hafa þetta höfuð, sem hvað þú telur 854 00:46:32,480 --> 00:46:34,272 er að fara að halda utan um? 855 00:46:34,272 --> 00:46:35,510 >> Áhorfendur: Sú fyrsta. 856 00:46:35,510 --> 00:46:38,685 >> Ræðumaður 1: rétt, fyrsta sem við setjum inn. 857 00:46:38,685 --> 00:46:41,130 Höfuð biðröð okkar. 858 00:46:41,130 --> 00:46:42,240 Sá er fyrst í röðinni. 859 00:46:42,240 --> 00:46:45,300 860 00:46:45,300 --> 00:46:49,420 Allt í lagi, þannig að ef við gerum enqueue. 861 00:46:49,420 --> 00:46:52,720 862 00:46:52,720 --> 00:46:55,920 Aftur, með einhverju þessi gögn uppbygging, 863 00:46:55,920 --> 00:46:59,760 þar sem við erum að fást við fjölda, þurfum við að athuga hvort við höfum pláss. 864 00:46:59,760 --> 00:47:03,290 >> Þetta er góður af eins og mig að segja þú krakkar, ef þú opnar skrá, 865 00:47:03,290 --> 00:47:04,760 þú þarft að athuga for null. 866 00:47:04,760 --> 00:47:08,330 Með einhverjum af þessum stafla og biðraðir, þú þarft 867 00:47:08,330 --> 00:47:13,420 til að sjá hvort það er rúm vegna þess að við erum takast með fasta stærð array, 868 00:47:13,420 --> 00:47:16,030 eins og við sjáum here-- 0, 1 allt upp að 5. 869 00:47:16,030 --> 00:47:20,690 Svo það sem við gerum í því tilfelli er að athuga til að sjá hvort við höfum enn pláss. 870 00:47:20,690 --> 00:47:23,110 Er stærð okkar minna en getu? 871 00:47:23,110 --> 00:47:28,480 >> Ef svo er, þurfum við að geyma það á hali og við uppfærum stærð okkar. 872 00:47:28,480 --> 00:47:30,250 Svo hvað gæti hali verið í þessu tilviki? 873 00:47:30,250 --> 00:47:32,360 Það er ekki beinlínis skrifað út. 874 00:47:32,360 --> 00:47:33,380 Hvernig ættum við að geyma það? 875 00:47:33,380 --> 00:47:34,928 Hvað myndi hala vera? 876 00:47:34,928 --> 00:47:38,600 877 00:47:38,600 --> 00:47:40,190 >> Svo skulum ganga í gegnum þetta dæmi. 878 00:47:40,190 --> 00:47:44,590 Svo er þetta fylki af stærð 6, ekki satt? 879 00:47:44,590 --> 00:47:49,220 Og við höfum núna, stærð okkar er 5. 880 00:47:49,220 --> 00:47:55,240 Og þegar við setjum það í, það er að fara að fara í fimmta vísitölu, ekki satt? 881 00:47:55,240 --> 00:47:57,030 Svo vista í hali. 882 00:47:57,030 --> 00:48:05,600 >> Önnur leið til að skrifa hala myndi bara vera array okkar við vísitölu stærð, ekki satt? 883 00:48:05,600 --> 00:48:07,560 Þetta er stærð 5. 884 00:48:07,560 --> 00:48:11,490 Næsta sem er að fara að fara í 5. 885 00:48:11,490 --> 00:48:12,296 Cool? 886 00:48:12,296 --> 00:48:13,290 OK. 887 00:48:13,290 --> 00:48:16,350 Það gerist aðeins flóknara þegar við byrjum Messías með höfuð. 888 00:48:16,350 --> 00:48:17,060 Já? 889 00:48:17,060 --> 00:48:20,090 >> Áhorfendur: Þýðir það að við hefði lýst fylki sem 890 00:48:20,090 --> 00:48:23,880 var fimm frumefni og þá erum við að bæta á það? 891 00:48:23,880 --> 00:48:24,730 >> Ræðumaður 1: No. 892 00:48:24,730 --> 00:48:27,560 Svo í þessu tilfelli, þetta er stafla. 893 00:48:27,560 --> 00:48:31,760 Þetta myndi vera lýst sem fylki af stærð 6. 894 00:48:31,760 --> 00:48:37,120 Og í þessu tilfelli, við bara eitt pláss laust. 895 00:48:37,120 --> 00:48:42,720 >> OK, svo er eitt í þessu ræða, ef höfuð okkar er á 0, 896 00:48:42,720 --> 00:48:45,270 þá erum við bara að bæta það á stærð. 897 00:48:45,270 --> 00:48:51,020 En það fær smá trickier því í raun, þeir 898 00:48:51,020 --> 00:48:52,840 hafa ekki renna fyrir þetta, þannig að ég ætla að fara 899 00:48:52,840 --> 00:48:56,670 að draga einn því það er ekki alveg svo einfalt þegar þú 900 00:48:56,670 --> 00:48:59,230 byrjar að fá losa af hlutum. 901 00:48:59,230 --> 00:49:03,920 Svo þar með stafla þú bara alltaf hafa 902 00:49:03,920 --> 00:49:08,920 að hafa áhyggjur af hvað stærð er þegar þú ert að bæta eitthvað á, 903 00:49:08,920 --> 00:49:15,710 með biðröð þú þarft einnig að gera viss um að höfuðið er grein fyrir, 904 00:49:15,710 --> 00:49:20,760 vegna þess að kaldur hlutur óður biðraðir er að ef þú ert ekki á getu, 905 00:49:20,760 --> 00:49:23,040 þú geta raunverulega gera það hula í kring. 906 00:49:23,040 --> 00:49:28,810 >> OK, svo einn thing-- ó, þetta er hræðileg krít. 907 00:49:28,810 --> 00:49:31,815 Eitt sem þarf að íhuga er raunin. 908 00:49:31,815 --> 00:49:35,514 909 00:49:35,514 --> 00:49:37,140 Við munum bara gera fimm. 910 00:49:37,140 --> 00:49:41,810 OK, þannig að við erum að fara að segja að höfuð er hér. 911 00:49:41,810 --> 00:49:46,140 Þetta er 0, 1, 2, 3, 4. 912 00:49:46,140 --> 00:49:54,210 >> Höfuðið er þarna, og vinsamlegast hafa hlutina í þeim. 913 00:49:54,210 --> 00:49:58,340 Og við viljum að bæta eitthvað í, ekki satt? 914 00:49:58,340 --> 00:50:01,170 Svo það sem við þurfum að vita er að hausinn er alltaf 915 00:50:01,170 --> 00:50:05,620 að fara að flytja með þessum hætti og þá loop back kring, OK? 916 00:50:05,620 --> 00:50:10,190 >> Þannig að þetta biðröð hefur pláss, satt? 917 00:50:10,190 --> 00:50:13,950 Það hefur pláss í upphafi, konar andstæðu þetta. 918 00:50:13,950 --> 00:50:17,920 Svo það sem við þurfum að gera er að við þarf að reikna skottið. 919 00:50:17,920 --> 00:50:20,530 Ef þú veist að þinn höfuð hefur ekki flutt, hali 920 00:50:20,530 --> 00:50:24,630 er bara array þinn á Vísitala stærð. 921 00:50:24,630 --> 00:50:30,000 >> En í raun og veru, ef þú ert að nota biðröð, höfuðið er líklega að uppfæra. 922 00:50:30,000 --> 00:50:33,890 Svo hvað þú þarft að gera er reyndar reikna hala. 923 00:50:33,890 --> 00:50:39,990 Svo það sem við gerum er þetta uppskrift hér, sem ég ætla að láta þig 924 00:50:39,990 --> 00:50:42,680 krakkar hugsa um, og þá munum við tala um það. 925 00:50:42,680 --> 00:50:49,567 926 00:50:49,567 --> 00:50:50,400 Þannig að þetta er getu. 927 00:50:50,400 --> 00:50:55,890 928 00:50:55,890 --> 00:50:59,660 >> Þannig að þetta mun í raun gefa þér leið til að gera það. 929 00:50:59,660 --> 00:51:03,205 930 00:51:03,205 --> 00:51:04,330 Vegna þess að í þessu tilfelli, hvað? 931 00:51:04,330 --> 00:51:09,205 Höfuð okkar er á 1, stærð okkar er 4. 932 00:51:09,205 --> 00:51:11,760 933 00:51:11,760 --> 00:51:18,490 Ef við unga fólkið sem um 5, fáum við 0, sem er þar sem við ættum inntak það. 934 00:51:18,490 --> 00:51:23,320 935 00:51:23,320 --> 00:51:26,080 >> Svo þá í næsta tilfelli, Ef við vorum að gera þetta, 936 00:51:26,080 --> 00:51:33,390 við segjum, OK, við skulum dequeue eitthvað. 937 00:51:33,390 --> 00:51:34,390 Við dequeue þetta. 938 00:51:34,390 --> 00:51:37,740 Við tökum þessa frumefni, ekki satt? 939 00:51:37,740 --> 00:51:47,930 >> Og nú höfuð okkar er að benda hér, og við viljum bæta við í öðru lagi. 940 00:51:47,930 --> 00:51:52,470 Þetta er í grundvallaratriðum bak línu okkar, ekki satt? 941 00:51:52,470 --> 00:51:55,450 Biðraðir getur sett í kringum fylkisins. 942 00:51:55,450 --> 00:51:57,310 Það er eitt af helstu munur. 943 00:51:57,310 --> 00:51:58,780 Stafla, getur þú ekki gert þetta. 944 00:51:58,780 --> 00:52:01,140 >> Með biðraðir, þú getur vegna þess að allt sem skiptir máli 945 00:52:01,140 --> 00:52:03,940 er að þú veist hvað var síðast bætt við. 946 00:52:03,940 --> 00:52:10,650 Þar sem allt er að fara að bæta við í þessi leftward átt, í þessu tilfelli, 947 00:52:10,650 --> 00:52:16,480 og þá vefja í kring, þú getur áfram að setja í nýjum þætti 948 00:52:16,480 --> 00:52:18,830 á the andlit af the array því það er í raun ekki 949 00:52:18,830 --> 00:52:20,640 framan á array lengur. 950 00:52:20,640 --> 00:52:26,320 Þú getur hugsað um í byrjun þess array og hvar höfuðið í raun er. 951 00:52:26,320 --> 00:52:29,710 >> Svo er þetta uppskrift hvernig þú reiknar hala þínum. 952 00:52:29,710 --> 00:52:32,780 953 00:52:32,780 --> 00:52:35,610 Er það er vit? 954 00:52:35,610 --> 00:52:36,110 OK. 955 00:52:36,110 --> 00:52:39,400 956 00:52:39,400 --> 00:52:44,040 OK, dequeue, og þá þið hafið 10 mínútur 957 00:52:44,040 --> 00:52:48,840 að spyrja mig allir að skýra spurningar þú vilt, vegna þess að ég veit að það er brjálaður. 958 00:52:48,840 --> 00:52:51,980 >> Allt í lagi, svo í sama way-- Ég veit ekki hvort þið tekið eftir, 959 00:52:51,980 --> 00:52:53,450 en CS er allt um mynstrum. 960 00:52:53,450 --> 00:52:57,370 Hlutirnir eru ansi mikið sama, bara með pínulitlum klip. 961 00:52:57,370 --> 00:52:58,950 Svo sama hér. 962 00:52:58,950 --> 00:53:04,040 Við þurfum að athuga hvort við í raun hafa eitthvað í biðröð okkar, ekki satt? 963 00:53:04,040 --> 00:53:05,960 Segja, OK, er stærð okkar meiri en 0? 964 00:53:05,960 --> 00:53:06,730 Cool. 965 00:53:06,730 --> 00:53:10,690 >> Ef við gerum það, þá erum við að færa höfuð okkar, sem er það sem ég sýndi bara hér. 966 00:53:10,690 --> 00:53:13,870 Við uppfærslu höfuð okkar til að vera einn. 967 00:53:13,870 --> 00:53:18,390 Og þá erum við lækka okkar stærð og skila frumefni. 968 00:53:18,390 --> 00:53:21,000 969 00:53:21,000 --> 00:53:26,250 >> Það er miklu meira steypu kóðann á study.cs50.net, 970 00:53:26,250 --> 00:53:29,440 og ég mæli með mjög fara gegnum það ef þú hefur tíma, 971 00:53:29,440 --> 00:53:30,980 jafnvel ef það er bara gervi-númer. 972 00:53:30,980 --> 00:53:35,980 Og ef þú krakkar vilja til að tala í gegnum að með mér einn á einn, vinsamlegast láttu mig 973 00:53:35,980 --> 00:53:37,500 vita. 974 00:53:37,500 --> 00:53:38,770 Ég væri fús til að. 975 00:53:38,770 --> 00:53:42,720 Gögn uppbygging, ef þú tekur CS 124, þú munt 976 00:53:42,720 --> 00:53:47,830 vita að gögn uppbygging fá mjög gaman og þetta er bara byrjunin. 977 00:53:47,830 --> 00:53:50,350 >> Svo ég veit að það er erfitt. 978 00:53:50,350 --> 00:53:51,300 Það er allt í lagi. 979 00:53:51,300 --> 00:53:52,410 Við baráttu. 980 00:53:52,410 --> 00:53:53,630 Ég geri enn. 981 00:53:53,630 --> 00:53:56,660 Svo ekki hafa áhyggjur of mikill óður í það. 982 00:53:56,660 --> 00:54:02,390 >> En það er í grundvallaratriðum ÞINN hrun námskeið í uppbyggingu gagna. 983 00:54:02,390 --> 00:54:03,400 Ég veit að það er mikið. 984 00:54:03,400 --> 00:54:06,860 Er eitthvað sem við langar að fara aftur? 985 00:54:06,860 --> 00:54:09,400 Eitthvað sem við viljum að tala í gegnum? 986 00:54:09,400 --> 00:54:10,060 Já? 987 00:54:10,060 --> 00:54:16,525 >> Áhorfendur: Fyrir þessi dæmi, svo nýja hali er á 0 yfir það? 988 00:54:16,525 --> 00:54:17,150 Ræðumaður 1: Já. 989 00:54:17,150 --> 00:54:18,230 Áhorfendur: OK. 990 00:54:18,230 --> 00:54:24,220 Svo þá að fara í gegnum, þú vilt hafa 1 plús 4 or-- 991 00:54:24,220 --> 00:54:27,671 >> Ræðumaður 1: Svo þú varst að segja, þegar við viljum fara að gera þetta aftur? 992 00:54:27,671 --> 00:54:28,296 Áhorfendur: Já. 993 00:54:28,296 --> 00:54:38,290 Svo ef þú varst vangaveltur out-- hvar eru þú reikna hala frá því? 994 00:54:38,290 --> 00:54:44,260 >> Ræðumaður 1: Svo hali var in-- ég breytti þessu. 995 00:54:44,260 --> 00:54:52,010 Svo í þessu dæmi hér, þetta var array við erum að horfa á, OK? 996 00:54:52,010 --> 00:54:54,670 Þannig að við höfum það í 1, 2, 3, og 4. 997 00:54:54,670 --> 00:55:05,850 Þannig að við höfum höfuð okkar er jafnt og 1 á þetta lið, og stærð okkar er jafnt og 4 998 00:55:05,850 --> 00:55:07,050 á þessum tímapunkti, ekki satt? 999 00:55:07,050 --> 00:55:08,960 >> Þú öll sammála um að er að ræða? 1000 00:55:08,960 --> 00:55:14,620 Svo við gerum höfuðið auk stærð, sem gefur okkur 5, og þá erum við unga fólkið um 5. 1001 00:55:14,620 --> 00:55:20,690 Við fáum 0, sem segir okkur að 0 er hvar er skottið okkar, þar sem við höfum pláss. 1002 00:55:20,690 --> 00:55:22,010 >> Áhorfendur: Hvað er a hettu? 1003 00:55:22,010 --> 00:55:23,520 >> Ræðumaður 1: Getu. 1004 00:55:23,520 --> 00:55:24,020 Sorry. 1005 00:55:24,020 --> 00:55:29,640 Svo er að stærð array þinn. 1006 00:55:29,640 --> 00:55:35,210 1007 00:55:35,210 --> 00:55:36,047 Já? 1008 00:55:36,047 --> 00:55:39,210 >> Áhorfendur: [inaudible] áður við aftur þátturinn? 1009 00:55:39,210 --> 00:55:46,270 >> Ræðumaður 1: Svo við færa höfuð eða skila augnablik? 1010 00:55:46,270 --> 00:55:52,680 Þannig að ef við færa einn, lækka stærð? 1011 00:55:52,680 --> 00:55:54,150 Bíddu. 1012 00:55:54,150 --> 00:55:55,770 Ég gleymdi örugglega annað. 1013 00:55:55,770 --> 00:56:00,646 1014 00:56:00,646 --> 00:56:01,990 Aldrei hugur. 1015 00:56:01,990 --> 00:56:04,980 Það er ekki annað uppskrift. 1016 00:56:04,980 --> 00:56:09,980 Já, myndir þú vilja til að fara aftur höfuð og þá færa það til baka. 1017 00:56:09,980 --> 00:56:13,270 >> Áhorfendur: OK, því á þessum tímapunkti höfuð var á 0, 1018 00:56:13,270 --> 00:56:18,452 og þá þú vilt að skila Vísitala 0 og þá gera höfuð 1? 1019 00:56:18,452 --> 00:56:19,870 >> Ræðumaður 1: Hægri. 1020 00:56:19,870 --> 00:56:22,820 Ég held að það er annar uppskrift konar svona. 1021 00:56:22,820 --> 00:56:26,970 Ég hef það ekki á the toppur höfuð mitt eins Ég vil ekki að gefa þér röng einn. 1022 00:56:26,970 --> 00:56:35,470 En ég held að það er í gildi fullkomlega að segja, OK, geyma þessa element-- hvað 1023 00:56:35,470 --> 00:56:40,759 þáttur höfuð er is-- lækka þinn stærð, færa höfuðið yfir, og aftur 1024 00:56:40,759 --> 00:56:41,800 hvað þessi þáttur er. 1025 00:56:41,800 --> 00:56:44,760 Það er fullkomlega gild. 1026 00:56:44,760 --> 00:56:45,260 OK. 1027 00:56:45,260 --> 00:56:48,360 1028 00:56:48,360 --> 00:56:53,560 Mér finnst eins og þetta er ekki eins most-- þú ert ekki 1029 00:56:53,560 --> 00:56:55,740 að fara að ganga út héðan eins, já, ég veit reynir. 1030 00:56:55,740 --> 00:56:56,880 Ég fékk það allt. 1031 00:56:56,880 --> 00:56:57,670 Það er allt í lagi. 1032 00:56:57,670 --> 00:57:00,200 Ég lofa. 1033 00:57:00,200 --> 00:57:05,240 En gögn uppbygging eru eitthvað sem það tekur a einhver fjöldi af tími til að venjast. 1034 00:57:05,240 --> 00:57:10,010 Sennilega einn af the herða hlutir, held ég, í námskeiðinu. 1035 00:57:10,010 --> 00:57:15,330 >> Svo það tekur örugglega endurtekning og útlit at-- I 1036 00:57:15,330 --> 00:57:20,050 vissi ekki alveg vita tengd listum fyrr en ég gerði allt of mikið með þeim, 1037 00:57:20,050 --> 00:57:22,550 á sama hátt og ég gerði ekki raunverulega skilja ábendingum 1038 00:57:22,550 --> 00:57:27,040 þangað til ég hef þurft að kenna það í tvö ár og gera eigin psets mína með það. 1039 00:57:27,040 --> 00:57:28,990 Það tekur a einhver fjöldi af reiteration og tíma. 1040 00:57:28,990 --> 00:57:32,600 Og að lokum, mun það konar smella. 1041 00:57:32,600 --> 00:57:36,320 >> En í millitíðinni, ef þú ert góður að víðtækri skilning á því hvað 1042 00:57:36,320 --> 00:57:39,321 þessir gera, kostir þeirra og cons-- sem er hvað 1043 00:57:39,321 --> 00:57:41,820 við hafa tilhneigingu í raun að leggja áherslu á, sérstaklega í innra námskeiði. 1044 00:57:41,820 --> 00:57:45,511 Eins, hvers vegna ættum við að nota a reyna yfir fylki? 1045 00:57:45,511 --> 00:57:48,010 Eins og, hvað eru jákvæður og filmur í hverjum þessara? 1046 00:57:48,010 --> 00:57:51,610 >> Og skilja málamiðlanir á milli hvers þessara mannvirkja 1047 00:57:51,610 --> 00:57:54,910 er það sem er miklu meira máli núna. 1048 00:57:54,910 --> 00:57:58,140 Það kann að vera ein brjálaður spurning eða tvær sem er 1049 00:57:58,140 --> 00:58:03,710 að fara að biðja þig um að innleiða ýta eða innleiða popp eða enqueue og dequeue. 1050 00:58:03,710 --> 00:58:07,340 En að mestu leyti, að hafa það meiri skilning og fleiri 1051 00:58:07,340 --> 00:58:09,710 af leiðandi skilja er meira máli en í raun og veru 1052 00:58:09,710 --> 00:58:11,250 vera fær um að framkvæma það. 1053 00:58:11,250 --> 00:58:14,880 >> Það myndi vera mjög ógnvekjandi ef ykkur gæti farið út og fara innleiða reyna, 1054 00:58:14,880 --> 00:58:19,720 en við skiljum að það er ekki endilega mest sanngjarnt hlutur núna. 1055 00:58:19,720 --> 00:58:23,370 En þú getur í pset þinn, ef þú vilt til, og þá munt þú fá starf, 1056 00:58:23,370 --> 00:58:27,200 og þá kannski þú munt raunverulega skilja það. 1057 00:58:27,200 --> 00:58:27,940 Já? 1058 00:58:27,940 --> 00:58:30,440 >> Áhorfendur: OK, þannig hver sjálfur ert við ætlað að nota í pset? 1059 00:58:30,440 --> 00:58:31,916 Þarf ég að nota einn af þeim? 1060 00:58:31,916 --> 00:58:32,540 Ræðumaður 1: Já. 1061 00:58:32,540 --> 00:58:34,199 Svo þú hefur val þitt. 1062 00:58:34,199 --> 00:58:36,740 Ég giska í þessu tilfelli, við getum tala um pset svolítið 1063 00:58:36,740 --> 00:58:40,480 vegna þess að ég hljóp í gegnum þetta. 1064 00:58:40,480 --> 00:58:47,779 Svo í pset þinn, hefur þú ÞÍN val á reynir eða kjötkássa matskeið. 1065 00:58:47,779 --> 00:58:49,570 Sumir vilja reyna og nota blóma síur, 1066 00:58:49,570 --> 00:58:51,840 en þeir tæknilega eru ekki rétt. 1067 00:58:51,840 --> 00:58:55,804 Vegna Probabilistic eðlis þeirra, þeir gefa rangar jákvæður stundum. 1068 00:58:55,804 --> 00:58:57,095 Þeir eru flott líta inn, þó. 1069 00:58:57,095 --> 00:58:59,030 Highly recommend leita á þá að minnsta kosti. 1070 00:58:59,030 --> 00:59:03,260 En þú hefur val þitt milli kjötkássa borð og reyna. 1071 00:59:03,260 --> 00:59:06,660 Og það er að fara að vera þar sem þú hleður í orðabókina þína. 1072 00:59:06,660 --> 00:59:09,230 >> Og þú þarft að velja kjötkássa virka þinn, 1073 00:59:09,230 --> 00:59:13,420 þú þarft að velja hversu margir fötunum sem þú hefur, og það er mismunandi. 1074 00:59:13,420 --> 00:59:17,440 Eins ef þú ert með fleiri fötur, kannski það mun hlaupa hraðar. 1075 00:59:17,440 --> 00:59:22,790 En kannski þú ert að sóa a mikið af pláss þannig, þó. 1076 00:59:22,790 --> 00:59:26,320 Þú verður að reikna það út. 1077 00:59:26,320 --> 00:59:27,140 Mmhmm? 1078 00:59:27,140 --> 00:59:29,875 >> Áhorfendur: Þú sagðir áður að við getum notað aðrar aðgerðir kjötkássa, 1079 00:59:29,875 --> 00:59:31,750 að við þurfum ekki að búa til kjötkássa virka? 1080 00:59:31,750 --> 00:59:32,666 >> Ræðumaður 1: Já, rétt. 1081 00:59:32,666 --> 00:59:38,150 Svo bókstaflega fyrir kjötkássa virka þinni, eins og Google "kjötkássa virka" 1082 00:59:38,150 --> 00:59:40,770 og leita að einhverjum flottum sjálfur. 1083 00:59:40,770 --> 00:59:43,250 Þú ert ekki gert ráð fyrir að byggja eigin kjötkássa þinn aðgerðir. 1084 00:59:43,250 --> 00:59:46,100 Fólk eyða þeirra ritgerðir um þetta. 1085 00:59:46,100 --> 00:59:50,250 >> Svo ekki hafa áhyggjur óður í að byggja eigin spýtur. 1086 00:59:50,250 --> 00:59:53,350 Finna einn á netinu til að byrja með. 1087 00:59:53,350 --> 00:59:56,120 Sumir af þeim sem þú þarft að vinna svolítið 1088 00:59:56,120 --> 00:59:59,430 til að tryggja að tegundir aftur passa upp og whatnot, svo í upphafi, 1089 00:59:59,430 --> 01:00:02,420 Ég myndi mæla með að nota eitthvað mjög auðvelt að kannski bara 1090 01:00:02,420 --> 01:00:04,680 kjötkássa á fyrsta staf. 1091 01:00:04,680 --> 01:00:08,760 Og þá þegar þú hefur þessi vinna, innlimun kælir kjötkássa virka. 1092 01:00:08,760 --> 01:00:09,260 Mmhmm? 1093 01:00:09,260 --> 01:00:13,020 >> Áhorfendur: Mundi reyna vera eða duglegur en bara erfiðara að, like-- 1094 01:00:13,020 --> 01:00:15,880 >> Ræðumaður 1: Svo reyna, held ég, er innsæi erfitt að framkvæma 1095 01:00:15,880 --> 01:00:18,310 en er mjög fljótur. 1096 01:00:18,310 --> 01:00:20,620 Hins vegar tekur upp meira pláss. 1097 01:00:20,620 --> 01:00:25,270 Aftur, getur þú bjartsýni bæði þeirra sem eru í mismunandi leiðir og það eru leiðir to-- 1098 01:00:25,270 --> 01:00:26,770 Áhorfendur: Hvernig erum við farið á þetta? 1099 01:00:26,770 --> 01:00:27,540 Er það matter-- 1100 01:00:27,540 --> 01:00:29,164 >> Ræðumaður 1: Svo þú ert farið eðlilega leið. 1101 01:00:29,164 --> 01:00:31,330 Þú ert að fara að vera farið á hönnun. 1102 01:00:31,330 --> 01:00:36,020 Á þann hátt sem þú gerir, þú vilja til ganga úr skugga um það er eins glæsilegur og það getur verið 1103 01:00:36,020 --> 01:00:38,610 og eins skilvirkt og það getur orðið. 1104 01:00:38,610 --> 01:00:41,950 En ef þú velur a reyna eða tæti borð, svo lengi sem það virkar, 1105 01:00:41,950 --> 01:00:45,350 við erum ánægð með það. 1106 01:00:45,350 --> 01:00:48,370 Og ef þú notar eitthvað sem kjötkássa á fyrsta staf, það er fínn, 1107 01:00:48,370 --> 01:00:51,410 eins og kannski eins og hönnun-vitur. 1108 01:00:51,410 --> 01:00:53,410 Við erum líka orðin lið í þessu semester-- 1109 01:00:53,410 --> 01:00:55,340 Ég veit ekki hvort þú krakkar noticed-- ef þú ert 1110 01:00:55,340 --> 01:00:58,780 pset bekk lækka smá vegna hönnunar og whatnot, 1111 01:00:58,780 --> 01:00:59,900 það er fullkomlega í lagi. 1112 01:00:59,900 --> 01:01:02,960 Það er að fá til a benda hvar ÞÍN forrit eru að fá flóknari. 1113 01:01:02,960 --> 01:01:04,830 Það eru fleiri staðir þú getur bætt á. 1114 01:01:04,830 --> 01:01:06,370 >> Svo það er fullkomlega eðlilegt. 1115 01:01:06,370 --> 01:01:08,810 Það er ekki það að þú sért gera verri á pset þinni. 1116 01:01:08,810 --> 01:01:11,885 Það er bara að við erum að vera erfiðara á þig núna. 1117 01:01:11,885 --> 01:01:13,732 Svo allir er tilfinning það. 1118 01:01:13,732 --> 01:01:14,940 Ég farið bara öll psets þínum. 1119 01:01:14,940 --> 01:01:16,490 Ég veit að allir er tilfinning það. 1120 01:01:16,490 --> 01:01:19,600 >> Svo verið ekki áhyggjur af því. 1121 01:01:19,600 --> 01:01:23,580 Og ef þú hefur einhverjar spurningar um fyrri psets eða leiðir sem þú getur bætt, 1122 01:01:23,580 --> 01:01:27,760 Ég reyni og tjá sérstakar stöðum, en stundum er það of seint 1123 01:01:27,760 --> 01:01:30,840 og ég fá þreyttur. 1124 01:01:30,840 --> 01:01:34,885 Eru einhverjar aðrar hlutir um gögn uppbygging? 1125 01:01:34,885 --> 01:01:37,510 Ég er viss um að þú krakkar gera ekki raunverulega langar að tala um þá lengur, 1126 01:01:37,510 --> 01:01:42,650 en ef það eru, ég er fús til að fara yfir þeim, sem og nokkuð 1127 01:01:42,650 --> 01:01:45,580 frá fyrirlestri á síðasta viku eða síðustu viku. 1128 01:01:45,580 --> 01:01:51,580 >> Ég veit í síðustu viku var allt endurskoðun þannig við kann að hafa sleppt yfir nokkur endurskoðun 1129 01:01:51,580 --> 01:01:54,190 frá fyrirlestrinum. 1130 01:01:54,190 --> 01:01:58,230 Allar aðrar spurningar sem ég get svarað? 1131 01:01:58,230 --> 01:01:59,350 OK, allt í lagi. 1132 01:01:59,350 --> 01:02:02,400 Jæja, þú krakkar fá út 15 mínútur snemma. 1133 01:02:02,400 --> 01:02:08,370 >> Ég vona að þetta var hálf-gagnlegt að minnsta kosti, og ég mun sjá ykkur í næstu viku, 1134 01:02:08,370 --> 01:02:12,150 eða fimmtudagur skrifstofutíma. 1135 01:02:12,150 --> 01:02:15,285 Eru beiðnir um snakk fyrir næstu viku, er það hlutur? 1136 01:02:15,285 --> 01:02:17,459 Þar sem ég gleymdi nammi dag. 1137 01:02:17,459 --> 01:02:19,750 Og ég leiddi nammi síðustu viku, en það var Columbus Day, 1138 01:02:19,750 --> 01:02:25,400 þannig að það var eins og sex manns sem voru fjórir pokar af sælgæti til sín. 1139 01:02:25,400 --> 01:02:28,820 Ég get koma Starbursts aftur ef þú vilt. 1140 01:02:28,820 --> 01:02:29,580 Starbursts? 1141 01:02:29,580 --> 01:02:32,250 OK, hljómar vel. 1142 01:02:32,250 --> 01:02:35,050 Hafa a mikill dagur, krakkar. 1143 01:02:35,050 --> 01:02:39,510