1 00:00:00,000 --> 00:00:00,500 2 00:00:00,500 --> 00:00:05,120 [Music kucheza] 3 00:00:05,120 --> 00:00:12,026 4 00:00:12,026 --> 00:00:12,900 SPIKA 1: All haki. 5 00:00:12,900 --> 00:00:14,600 Kila mtu kuwakaribisha nyuma na sehemu ya. 6 00:00:14,600 --> 00:00:18,660 Natumaini wote ni mafanikio zinalipwa kutoka Jaribio yako 7 00:00:18,660 --> 00:00:19,510 kutoka wiki iliyopita. 8 00:00:19,510 --> 00:00:22,564 Najua ni kidogo mambo mara kwa mara. 9 00:00:22,564 --> 00:00:25,230 Kama nilivyosema hapo kabla, kama wewe ni ndani ya kupotoka standard, 10 00:00:25,230 --> 00:00:28,188 si kweli wasiwasi kuhusu hilo, hasa kwa sehemu chini ya starehe. 11 00:00:28,188 --> 00:00:30,230 Hiyo ni kuhusu ambapo unapaswa kuwa. 12 00:00:30,230 --> 00:00:32,850 >> Kama alifanya kubwa, basi kutisha. 13 00:00:32,850 --> 00:00:33,650 Kudos na wewe. 14 00:00:33,650 --> 00:00:36,149 Na kama wewe kujisikia kama unahitaji kidogo msaada zaidi, tafadhali 15 00:00:36,149 --> 00:00:38,140 kujisikia huru na kufikia kufanyika kwa yoyote ya TFS. 16 00:00:38,140 --> 00:00:40,030 Sisi sote tuko hapa kusaidia. 17 00:00:40,030 --> 00:00:40,960 >> Hiyo ni kwa nini sisi kufundisha. 18 00:00:40,960 --> 00:00:44,550 Hiyo ni kwa nini mimi niko hapa kila Jumatatu kwa ajili yenu wavulana na katika ofisi masaa juu ya Alhamisi. 19 00:00:44,550 --> 00:00:48,130 Hivyo tafadhali jisikie huru basi mimi kujua kama wewe ni wasiwasi kuhusu kitu chochote 20 00:00:48,130 --> 00:00:52,450 au kama kuna kitu chochote juu ya jaribio kwamba Ningependa kwa kweli kama kushughulikia. 21 00:00:52,450 --> 00:00:56,940 >> Hivyo ajenda ya leo ni wote kuhusu miundo ya data. 22 00:00:56,940 --> 00:01:01,520 Baadhi ya hizi ni kwenda tu kuwa tu kupata wewe familiarized na haya. 23 00:01:01,520 --> 00:01:04,870 Unaweza milele kutekeleza nao katika darasa hili. 24 00:01:04,870 --> 00:01:08,690 Baadhi yao wewe, kama kwa Speller yako pset. 25 00:01:08,690 --> 00:01:11,380 >> Itabidi uchaguzi wako kati ya meza hash na anajaribu. 26 00:01:11,380 --> 00:01:13,680 Hivyo tutaweza dhahiri kuwa kwenda juu ya wale. 27 00:01:13,680 --> 00:01:18,690 Ni kwenda kuwa dhahiri zaidi ya aina ya kiwango cha juu cha kifungu leo, ingawa, 28 00:01:18,690 --> 00:01:22,630 kwa sababu kuna mengi ya yao, na kama sisi akaenda katika maelezo ya utekelezaji 29 00:01:22,630 --> 00:01:26,490 juu ya yote haya, sisi hakutaka hata kupata njia ya orodha wanaohusishwa 30 00:01:26,490 --> 00:01:28,520 na labda kidogo ya meza hash. 31 00:01:28,520 --> 00:01:31,200 >> Hivyo kuzaa na mimi. 32 00:01:31,200 --> 00:01:33,530 Sisi siyo kwenda kufanya kama kiasi coding wakati huu. 33 00:01:33,530 --> 00:01:36,870 Kama una maswali yoyote kuhusu hilo au unataka kuona kutekelezwa 34 00:01:36,870 --> 00:01:39,260 au kujaribu mwenyewe, Mimi dhahiri kupendekeza 35 00:01:39,260 --> 00:01:44,250 kwenda study.cs50.net, ambayo ina mifano ya yote haya. 36 00:01:44,250 --> 00:01:46,400 Ni itabidi PowerPoints yangu pamoja na maelezo kwamba sisi 37 00:01:46,400 --> 00:01:50,860 huwa na kutumia kama vile baadhi ya programu mazoezi, hasa kwa ajili ya mambo 38 00:01:50,860 --> 00:01:55,250 kama orodha wanaohusishwa na binary miti mwingi na cues. 39 00:01:55,250 --> 00:01:59,590 Ngazi ya juu zaidi hivyo kidogo, ambayo inaweza kuwa nzuri kwa ajili ya guys. 40 00:01:59,590 --> 00:02:01,320 >> Hivyo, pamoja na kwamba, tutaweza kupata kuanza. 41 00:02:01,320 --> 00:02:03,060 Na pia, yes-- Quizzes. 42 00:02:03,060 --> 00:02:06,550 Nadhani wengi wenu walio katika Sehemu yangu na Quizzes yako, 43 00:02:06,550 --> 00:02:12,060 lakini mtu akija katika au sababu baadhi yenu kufanya hivyo, wao ni haki hapa mbele. 44 00:02:12,060 --> 00:02:12,740 >> Hivyo wanaohusishwa orodha. 45 00:02:12,740 --> 00:02:15,650 Najua aina hii ya unaendelea nyuma kabla ya jaribio yako. 46 00:02:15,650 --> 00:02:17,940 Hiyo ilikuwa wiki moja kabla ya kwamba sisi kujifunza kuhusu hili. 47 00:02:17,940 --> 00:02:21,040 Lakini katika kesi hii, tutaweza tu kwenda kidogo zaidi kwa kina. 48 00:02:21,040 --> 00:02:25,900 >> Hivyo kwa nini huenda sisi kuchagua wanaohusishwa orodha juu ya safu? 49 00:02:25,900 --> 00:02:27,130 Nini tofauti kati yao? 50 00:02:27,130 --> 00:02:27,630 Ndiyo? 51 00:02:27,630 --> 00:02:30,464 >> Watazamaji: Unaweza kupanua wanaohusishwa orodha dhidi safu ya fasta ukubwa. 52 00:02:30,464 --> 00:02:31,171 SPIKA 1: Haki. 53 00:02:31,171 --> 00:02:33,970 safu ina ambapo fasta ukubwa orodha wanaohusishwa ina ukubwa kutofautiana. 54 00:02:33,970 --> 00:02:36,970 Hivyo kama sisi hawajui jinsi kiasi tunataka kuhifadhi, 55 00:02:36,970 --> 00:02:39,880 orodha wanaohusishwa inatupa kubwa njia ya kufanya kwamba kwa sababu tunaweza tu 56 00:02:39,880 --> 00:02:43,730 kuongeza juu ya nodi mwingine na kuongeza juu mwingine nodi na kuongeza juu ya nodi mwingine. 57 00:02:43,730 --> 00:02:45,750 Lakini nini inaweza kuwa biashara-off? 58 00:02:45,750 --> 00:02:49,521 Je, mtu yeyote kumbuka biashara-off kati ya arrays na orodha wanaohusishwa? 59 00:02:49,521 --> 00:02:50,020 Mmhmm? 60 00:02:50,020 --> 00:02:51,460 >> Watazamaji: Una kwenda kwa njia ya njia yote 61 00:02:51,460 --> 00:02:53,738 kupitia orodha wanaohusishwa kupata kipengele katika orodha. 62 00:02:53,738 --> 00:02:55,570 Katika safu, unaweza tu kupata kipengele. 63 00:02:55,570 --> 00:02:56,278 >> SPIKA 1: Haki. 64 00:02:56,278 --> 00:02:57,120 Hivyo pamoja na arrays-- 65 00:02:57,120 --> 00:02:58,500 >> Watazamaji: [inaudible]. 66 00:02:58,500 --> 00:03:01,090 >> SPIKA 1: Kwa arrays, tuna kile kinachoitwa upatikanaji random. 67 00:03:01,090 --> 00:03:04,820 Ina maana kwamba kama tunataka nini ni milele hatua ya tano ya orodha 68 00:03:04,820 --> 00:03:07,230 au uhakika wa tano wa wetu safu, tunaweza tu kunyakua hiyo. 69 00:03:07,230 --> 00:03:10,440 Kama ni orodha wanaohusishwa, tuna iterate kupitia, haki? 70 00:03:10,440 --> 00:03:14,020 Hivyo kupata kipengele katika safu ni muda mara kwa mara, 71 00:03:14,020 --> 00:03:19,530 ambapo pamoja na orodha wanaohusishwa ingekuwa zaidi uwezekano kuwa wakati linear kwa sababu labda 72 00:03:19,530 --> 00:03:21,370 kipengele yetu ni njia yote mwishoni. 73 00:03:21,370 --> 00:03:23,446 Tuna kutafuta njia ya kila kitu. 74 00:03:23,446 --> 00:03:25,320 Hivyo, pamoja na data zote hizi miundo tunakwenda 75 00:03:25,320 --> 00:03:29,330 kwa kutumia muda zaidi kidogo juu ya, kile ni pluses na hasi. 76 00:03:29,330 --> 00:03:31,480 Wakati wanaweza tunataka kutumia moja juu ya nyingine? 77 00:03:31,480 --> 00:03:34,970 Na hiyo ni aina ya Jambo kubwa ya kuchukua mbali. 78 00:03:34,970 --> 00:03:40,140 >> Hivyo tuna hapa ufafanuzi wa nodi. 79 00:03:40,140 --> 00:03:43,040 Ni kama moja ya kipengele katika orodha yetu wanaohusishwa, haki? 80 00:03:43,040 --> 00:03:46,180 Hivyo sisi ni wote ukoo na typedef structs yetu, 81 00:03:46,180 --> 00:03:47,980 ambayo sisi akaenda juu katika mapitio mara ya mwisho. 82 00:03:47,980 --> 00:03:53,180 Ilikuwa kimsingi kujenga tu aina nyingine data kwamba tunaweza kutumia. 83 00:03:53,180 --> 00:03:57,930 >> Na katika kesi hii, ni baadhi ya nodi kwamba itafanya baadhi integer katika. 84 00:03:57,930 --> 00:04:00,210 Na kisha nini sehemu ya pili hapa? 85 00:04:00,210 --> 00:04:03,192 86 00:04:03,192 --> 00:04:05,677 Mtu yeyote? 87 00:04:05,677 --> 00:04:06,680 >> Watazamaji: [inaudible]. 88 00:04:06,680 --> 00:04:07,020 >> SPIKA 1: Yeah. 89 00:04:07,020 --> 00:04:08,400 Ni pointer nodi ijayo. 90 00:04:08,400 --> 00:04:12,610 Hivyo hii lazima kweli kuwa juu hapa. 91 00:04:12,610 --> 00:04:18,790 Hii ni pointer ya aina nodi kwa jambo la pili. 92 00:04:18,790 --> 00:04:22,410 Na kwamba ni nini wao amewazunguka nodi zetu. 93 00:04:22,410 --> 00:04:24,060 Baridi. 94 00:04:24,060 --> 00:04:29,390 >> Haki wote, hivyo pamoja na kutafuta, kama tulikuwa kusema tu kabla ya mkono, kama wewe ni 95 00:04:29,390 --> 00:04:31,840 kwenda kutafuta njia, una kweli iterate 96 00:04:31,840 --> 00:04:33,660 kupitia orodha yako wanaohusishwa. 97 00:04:33,660 --> 00:04:38,530 Hivyo kama sisi ni kuangalia kwa idadi 9, tunataka kuanza saa kichwa wetu 98 00:04:38,530 --> 00:04:41,520 na kwamba pointi sisi mwanzoni ya orodha yetu wanaohusishwa, haki? 99 00:04:41,520 --> 00:04:44,600 Na sisi kusema, sawa, hana huu nodi vyenye namba 9? 100 00:04:44,600 --> 00:04:45,690 Hakuna? 101 00:04:45,690 --> 00:04:47,500 >> Haki zote, kwenda moja ijayo. 102 00:04:47,500 --> 00:04:48,312 Kuifuata. 103 00:04:48,312 --> 00:04:49,520 Je vyenye namba 9? 104 00:04:49,520 --> 00:04:50,570 Hakuna 105 00:04:50,570 --> 00:04:51,550 Kufuata moja ijayo. 106 00:04:51,550 --> 00:04:55,490 >> Hivyo tuna kweli iterate kupitia orodha yetu wanaohusishwa. 107 00:04:55,490 --> 00:05:00,070 Hatuwezi tu kwenda moja kwa moja ambapo 9 ni. 108 00:05:00,070 --> 00:05:05,860 Na kama wewe guys kweli wanataka kuona baadhi kuna Pseudo-kificho up. 109 00:05:05,860 --> 00:05:10,420 Tuna baadhi ya kazi ya utafutaji hapa kwamba inachukua in-- nini kuchukua katika? 110 00:05:10,420 --> 00:05:13,110 111 00:05:13,110 --> 00:05:14,320 Unafikiri nini? 112 00:05:14,320 --> 00:05:15,960 Hivyo ni rahisi moja. 113 00:05:15,960 --> 00:05:17,784 Hii ni nini? 114 00:05:17,784 --> 00:05:18,700 Watazamaji: [inaudible]. 115 00:05:18,700 --> 00:05:20,366 SPIKA 1: idadi sisi ni kuangalia kwa. 116 00:05:20,366 --> 00:05:20,980 Haki? 117 00:05:20,980 --> 00:05:22,875 Na nini itakuwa hii yanahusiana na? 118 00:05:22,875 --> 00:05:25,020 Ni pointer? 119 00:05:25,020 --> 00:05:26,000 >> Watazamaji: nodi. 120 00:05:26,000 --> 00:05:28,980 >> SPIKA 1: nodi kwa orodha kwamba sisi ni kuangalia, haki? 121 00:05:28,980 --> 00:05:33,700 Hivyo tuna baadhi nodes ni pointer hapa. 122 00:05:33,700 --> 00:05:37,240 Hii ni hatua ambayo inaenda kweli iterate kupitia orodha yetu. 123 00:05:37,240 --> 00:05:39,630 Sisi kuweka sawa kuorodhesha sababu tu kwamba 124 00:05:39,630 --> 00:05:44,380 kuiandaa sawa na kuanza ya orodha yetu wanaohusishwa. 125 00:05:44,380 --> 00:05:50,660 >> Na wakati ni si null, wakati bado tuna mambo katika orodha yetu, 126 00:05:50,660 --> 00:05:55,580 kuangalia kuona kama kwamba nodi ina idadi sisi ni kuangalia kwa. 127 00:05:55,580 --> 00:05:57,740 Kurudi kweli. 128 00:05:57,740 --> 00:06:01,070 Vinginevyo, update, haki? 129 00:06:01,070 --> 00:06:04,870 >> Kama ni null, sisi exit yetu kitanzi wakati na kurudi uongo 130 00:06:04,870 --> 00:06:08,340 kwa sababu hiyo ina maana sisi si kupatikana. 131 00:06:08,340 --> 00:06:11,048 Je, kila mtu kupata jinsi ya kuwa kazi? 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 >> Hivyo, pamoja na kuingizwa, wewe wana njia tatu tofauti. 135 00:06:20,260 --> 00:06:25,250 Unaweza prepend, unaweza append na unaweza kuingiza katika assorted. 136 00:06:25,250 --> 00:06:28,215 Katika kesi hiyo, sisi ni kwenda kufanya prepend. 137 00:06:28,215 --> 00:06:33,380 Je, mtu yeyote kujua jinsi wale kesi tatu wanaweza kutofautiana? 138 00:06:33,380 --> 00:06:36,920 >> Hivyo prepend ina maana kwamba kuweka ni mbele ya orodha yako. 139 00:06:36,920 --> 00:06:39,770 Hivyo kwamba itakuwa na maana kwamba hakuna jambo nini nodi yako, hakuna jambo 140 00:06:39,770 --> 00:06:43,160 nini thamani ni, wewe ni kwenda kuiweka haki hapa mbele, sawa? 141 00:06:43,160 --> 00:06:45,160 Ni kwenda kuwa ya kwanza kipengele katika orodha yako. 142 00:06:45,160 --> 00:06:49,510 >> Kama append yake, ni kwenda kwenda nyuma ya orodha yako. 143 00:06:49,510 --> 00:06:54,010 Na kuingiza ndani ya assorted maana wewe ni kwenda kuweka kweli katika nafasi 144 00:06:54,010 --> 00:06:57,700 ambapo ni kuvaa orodha yako wanaohusishwa yamepangwa. 145 00:06:57,700 --> 00:07:00,810 Tena, jinsi ya kutumia wale na wakati matumizi 146 00:07:00,810 --> 00:07:02,530 yao hutegemea kesi yako. 147 00:07:02,530 --> 00:07:05,834 148 00:07:05,834 --> 00:07:07,750 Kama haina haja ya kutatuliwa, prepend inaelekea 149 00:07:07,750 --> 00:07:10,460 kuwa nini watu wengi kutumia kwa sababu huna 150 00:07:10,460 --> 00:07:15,680 kwenda kupitia orodha nzima kupata mwisho wa kuongeza juu, haki? 151 00:07:15,680 --> 00:07:17,720 Unaweza tu fimbo ni haki katika. 152 00:07:17,720 --> 00:07:21,930 >> Hivyo sisi kwenda kwa njia insertion 1 hivi sasa. 153 00:07:21,930 --> 00:07:26,360 Jambo hivyo moja kwamba mimi nina kwenda sana kupendekeza juu ya pset hii 154 00:07:26,360 --> 00:07:29,820 ni kuteka mambo ya nje, kama siku zote. 155 00:07:29,820 --> 00:07:35,130 Ni muhimu sana kwamba wewe update kuyatumia yako katika mpangilio sahihi 156 00:07:35,130 --> 00:07:38,620 kwa sababu kama wewe update yao kidogo nje ya utaratibu, 157 00:07:38,620 --> 00:07:42,210 wewe ni kwenda kuishia kupoteza sehemu ya orodha yako. 158 00:07:42,210 --> 00:07:49,680 >> Hivyo kwa mfano, katika kesi hii, sisi ni kuwaambia kichwa kwa uhakika tu 1. 159 00:07:49,680 --> 00:07:56,070 Kama sisi tu kufanya hivyo bila kuokoa hii 1, 160 00:07:56,070 --> 00:07:58,570 hatuna wazo nini 1 lazima kumweka kwa sasa 161 00:07:58,570 --> 00:08:02,490 kwa sababu tumekuwa waliopotea nini kichwa alisema kwa. 162 00:08:02,490 --> 00:08:05,530 Hivyo jambo moja kukumbuka wakati unafanya prepend 163 00:08:05,530 --> 00:08:09,630 ni kuokoa kile pointi kichwa kwanza, 164 00:08:09,630 --> 00:08:15,210 basi reassign yake, na kisha update nini nodi yako mpya lazima kumweka kwa. 165 00:08:15,210 --> 00:08:20,870 166 00:08:20,870 --> 00:08:22,560 Katika kesi hiyo, hii ni njia moja ya kufanya hivyo. 167 00:08:22,560 --> 00:08:25,440 >> Hivyo kama sisi alikuwa amefanya hivyo kwa njia hii ambapo sisi tu reassigned kichwa, 168 00:08:25,440 --> 00:08:30,320 tunapoteza kimsingi wetu orodha nzima, haki? 169 00:08:30,320 --> 00:08:38,000 Njia moja ya kufanya hivyo ni kuwa na 1 uhakika kwa ijayo, na kisha kuwa na uhakika na kichwa 1. 170 00:08:38,000 --> 00:08:42,650 Au unaweza kufanya aina ya kama kuhifadhi muda, ambayo mimi aliyesema kuhusu. 171 00:08:42,650 --> 00:08:45,670 >> Lakini reassigning yako kuyatumia katika mpangilio sahihi 172 00:08:45,670 --> 00:08:48,750 ni kwenda kuwa sana, sana muhimu kwa pset hii. 173 00:08:48,750 --> 00:08:53,140 Vinginevyo, wewe ni kwenda kuwa na hash meza au kujaribu kuwa tu kwenda kuwa 174 00:08:53,140 --> 00:08:56,014 sehemu tu ya maneno kwamba wanataka na kisha mmhmm you're--? 175 00:08:56,014 --> 00:08:58,930 Watazamaji: Nini muda Jambo kuhifadhi wewe walikuwa wanazungumza juu? 176 00:08:58,930 --> 00:09:00,305 SPIKA 1: kuhifadhi muda. 177 00:09:00,305 --> 00:09:02,760 Hivyo kimsingi mwingine njia unaweza kufanya hivyo 178 00:09:02,760 --> 00:09:07,650 ni kuhifadhi mkuu wa kitu, kama kuhifadhi variable muda. 179 00:09:07,650 --> 00:09:11,250 Hawawajui kwa 1 na kisha update 1 kwa uhakika 180 00:09:11,250 --> 00:09:13,830 kwa chochote kichwa kutumika kwa uhakika na. 181 00:09:13,830 --> 00:09:16,920 Njia hii ni wazi zaidi ya kifahari kwa sababu wewe 182 00:09:16,920 --> 00:09:20,770 hawahitaji thamani ya muda mfupi, lakini tu kutoa njia nyingine ya kufanya hivyo. 183 00:09:20,770 --> 00:09:23,999 184 00:09:23,999 --> 00:09:25,790 Na sisi kweli kufanya kuwa baadhi kificho kwa hili. 185 00:09:25,790 --> 00:09:28,080 Hivyo kwa orodha wanaohusishwa, sisi kweli kuwa baadhi ya kanuni. 186 00:09:28,080 --> 00:09:31,930 Hivyo kuingiza hapa, hii ni prepending. 187 00:09:31,930 --> 00:09:34,290 Hivyo hii inaingia ni katika kichwa. 188 00:09:34,290 --> 00:09:38,820 >> Jambo hivyo kwanza, unahitaji kujenga nodi yako mpya, bila shaka, 189 00:09:38,820 --> 00:09:40,790 na kuangalia kwa null. 190 00:09:40,790 --> 00:09:43,250 Daima ni nzuri. 191 00:09:43,250 --> 00:09:47,840 Na kisha unahitaji hawawajui maadili. 192 00:09:47,840 --> 00:09:51,260 Kila wewe kujenga nodi mpya, sijui nini ni akizungumzia ijayo, 193 00:09:51,260 --> 00:09:54,560 hivyo unataka initialize kwa null. 194 00:09:54,560 --> 00:09:58,760 Kama haina kuishia akizungumzia jambo mwingine, anapata reassigned na ni faini. 195 00:09:58,760 --> 00:10:00,740 Kama ni jambo la kwanza ni katika orodha, inahitaji 196 00:10:00,740 --> 00:10:04,270 kwa uhakika na kwa sababu null hiyo ni mwisho wa orodha. 197 00:10:04,270 --> 00:10:12,410 >> Hivyo basi kwa kuingiza, tunaona hapa sisi ni kumshirikisha thamani ya pili ya nodi wetu 198 00:10:12,410 --> 00:10:17,380 kuwa chochote kichwa ni, ambayo ni nini tulikuwa hapa. 199 00:10:17,380 --> 00:10:19,930 Hiyo ni nini sisi tu alivyofanya. 200 00:10:19,930 --> 00:10:25,820 Na kisha sisi ni kumshirikisha kichwa kwa uhakika nodi wetu mpya, kwa sababu kumbuka, 201 00:10:25,820 --> 00:10:31,090 mpya ni baadhi pointer nodi, na kwamba ni nini hasa kichwa ni. 202 00:10:31,090 --> 00:10:34,370 Hiyo ni kwa nini hasa sisi kuwa hii mshale accessor. 203 00:10:34,370 --> 00:10:37,030 204 00:10:37,030 --> 00:10:37,530 Baridi? 205 00:10:37,530 --> 00:10:38,130 Mmhmm? 206 00:10:38,130 --> 00:10:41,100 >> Watazamaji: Je tuna initialize mpya ijayo null kwanza, 207 00:10:41,100 --> 00:10:44,240 au tunaweza tu initialize kwa kichwa? 208 00:10:44,240 --> 00:10:48,210 >> SPIKA 1: Mpya ijayo mahitaji ya kuwa NULL kuanza 209 00:10:48,210 --> 00:10:53,760 kwa sababu hamjui ambapo ni kwenda kuwa. 210 00:10:53,760 --> 00:10:56,100 Pia, hii ni aina ya tu kama dhana. 211 00:10:56,100 --> 00:10:59,900 Wewe kuweka sawa na NULL tu kufanya kuhakikisha kwamba besi yako yote ni kufunikwa 212 00:10:59,900 --> 00:11:04,070 kabla ya kufanya reassignment yoyote ili wewe ni daima uhakika kwamba itakuwa 213 00:11:04,070 --> 00:11:08,880 kuwa akizungumzia thamani maalum dhidi kama thamani ya takataka. 214 00:11:08,880 --> 00:11:12,210 Kwa sababu, yeah, sisi hawawajui mpya ijayo moja kwa moja, 215 00:11:12,210 --> 00:11:15,420 lakini ni zaidi kama mazoezi mazuri kwa initialize 216 00:11:15,420 --> 00:11:19,270 katika njia hiyo na kisha reassign. 217 00:11:19,270 --> 00:11:23,420 >> OK, hivyo doubly wanaohusishwa orodha ya sasa. 218 00:11:23,420 --> 00:11:24,601 Tufanye nini kufikiri? 219 00:11:24,601 --> 00:11:26,350 Nini tofauti na doubly wanaohusishwa orodha? 220 00:11:26,350 --> 00:11:30,750 221 00:11:30,750 --> 00:11:34,300 >> Hivyo katika orodha yetu wanaohusishwa, tunaweza tu hoja katika mwelekeo mmoja, haki? 222 00:11:34,300 --> 00:11:35,270 Sisi tu ijayo. 223 00:11:35,270 --> 00:11:36,760 Tunaweza tu kwenda mbele. 224 00:11:36,760 --> 00:11:40,300 >> Na orodha doubly wanaohusishwa, sisi pia unaweza hoja nyuma. 225 00:11:40,300 --> 00:11:44,810 Hivyo tuna si tu idadi hiyo tunataka kuhifadhi, 226 00:11:44,810 --> 00:11:50,110 tuna ambapo inaelekeza katika ijayo na ambapo sisi tu alikuja kutoka. 227 00:11:50,110 --> 00:11:52,865 Hivyo hii inaruhusu kwa ajili ya baadhi traversal bora. 228 00:11:52,865 --> 00:11:56,620 229 00:11:56,620 --> 00:12:01,240 >> Nodes hivyo doubly wanaohusishwa, sawa, haki? 230 00:12:01,240 --> 00:12:05,000 Tu tofauti ni sasa sisi kuwa ijayo na uliopita. 231 00:12:05,000 --> 00:12:06,235 Ni tofauti tu. 232 00:12:06,235 --> 00:12:09,570 233 00:12:09,570 --> 00:12:14,790 >> Hivyo kama sisi walikuwa prepend au append-- sisi hawana kificho kwa hili hadi here-- 234 00:12:14,790 --> 00:12:17,830 lakini kama ungekuwa kujaribu na kuingiza, jambo muhimu 235 00:12:17,830 --> 00:12:19,980 ni haja ya kufanya kuhakikisha wewe ni kumshirikisha 236 00:12:19,980 --> 00:12:23,360 wote uliopita wako na yako pointer ijayo kwa usahihi. 237 00:12:23,360 --> 00:12:29,010 Hivyo katika kesi hii, wewe ungekuwa si tu initialize ijayo, 238 00:12:29,010 --> 00:12:31,820 you initialize uliopita. 239 00:12:31,820 --> 00:12:36,960 Kama tuko katika kichwa cha orodha, sisi itakuwa si tu kufanya kichwa sawa mpya, 240 00:12:36,960 --> 00:12:41,750 lakini mpya uliopita yetu lazima uhakika na kichwa, haki? 241 00:12:41,750 --> 00:12:43,380 >> Hiyo ni tofauti tu. 242 00:12:43,380 --> 00:12:47,200 Na kama unataka zaidi mazoezi na haya na orodha wanaohusishwa, na kuingiza, 243 00:12:47,200 --> 00:12:49,900 na kufuta, na kuingiza katika orodha assorted, 244 00:12:49,900 --> 00:12:52,670 tafadhali angalia study.cs50.net. 245 00:12:52,670 --> 00:12:54,870 Kuna kundi la mazoezi kubwa. 246 00:12:54,870 --> 00:12:55,870 Mimi sana kupendekeza yao. 247 00:12:55,870 --> 00:12:59,210 Napenda tulikuwa na wakati wa kwenda kwa njia yao lakini kuna mengi ya miundo data 248 00:12:59,210 --> 00:13:01,530 kupata njia. 249 00:13:01,530 --> 00:13:02,650 >> OK, hivyo meza hash. 250 00:13:02,650 --> 00:13:07,070 Hii pengine ni wengi muhimu kidogo kwa pset yako 251 00:13:07,070 --> 00:13:11,090 hapa kwa sababu wewe ni kwenda kuwa kutekeleza mmoja wa haya, au kujaribu. 252 00:13:11,090 --> 00:13:12,200 Mimi kwa kweli kama meza hash. 253 00:13:12,200 --> 00:13:13,110 Wao ni pretty cool. 254 00:13:13,110 --> 00:13:17,080 >> Hivyo kimsingi nini kinachotokea ni meza hash 255 00:13:17,080 --> 00:13:22,050 ni wakati sisi kwa kweli wanahitaji haraka insertion, kufutwa, na Luke. 256 00:13:22,050 --> 00:13:25,010 Hayo ni mambo ambayo sisi ni kipaumbele katika meza hash. 257 00:13:25,010 --> 00:13:29,500 Wanaweza kupata pretty kubwa, lakini kama tutaweza kuona na inajaribu, 258 00:13:29,500 --> 00:13:33,040 kuna mambo ambayo ni kubwa sana. 259 00:13:33,040 --> 00:13:38,330 >> Lakini kimsingi, hash wote meza ni hash 260 00:13:38,330 --> 00:13:47,215 kwamba anasema ambayo ndoo kuweka kila ya data yako, kila mmoja wa mambo yako katika. 261 00:13:47,215 --> 00:13:51,140 njia rahisi kufikiri ya meza hash ni kwamba ni ndoo tu ya mambo, 262 00:13:51,140 --> 00:13:51,770 haki? 263 00:13:51,770 --> 00:13:59,720 Hivyo wakati wewe ni kuchagua mambo kwa kama barua ya kwanza ya jina yao, 264 00:13:59,720 --> 00:14:01,820 hiyo ni aina ya kama meza hash. 265 00:14:01,820 --> 00:14:06,180 >> Hivyo kama mimi walikuwa na kundi guys ni katika makundi ya yeyote jina la kuanza 266 00:14:06,180 --> 00:14:11,670 na zaidi ya hapa, au mtu siku ya kuzaliwa ni katika Januari, Februari, Machi, 267 00:14:11,670 --> 00:14:15,220 chochote, kwamba ni ufanisi kujenga meza hash. 268 00:14:15,220 --> 00:14:18,120 Ni kujenga tu ndoo kwamba you kutatua mambo yako katika 269 00:14:18,120 --> 00:14:19,520 ili uweze kupata yao rahisi zaidi. 270 00:14:19,520 --> 00:14:22,300 Hivyo njia hii wakati mimi haja kupata moja ya wewe, 271 00:14:22,300 --> 00:14:24,680 Sina kutafuta njia ya kila ya majina yako. 272 00:14:24,680 --> 00:14:29,490 Naweza kuwa kama, oh, najua kwamba Danielle siku ya kuzaliwa ni in-- 273 00:14:29,490 --> 00:14:30,240 Watazamaji: --April. 274 00:14:30,240 --> 00:14:30,948 SPIKA 1: Aprili. 275 00:14:30,948 --> 00:14:33,120 Hivyo mimi kuangalia mwezi Aprili yangu ndoo, na kwa bahati yoyote, 276 00:14:33,120 --> 00:14:38,270 yeye itabidi kuwa moja tu huko na muda wangu alikuwa mara kwa mara katika maana ya kwamba, 277 00:14:38,270 --> 00:14:41,230 ambapo kama mimi kuwa na kuangalia kupitia rundo zima la watu, 278 00:14:41,230 --> 00:14:43,090 ni kwenda kuchukua muda mrefu zaidi. 279 00:14:43,090 --> 00:14:45,830 Hivyo meza hash ni kweli ndoo tu. 280 00:14:45,830 --> 00:14:48,630 Njia rahisi ya kufikiria yao. 281 00:14:48,630 --> 00:14:52,930 >> Hivyo jambo muhimu sana kuhusu meza hash ni kazi hash. 282 00:14:52,930 --> 00:14:58,140 Hivyo mambo mimi tu kuongelea, kama barua yako ya kwanza ya jina yako ya kwanza 283 00:14:58,140 --> 00:15:01,450 au siku yako ya kuzaliwa kwa mwezi, haya ni mawazo kwamba 284 00:15:01,450 --> 00:15:03,070 kweli correlate kwa hash kazi. 285 00:15:03,070 --> 00:15:08,900 Ni njia tu ya kuamua ambayo ndoo uko kipengele huenda katika, sawa? 286 00:15:08,900 --> 00:15:14,850 Hivyo kwa pset hii, unaweza kuangalia juu ya pretty much yoyote ya kazi hash unataka. 287 00:15:14,850 --> 00:15:16,030 >> Haina kuwa yako mwenyewe. 288 00:15:16,030 --> 00:15:21,140 Kuna baadhi ya wale kweli baridi nje pale kwamba kufanya kila aina ya mambo math. 289 00:15:21,140 --> 00:15:25,170 Na kama unataka kufanya yako spellchecker super haraka, 290 00:15:25,170 --> 00:15:27,620 Napenda dhahiri kuangalia katika moja ya hizo. 291 00:15:27,620 --> 00:15:32,390 >> Lakini pia kuna rahisi ndio, kama compute 292 00:15:32,390 --> 00:15:39,010 Jumla ya maneno, kama kila herufi ina idadi. 293 00:15:39,010 --> 00:15:39,940 Compute jibu. 294 00:15:39,940 --> 00:15:42,230 Kwamba huamua ndoo. 295 00:15:42,230 --> 00:15:45,430 Wao pia wana ndio rahisi kwamba ni tu kama wote wa A hapa, 296 00:15:45,430 --> 00:15:47,050 yote ya B hapa. 297 00:15:47,050 --> 00:15:48,920 Yoyote mmoja wa wale. 298 00:15:48,920 --> 00:15:55,770 >> Kimsingi, ni tu anakwambia ambayo safu ripoti kipengele yako lazima kwenda katika. 299 00:15:55,770 --> 00:15:58,690 Tu kuamua bucket-- ni wote hash kazi ni. 300 00:15:58,690 --> 00:16:04,180 Hivyo hapa tuna mfano ambayo ni tu barua ya kwanza ya kamba 301 00:16:04,180 --> 00:16:05,900 kwamba nilikuwa tu kuzungumza juu. 302 00:16:05,900 --> 00:16:11,900 >> Hivyo una baadhi hash kwamba tu barua ya kwanza ya kamba yako minus A, 303 00:16:11,900 --> 00:16:16,090 ambayo nitakupa baadhi idadi kati ya 0 na 25. 304 00:16:16,090 --> 00:16:20,790 Na nini unataka kufanya ni kuhakikisha kwamba hii inawakilisha 305 00:16:20,790 --> 00:16:24,110 ukubwa wa hash yako table-- jinsi ndoo wengi kuna. 306 00:16:24,110 --> 00:16:25,860 Na wengi wa hawa kazi hash, wao ni 307 00:16:25,860 --> 00:16:31,630 kwenda kuwa kurudi maadili kwamba huenda kuwa mbali juu idadi ya ndoo 308 00:16:31,630 --> 00:16:33,610 kwamba kwa kweli kuwa na katika hash meza yako, 309 00:16:33,610 --> 00:16:37,240 hivyo unahitaji kufanya uhakika na Mod na wale. 310 00:16:37,240 --> 00:16:42,190 Vinginevyo, ni kwenda kusema, oh, ni lazima kuwa katika ndoo 5,000 311 00:16:42,190 --> 00:16:46,040 lakini wewe tu 30 ndoo katika hash meza yako. 312 00:16:46,040 --> 00:16:49,360 Na bila shaka, sisi wote tunajua kwamba ni kwenda kusababisha baadhi ya makosa mambo. 313 00:16:49,360 --> 00:16:52,870 Ili kuhakikisha Mod na ukubwa wa hash meza yako. 314 00:16:52,870 --> 00:16:58,430 315 00:16:58,430 --> 00:16:58,930 Baridi. 316 00:16:58,930 --> 00:17:00,506 Hivyo migongano. 317 00:17:00,506 --> 00:17:02,620 Ni kila mtu nzuri hadi sasa? 318 00:17:02,620 --> 00:17:03,120 Mmhmm? 319 00:17:03,120 --> 00:17:05,900 >> Watazamaji: Kwa nini ni kurudi thamani kama mkubwa? 320 00:17:05,900 --> 00:17:09,210 >> SPIKA 1: Kulingana na algorithm kwamba hash kazi yako anatumia. 321 00:17:09,210 --> 00:17:12,270 Baadhi yao kufanya mambo ya kuzidisha. 322 00:17:12,270 --> 00:17:16,270 Na ni wote kuhusu kupata hata usambazaji, 323 00:17:16,270 --> 00:17:18,490 hivyo kufanya baadhi ya kweli mambo mambo wakati mwingine. 324 00:17:18,490 --> 00:17:20,960 Hayo ni yote. 325 00:17:20,960 --> 00:17:22,140 Kitu kingine chochote? 326 00:17:22,140 --> 00:17:22,829 OK. 327 00:17:22,829 --> 00:17:24,480 >> Hivyo migongano. 328 00:17:24,480 --> 00:17:29,270 Kimsingi, kama nilivyosema awali, katika bora kesi, 329 00:17:29,270 --> 00:17:32,040 ndoo yoyote mimi kuangalia katika ni kwenda na jambo moja, 330 00:17:32,040 --> 00:17:34,160 hivyo mimi si kuwa na kuangalia wakati wote, haki? 331 00:17:34,160 --> 00:17:37,040 Mimi aidha kujua ni huko au ni si, na kwamba ni nini sisi kweli wanataka. 332 00:17:37,040 --> 00:17:43,960 Lakini kama tuna maelfu ya pointi data na chini ya idadi hiyo 333 00:17:43,960 --> 00:17:48,700 ndoo, tunakwenda kuwa collisions ambapo hatimaye kitu 334 00:17:48,700 --> 00:17:54,210 ni kwenda kuwa na kuishia katika ndoo ambayo tayari ina kipengele. 335 00:17:54,210 --> 00:17:57,390 >> Hivyo swali ni, nini sisi kufanya katika kesi hiyo? 336 00:17:57,390 --> 00:17:58,480 Tufanye nini? 337 00:17:58,480 --> 00:17:59,300 Sisi tayari kuwa na kitu huko? 338 00:17:59,300 --> 00:18:00,060 Je, sisi tu kutupa nje? 339 00:18:00,060 --> 00:18:00,700 >> Hakuna 340 00:18:00,700 --> 00:18:01,980 Tuna kuweka wote wawili. 341 00:18:01,980 --> 00:18:06,400 Hivyo njia kwamba sisi kawaida kufanya hivyo ni nini? 342 00:18:06,400 --> 00:18:08,400 Ni muundo wa data kile sisi tu kuongelea? 343 00:18:08,400 --> 00:18:09,316 Watazamaji: Wanaohusishwa orodha. 344 00:18:09,316 --> 00:18:10,500 SPIKA 1: orodha wanaohusishwa. 345 00:18:10,500 --> 00:18:16,640 Hivyo sasa, badala ya kila moja ya haya ndoo tu kuwa moja ya kipengele, 346 00:18:16,640 --> 00:18:24,020 itakuja vyenye orodha wanaohusishwa ya mambo ambayo walikuwa heshi ndani yake. 347 00:18:24,020 --> 00:18:27,588 OK, haina kila mtu aina ya kupata wazo kwamba? 348 00:18:27,588 --> 00:18:30,546 Sababu sisi hakuweza kuwa safu kwa sababu hatujui mambo ngapi 349 00:18:30,546 --> 00:18:31,730 ni kwenda kuwa huko. 350 00:18:31,730 --> 00:18:36,540 orodha wanaohusishwa inaruhusu sisi kuwa tu idadi halisi kwamba 351 00:18:36,540 --> 00:18:38,465 ni heshi ndani ya kwamba ndoo, haki? 352 00:18:38,465 --> 00:18:42,260 353 00:18:42,260 --> 00:18:50,500 >> Hivyo linear udadisi ni kimsingi idea-- hii 354 00:18:50,500 --> 00:18:52,300 ni moja ya njia ya kukabiliana na mgongano. 355 00:18:52,300 --> 00:18:58,010 Nini unaweza kufanya ni kama, katika hii kesi, berry ilikuwa heshi ndani ya 1 356 00:18:58,010 --> 00:19:01,130 na tayari tuna kitu pale, wewe tu 357 00:19:01,130 --> 00:19:04,840 kuendelea chini mpaka kupata yanayopangwa tupu. 358 00:19:04,840 --> 00:19:06,370 Hiyo ni moja ya njia ya kushughulikia hilo. 359 00:19:06,370 --> 00:19:09,020 njia nyingine ya kushughulikia ni pamoja na kile sisi tu 360 00:19:09,020 --> 00:19:12,280 called-- wanaohusishwa orodha inaitwa chaining. 361 00:19:12,280 --> 00:19:20,510 >> Hivyo wazo hii kazi kama hash meza yako unafikiri 362 00:19:20,510 --> 00:19:24,150 ni kubwa kuliko data yako kuweka au kama wewe 363 00:19:24,150 --> 00:19:28,870 wanataka kujaribu na kupunguza chaining mpaka ni muhimu kabisa. 364 00:19:28,870 --> 00:19:34,050 Hivyo jambo moja ni linear uchunguzi wazi maana 365 00:19:34,050 --> 00:19:37,290 kwamba hash kazi yako si kama kabisa muhimu 366 00:19:37,290 --> 00:19:42,200 kwa sababu wewe ni kwenda kuishia kutumia hash kazi yako, kupata kwa uhakika, 367 00:19:42,200 --> 00:19:46,400 you linear kuchunguza chini mahali baadhi ya ambayo inapatikana. 368 00:19:46,400 --> 00:19:49,670 Lakini sasa, bila shaka, kitu chochote kingine kwamba mwisho huko juu, 369 00:19:49,670 --> 00:19:52,050 wewe ni kwenda kuwa na kutafuta hata zaidi chini. 370 00:19:52,050 --> 00:19:55,650 >> Na kuna mengi zaidi search gharama kwamba 371 00:19:55,650 --> 00:19:59,820 huenda katika inputting kipengele katika hash meza yako sasa, haki? 372 00:19:59,820 --> 00:20:05,640 Na sasa wakati wa kwenda na kujaribu na kupata berry tena, wewe kwenda hash yake, 373 00:20:05,640 --> 00:20:07,742 na ni kwenda kusema, oh, kuangalia katika ndoo 1, 374 00:20:07,742 --> 00:20:09,700 na si kwenda kuwa na katika ndoo 1, hivyo wewe ni 375 00:20:09,700 --> 00:20:11,970 kwenda na tindanga njia ya mapumziko ya haya. 376 00:20:11,970 --> 00:20:17,720 Hivyo ni wakati mwingine muhimu, lakini katika kesi nyingi, 377 00:20:17,720 --> 00:20:22,660 tunakwenda kusema kwamba chaining ni nini unataka kufanya. 378 00:20:22,660 --> 00:20:25,520 >> Hivyo sisi aliyesema kuhusu hili mapema. 379 00:20:25,520 --> 00:20:27,812 I got mbele kidogo mwenyewe. 380 00:20:27,812 --> 00:20:33,560 Lakini chaining kimsingi kwamba kila ndoo katika hash meza yako 381 00:20:33,560 --> 00:20:36,120 ni tu orodha wanaohusishwa. 382 00:20:36,120 --> 00:20:39,660 >> Hivyo njia nyingine, au zaidi ya kiufundi njia, kufikiria meza hash 383 00:20:39,660 --> 00:20:44,490 ni kwamba ni tu safu ya orodha wanaohusishwa, ambayo 384 00:20:44,490 --> 00:20:49,330 wakati wewe ni kuandika kamusi yako na wewe ni kujaribu mzigo, 385 00:20:49,330 --> 00:20:52,070 kufikiri ya kama safu ya orodha wanaohusishwa 386 00:20:52,070 --> 00:20:54,390 itakuwa kufanya ni rahisi sana kwa wewe initialize. 387 00:20:54,390 --> 00:20:57,680 >> Watazamaji: Hivyo hash meza ina ukubwa predetermined, 388 00:20:57,680 --> 00:20:58,980 kama [inaudible] ndoo? 389 00:20:58,980 --> 00:20:59,220 >> SPIKA 1: Haki. 390 00:20:59,220 --> 00:21:01,655 Hivyo ina idadi ya seti ya ndoo kwamba determine-- 391 00:21:01,655 --> 00:21:03,530 ambayo nyie lazima kujisikia huru kucheza na. 392 00:21:03,530 --> 00:21:05,269 Ni inaweza kuwa pretty baridi kuona nini kinatokea 393 00:21:05,269 --> 00:21:06,810 kama mabadiliko ya namba yako ya ndoo. 394 00:21:06,810 --> 00:21:09,410 395 00:21:09,410 --> 00:21:11,510 Lakini yeah, ina kuweka idadi ya ndoo. 396 00:21:11,510 --> 00:21:15,360 Nini utapata fit kama mambo mengi kama unahitaji 397 00:21:15,360 --> 00:21:19,350 ni chaining hii tofauti ambapo wewe kuwa wanaohusishwa orodha katika kila ndoo. 398 00:21:19,350 --> 00:21:22,850 Hiyo ina maana hash meza yako itakuwa hasa ukubwa 399 00:21:22,850 --> 00:21:25,440 kwamba unahitaji kuwa, haki? 400 00:21:25,440 --> 00:21:27,358 Hiyo ni hatua nzima ya orodha wanaohusishwa. 401 00:21:27,358 --> 00:21:30,850 402 00:21:30,850 --> 00:21:32,480 Baridi. 403 00:21:32,480 --> 00:21:38,780 >> Hivyo kila mtu OK huko? 404 00:21:38,780 --> 00:21:39,801 Wote haki. 405 00:21:39,801 --> 00:21:40,300 Ah. 406 00:21:40,300 --> 00:21:41,860 Nini kilichotokea tu? 407 00:21:41,860 --> 00:21:42,960 Kweli sasa. 408 00:21:42,960 --> 00:21:45,250 Nadhani kuna mtu mauaji yangu. 409 00:21:45,250 --> 00:21:52,060 >> OK tunakwenda kwenda katika inajaribu, ambayo ni mambo kidogo. 410 00:21:52,060 --> 00:21:53,140 Mimi kama meza hash. 411 00:21:53,140 --> 00:21:54,460 Nadhani wao ni kweli baridi. 412 00:21:54,460 --> 00:21:56,710 Inajaribu ni baridi, pia. 413 00:21:56,710 --> 00:21:59,590 >> Hivyo haina mtu yeyote kumbuka kile kujaribu ni? 414 00:21:59,590 --> 00:22:01,740 Unapaswa kuwa wamekwenda juu ya ni kwa ufupi katika hotuba? 415 00:22:01,740 --> 00:22:04,570 416 00:22:04,570 --> 00:22:06,377 Unakumbuka aina ya jinsi kazi? 417 00:22:06,377 --> 00:22:08,460 Watazamaji: Mimi nodding tu kwamba hatukuwa kwenda juu yake. 418 00:22:08,460 --> 00:22:09,626 SPIKA 1: Hatuna kwenda juu yake. 419 00:22:09,626 --> 00:22:13,100 OK, sisi ni kweli kwenda juu yake sasa ni nini sisi ni kusema. 420 00:22:13,100 --> 00:22:14,860 >> Watazamaji: Hiyo ni kwa retrieval mti. 421 00:22:14,860 --> 00:22:15,280 >> SPIKA 1: Yeah. 422 00:22:15,280 --> 00:22:16,196 Ni retrieval mti. 423 00:22:16,196 --> 00:22:16,960 Kutisha. 424 00:22:16,960 --> 00:22:23,610 Hivyo jambo moja taarifa hapa ni kwamba sisi ni kuangalia wahusika binafsi 425 00:22:23,610 --> 00:22:24,480 hapa, haki? 426 00:22:24,480 --> 00:22:29,710 >> Hivyo kabla na hash yetu kufanya kazi, sisi walikuwa kuangalia maneno kwa ujumla, 427 00:22:29,710 --> 00:22:32,270 na sasa sisi ni kuangalia zaidi katika wahusika, haki? 428 00:22:32,270 --> 00:22:38,380 Hivyo tuna Maxwell juu hapa na Mendel. 429 00:22:38,380 --> 00:22:47,840 Hivyo kimsingi try-- njia ya kufikiri kuhusu hili ni kwamba kila ngazi hapa 430 00:22:47,840 --> 00:22:49,000 ni safu ya barua. 431 00:22:49,000 --> 00:22:53,310 432 00:22:53,310 --> 00:22:55,790 Hivyo hii ni mzizi nodi yako hapa, haki? 433 00:22:55,790 --> 00:23:01,980 Hii ina wahusika wote wa alfabeti kwa ajili ya kuanza kila neno. 434 00:23:01,980 --> 00:23:06,480 >> Na nini unataka kufanya ni kusema, OK, tuna baadhi ya neno M. 435 00:23:06,480 --> 00:23:10,590 Sisi ni kwenda kuangalia kwa Maxwell, hivyo sisi kwenda M. Na M pointi kwa ujumla 436 00:23:10,590 --> 00:23:14,800 mengine safu ambapo kila neno, kwa muda mrefu kama kuna 437 00:23:14,800 --> 00:23:17,044 ni neno ambayo ina A kama barua ya pili, 438 00:23:17,044 --> 00:23:19,460 muda mrefu kama kuna neno kwamba ina B kama barua ya pili, 439 00:23:19,460 --> 00:23:24,630 itakuwa na pointer kwenda baadhi safu ijayo. 440 00:23:24,630 --> 00:23:29,290 >> Kuna pengine si neno kwamba mbunge kitu, 441 00:23:29,290 --> 00:23:32,980 hivyo katika P nafasi katika hii safu, itakuwa tu kuwa null. 442 00:23:32,980 --> 00:23:38,840 Ni kusema, sawa, kuna neno hakuna kwamba ina M ikifuatiwa na P, sawa? 443 00:23:38,840 --> 00:23:43,100 Hivyo kama sisi kufikiri juu yake, kila moja ya mambo haya madogo 444 00:23:43,100 --> 00:23:47,990 ni kweli mmoja wa haya arrays kubwa kutoka A kupitia Z. 445 00:23:47,990 --> 00:23:55,064 Hivyo kile inaweza kuwa moja ya mambo kwamba ni aina ya drawback ya kujaribu? 446 00:23:55,064 --> 00:23:56,500 >> Watazamaji: mengi ya kumbukumbu. 447 00:23:56,500 --> 00:23:59,940 >> SPIKA 1: Ni tani ya kumbukumbu, haki? 448 00:23:59,940 --> 00:24:08,750 Kila moja ya vitalu haya hapa inawakilisha nafasi ya 26, 26 kipengele safu. 449 00:24:08,750 --> 00:24:13,680 Hivyo inajaribu kupata incredibly nafasi nzito. 450 00:24:13,680 --> 00:24:17,100 >> Lakini wao ni haraka sana. 451 00:24:17,100 --> 00:24:22,540 Hivyo haraka sana lakini kweli nafasi ufanisi. 452 00:24:22,540 --> 00:24:24,810 Aina ya kuwa na takwimu nje ambayo moja unataka. 453 00:24:24,810 --> 00:24:29,470 Hizi ni kweli baridi kwa pset yako, lakini wao kufanya kuchukua mengi ya kumbukumbu, 454 00:24:29,470 --> 00:24:30,290 hivyo biashara mbali. 455 00:24:30,290 --> 00:24:31,480 Yeah? 456 00:24:31,480 --> 00:24:34,300 >> Watazamaji: Je, inawezekana kuanzisha kujaribu na kisha 457 00:24:34,300 --> 00:24:37,967 mara moja una yote data katika hilo kuwa wewe need-- 458 00:24:37,967 --> 00:24:39,550 Sijui kama kwamba ingekuwa kufanya maana. 459 00:24:39,550 --> 00:24:42,200 Mimi nilikuwa kupata kuondoa wote Wahusika NULL, lakini basi 460 00:24:42,200 --> 00:24:42,910 ungependa kuwa na uwezo wa ripoti ya them-- 461 00:24:42,910 --> 00:24:43,275 >> SPIKA 1: Bado unahitaji yao. 462 00:24:43,275 --> 00:24:44,854 >> Watazamaji: - njia ile ile kila wakati. 463 00:24:44,854 --> 00:24:45,520 SPIKA 1: Yeah. 464 00:24:45,520 --> 00:24:50,460 Unahitaji wahusika NULL basi unajua kama kuna si neno huko. 465 00:24:50,460 --> 00:24:52,040 Ben hakuwa una kitu unataka? 466 00:24:52,040 --> 00:24:52,540 OK. 467 00:24:52,540 --> 00:24:54,581 Haki wote, hivyo tunakwenda kwenda kidogo zaidi 468 00:24:54,581 --> 00:24:58,920 undani wa kiufundi nyuma a kujaribu na kazi kwa njia ya mfano. 469 00:24:58,920 --> 00:25:01,490 >> OK, hivyo hii ni kitu kimoja. 470 00:25:01,490 --> 00:25:06,290 Ambapo katika orodha wanaohusishwa, kuu yetu aina of-- nini neno nataka? - 471 00:25:06,290 --> 00:25:08,350 kama kujenga block ilikuwa nodi. 472 00:25:08,350 --> 00:25:12,280 Katika kujaribu, sisi pia kuwa nodi, lakini ni defined tofauti. 473 00:25:12,280 --> 00:25:17,000 >> Hivyo tuna baadhi bool kwamba inawakilisha kama neno kweli 474 00:25:17,000 --> 00:25:23,530 lipo katika eneo hili, na kisha tuna baadhi ya safu here-- au tuseme, 475 00:25:23,530 --> 00:25:27,840 hii ni pointer safu ya wahusika 27. 476 00:25:27,840 --> 00:25:33,339 Na hii ni kwa ajili ya, katika kesi hii, hii 27-- mimi nina uhakika wote wa wewe ni kama, kusubiri, 477 00:25:33,339 --> 00:25:34,880 kuna barua 26 katika alfabeti. 478 00:25:34,880 --> 00:25:36,010 Kwa nini tuna 27? 479 00:25:36,010 --> 00:25:37,870 >> Hivyo kutegemea njia wewe kutekeleza huu, 480 00:25:37,870 --> 00:25:43,240 hii ni kutoka pset kwamba kuruhusiwa kwa apostrophes. 481 00:25:43,240 --> 00:25:46,010 Hivyo kwamba ni kwa nini moja ya ziada. 482 00:25:46,010 --> 00:25:50,500 Utasikia pia kuwa katika baadhi ya kesi null Terminator 483 00:25:50,500 --> 00:25:53,230 ni pamoja kama moja ya wahusika kwamba ni kuruhusiwa kuwa, 484 00:25:53,230 --> 00:25:56,120 na kwamba ni jinsi wao kuangalia kuona kama ni mwisho wa neno. 485 00:25:56,120 --> 00:26:01,340 Kama wewe ni nia, angalia Video Kevin juu study.cs50, 486 00:26:01,340 --> 00:26:04,790 vile vile Wikipedia ina baadhi rasilimali nzuri huko. 487 00:26:04,790 --> 00:26:09,000 >> Lakini sisi ni kwenda kupitia tu aina jinsi unavyoweza kazi kwa njia ya kujaribu 488 00:26:09,000 --> 00:26:11,010 kama wewe ni kupewa moja. 489 00:26:11,010 --> 00:26:16,230 Hivyo tuna moja super rahisi hapa kwamba ina maneno "popo" na "zoom" katika wao. 490 00:26:16,230 --> 00:26:18,920 Na kama sisi kuona hapa, hii nafasi kidogo hapa 491 00:26:18,920 --> 00:26:22,560 inawakilisha bool yetu kwamba anasema, ndiyo, hii ni neno. 492 00:26:22,560 --> 00:26:27,060 Na kisha hii ina zetu arrays ya wahusika, haki? 493 00:26:27,060 --> 00:26:33,480 >> Hivyo sisi ni kwenda kupitia kutafuta "popo" katika kujaribu hili. 494 00:26:33,480 --> 00:26:38,340 Hivyo kuanza saa ya juu, haki? 495 00:26:38,340 --> 00:26:46,290 Na tunajua kwamba b sambamba na ripoti ya pili, kipengele cha pili 496 00:26:46,290 --> 00:26:47,840 katika safu hii, kwa sababu na b. 497 00:26:47,840 --> 00:26:51,340 Hivyo takriban moja ya pili. 498 00:26:51,340 --> 00:26:58,820 >> Na inasema, OK, baridi, kufuata kwamba katika safu ya pili, kwa sababu kama sisi kukumbuka, 499 00:26:58,820 --> 00:27:02,160 si kwamba kila moja ya haya kweli ina kipengele. 500 00:27:02,160 --> 00:27:07,110 Kila moja ya arrays haya ina pointer, haki? 501 00:27:07,110 --> 00:27:10,030 Ni tofauti muhimu kufanya. 502 00:27:10,030 --> 00:27:13,450 >> Najua hii ni kwenda be-- inajaribu ni kweli ni vigumu kupata mara ya kwanza, 503 00:27:13,450 --> 00:27:15,241 hivyo hata kama hii ni mara ya pili au ya tatu 504 00:27:15,241 --> 00:27:18,370 na ni bado aina ya Wanajidai vigumu, 505 00:27:18,370 --> 00:27:21,199 Mimi ahadi kama wewe kwenda kuangalia short tena kesho, 506 00:27:21,199 --> 00:27:22,740 utakuwa pengine mantiki mengi zaidi. 507 00:27:22,740 --> 00:27:23,890 Inachukua mengi Digest. 508 00:27:23,890 --> 00:27:27,800 Mimi bado wakati mwingine ni kama, kusubiri, ni nini kujaribu? 509 00:27:27,800 --> 00:27:29,080 Je, mimi kutumia hili? 510 00:27:29,080 --> 00:27:33,880 >> Hivyo tuna b katika kesi hii, ambayo ni ya pili ripoti yetu. 511 00:27:33,880 --> 00:27:40,240 Kama tungekuwa na, kusema, c au d au barua nyingine yoyote, 512 00:27:40,240 --> 00:27:45,810 tunahitaji ramani kwamba nyuma ya ripoti ya safu yetu kwamba kwamba sambamba na. 513 00:27:45,810 --> 00:27:56,930 Hivyo tunataka kuchukua kama rchar na sisi tu Ondoa mbali ramani ndani 0-25. 514 00:27:56,930 --> 00:27:58,728 Kila mtu mwema jinsi sisi ramani wahusika zetu? 515 00:27:58,728 --> 00:28:00,440 OK. 516 00:28:00,440 --> 00:28:05,980 >> Hivyo sisi kwenda moja ya pili na sisi kuona kwamba, ndiyo, ni si null. 517 00:28:05,980 --> 00:28:07,780 Tunaweza kuendelea na safu hii ijayo. 518 00:28:07,780 --> 00:28:12,300 Hivyo sisi kwenda kwenye safu hii ya pili hapa. 519 00:28:12,300 --> 00:28:15,500 >> Na sisi kusema, sawa, sasa sisi haja ya kuona kama ni hapa. 520 00:28:15,500 --> 00:28:18,590 Ni null au gani kweli kusonga mbele? 521 00:28:18,590 --> 00:28:21,880 Hivyo kweli hatua mbele katika safu hii. 522 00:28:21,880 --> 00:28:24,570 Na sisi kusema, sawa, t ni barua yetu ya mwisho. 523 00:28:24,570 --> 00:28:27,580 Hivyo sisi kwenda t katika ripoti. 524 00:28:27,580 --> 00:28:30,120 Na kisha sisi kusonga mbele kwa sababu kuna mtu mwingine. 525 00:28:30,120 --> 00:28:38,340 Na hii moja anasema kimsingi kwamba, ndiyo, inasema kwamba kuna neno here-- 526 00:28:38,340 --> 00:28:41,750 kwamba kama wewe kufuata hii njia, wewe wamewasili 527 00:28:41,750 --> 00:28:43,210 katika neno, ambayo sisi kujua ni "popo." 528 00:28:43,210 --> 00:28:43,800 Ndiyo? 529 00:28:43,800 --> 00:28:46,770 >> Watazamaji: Je, ni kiwango kuwa na kwamba kama index 0 na kisha kuwa na aina katika 1 530 00:28:46,770 --> 00:28:47,660 au kuwa na mwishoni? 531 00:28:47,660 --> 00:28:48,243 >> SPIKA 1: Hapana 532 00:28:48,243 --> 00:28:55,360 Hivyo kama sisi kuangalia nyuma katika yetu tamko hapa, ni bool, 533 00:28:55,360 --> 00:28:59,490 hivyo ni kipengele yake mwenyewe katika nodi yako. 534 00:28:59,490 --> 00:29:03,331 Hivyo si sehemu ya safu. 535 00:29:03,331 --> 00:29:03,830 Baridi. 536 00:29:03,830 --> 00:29:08,370 Hivyo wakati sisi kumaliza neno yetu na tuko katika safu hii, nini tunataka kufanya 537 00:29:08,370 --> 00:29:12,807 ni kufanya kuangalia kwa hii neno. 538 00:29:12,807 --> 00:29:14,390 Na katika kesi hii, itakuwa kurudi ndiyo. 539 00:29:14,390 --> 00:29:17,220 540 00:29:17,220 --> 00:29:24,090 >> Kadhalika kwamba kumbuka, tunajua kwamba "zoo" - sisi kujua kama binadamu kwamba "zoo" ni neno, 541 00:29:24,090 --> 00:29:24,820 haki? 542 00:29:24,820 --> 00:29:28,990 Lakini ni kujaribu hapa ingekuwa kusema, hakuna, siyo. 543 00:29:28,990 --> 00:29:33,980 Na kusema kwamba kwa sababu sisi si mteule kama neno hapa. 544 00:29:33,980 --> 00:29:40,440 Ingawa tunaweza traverse kupitia kwa safu hii, 545 00:29:40,440 --> 00:29:43,890 kujaribu hii kusema kwamba, hakuna, zoo si katika kamusi yako 546 00:29:43,890 --> 00:29:47,070 kwa sababu tuna si mteule kama vile. 547 00:29:47,070 --> 00:29:52,870 >> Hivyo njia moja ya kufanya that-- oh, sorry, hii moja. 548 00:29:52,870 --> 00:29:59,450 Hivyo katika kesi hii, "zoo" si neno, lakini ni katika kujaribu yetu. 549 00:29:59,450 --> 00:30:05,690 Lakini katika hii moja, wanasema tunataka kuanzisha neno "kuoga," nini kinatokea 550 00:30:05,690 --> 00:30:08,260 ni sisi kufuata through-- b,, t. 551 00:30:08,260 --> 00:30:11,820 Tuko katika safu hii, na sisi kwenda kutafuta h. 552 00:30:11,820 --> 00:30:15,220 >> Katika kesi hiyo, wakati sisi kuangalia pointer katika h, 553 00:30:15,220 --> 00:30:17,890 ni akizungumzia null, sawa? 554 00:30:17,890 --> 00:30:20,780 Hivyo isipokuwa ni wazi akizungumzia safu mwingine, 555 00:30:20,780 --> 00:30:25,000 kudhani kwamba kuyatumia yote katika safu hii ni akizungumzia null. 556 00:30:25,000 --> 00:30:28,270 Hivyo katika kesi hii, h ni akizungumzia kwa null hivyo hatuwezi kufanya kitu chochote, 557 00:30:28,270 --> 00:30:31,540 hivyo itakuwa pia kurudi uongo, "bath" si katika hapa. 558 00:30:31,540 --> 00:30:34,102 559 00:30:34,102 --> 00:30:35,810 Hivyo sasa sisi ni kweli kwenda kupitia 560 00:30:35,810 --> 00:30:39,790 jinsi gani sisi kweli kusema kwamba "zoo" ni katika kujaribu yetu. 561 00:30:39,790 --> 00:30:42,920 Jinsi gani sisi kuingiza "zoo" katika kujaribu yetu? 562 00:30:42,920 --> 00:30:47,810 Hivyo katika njia sawa kwamba sisi ilianza na orodha yetu wanaohusishwa, sisi kuanza saa mizizi. 563 00:30:47,810 --> 00:30:50,600 Wakati katika shaka, kuanza saa mizizi ya mambo haya. 564 00:30:50,600 --> 00:30:53,330 >> Na tutaweza kusema, sawa, z. 565 00:30:53,330 --> 00:30:55,650 z ipo katika hili, na ni gani. 566 00:30:55,650 --> 00:30:58,370 Hivyo wewe ni kuhamia kwenye safu yako ijayo, sawa? 567 00:30:58,370 --> 00:31:01,482 Na kisha kwenye moja ya pili, sisi kusema, sawa, haina o zipo? 568 00:31:01,482 --> 00:31:03,000 Ni gani. 569 00:31:03,000 --> 00:31:04,330 Hii tena. 570 00:31:04,330 --> 00:31:08,670 >> Na kadhalika moja yetu ijayo, tumekuwa alisema, OK, "zoo" tayari lipo hapa. 571 00:31:08,670 --> 00:31:12,440 Wote tunahitaji kufanya ni kuweka hii sawa kwa kweli, kwamba kuna neno pale. 572 00:31:12,440 --> 00:31:15,260 Kama alikuwa na kufuatiwa kila kitu hadi kabla ya hatua hiyo, 573 00:31:15,260 --> 00:31:17,030 ni neno, hivyo tu kuweka sawa na hayo. 574 00:31:17,030 --> 00:31:17,530 Ndiyo? 575 00:31:17,530 --> 00:31:22,550 >> Watazamaji: Hivyo basi gani kwamba maana kwamba "ba" ni neno pia? 576 00:31:22,550 --> 00:31:24,120 >> SPIKA 1: Hapana 577 00:31:24,120 --> 00:31:28,870 Hivyo katika kesi hii, "ba" tunataka kupata hapa, tunataka kusema ni neno, 578 00:31:28,870 --> 00:31:31,590 na bado ingekuwa hakuna. 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 >> Watazamaji: Hivyo mara moja wewe ni neno na kusema ndiyo, basi ni 582 00:31:36,360 --> 00:31:38,380 vyenye kwenda m? 583 00:31:38,380 --> 00:31:42,260 >> SPIKA 1: Hivyo hii ina kufanya with-- wewe ni upakiaji huu katika. 584 00:31:42,260 --> 00:31:43,640 Wewe kusema "zoo" ni neno. 585 00:31:43,640 --> 00:31:47,020 Baada ya kwenda kwa check-- kama, kusema unataka kusema, 586 00:31:47,020 --> 00:31:49,400 haina "zoo" zipo katika kamusi hii? 587 00:31:49,400 --> 00:31:54,200 Wewe ni kwenda tu kutafuta "zoo" na kisha kuangalia kuona kama ni neno. 588 00:31:54,200 --> 00:31:57,291 Wewe kamwe kwenda kwa hoja kupitia kwa m sababu si kwamba 589 00:31:57,291 --> 00:31:58,290 nini wewe kutafuta. 590 00:31:58,290 --> 00:32:02,690 591 00:32:02,690 --> 00:32:08,070 >> Hivyo kama sisi kweli alitaka kuongeza "bath" katika kujaribu hii, 592 00:32:08,070 --> 00:32:11,390 tunataka kufanya kitu kimoja kama tulivyofanya na "zoo" 593 00:32:11,390 --> 00:32:15,380 ila tunataka kuona kwamba wakati sisi kujaribu na kupata h, haipo. 594 00:32:15,380 --> 00:32:20,090 Hivyo unaweza kufikiria hili kama kujaribu kuongeza nodi mpya katika orodha wanaohusishwa, 595 00:32:20,090 --> 00:32:27,210 hivyo tunataka haja ya kuongeza mwingine moja ya arrays haya, kama hivyo. 596 00:32:27,210 --> 00:32:35,670 Na kisha nini sisi ni sisi tu ya kuweka h kipengele cha safu hii akizungumzia hii. 597 00:32:35,670 --> 00:32:39,430 >> Na kisha gani tunataka kufanya hapa? 598 00:32:39,430 --> 00:32:43,110 Kuongeza sawa na kweli sababu ni neno. 599 00:32:43,110 --> 00:32:46,350 600 00:32:46,350 --> 00:32:48,150 Baridi. 601 00:32:48,150 --> 00:32:48,700 Mimi najua. 602 00:32:48,700 --> 00:32:51,170 Inajaribu si kusisimua zaidi. 603 00:32:51,170 --> 00:32:54,250 Matumaini yangu, najua. 604 00:32:54,250 --> 00:32:58,040 >> Hivyo jambo moja kwa kutambua na inajaribu, Mimi alisema, wao ni ufanisi sana. 605 00:32:58,040 --> 00:33:00,080 Hivyo tumeona wao kuchukua tani ya nafasi. 606 00:33:00,080 --> 00:33:01,370 Wao ni aina ya utata. 607 00:33:01,370 --> 00:33:03,367 Hivyo ni kwa nini sisi milele kutumia haya? 608 00:33:03,367 --> 00:33:05,450 Sisi kutumia haya kwa sababu wao ni incredibly ufanisi. 609 00:33:05,450 --> 00:33:08,130 >> Hivyo kama wewe ni milele kuangalia neno, wewe ni tu 610 00:33:08,130 --> 00:33:10,450 imepakana na urefu wa neno. 611 00:33:10,450 --> 00:33:15,210 Hivyo kama wewe ni kuangalia kwa neno kwamba ni ya urefu tano, 612 00:33:15,210 --> 00:33:20,940 wewe ni milele tu kwenda na kufanya saa zaidi kulinganisha tano, sawa? 613 00:33:20,940 --> 00:33:25,780 Hivyo inafanya kimsingi mara kwa mara. 614 00:33:25,780 --> 00:33:29,150 Kama insertion na Luke ni wakati wa mara kwa mara kimsingi. 615 00:33:29,150 --> 00:33:33,750 >> Hivyo kama unaweza milele kupata kitu katika muda wa mara kwa mara, 616 00:33:33,750 --> 00:33:35,150 hiyo ni kama nzuri kama anapata. 617 00:33:35,150 --> 00:33:37,990 Huwezi kupata bora kuliko wakati mara kwa mara kwa ajili ya mambo haya. 618 00:33:37,990 --> 00:33:43,150 Hivyo kwamba ni moja ya pluses mkubwa ya anajaribu. 619 00:33:43,150 --> 00:33:46,780 >> Lakini ni nafasi kubwa mno. 620 00:33:46,780 --> 00:33:50,380 Hivyo aina ya kuwa na kuamua nini muhimu zaidi na wewe. 621 00:33:50,380 --> 00:33:54,700 Na juu ya kompyuta ya leo, nafasi hiyo kujaribu inaweza kuchukua hadi 622 00:33:54,700 --> 00:33:57,740 labda haina kuathiri kwamba mengi, lakini labda 623 00:33:57,740 --> 00:34:01,350 wewe ni kushughulika na kitu ambayo ina mambo mbali, mbali zaidi, 624 00:34:01,350 --> 00:34:02,810 na kujaribu si tu nafuu. 625 00:34:02,810 --> 00:34:03,000 Ndiyo? 626 00:34:03,000 --> 00:34:05,610 >> Watazamaji: Ngoja, hivyo una 26 barua katika kila moja? 627 00:34:05,610 --> 00:34:07,440 >> SPIKA 1: Mmhmm. 628 00:34:07,440 --> 00:34:08,570 Yeah, una 26. 629 00:34:08,570 --> 00:34:16,984 Una baadhi ni alama neno na kisha una 26 kuyatumia katika kila moja. 630 00:34:16,984 --> 00:34:17,775 Na wao ni point-- 631 00:34:17,775 --> 00:34:20,280 >> Watazamaji: Na kila 26, gani wao kila mmoja kuwa 26? 632 00:34:20,280 --> 00:34:21,500 >> SPIKA 1: Ndiyo. 633 00:34:21,500 --> 00:34:27,460 Na kwamba ni kwa nini, kama unaweza kuona, expands haraka kabisa. 634 00:34:27,460 --> 00:34:28,130 Wote haki. 635 00:34:28,130 --> 00:34:32,524 Hivyo sisi ni kwenda kupata katika miti, ambayo Najisikia kama ni rahisi na pengine 636 00:34:32,524 --> 00:34:36,150 kuwa nzuri ahueni kidogo kutoka inajaribu huko. 637 00:34:36,150 --> 00:34:39,620 Hivyo hopefully zaidi ya wewe tumeona mti kabla. 638 00:34:39,620 --> 00:34:41,820 Si kama pretty ndio nje, ambayo mimi 639 00:34:41,820 --> 00:34:44,340 sijui kama mtu yeyote akaenda nje hivi karibuni. 640 00:34:44,340 --> 00:34:49,230 Nilikwenda apple kuokota mwishoni mwa wiki hii, na oh gosh yangu, ilikuwa nzuri. 641 00:34:49,230 --> 00:34:52,250 Sikujua majani inaweza kuangalia kwamba pretty. 642 00:34:52,250 --> 00:34:53,610 >> Hivyo hii ni tu mti, haki? 643 00:34:53,610 --> 00:34:56,790 Ni baadhi tu ya nodi, na anazungumzia rundo la nodes nyingine. 644 00:34:56,790 --> 00:34:59,570 Kama unaweza kuona hapa, hii ni aina ya mandhari ya mara kwa mara. 645 00:34:59,570 --> 00:35:03,720 Vituo akizungumzia nodes ni aina ya kiini cha miundo wengi data. 646 00:35:03,720 --> 00:35:06,670 Ni tu inategemea jinsi sisi kuwa nao uhakika na kila mmoja 647 00:35:06,670 --> 00:35:08,600 na jinsi sisi traverse njia yao na jinsi sisi 648 00:35:08,600 --> 00:35:14,500 kuingiza mambo ambayo huamua sifa zao tofauti. 649 00:35:14,500 --> 00:35:17,600 >> Hivyo baadhi tu istilahi, ambayo nimekuwa kutumika kabla. 650 00:35:17,600 --> 00:35:20,010 Hivyo mzizi ni chochote ni saa ya juu sana. 651 00:35:20,010 --> 00:35:21,200 ni mahali ambapo sisi daima kuanza. 652 00:35:21,200 --> 00:35:23,610 Unaweza kufikiria kama kichwa pia. 653 00:35:23,610 --> 00:35:28,750 Lakini kwa ajili ya miti, sisi huwa na rejea ni kama mizizi. 654 00:35:28,750 --> 00:35:32,820 >> Chochote wakati here-- chini katika sana, bottom-- sana 655 00:35:32,820 --> 00:35:34,500 ni kuchukuliwa majani. 656 00:35:34,500 --> 00:35:37,210 Hivyo huenda pamoja na mti mzima jambo, haki? 657 00:35:37,210 --> 00:35:39,860 Majani ni pembezoni ya mti yako. 658 00:35:39,860 --> 00:35:45,820 >> Na kisha sisi pia kuwa wanandoa wa suala kwa majadiliano juu ya nodes katika uhusiano 659 00:35:45,820 --> 00:35:46,680 kwa kila mmoja. 660 00:35:46,680 --> 00:35:49,700 Hivyo tuna mzazi, watoto, na ndugu zake. 661 00:35:49,700 --> 00:35:56,260 Hivyo katika kesi hii, 3 ni mzazi wa 5, 6 na 7. 662 00:35:56,260 --> 00:36:00,370 Hivyo mzazi ni chochote ni hatua moja juu ya chochote ni 663 00:36:00,370 --> 00:36:02,940 akimaanisha, hivyo tu kama mti familia. 664 00:36:02,940 --> 00:36:07,090 Hopefully, hii ni kidogo wote kidogo zaidi Intuitive kuliko anajaribu. 665 00:36:07,090 --> 00:36:10,970 >> Ndugu ni yoyote kwamba kuwa mzazi sawa, haki? 666 00:36:10,970 --> 00:36:13,470 Wao uko juu ya kiwango sawa hapa. 667 00:36:13,470 --> 00:36:16,960 Na kisha, kama mimi nilikuwa akisema, watoto ni tu 668 00:36:16,960 --> 00:36:22,630 chochote ni hatua moja chini nodi katika swali, sawa? 669 00:36:22,630 --> 00:36:23,470 Baridi. 670 00:36:23,470 --> 00:36:25,610 Hivyo mti binary. 671 00:36:25,610 --> 00:36:31,450 Je, mtu yeyote athari ya nadhani kwenye moja ya sifa za mti binary? 672 00:36:31,450 --> 00:36:32,770 >> Watazamaji: Max majani mawili. 673 00:36:32,770 --> 00:36:33,478 >> SPIKA 1: Haki. 674 00:36:33,478 --> 00:36:34,640 Hivyo max ya majani mawili. 675 00:36:34,640 --> 00:36:39,730 Hivyo katika hii moja kabla, tulikuwa hii moja kwamba alikuwa tatu, lakini katika mti binary, 676 00:36:39,730 --> 00:36:45,000 una max ya mbili watoto kwa kila mzazi, haki? 677 00:36:45,000 --> 00:36:46,970 Kuna mwingine kuvutia tabia. 678 00:36:46,970 --> 00:36:51,550 Je, mtu yeyote kujua kwamba? 679 00:36:51,550 --> 00:36:52,620 Binary mti. 680 00:36:52,620 --> 00:37:00,350 >> Hivyo mti binary itakuwa na kila kitu juu ya the-- moja hii si sorted-- 681 00:37:00,350 --> 00:37:05,320 lakini katika yamepangwa binary mti, kila kitu juu ya haki 682 00:37:05,320 --> 00:37:08,530 ni mkubwa kuliko mzazi, na kila kitu juu ya kushoto 683 00:37:08,530 --> 00:37:10,035 ni chini ya mzazi. 684 00:37:10,035 --> 00:37:15,690 Na kwamba imekuwa Jaribio swali kabla, hivyo vizuri kujua. 685 00:37:15,690 --> 00:37:19,500 Hivyo njia sisi kufafanua hii, tena, tuna nodi nyingine. 686 00:37:19,500 --> 00:37:21,880 Hii inaonekana ni sawa na nini? 687 00:37:21,880 --> 00:37:28,336 688 00:37:28,336 --> 00:37:28,836 Doubly 689 00:37:28,836 --> 00:37:29,320 >> Watazamaji: Wanaohusishwa orodha 690 00:37:29,320 --> 00:37:31,100 >> SPIKA 1: maradufu orodha wanaohusishwa, haki? 691 00:37:31,100 --> 00:37:33,690 Hivyo kama sisi kuchukua nafasi ya hii na uliopita na wa pili, 692 00:37:33,690 --> 00:37:35,670 hii itakuwa orodha doubly wanaohusishwa. 693 00:37:35,670 --> 00:37:40,125 Lakini katika kesi hii, sisi kweli kuwa kushoto na kulia na hiyo ni yake. 694 00:37:40,125 --> 00:37:41,500 Vinginevyo, ni sawa. 695 00:37:41,500 --> 00:37:43,374 Bado tuna kipengele wewe ni kuangalia kwa, 696 00:37:43,374 --> 00:37:45,988 na wewe tu kuyatumia mbili kwenda chochote ijayo. 697 00:37:45,988 --> 00:37:49,210 698 00:37:49,210 --> 00:37:51,870 Yeah, hivyo binary tafuta mti. 699 00:37:51,870 --> 00:37:57,665 Kama sisi taarifa, kila kitu juu ya haki hapa ni than-- zaidi 700 00:37:57,665 --> 00:37:59,850 au kila kitu mara moja na haki hapa 701 00:37:59,850 --> 00:38:02,840 ni mkubwa kuliko, kila kitu hapa ni chini ya. 702 00:38:02,840 --> 00:38:06,980 703 00:38:06,980 --> 00:38:14,000 >> Hivyo kama sisi walikuwa na kutafuta njia ya, ni inapaswa kuangalia karibu sana na binary tafuta 704 00:38:14,000 --> 00:38:14,910 hapa, haki? 705 00:38:14,910 --> 00:38:17,640 Isipokuwa badala ya kuangalia katika nusu safu, 706 00:38:17,640 --> 00:38:21,720 sisi ni kuangalia tu katika aidha kushoto upande au upande wa kulia wa mti. 707 00:38:21,720 --> 00:38:24,850 Hivyo anapata kidogo rahisi, nadhani. 708 00:38:24,850 --> 00:38:29,300 >> Hivyo kama mizizi yako ni null, wazi ni tu ya uongo. 709 00:38:29,300 --> 00:38:33,470 Na kama ni huko, ni wazi ni kweli. 710 00:38:33,470 --> 00:38:35,320 Kama ni chini ya, sisi kutafuta kushoto. 711 00:38:35,320 --> 00:38:37,070 Kama ni kubwa kuliko, sisi kutafuta haki. 712 00:38:37,070 --> 00:38:39,890 Ni hasa kama search binary, tu muundo tofauti data 713 00:38:39,890 --> 00:38:40,600 kwamba sisi ni kutumia. 714 00:38:40,600 --> 00:38:42,790 Badala ya safu, ni tu mti binary. 715 00:38:42,790 --> 00:38:45,820 716 00:38:45,820 --> 00:38:48,090 >> OK, mwingi. 717 00:38:48,090 --> 00:38:51,550 Na pia, inaonekana kama sisi anaweza kuwa kidogo ya muda. 718 00:38:51,550 --> 00:38:54,460 Kama sisi kufanya, mimi nina furaha na kwenda juu ya yoyote ya hii tena. 719 00:38:54,460 --> 00:38:56,856 OK, hivyo mwingi. 720 00:38:56,856 --> 00:39:02,695 Je, mtu yeyote kumbuka kile stacks-- sifa yoyote ya stack? 721 00:39:02,695 --> 00:39:05,550 722 00:39:05,550 --> 00:39:10,400 >> OK, hivyo wengi wetu, nadhani, kula katika dining halls-- 723 00:39:10,400 --> 00:39:13,100 kama vile sisi inaweza si kama. 724 00:39:13,100 --> 00:39:16,900 Lakini ni wazi, unaweza kufikiria stack literally tu kama stack ya trays 725 00:39:16,900 --> 00:39:18,460 au stack ya mambo. 726 00:39:18,460 --> 00:39:21,820 Na nini muhimu kutambua ni kwamba ni 727 00:39:21,820 --> 00:39:26,850 something-- tabia kwamba sisi kuiita by-- ni LIFO. 728 00:39:26,850 --> 00:39:28,450 Je, mtu yeyote kujua nini kwamba anasimama kwa ajili ya? 729 00:39:28,450 --> 00:39:29,070 Mmhmm? 730 00:39:29,070 --> 00:39:30,650 >> Watazamaji: Mwisho, kwanza nje. 731 00:39:30,650 --> 00:39:32,250 >> SPIKA 1: Haki, mwisho katika, kwanza nje. 732 00:39:32,250 --> 00:39:36,585 Hivyo kama sisi kujua, kama sisi ni stacking vitu up, jambo rahisi kunyakua off-- 733 00:39:36,585 --> 00:39:39,570 na labda jambo pekee tunaweza kunyakua mbali kama stack yetu ni enough-- kubwa 734 00:39:39,570 --> 00:39:40,850 ni kipengele kwamba juu. 735 00:39:40,850 --> 00:39:43,460 Hivyo chochote ilikuwa kuweka kwenye last-- kama tunaona hapa, 736 00:39:43,460 --> 00:39:46,370 chochote alikuwa kusukuma juu zaidi recently-- ni 737 00:39:46,370 --> 00:39:51,160 itakuwa ya kwanza Jambo kwamba sisi pop mbali, sawa? 738 00:39:51,160 --> 00:39:56,324 >> Hivyo nini sisi hapa ni mwingine typedef struct. 739 00:39:56,324 --> 00:39:58,740 Hii ni kweli tu kama ajali shaka katika muundo data, 740 00:39:58,740 --> 00:40:01,650 hivyo kuna mengi kutupwa katika wewe guys. 741 00:40:01,650 --> 00:40:02,540 Mimi najua. 742 00:40:02,540 --> 00:40:04,970 Hivyo bado struct nyingine. 743 00:40:04,970 --> 00:40:06,740 Yay kwa miundo. 744 00:40:06,740 --> 00:40:16,660 >> Na katika kesi hii, ni baadhi pointer safu ambayo ina baadhi ya uwezo. 745 00:40:16,660 --> 00:40:20,830 Hivyo hii inawakilisha stack yetu hapa, kama safu yetu halisi 746 00:40:20,830 --> 00:40:22,520 hiyo ni kufanya mambo yetu. 747 00:40:22,520 --> 00:40:24,850 Na kisha hapa tuna baadhi ya kawaida. 748 00:40:24,850 --> 00:40:31,170 >> Na kawaida, unataka kuweka wimbo wa jinsi kubwa stack yako ni 749 00:40:31,170 --> 00:40:36,180 kwa sababu kile ni kwenda kuruhusu wewe kufanya ni kama unajua ukubwa, 750 00:40:36,180 --> 00:40:39,170 utapata kusema, OK, mimi katika uwezo? 751 00:40:39,170 --> 00:40:40,570 Naweza kuongeza chochote zaidi? 752 00:40:40,570 --> 00:40:44,650 Na pia atakwambia ambapo juu ya stack yako 753 00:40:44,650 --> 00:40:48,180 ni hivyo unajua nini unaweza kweli kuchukua mbali. 754 00:40:48,180 --> 00:40:51,760 Na kwamba kweli kwenda kuwa zaidi kidogo ya wazi hapa. 755 00:40:51,760 --> 00:40:57,350 >> Hivyo kwa kushinikiza, jambo moja, kama wewe walikuwa milele kutekeleza kushinikiza, 756 00:40:57,350 --> 00:41:01,330 kama mimi alikuwa akisema tu, yako stack ina ukubwa mdogo, haki? 757 00:41:01,330 --> 00:41:03,990 Safu yetu alikuwa na baadhi ya uwezo. 758 00:41:03,990 --> 00:41:04,910 Ni safu. 759 00:41:04,910 --> 00:41:08,930 Ni fasta ukubwa, hivyo tunahitaji kuhakikisha kwamba sisi siyo kuweka zaidi 760 00:41:08,930 --> 00:41:11,950 katika safu yetu kuliko sisi kweli kuwa nafasi kwa. 761 00:41:11,950 --> 00:41:16,900 >> Hivyo wakati wewe ni kujenga kushinikiza kazi, jambo la kwanza kufanya ni kusema, sawa, 762 00:41:16,900 --> 00:41:18,570 kufanya mimi kuwa na nafasi katika stack yangu? 763 00:41:18,570 --> 00:41:23,330 Kwa sababu kama mimi si, pole, Siwezi kuhifadhi kipengele yako. 764 00:41:23,330 --> 00:41:28,980 Kama mimi kufanya, basi unataka kuhifadhi ni juu ya stack, haki? 765 00:41:28,980 --> 00:41:31,325 >> Na hii ni kwa nini tuna kuweka wimbo wa kawaida yetu. 766 00:41:31,325 --> 00:41:35,290 Kama hatuwezi kuweka wimbo wa kawaida yetu, hatujui ambapo kuweka. 767 00:41:35,290 --> 00:41:39,035 Hatujui mambo ngapi ni katika safu yetu tayari. 768 00:41:39,035 --> 00:41:41,410 Kama ni wazi kuna njia kwamba labda unaweza kufanya hivyo. 769 00:41:41,410 --> 00:41:44,610 Unaweza initialize kila kitu kwa null na kisha kuangalia kwa ajili ya karibuni NULL, 770 00:41:44,610 --> 00:41:47,950 lakini jambo rahisi tu kusema, sawa, kuweka wimbo wa kawaida. 771 00:41:47,950 --> 00:41:51,840 Kama Mimi najua kuwa mambo manne katika safu yangu, hivyo jambo la pili 772 00:41:51,840 --> 00:41:55,930 kwamba sisi kuweka juu, sisi ni kwenda kuhifadhi katika ripoti 4. 773 00:41:55,930 --> 00:42:00,940 Na kisha, bila shaka, hii ina maana kwamba umefanya mafanikio kusukuma kitu 774 00:42:00,940 --> 00:42:03,320 kwenye stack yako, wanataka kuongeza ukubwa 775 00:42:03,320 --> 00:42:08,880 ili kujua ambapo wewe ni hivyo kwamba unaweza kushinikiza mambo zaidi juu ya. 776 00:42:08,880 --> 00:42:12,730 >> Hivyo kama sisi ni kujaribu pop kitu mbali ya stack, 777 00:42:12,730 --> 00:42:16,072 nini inaweza kuwa jambo la kwanza kwamba tunataka kuangalia kwa? 778 00:42:16,072 --> 00:42:18,030 Wewe ni kujaribu kuchukua kitu mbali ya stack yako. 779 00:42:18,030 --> 00:42:21,710 780 00:42:21,710 --> 00:42:24,781 Je, una hakika kuna kitu katika stack yako? 781 00:42:24,781 --> 00:42:25,280 Hakuna 782 00:42:25,280 --> 00:42:26,894 Hivyo nini kinaweza tunataka kuangalia? 783 00:42:26,894 --> 00:42:27,810 >> Watazamaji: [inaudible]. 784 00:42:27,810 --> 00:42:29,880 SPIKA 1: Angalia kwa kawaida? 785 00:42:29,880 --> 00:42:31,840 Ukubwa. 786 00:42:31,840 --> 00:42:38,520 Hivyo tunataka kuangalia kuona kama ukubwa yetu ni kubwa kuliko 0, sawa? 787 00:42:38,520 --> 00:42:44,970 Na kama ni, basi tunataka kupunguza kawaida yetu na 0 na kurudi kwamba. 788 00:42:44,970 --> 00:42:45,840 Kwa nini? 789 00:42:45,840 --> 00:42:49,950 >> Katika moja ya kwanza tulikuwa kusukuma, sisi kusukuma yake 790 00:42:49,950 --> 00:42:52,460 kwenye ukubwa na kisha updated kawaida. 791 00:42:52,460 --> 00:42:57,850 Katika kesi hii, sisi ni decrementing ukubwa na kisha kuchukua ni mbali, kukwanyua ni 792 00:42:57,850 --> 00:42:58,952 kutoka safu yetu. 793 00:42:58,952 --> 00:42:59,826 Kwa nini huenda sisi kufanya hivyo? 794 00:42:59,826 --> 00:43:04,800 795 00:43:04,800 --> 00:43:11,811 Hivyo kama nina jambo moja juu ya stack yangu, nini itakuwa kawaida yangu katika hatua hiyo? 796 00:43:11,811 --> 00:43:13,140 1. 797 00:43:13,140 --> 00:43:15,180 >> Na ambapo ni kipengele 1 kuhifadhiwa? 798 00:43:15,180 --> 00:43:17,621 Nini ripoti? 799 00:43:17,621 --> 00:43:18,120 Watazamaji: 0. 800 00:43:18,120 --> 00:43:19,060 SPIKA 1: 0. 801 00:43:19,060 --> 00:43:22,800 Hivyo katika kesi hii, sisi daima haja ya kufanya sure-- 802 00:43:22,800 --> 00:43:27,630 badala ya kurudi ukubwa minus 1, kwa sababu sisi 803 00:43:27,630 --> 00:43:31,730 kujua kwamba kipengele yetu ni kwenda kuhifadhiwa katika 1 chini 804 00:43:31,730 --> 00:43:34,705 chochote kawaida yetu ni, hii tu inachukua huduma hiyo. 805 00:43:34,705 --> 00:43:36,080 Ni njia kidogo zaidi ya kifahari. 806 00:43:36,080 --> 00:43:41,220 Na sisi tu ya mapunguzo wetu ukubwa na kisha kurudi kawaida. 807 00:43:41,220 --> 00:43:42,330 Mmhmm? 808 00:43:42,330 --> 00:43:45,300 >> Watazamaji: Mimi nadhani tu kwa ujumla, kwa nini muundo huu data 809 00:43:45,300 --> 00:43:47,800 kuwa na manufaa? 810 00:43:47,800 --> 00:43:50,660 >> SPIKA 1: Ni inategemea mazingira yako. 811 00:43:50,660 --> 00:43:57,420 Hivyo kwa baadhi ya nadharia, kama wewe ni kufanya kazi with-- OK, 812 00:43:57,420 --> 00:44:02,750 napenda kuona kama kuna mmoja manufaa kwamba ni manufaa kwa zaidi ya nje 813 00:44:02,750 --> 00:44:05,420 ya CS. 814 00:44:05,420 --> 00:44:15,780 Na mwingi, wakati wowote unahitaji kuweka wimbo wa kitu ambacho 815 00:44:15,780 --> 00:44:20,456 ni hivi karibuni aliongeza ni wakati wewe kwenda wanataka kutumia stack. 816 00:44:20,456 --> 00:44:24,770 >> Na siwezi kufikiria nzuri mfano wa kwamba hivi sasa. 817 00:44:24,770 --> 00:44:29,955 Lakini, wakati hivi karibuni Jambo muhimu zaidi na wewe, 818 00:44:29,955 --> 00:44:31,705 hiyo wakati stack ni kwenda kuwa na manufaa. 819 00:44:31,705 --> 00:44:35,797 820 00:44:35,797 --> 00:44:39,330 Mimi nina kujaribu kufikiri kama kuna moja nzuri kwa ajili ya hii. 821 00:44:39,330 --> 00:44:43,720 Kama mimi nadhani wa mfano mzuri katika ijayo Dakika 20, mimi dhahiri kukuambia. 822 00:44:43,720 --> 00:44:49,455 >> Lakini kwa ujumla, kama kuna kitu chochote, kama nilivyosema zaidi, ambapo hivi karibuni 823 00:44:49,455 --> 00:44:52,470 ni muhimu zaidi, kwamba ambapo stack anakuja katika kucheza. 824 00:44:52,470 --> 00:44:58,860 Wakati foleni ni aina ya kinyume. 825 00:44:58,860 --> 00:44:59,870 Na mbwa wote kidogo. 826 00:44:59,870 --> 00:45:00,890 Je, huyu si kubwa, haki? 827 00:45:00,890 --> 00:45:03,299 Najisikia kama mimi lazima tu Bunny video 828 00:45:03,299 --> 00:45:05,090 haki ya katikati ya sehemu kwa ajili ya guys 829 00:45:05,090 --> 00:45:08,870 sababu hii ni sehemu makali. 830 00:45:08,870 --> 00:45:10,480 >> Hivyo foleni. 831 00:45:10,480 --> 00:45:12,710 Kimsingi foleni ni kama mstari. 832 00:45:12,710 --> 00:45:15,780 You guys mimi nina uhakika kama hii ya matumizi ya kila siku, tu kama katika dining kumbi zetu. 833 00:45:15,780 --> 00:45:18,160 Hivyo tuna kwenda katika na kupata trays yetu, mimi nina 834 00:45:18,160 --> 00:45:21,260 kuhakikisha una kusubiri katika mstari swipe au kupata chakula. 835 00:45:21,260 --> 00:45:24,650 >> Hivyo tofauti hapa ni kwamba hii ni FIFO. 836 00:45:24,650 --> 00:45:30,090 Hivyo kama LIFO kwa mara ya mwisho katika, kwanza nje, FIFO ni ya kwanza katika, nje ya kwanza. 837 00:45:30,090 --> 00:45:33,400 Hivyo hii ni ambapo chochote kuweka juu ya kwanza ni yako muhimu. 838 00:45:33,400 --> 00:45:35,540 Hivyo kama wewe walikuwa wakisubiri katika line-- unaweza you 839 00:45:35,540 --> 00:45:39,130 kufikiria kama wewe akaenda kwenda kupata iPhone mpya 840 00:45:39,130 --> 00:45:42,800 na ilikuwa stack ambapo Mtu wa mwisho katika mstari got ni ya kwanza, 841 00:45:42,800 --> 00:45:44,160 watu bila kuua kila mmoja. 842 00:45:44,160 --> 00:45:49,800 >> Hivyo FIFO, tuko wote familiar sana na katika ulimwengu wa kweli hapa, 843 00:45:49,800 --> 00:45:54,930 na yote ina nini na kweli aina ya recreating mstari huu nzima 844 00:45:54,930 --> 00:45:56,900 na kupanga foleni muundo. 845 00:45:56,900 --> 00:46:02,390 Hivyo ambapo pamoja na stack, tuna kushinikiza na pop. 846 00:46:02,390 --> 00:46:06,440 Na foleni, tuna enqueue na dequeue. 847 00:46:06,440 --> 00:46:10,910 Hivyo enqueue kimsingi ina maana kuiweka kwenye nyuma, 848 00:46:10,910 --> 00:46:13,680 na njia dequeue kuchukua mbali kutoka mbele. 849 00:46:13,680 --> 00:46:18,680 Hivyo mfumo wetu data ni kidogo ngumu zaidi. 850 00:46:18,680 --> 00:46:21,060 Tuna jambo la pili kwa kuweka wimbo wa. 851 00:46:21,060 --> 00:46:25,950 >> Hivyo bila kichwa, hii ni hasa stack, haki? 852 00:46:25,950 --> 00:46:27,900 Hii ni muundo sawa na stack. 853 00:46:27,900 --> 00:46:32,480 Kitu pekee tofauti na sasa ni sisi kichwa hii, ambayo unafikiri nini 854 00:46:32,480 --> 00:46:34,272 ni kwenda kuweka wimbo wa? 855 00:46:34,272 --> 00:46:35,510 >> Watazamaji: moja ya kwanza. 856 00:46:35,510 --> 00:46:38,685 >> SPIKA 1: Haki, Jambo la kwanza kwamba sisi kuweka katika. 857 00:46:38,685 --> 00:46:41,130 mkuu wa foleni yetu. 858 00:46:41,130 --> 00:46:42,240 Yeyote ni ya kwanza katika mstari. 859 00:46:42,240 --> 00:46:45,300 860 00:46:45,300 --> 00:46:49,420 Haki wote, hivyo kama sisi kufanya enqueue. 861 00:46:49,420 --> 00:46:52,720 862 00:46:52,720 --> 00:46:55,920 Tena, na yoyote ya hizi miundo data, 863 00:46:55,920 --> 00:46:59,760 tangu sisi ni kushughulika na safu, sisi haja ya kuangalia kama tuna nafasi. 864 00:46:59,760 --> 00:47:03,290 >> Hii ni aina ya kama mimi kuwaambia nyie, kama wewe kufungua faili, 865 00:47:03,290 --> 00:47:04,760 unahitaji kuangalia kwa null. 866 00:47:04,760 --> 00:47:08,330 Na yoyote ya hizi mwingi na foleni, unahitaji 867 00:47:08,330 --> 00:47:13,420 kuona kama kuna nafasi kwa sababu sisi ni kushughulika na fasta ukubwa safu, 868 00:47:13,420 --> 00:47:16,030 kama sisi kuona here-- 0, 1 yote hadi 5. 869 00:47:16,030 --> 00:47:20,690 Hivyo kile sisi kufanya katika kesi hiyo ni kuangalia kuona kama bado tuna nafasi. 870 00:47:20,690 --> 00:47:23,110 Ni kawaida yetu chini ya uwezo? 871 00:47:23,110 --> 00:47:28,480 >> Kama ni hivyo, tunahitaji kuhifadhi katika mkia na sisi update kawaida yetu. 872 00:47:28,480 --> 00:47:30,250 Hivyo nini kinaweza kuwa mkia katika kesi hii? 873 00:47:30,250 --> 00:47:32,360 Ni si wazi imeandikwa nje. 874 00:47:32,360 --> 00:47:33,380 Jinsi gani sisi kuhifadhi? 875 00:47:33,380 --> 00:47:34,928 Gani mkia kuwa? 876 00:47:34,928 --> 00:47:38,600 877 00:47:38,600 --> 00:47:40,190 >> Basi hebu kutembea kwa njia ya mfano huu. 878 00:47:40,190 --> 00:47:44,590 Hivyo hii ni safu ya ukubwa 6, haki? 879 00:47:44,590 --> 00:47:49,220 Na tuna haki ya sasa, kawaida yetu ni 5. 880 00:47:49,220 --> 00:47:55,240 Na wakati sisi kuweka katika, ni kwenda kwenda katika tano ripoti, haki? 881 00:47:55,240 --> 00:47:57,030 Hivyo kuhifadhi katika mkia. 882 00:47:57,030 --> 00:48:05,600 >> Njia nyingine ya kuandika mkia ingekuwa tu kuwa safu yetu ya ripoti ya ukubwa, haki? 883 00:48:05,600 --> 00:48:07,560 Hii ni kawaida 5. 884 00:48:07,560 --> 00:48:11,490 Jambo la pili ni kwenda kwenda katika 5. 885 00:48:11,490 --> 00:48:12,296 Baridi? 886 00:48:12,296 --> 00:48:13,290 OK. 887 00:48:13,290 --> 00:48:16,350 Ni anapata kidogo ngumu zaidi wakati sisi kuanza messing na kichwa. 888 00:48:16,350 --> 00:48:17,060 Ndiyo? 889 00:48:17,060 --> 00:48:20,090 >> Watazamaji: Je, hiyo inamaanisha kwamba sisi ingekuwa alitangaza safu kwamba 890 00:48:20,090 --> 00:48:23,880 ilikuwa vipengele tano kwa muda mrefu na basi tuko kuongeza kwenye hilo? 891 00:48:23,880 --> 00:48:24,730 >> SPIKA 1: Hapana 892 00:48:24,730 --> 00:48:27,560 Hivyo katika kesi hii, hii ni stack. 893 00:48:27,560 --> 00:48:31,760 Hii itakuwa alitangaza kama safu ya ukubwa 6. 894 00:48:31,760 --> 00:48:37,120 Na katika kesi hii, sisi tu moja nafasi kushoto. 895 00:48:37,120 --> 00:48:42,720 >> OK, hivyo jambo moja ni katika hii kesi, kama kichwa yetu ni saa 0, 896 00:48:42,720 --> 00:48:45,270 kisha sisi tu inaweza kuongeza yake katika kawaida. 897 00:48:45,270 --> 00:48:51,020 Lakini anapata trickier kidogo kwa sababu kwa kweli, wao 898 00:48:51,020 --> 00:48:52,840 hawana slide kwa hili, hivyo mimi nina kwenda 899 00:48:52,840 --> 00:48:56,670 kuteka moja kwa sababu si kabisa kuwa rahisi mara moja 900 00:48:56,670 --> 00:48:59,230 kuanza kupata kuondoa mambo. 901 00:48:59,230 --> 00:49:03,920 Hivyo ambapo pamoja na stack wewe tu milele kuwa 902 00:49:03,920 --> 00:49:08,920 na wasiwasi kuhusu kile kawaida ni wakati wewe ni kuongeza kitu kwenye, 903 00:49:08,920 --> 00:49:15,710 na foleni pia unahitaji kufanya kuhakikisha kwamba kichwa yako ni waliendelea kwa, 904 00:49:15,710 --> 00:49:20,760 kwa sababu jambo zuri kuhusu foleni ni kwamba kama wewe si katika uwezo, 905 00:49:20,760 --> 00:49:23,040 unaweza kweli kufanya hivyo wrap kuzunguka. 906 00:49:23,040 --> 00:49:28,810 >> OK, hivyo moja thing-- oh, hii ni chaki kutisha. 907 00:49:28,810 --> 00:49:31,815 Jambo moja kufikiria ni kesi. 908 00:49:31,815 --> 00:49:35,514 909 00:49:35,514 --> 00:49:37,140 Tutaweza tu kufanya mitano. 910 00:49:37,140 --> 00:49:41,810 OK, hivyo tunakwenda kusema kichwa ni hapa. 911 00:49:41,810 --> 00:49:46,140 Hii ni 0, 1, 2, 3, 4. 912 00:49:46,140 --> 00:49:54,210 >> kichwa huko, na tafadhali kuwa na mambo yao. 913 00:49:54,210 --> 00:49:58,340 Na tunataka kuongeza kitu katika, haki? 914 00:49:58,340 --> 00:50:01,170 Hivyo kitu kwamba tunahitaji kujua ni kwamba kichwa daima 915 00:50:01,170 --> 00:50:05,620 kwenda kwa hoja kwa njia hii na kisha kitanzi nyuma kote, sawa? 916 00:50:05,620 --> 00:50:10,190 >> Hivyo foleni hii ina nafasi, haki? 917 00:50:10,190 --> 00:50:13,950 Ina nafasi katika mwanzo, aina ya kinyume ya hii. 918 00:50:13,950 --> 00:50:17,920 Hivyo kile sisi haja ya kufanya ni sisi haja ya mahesabu ya mkia. 919 00:50:17,920 --> 00:50:20,530 Kama unajua kwamba yako kichwa hana wakiongozwa, mkia 920 00:50:20,530 --> 00:50:24,630 ni tu safu yako katika ripoti ya kawaida. 921 00:50:24,630 --> 00:50:30,000 >> Lakini katika hali halisi, kama wewe ni kutumia foleni, kichwa yako ni pengine kuwa updated. 922 00:50:30,000 --> 00:50:33,890 Hivyo nini unahitaji kufanya ni kweli mahesabu ya mkia. 923 00:50:33,890 --> 00:50:39,990 Hivyo kile sisi kufanya ni utaratibu huu hapa, ambayo mimi nina kwenda basi wewe 924 00:50:39,990 --> 00:50:42,680 guys kufikiri juu, na kisha tutaweza majadiliano juu yake. 925 00:50:42,680 --> 00:50:49,567 926 00:50:49,567 --> 00:50:50,400 Hivyo hii ni uwezo. 927 00:50:50,400 --> 00:50:55,890 928 00:50:55,890 --> 00:50:59,660 >> Hivyo hii itakuwa kweli kukupa njia ya kufanya hivyo. 929 00:50:59,660 --> 00:51:03,205 930 00:51:03,205 --> 00:51:04,330 Kwa sababu katika kesi hii, ni nini? 931 00:51:04,330 --> 00:51:09,205 Kichwa yetu ni saa 1, ukubwa wetu ni 4. 932 00:51:09,205 --> 00:51:11,760 933 00:51:11,760 --> 00:51:18,490 Kama sisi Mod kwamba kwa 5, sisi kupata 0, ambayo ni ambapo sisi lazima pembejeo yake. 934 00:51:18,490 --> 00:51:23,320 935 00:51:23,320 --> 00:51:26,080 >> Hivyo basi katika kesi ya pili, kama tulikuwa kufanya hivyo, 936 00:51:26,080 --> 00:51:33,390 sisi kusema, sawa, hebu dequeue kitu. 937 00:51:33,390 --> 00:51:34,390 Sisi dequeue hii. 938 00:51:34,390 --> 00:51:37,740 Sisi kuchukua nje kipengele hii, haki? 939 00:51:37,740 --> 00:51:47,930 >> Na sasa kichwa yetu ni akizungumzia hapa, na tunataka kuongeza katika kitu kingine. 940 00:51:47,930 --> 00:51:52,470 Hii ni kimsingi nyuma ya mstari wetu, haki? 941 00:51:52,470 --> 00:51:55,450 Foleni unaweza wrap kuzunguka safu. 942 00:51:55,450 --> 00:51:57,310 Hiyo ni moja ya tofauti kubwa. 943 00:51:57,310 --> 00:51:58,780 Mwingi, huwezi kufanya hivyo. 944 00:51:58,780 --> 00:52:01,140 >> Na foleni, unaweza sababu wote kwamba mambo 945 00:52:01,140 --> 00:52:03,940 ni kwamba unajua nini ilikuwa hivi karibuni aliongeza. 946 00:52:03,940 --> 00:52:10,650 Tangu kila kitu kinaenda kuongezwa katika mwelekeo huu leftward, katika kesi hii, 947 00:52:10,650 --> 00:52:16,480 na kisha wrap kuzunguka, unaweza kuendelea kuweka katika mambo mapya 948 00:52:16,480 --> 00:52:18,830 mbele ya safu sababu si kweli 949 00:52:18,830 --> 00:52:20,640 mbele ya safu tena. 950 00:52:20,640 --> 00:52:26,320 Unaweza kufikiri ya mwanzo ya safu kama ambapo kichwa yako kweli ni. 951 00:52:26,320 --> 00:52:29,710 >> Hivyo formula hii ni jinsi mahesabu ya mkia yako. 952 00:52:29,710 --> 00:52:32,780 953 00:52:32,780 --> 00:52:35,610 Je kwamba inafanya hisia? 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, na kisha wewe guys kuwa dakika 10 957 00:52:44,040 --> 00:52:48,840 kuuliza mimi maswali yoyote inayoidhinisha unataka, kwa sababu najua ni mambo. 958 00:52:48,840 --> 00:52:51,980 >> Haki wote, hivyo katika way-- sawa Mimi sijui kama wewe guys niliona, 959 00:52:51,980 --> 00:52:53,450 lakini CS ni wote kuhusu mwelekeo. 960 00:52:53,450 --> 00:52:57,370 Mambo ni kiasi pretty huo, tu na tweaks vidogo. 961 00:52:57,370 --> 00:52:58,950 Jambo hivyo sawa hapa. 962 00:52:58,950 --> 00:53:04,040 Tunahitaji kuangalia kuona kama sisi kweli kuwa na kitu katika foleni yetu, haki? 963 00:53:04,040 --> 00:53:05,960 Kusema, sawa, ni kawaida yetu kubwa kuliko 0? 964 00:53:05,960 --> 00:53:06,730 Baridi. 965 00:53:06,730 --> 00:53:10,690 >> Kama sisi kufanya, basi sisi hoja kichwa yetu, ambayo ni nini mimi tu alionyesha hapa. 966 00:53:10,690 --> 00:53:13,870 Sisi update kichwa yetu kuwa moja zaidi. 967 00:53:13,870 --> 00:53:18,390 Na kisha sisi mapunguzo wetu ukubwa na kurudi kipengele. 968 00:53:18,390 --> 00:53:21,000 969 00:53:21,000 --> 00:53:26,250 >> Kuna mengi zaidi ya saruji kanuni ya study.cs50.net, 970 00:53:26,250 --> 00:53:29,440 na mimi sana kupendekeza kwenda kwa njia hiyo kama una muda, 971 00:53:29,440 --> 00:53:30,980 hata kama ni tu Pseudo-kificho. 972 00:53:30,980 --> 00:53:35,980 Na kama wewe guys wanataka kuzungumza kupitia kwamba na mimi moja kwa moja, tafadhali napenda 973 00:53:35,980 --> 00:53:37,500 kujua. 974 00:53:37,500 --> 00:53:38,770 Ningependa kuwa na furaha kwa. 975 00:53:38,770 --> 00:53:42,720 Miundo data, kama wewe kuchukua CS 124, utasikia 976 00:53:42,720 --> 00:53:47,830 kujua kwamba miundo data kupata sana furaha na hii ni mwanzo tu. 977 00:53:47,830 --> 00:53:50,350 >> Hivyo najua ni vigumu. 978 00:53:50,350 --> 00:53:51,300 Ni sawa. 979 00:53:51,300 --> 00:53:52,410 Sisi mapambano. 980 00:53:52,410 --> 00:53:53,630 Mimi bado kufanya. 981 00:53:53,630 --> 00:53:56,660 Hivyo si wasiwasi sana kuhusu hilo. 982 00:53:56,660 --> 00:54:02,390 >> Lakini hiyo ni kimsingi yako ajali shaka katika miundo data. 983 00:54:02,390 --> 00:54:03,400 Najua ni mengi. 984 00:54:03,400 --> 00:54:06,860 Je, kuna chochote kwamba sisi ungependa kwenda tena? 985 00:54:06,860 --> 00:54:09,400 Chochote tunataka kuzungumza kupitia? 986 00:54:09,400 --> 00:54:10,060 Ndiyo? 987 00:54:10,060 --> 00:54:16,525 >> Watazamaji: Kwa mfano kwamba, hivyo mkia mpya ni katika 0 juu ya kwamba? 988 00:54:16,525 --> 00:54:17,150 SPIKA 1: Ndiyo. 989 00:54:17,150 --> 00:54:18,230 Watazamaji: OK. 990 00:54:18,230 --> 00:54:24,220 Hivyo basi kwenda kupitia, wewe d kuwa 1 plus 4 or-- 991 00:54:24,220 --> 00:54:27,671 >> SPIKA 1: Hivyo wewe walikuwa wakisema, wakati tunataka kwenda kufanya hii tena? 992 00:54:27,671 --> 00:54:28,296 Watazamaji: Yeah. 993 00:54:28,296 --> 00:54:38,290 Hivyo kama wewe walikuwa kuhesabia out-- ambapo ni you kuhesabu mkia kutoka katika hilo? 994 00:54:38,290 --> 00:54:44,260 >> SPIKA 1: Hivyo mkia ilikuwa in-- mimi iliyopita hii. 995 00:54:44,260 --> 00:54:52,010 Hivyo katika mfano huu hapa, hii ilikuwa safu sisi tunataka, sawa? 996 00:54:52,010 --> 00:54:54,670 Hivyo tuna mambo katika 1, 2, 3 na 4. 997 00:54:54,670 --> 00:55:05,850 Hivyo tuna kichwa yetu ni sawa na 1 katika hatua hii, na ukubwa wetu ni sawa na 4 998 00:55:05,850 --> 00:55:07,050 katika hatua hii, haki? 999 00:55:07,050 --> 00:55:08,960 >> Wewe kukubaliana kwamba kesi? 1000 00:55:08,960 --> 00:55:14,620 Hivyo sisi kufanya kichwa plus kawaida, ambayo inatupa 5, na kisha sisi Mod na 5. 1001 00:55:14,620 --> 00:55:20,690 Sisi kupata 0, ambayo inatuambia kwamba ni 0 ambapo ni mkia yetu, ambapo tuna nafasi. 1002 00:55:20,690 --> 00:55:22,010 >> Watazamaji: Nini kofia? 1003 00:55:22,010 --> 00:55:23,520 >> SPIKA 1: uwezo. 1004 00:55:23,520 --> 00:55:24,020 Pole. 1005 00:55:24,020 --> 00:55:29,640 Hivyo kwamba ni ukubwa wa safu yako. 1006 00:55:29,640 --> 00:55:35,210 1007 00:55:35,210 --> 00:55:36,047 Ndiyo? 1008 00:55:36,047 --> 00:55:39,210 >> Watazamaji: [inaudible] kabla ya sisi kurudi kipengele? 1009 00:55:39,210 --> 00:55:46,270 >> SPIKA 1: Hivyo sisi hoja kichwa au kurudi sasa? 1010 00:55:46,270 --> 00:55:52,680 Hivyo kama sisi hoja moja, mapunguzo kawaida? 1011 00:55:52,680 --> 00:55:54,150 Kushikilia. 1012 00:55:54,150 --> 00:55:55,770 Mimi dhahiri alisahau nyingine. 1013 00:55:55,770 --> 00:56:00,646 1014 00:56:00,646 --> 00:56:01,990 Kamwe akili. 1015 00:56:01,990 --> 00:56:04,980 Kuna si formula nyingine. 1016 00:56:04,980 --> 00:56:09,980 Yeah, wewe unataka kurudi kichwa na kisha kuondoka nyuma. 1017 00:56:09,980 --> 00:56:13,270 >> Watazamaji: sawa, kwa sababu Katika hii uhakika, kichwani ilikuwa saa 0, 1018 00:56:13,270 --> 00:56:18,452 na kisha unataka kurudi index 0 na kisha kufanya kichwa 1? 1019 00:56:18,452 --> 00:56:19,870 >> SPIKA 1: Haki. 1020 00:56:19,870 --> 00:56:22,820 Nadhani kuna mwingine formula aina ya kama hii. 1021 00:56:22,820 --> 00:56:26,970 Sina ni juu ya kichwa yangu kama Sitaki kukupa moja sahihi. 1022 00:56:26,970 --> 00:56:35,470 Lakini nadhani ni kikamilifu halali kwa kusema, sawa, kuhifadhi element-- hii chochote 1023 00:56:35,470 --> 00:56:40,759 kipengele kichwa ya is-- mapunguzo yako ukubwa, hoja ya kichwa yako juu, na kurudi 1024 00:56:40,759 --> 00:56:41,800 chochote kwamba kipengele ni. 1025 00:56:41,800 --> 00:56:44,760 Hiyo ni kikamilifu halali. 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 Najisikia kama hii si kama most-- wewe si 1029 00:56:53,560 --> 00:56:55,740 kwenda kutembea nje ya hapa kama, ndiyo, najua anajaribu. 1030 00:56:55,740 --> 00:56:56,880 I got yote. 1031 00:56:56,880 --> 00:56:57,670 Hiyo ni sawa. 1032 00:56:57,670 --> 00:57:00,200 Mimi ahadi. 1033 00:57:00,200 --> 00:57:05,240 Lakini miundo data ni kitu ambacho inachukua muda mwingi kupata kutumika. 1034 00:57:05,240 --> 00:57:10,010 Pengine ni moja ya gumu mambo, nadhani, katika shaka. 1035 00:57:10,010 --> 00:57:15,330 >> Hivyo ni dhahiri inachukua marudio na kuangalia at-- mimi 1036 00:57:15,330 --> 00:57:20,050 hawakuwa kweli kujua orodha wanaohusishwa mpaka mimi mno pamoja nao, 1037 00:57:20,050 --> 00:57:22,550 katika njia sawa kwamba sikuwa kweli kuelewa kuyatumia 1038 00:57:22,550 --> 00:57:27,040 mpaka nimepata kufundisha kwa ajili ya mbili miaka na kufanya psets yangu mwenyewe kwa hayo. 1039 00:57:27,040 --> 00:57:28,990 Inachukua mengi ya kikariri na wakati. 1040 00:57:28,990 --> 00:57:32,600 Na hatimaye, itakuwa aina ya click. 1041 00:57:32,600 --> 00:57:36,320 >> Lakini wakati huo huo, kama una aina ya kiwango cha juu ya uelewa wa nini 1042 00:57:36,320 --> 00:57:39,321 hizi kufanya, faida yao na cons-- ambayo ni nini 1043 00:57:39,321 --> 00:57:41,820 sisi kweli huwa na kusisitiza, hasa katika mwendo intro. 1044 00:57:41,820 --> 00:57:45,511 Kama, kwa nini sisi kutumia a kujaribu juu ya safu? 1045 00:57:45,511 --> 00:57:48,010 Kama, nini ni chanya na hasi ya kila mmoja wa wale? 1046 00:57:48,010 --> 00:57:51,610 >> Na kuelewa biashara awamu ya pili kati ya kila ya miundo haya 1047 00:57:51,610 --> 00:57:54,910 ni nini muhimu zaidi hivi sasa. 1048 00:57:54,910 --> 00:57:58,140 Kuna inaweza kuwa moja mambo swali au mbili kwamba 1049 00:57:58,140 --> 00:58:03,710 kwenda kuuliza wewe kutekeleza kushinikiza au kutekeleza pop au enqueue na dequeue. 1050 00:58:03,710 --> 00:58:07,340 Lakini kwa sehemu kubwa, kuwa na kwamba kiwango cha juu ufahamu na zaidi 1051 00:58:07,340 --> 00:58:09,710 ya kufahamu Intuitive ni muhimu zaidi kuliko kweli 1052 00:58:09,710 --> 00:58:11,250 kuwa na uwezo wa kutekeleza. 1053 00:58:11,250 --> 00:58:14,880 >> Ni d kuwa kweli kutisha kama nyote inaweza kwenda nje na kwenda kutekeleza kujaribu, 1054 00:58:14,880 --> 00:58:19,720 lakini sisi kuelewa ni si lazima Jambo nzuri zaidi hivi sasa. 1055 00:58:19,720 --> 00:58:23,370 Lakini unaweza katika pset yako, kama unataka kwa, na kisha utapata mazoezi, 1056 00:58:23,370 --> 00:58:27,200 na kisha labda utasikia kweli kuelewa. 1057 00:58:27,200 --> 00:58:27,940 Ndiyo? 1058 00:58:27,940 --> 00:58:30,440 >> Watazamaji: OK, hivyo ambayo ndio ni sisi maana ya kutumia katika pset? 1059 00:58:30,440 --> 00:58:31,916 Je, mimi haja ya kutumia mmoja wao? 1060 00:58:31,916 --> 00:58:32,540 SPIKA 1: Ndiyo. 1061 00:58:32,540 --> 00:58:34,199 Hivyo una uchaguzi wako. 1062 00:58:34,199 --> 00:58:36,740 Nadhani katika kesi hii, tunaweza majadiliano juu ya pset kidogo 1063 00:58:36,740 --> 00:58:40,480 kwa sababu mimi mbio kupitia hizi. 1064 00:58:40,480 --> 00:58:47,779 Hivyo katika pset yako, una yako uchaguzi wa inajaribu au meza hash. 1065 00:58:47,779 --> 00:58:49,570 Baadhi ya watu kujaribu na kutumia filters Bloom, 1066 00:58:49,570 --> 00:58:51,840 lakini wale kitaalam si sahihi. 1067 00:58:51,840 --> 00:58:55,804 Kwa sababu ya asili yao ya kubahatisha, wao kutoa chanya uongo wakati mwingine. 1068 00:58:55,804 --> 00:58:57,095 Wao ni baridi kuangalia katika, ingawa. 1069 00:58:57,095 --> 00:58:59,030 Sana kupendekeza kuangalia yao angalau. 1070 00:58:59,030 --> 00:59:03,260 Lakini una uchaguzi wako kati ya hash meza na kujaribu. 1071 00:59:03,260 --> 00:59:06,660 Na kwamba kinaendelea kuwa ambapo mzigo katika kamusi yako. 1072 00:59:06,660 --> 00:59:09,230 >> Na wewe utakuwa haja ya kuchagua hash kazi yako, 1073 00:59:09,230 --> 00:59:13,420 itabidi kuchagua jinsi wengi ndoo una, na itakuwa kutofautiana. 1074 00:59:13,420 --> 00:59:17,440 Kama kama una ndoo zaidi, labda itabidi kukimbia kwa kasi. 1075 00:59:17,440 --> 00:59:22,790 Lakini labda wewe ni kupoteza mengi ya nafasi ya kuwa njia, ingawa. 1076 00:59:22,790 --> 00:59:26,320 Una takwimu ni nje. 1077 00:59:26,320 --> 00:59:27,140 Mmhmm? 1078 00:59:27,140 --> 00:59:29,875 >> Watazamaji: Ulisema kabla kwamba tunaweza kutumia kazi nyingine hash, 1079 00:59:29,875 --> 00:59:31,750 kwamba hatuna kwa kujenga hash kazi? 1080 00:59:31,750 --> 00:59:32,666 >> SPIKA 1: Ndiyo, haki. 1081 00:59:32,666 --> 00:59:38,150 Hivyo literally kwa hash kazi yako, kama google "hash" 1082 00:59:38,150 --> 00:59:40,770 na kuangalia kwa baadhi ya wale baridi. 1083 00:59:40,770 --> 00:59:43,250 Wewe si inatarajiwa kujenga hash yako mwenyewe kazi. 1084 00:59:43,250 --> 00:59:46,100 Watu kutumia yao Theses juu ya mambo haya. 1085 00:59:46,100 --> 00:59:50,250 >> Hivyo msiwe na wasiwasi kuhusu kujenga yako mwenyewe. 1086 00:59:50,250 --> 00:59:53,350 Kupata moja online kuanza na. 1087 00:59:53,350 --> 00:59:56,120 Baadhi yao una kuendesha kidogo 1088 00:59:56,120 --> 00:59:59,430 kuhakikisha aina ya kurudi mechi ya juu na whatnot, hivyo katika mwanzo, 1089 00:59:59,430 --> 01:00:02,420 Ningependa kupendekeza kutumia kitu kweli rahisi kwamba labda tu 1090 01:00:02,420 --> 01:00:04,680 hashes juu ya barua ya kwanza. 1091 01:00:04,680 --> 01:00:08,760 Na kisha mara moja una kwamba kazi, kuchanganya baridi hash kazi. 1092 01:00:08,760 --> 01:00:09,260 Mmhmm? 1093 01:00:09,260 --> 01:00:13,020 >> Watazamaji: Je kujaribu kuwa au ufanisi lakini vigumu tu, like-- 1094 01:00:13,020 --> 01:00:15,880 >> SPIKA 1: Hivyo kujaribu, nadhani, ni intuitively ngumu kutekeleza 1095 01:00:15,880 --> 01:00:18,310 lakini ni haraka sana. 1096 01:00:18,310 --> 01:00:20,620 Hata hivyo, inachukua hadi nafasi zaidi. 1097 01:00:20,620 --> 01:00:25,270 Tena, unaweza kuongeza wote wawili wa wale walio katika njia tofauti na kuna njia to-- 1098 01:00:25,270 --> 01:00:26,770 Watazamaji: Jinsi ni sisi graded juu ya hili? 1099 01:00:26,770 --> 01:00:27,540 Je, ni matter-- 1100 01:00:27,540 --> 01:00:29,164 >> SPIKA 1: Hivyo wewe ni hadhi njia ya kawaida. 1101 01:00:29,164 --> 01:00:31,330 Wewe ni kwenda kuwa na hadhi ya kubuni. 1102 01:00:31,330 --> 01:00:36,020 Njia yoyote ya kufanya, unataka kuhakikisha ni kama kifahari kama inaweza kuwa 1103 01:00:36,020 --> 01:00:38,610 na kama ufanisi kama inaweza kuwa. 1104 01:00:38,610 --> 01:00:41,950 Lakini kama wewe kuchagua kujaribu au hash meza, kwa muda mrefu kama ni kazi, 1105 01:00:41,950 --> 01:00:45,350 sisi ni furaha na kwamba. 1106 01:00:45,350 --> 01:00:48,370 Na kama wewe kutumia kitu ambacho hashes juu ya barua ya kwanza, hiyo ni nzuri, 1107 01:00:48,370 --> 01:00:51,410 kama labda kama kubuni-busara. 1108 01:00:51,410 --> 01:00:53,410 Sisi ni pia kufikia hatua katika semester-- hii 1109 01:00:53,410 --> 01:00:55,340 Sijui kama guys noticed-- kama wewe ni 1110 01:00:55,340 --> 01:00:58,780 pset darasa kushuka kidogo kwa sababu ya kubuni na whatnot, 1111 01:00:58,780 --> 01:00:59,900 hiyo ni kikamilifu faini. 1112 01:00:59,900 --> 01:01:02,960 Ni kupata kwa uhakika ambapo yako programu ni kupata ngumu zaidi. 1113 01:01:02,960 --> 01:01:04,830 Kuna maeneo zaidi unaweza kuboresha. 1114 01:01:04,830 --> 01:01:06,370 >> Hivyo ni kawaida kabisa. 1115 01:01:06,370 --> 01:01:08,810 Siyo kwamba wewe ni kufanya mbaya zaidi juu ya pset yako. 1116 01:01:08,810 --> 01:01:11,885 Ni tu sisi ni kuwa vigumu wewe sasa. 1117 01:01:11,885 --> 01:01:13,732 Hivyo kila mtu ni hisia yake. 1118 01:01:13,732 --> 01:01:14,940 Mimi tu graded psets yako yote. 1119 01:01:14,940 --> 01:01:16,490 Najua kila mtu ni hisia yake. 1120 01:01:16,490 --> 01:01:19,600 >> Hivyo si kuwa na wasiwasi juu ya hilo. 1121 01:01:19,600 --> 01:01:23,580 Na kama una maswali yoyote kuhusu psets kabla au njia unaweza kuboresha, 1122 01:01:23,580 --> 01:01:27,760 Mimi kujaribu na kutoa maoni maalum maeneo, lakini wakati mwingine ni marehemu 1123 01:01:27,760 --> 01:01:30,840 na mimi kupata kuchoka. 1124 01:01:30,840 --> 01:01:34,885 Je, kuna mambo mengine yoyote kuhusu data miundo? 1125 01:01:34,885 --> 01:01:37,510 Mimi nina uhakika wewe guys si kweli wanataka kuzungumza kuhusu wao tena, 1126 01:01:37,510 --> 01:01:42,650 lakini kama kuna, mimi nina furaha kwenda juu yao, kama vile kitu chochote 1127 01:01:42,650 --> 01:01:45,580 kutoka hotuba ya zamani hii wiki au wiki iliyopita. 1128 01:01:45,580 --> 01:01:51,580 >> Najua wiki iliyopita alikuwa mapitio wote, hivyo sisi inaweza kuwa skipped juu ya baadhi ya mapitio 1129 01:01:51,580 --> 01:01:54,190 kutoka mihadhara. 1130 01:01:54,190 --> 01:01:58,230 Maswali mengine yoyote naweza kujibu? 1131 01:01:58,230 --> 01:01:59,350 OK, haki ya wote. 1132 01:01:59,350 --> 01:02:02,400 Naam, wewe guys kupata nje ya dakika 15 mapema. 1133 01:02:02,400 --> 01:02:08,370 >> Natumaini hii ilikuwa nusu kusaidia angalau, na mimi kuona wewe guys wiki ijayo, 1134 01:02:08,370 --> 01:02:12,150 au Alhamisi ofisi masaa. 1135 01:02:12,150 --> 01:02:15,285 Je, kuna maombi kwa vitafunio kwa wiki ijayo, ni jambo? 1136 01:02:15,285 --> 01:02:17,459 Kwa sababu mimi alisahau pipi leo. 1137 01:02:17,459 --> 01:02:19,750 Na mimi kuletwa pipi mwisho wiki, lakini ilikuwa Columbus Day, 1138 01:02:19,750 --> 01:02:25,400 hivyo kulikuwa na kama watu sita ambao alikuwa mifuko minne ya pipi kwa wenyewe. 1139 01:02:25,400 --> 01:02:28,820 Mimi inaweza kuleta Starbursts tena kama wewe kama. 1140 01:02:28,820 --> 01:02:29,580 Starbursts? 1141 01:02:29,580 --> 01:02:32,250 OK, sauti nzuri. 1142 01:02:32,250 --> 01:02:35,050 Kuwa na siku kubwa, guys. 1143 01:02:35,050 --> 01:02:39,510