1 00:00:00,000 --> 00:00:08,250 2 00:00:08,250 --> 00:00:12,680 >> JASON HIRSCHHORN: Karibu kila mtu kwa sehemu ya Saba. 3 00:00:12,680 --> 00:00:15,040 Sisi ni katika wiki saba bila shaka. 4 00:00:15,040 --> 00:00:18,440 Na hii Alhamisi ujao ni Halloween hivyo mimi 5 00:00:18,440 --> 00:00:21,420 amevaa juu kama pumpkin. 6 00:00:21,420 --> 00:00:23,460 Sikuweza bend juu ya kuweka na juu ya viatu yangu, hivyo ndiyo sababu mimi nina 7 00:00:23,460 --> 00:00:25,660 tu amevaa soksi. 8 00:00:25,660 --> 00:00:29,220 Mimi pia si amevaa kitu chochote chini ya hii, hivyo siwezi kuchukua ni mbali kama ni 9 00:00:29,220 --> 00:00:29,950 bughudha na wewe. 10 00:00:29,950 --> 00:00:31,860 Mimi kuomba msamaha mapema kwa ajili hiyo. 11 00:00:31,860 --> 00:00:33,170 Huna haja ya kufikiria nini kinaendelea. 12 00:00:33,170 --> 00:00:34,240 Mimi amevaa mabondia. 13 00:00:34,240 --> 00:00:36,170 Hivyo ni njema. 14 00:00:36,170 --> 00:00:41,120 >> Mimi na hadithi tena kuhusu kwa nini mimi nina wamevaa kama pumpkin, lakini nina kwenda 15 00:00:41,120 --> 00:00:45,110 ila kwa ajili ya baadaye katika sehemu hii kwa sababu mimi unataka kuanza. 16 00:00:45,110 --> 00:00:47,720 Tuna mengi ya mambo ya kusisimua kwenda juu ya wiki hii. 17 00:00:47,720 --> 00:00:51,810 Wengi wao yanahusiana moja kwa moja hii kuweka wiki tatizo, misspellings. 18 00:00:51,810 --> 00:00:54,680 Tunakwenda kwenda juu ya uhusiano orodha na meza hash 19 00:00:54,680 --> 00:00:57,160 kwa ajili ya sehemu nzima. 20 00:00:57,160 --> 00:01:02,490 Mimi kuweka orodha hii juu ya kila wiki, orodha ya rasilimali kwa ajili yenu kukusaidia na 21 00:01:02,490 --> 00:01:04,120 vifaa juu ya kozi hii. 22 00:01:04,120 --> 00:01:07,600 Kama hasara au kama kuangalia kwa baadhi ya habari zaidi, angalia moja kati ya 23 00:01:07,600 --> 00:01:09,930 rasilimali hizi. 24 00:01:09,930 --> 00:01:14,530 >> Tena, pset6 ni misspellings, pset ya wiki hii. 25 00:01:14,530 --> 00:01:17,690 Na pia moyo wewe, na mimi moyo, kwa kutumia baadhi nyingine 26 00:01:17,690 --> 00:01:20,320 rasilimali mahsusi kwa ajili ya pset hii. 27 00:01:20,320 --> 00:01:23,390 Hasa, tatu nimekuwa waliotajwa juu ya screen - 28 00:01:23,390 --> 00:01:27,160 GDB, ambayo tumekuwa ukoo na na wamekuwa wakitumia kwa muda sasa, ni 29 00:01:27,160 --> 00:01:29,270 kwenda kuwa na manufaa sana wiki hii. 30 00:01:29,270 --> 00:01:30,190 Basi, mimi kuweka kwamba hapa. 31 00:01:30,190 --> 00:01:32,910 Lakini, wakati wewe ni kufanya kazi kwa C, unatakiwa kutumia GDB kwa 32 00:01:32,910 --> 00:01:34,430 Debug programu yako. 33 00:01:34,430 --> 00:01:36,660 Wiki hii pia Valgrind. 34 00:01:36,660 --> 00:01:38,535 Je, mtu yeyote kujua nini Valgrind gani? 35 00:01:38,535 --> 00:01:42,184 36 00:01:42,184 --> 00:01:43,890 >> Watazamaji: Ni hundi ya uvujaji kumbukumbu? 37 00:01:43,890 --> 00:01:45,950 >> JASON HIRSCHHORN: Valgrind hundi kwa ajili ya uvujaji wa kumbukumbu. 38 00:01:45,950 --> 00:01:49,970 Hivyo kama wewe malloc kitu katika yako mpango, wewe ni kuuliza kwa ajili ya kumbukumbu. 39 00:01:49,970 --> 00:01:52,920 Mwishoni mwa mpango wako, una kuandika bure juu ya kila kitu wameweza 40 00:01:52,920 --> 00:01:54,800 malloced kutoa kumbukumbu nyuma. 41 00:01:54,800 --> 00:01:58,420 Kama huna kuandika bure mwishoni na mpango wako anakuja kumalizia, 42 00:01:58,420 --> 00:02:00,000 kila kitu moja kwa moja kuwa huru. 43 00:02:00,000 --> 00:02:02,340 Na kwa ajili ya programu ndogo, ni kuwa kubwa mpango huo. 44 00:02:02,340 --> 00:02:05,250 Lakini kama wewe ni kuandika mbio tena mpango huo haina kujiondoa, 45 00:02:05,250 --> 00:02:09,180 lazima, katika dakika kadhaa au a wanandoa wa sekunde, basi kumbukumbu uvujaji 46 00:02:09,180 --> 00:02:10,710 unaweza kuwa mpango mkubwa. 47 00:02:10,710 --> 00:02:14,940 >> Hivyo kwa pset6, matarajio ni kwamba utakuwa na uvujaji zero kumbukumbu na 48 00:02:14,940 --> 00:02:15,910 programu yako. 49 00:02:15,910 --> 00:02:18,690 Kwa kuangalia kwa uvujaji kumbukumbu, kukimbia Valgrind na nitakupa baadhi nzuri 50 00:02:18,690 --> 00:02:21,190 pato kuruhusu kujua kama au si kila kitu bure. 51 00:02:21,190 --> 00:02:23,940 Tutaweza mazoezi na baadaye leo, hopefully. 52 00:02:23,940 --> 00:02:25,790 >> Hatimaye, amri tofauti. 53 00:02:25,790 --> 00:02:28,900 Unaweza kutumika kitu sawa na ni katika pset5 kwa Peek chombo. 54 00:02:28,900 --> 00:02:30,780 Kuruhusiwa wewe kuangalia ndani. 55 00:02:30,780 --> 00:02:33,400 Unaweza pia kutumika tofauti, pia, kwa kuweka tatizo spec. 56 00:02:33,400 --> 00:02:35,950 Lakini katika kuruhusiwa wewe kulinganisha files mbili. 57 00:02:35,950 --> 00:02:39,180 Unaweza kulinganisha bitmap file na info headers ya ufumbuzi wafanyakazi na 58 00:02:39,180 --> 00:02:42,200 ufumbuzi wako katika pset5 kama alichagua matumizi yake. 59 00:02:42,200 --> 00:02:44,030 Tofauti itawawezesha kufanya hivyo, kama vile. 60 00:02:44,030 --> 00:02:48,620 Unaweza kulinganisha jibu sahihi kwa tatizo wiki hii kuweka kwa jibu lako 61 00:02:48,620 --> 00:02:52,210 na kuona kama hayo yanaendana au kuona ambapo makosa ni. 62 00:02:52,210 --> 00:02:55,870 >> Basi hizo zana tatu nzuri kwamba unapaswa kutumia kwa wiki hii, na 63 00:02:55,870 --> 00:02:58,130 dhahiri kuangalia programu yako na zana hizo tatu 64 00:02:58,130 --> 00:03:00,520 kabla ya kumwelekeza in 65 00:03:00,520 --> 00:03:04,650 Tena, kama nilizozitaja kila wiki, kama una maoni yoyote kwa ajili yangu - wote 66 00:03:04,650 --> 00:03:06,470 chanya na ya kiubunifu - 67 00:03:06,470 --> 00:03:09,930 kujisikia huru kwa kichwa na tovuti chini ya slide hii 68 00:03:09,930 --> 00:03:11,270 na pembejeo huko. 69 00:03:11,270 --> 00:03:13,440 Mimi kwa kweli kufahamu yoyote na maoni yote. 70 00:03:13,440 --> 00:03:17,360 Na kama wewe nipe mambo maalum ambayo Mimi siwezi kufanya kuboresha au kwamba mimi nina 71 00:03:17,360 --> 00:03:21,350 kufanya vizuri kwamba ungependa mimi kuendelea, mimi kuchukua kwa moyo na 72 00:03:21,350 --> 00:03:24,040 kweli kujaribu kwa bidii ili kusikiliza kwa maoni yako. 73 00:03:24,040 --> 00:03:27,720 Siwezi kuahidi mimi nina kwenda kufanya kila kitu, ingawa, kama amevaa 74 00:03:27,720 --> 00:03:30,700 pumpkin Costume kila wiki. 75 00:03:30,700 --> 00:03:34,020 >> Hivyo sisi ni kwenda kutumia wingi wa sehemu, kama nilivyoeleza, kuzungumza juu ya 76 00:03:34,020 --> 00:03:37,240 orodha ya wanaohusishwa na meza hash, ambayo itakuwa moja kwa moja husika na 77 00:03:37,240 --> 00:03:38,780 kuweka tatizo wiki hii. 78 00:03:38,780 --> 00:03:42,580 Orodha wanaohusishwa tutaweza kwenda juu kiasi haraka kwa sababu tumekuwa alitumia kidogo ya haki 79 00:03:42,580 --> 00:03:44,930 ya muda kwenda juu yake katika sehemu. 80 00:03:44,930 --> 00:03:48,680 Na hivyo tutaweza kupata moja kwa moja katika coding matatizo kwa orodha wanaohusishwa. 81 00:03:48,680 --> 00:03:52,740 Na kisha mwishoni tutaweza kuzungumzia hash meza na jinsi wao kuomba hii 82 00:03:52,740 --> 00:03:55,280 tatizo wiki kuweka. 83 00:03:55,280 --> 00:03:57,560 >> Umeona kanuni hii kabla ya. 84 00:03:57,560 --> 00:04:02,730 Hii ni struct, na ni kufafanua kitu mpya iitwayo nodi. 85 00:04:02,730 --> 00:04:10,660 Na ndani ya node kuna integer haki hapa na pale ni pointer kwa 86 00:04:10,660 --> 00:04:11,830 node mwingine. 87 00:04:11,830 --> 00:04:12,790 Tumeona hili kabla. 88 00:04:12,790 --> 00:04:14,830 Hii imekuwa kuja kwa wiki kadhaa sasa. 89 00:04:14,830 --> 00:04:18,680 Inaunganisha kuyatumia, ambayo tumekuwa kufanya kazi pamoja, na structs, ambayo kuruhusu 90 00:04:18,680 --> 00:04:22,079 sisi kuchanganya mbili tofauti mambo katika data aina moja. 91 00:04:22,079 --> 00:04:24,830 92 00:04:24,830 --> 00:04:26,490 >> Kuna mengi kinachoendelea juu ya screen. 93 00:04:26,490 --> 00:04:30,220 Lakini wote ni lazima kuwa kiasi familiar na wewe. 94 00:04:30,220 --> 00:04:33,810 On line ya kwanza, sisi kutangaza node mpya. 95 00:04:33,810 --> 00:04:41,650 Na kisha ndani kwamba nodi mpya, mimi kuweka integer katika node kwa moja. 96 00:04:41,650 --> 00:04:44,950 Tunaona juu ya mstari wa pili mimi nina kufanya printf amri, lakini nimepata grayed nje 97 00:04:44,950 --> 00:04:48,080 amri printf kwa sababu kwa kweli sehemu muhimu ni mstari huu hapa - 98 00:04:48,080 --> 00:04:50,020 new_node.n. 99 00:04:50,020 --> 00:04:51,270 Gani dot maana yake nini? 100 00:04:51,270 --> 00:04:53,810 101 00:04:53,810 --> 00:04:57,240 >> Watazamaji: Go to node na kutathmini n thamani kwa ajili yake. 102 00:04:57,240 --> 00:04:58,370 >> JASON HIRSCHHORN: Hiyo ni sahihi kabisa. 103 00:04:58,370 --> 00:05:03,300 Dot maana kupata n sehemu ya nodi hii mpya. 104 00:05:03,300 --> 00:05:05,690 Hii mstari wa pili anafanya nini? 105 00:05:05,690 --> 00:05:16,140 106 00:05:16,140 --> 00:05:17,050 Michael. 107 00:05:17,050 --> 00:05:21,910 >> Watazamaji: Ni inajenga node mwingine kwamba uhakika na node mpya. 108 00:05:21,910 --> 00:05:24,870 >> JASON HIRSCHHORN: Kwa hiyo haina kujenga node mpya. 109 00:05:24,870 --> 00:05:26,120 Ni inajenga nini? 110 00:05:26,120 --> 00:05:28,300 111 00:05:28,300 --> 00:05:29,300 >> Watazamaji: pointer. 112 00:05:29,300 --> 00:05:33,460 >> JASON HIRSCHHORN: pointer kwa node, kama unahitajika kwa * hii node hapa. 113 00:05:33,460 --> 00:05:34,800 Hivyo inajenga pointer kwa nodi. 114 00:05:34,800 --> 00:05:37,490 Na ambayo node ni ni akizungumzia kwa, Michael? 115 00:05:37,490 --> 00:05:38,440 >> Watazamaji: New node? 116 00:05:38,440 --> 00:05:39,240 >> JASON HIRSCHHORN: New nodi. 117 00:05:39,240 --> 00:05:43,020 Na ni akizungumzia huko kwa sababu tumekuwa aliyopewa ni ya barua pepe ya node mpya. 118 00:05:43,020 --> 00:05:45,820 Na sasa katika mstari huu tunaona njia mbili tofauti ya 119 00:05:45,820 --> 00:05:46,910 kuonyesha kitu kimoja. 120 00:05:46,910 --> 00:05:49,650 Na nilitaka kwa uhakika jinsi hizi mambo mawili ni sawa. 121 00:05:49,650 --> 00:05:54,740 Katika mstari wa kwanza, sisi dereference pointer. 122 00:05:54,740 --> 00:05:55,830 Kwa hiyo sisi kwenda nodi. 123 00:05:55,830 --> 00:05:56,830 Hiyo ni nini nyota hii ina maana. 124 00:05:56,830 --> 00:05:57,930 Tumeona kuwa kabla na kuyatumia. 125 00:05:57,930 --> 00:05:59,280 Kwenda kwamba nodi. 126 00:05:59,280 --> 00:06:00,370 Hiyo ni katika mabano. 127 00:06:00,370 --> 00:06:04,610 Na kisha kupata kupitia dot operator n hiki ya kwamba nodi. 128 00:06:04,610 --> 00:06:08,430 >> Hivyo hiyo kuchukua syntax tuliona haki hapa na sasa 129 00:06:08,430 --> 00:06:09,670 kuitumia na pointer. 130 00:06:09,670 --> 00:06:13,730 Bila shaka, anapata aina ya busy kama wewe ni kuandika mabano hao - 131 00:06:13,730 --> 00:06:14,940 kwamba nyota na kwamba dot. 132 00:06:14,940 --> 00:06:16,220 Ni anapata kidogo busy. 133 00:06:16,220 --> 00:06:18,500 Hivyo tuna baadhi sukari Kiwango cha kisintaksia. 134 00:06:18,500 --> 00:06:19,920 Na line haki hii hapa - 135 00:06:19,920 --> 00:06:21,170 ptr_node-> n. 136 00:06:21,170 --> 00:06:25,400 137 00:06:25,400 --> 00:06:28,000 Kwamba hana kitu kimoja halisi. 138 00:06:28,000 --> 00:06:30,840 Hivyo wale mistari miwili ya maadili ya ni sawa na kufanya 139 00:06:30,840 --> 00:06:31,650 exact kitu. 140 00:06:31,650 --> 00:06:34,210 >> Lakini nilitaka uhakika wale nje kabla ya sisi kwenda yoyote zaidi ili kuelewa 141 00:06:34,210 --> 00:06:39,000 kwamba kweli jambo hili hapa ni tu Kiwango cha kisintaksia sukari kwa dereferencing 142 00:06:39,000 --> 00:06:44,200 pointer na kisha kwenda n sehemu ya kwamba struct. 143 00:06:44,200 --> 00:06:45,525 Maswali yoyote kuhusu slide hii? 144 00:06:45,525 --> 00:06:53,020 145 00:06:53,020 --> 00:06:54,390 OK. 146 00:06:54,390 --> 00:06:58,510 >> Hivyo sisi ni kwenda kupitia wanandoa wa shughuli za kwamba unaweza kufanya juu ya 147 00:06:58,510 --> 00:06:59,730 wanaohusishwa orodha. 148 00:06:59,730 --> 00:07:05,770 orodha wanaohusishwa, kukumbuka, ni mfululizo wa nodes kwamba uhakika na mtu mwingine. 149 00:07:05,770 --> 00:07:12,470 Na sisi kwa ujumla kuanza na pointer kuitwa kichwa, kwa ujumla, kwamba pointi kwa 150 00:07:12,470 --> 00:07:14,040 Jambo la kwanza katika orodha. 151 00:07:14,040 --> 00:07:18,900 Kadhalika mstari wa kwanza hapa, sisi kuwa na asili L yetu ya kwanza. 152 00:07:18,900 --> 00:07:21,370 Ili jambo unaweza kufikiria - hii Nakala haki hapa unaweza kufikiria kama 153 00:07:21,370 --> 00:07:23,560 tu pointer tumekuwa kuhifadhiwa mahali fulani kwamba pointi 154 00:07:23,560 --> 00:07:24,670 kwa hiki kwanza. 155 00:07:24,670 --> 00:07:27,500 Na katika orodha hii wanaohusishwa tuna nodes nne. 156 00:07:27,500 --> 00:07:29,530 Kila node ni sanduku kubwa. 157 00:07:29,530 --> 00:07:33,430 sanduku kubwa ndani ya kubwa sanduku ni integer sehemu. 158 00:07:33,430 --> 00:07:37,400 Na kisha tuna pointer sehemu. 159 00:07:37,400 --> 00:07:39,630 >> Masanduku haya si inayotolewa kwa wadogo kwa sababu jinsi kubwa ni 160 00:07:39,630 --> 00:07:42,320 integer katika ka? 161 00:07:42,320 --> 00:07:43,290 Jinsi kubwa sasa? 162 00:07:43,290 --> 00:07:43,710 Nne. 163 00:07:43,710 --> 00:07:45,470 Na jinsi kubwa ni pointer? 164 00:07:45,470 --> 00:07:45,940 Nne. 165 00:07:45,940 --> 00:07:48,180 Hivyo kweli, kama tulikuwa kuteka hii wadogo wawili masanduku 166 00:07:48,180 --> 00:07:49,690 itakuwa na ukubwa huo. 167 00:07:49,690 --> 00:07:52,870 Katika kesi hiyo, tunataka kuingiza kitu katika orodha wanaohusishwa. 168 00:07:52,870 --> 00:07:57,190 Hivyo unaweza kuona chini hapa sisi ni kuingiza tano Sisi tembeeni katika 169 00:07:57,190 --> 00:08:01,310 orodha wanaohusishwa, kupata ambapo tano unaendelea, na kisha kuingiza. 170 00:08:01,310 --> 00:08:03,560 >> Hebu kuvunja kwamba chini na kwenda kidogo polepole zaidi. 171 00:08:03,560 --> 00:08:05,510 Mimi nina kwenda kwa uhakika na bodi. 172 00:08:05,510 --> 00:08:09,930 Hivyo tuna node zetu tano kwamba tumeunda katika mallocs. 173 00:08:09,930 --> 00:08:11,190 Kwa nini kila mtu laughing? 174 00:08:11,190 --> 00:08:12,130 Just kidding. 175 00:08:12,130 --> 00:08:13,310 OK. 176 00:08:13,310 --> 00:08:14,820 Hivyo tumekuwa malloced tano. 177 00:08:14,820 --> 00:08:16,310 Tumeunda node hii mahali pengine. 178 00:08:16,310 --> 00:08:17,740 Sisi kuwa ni tayari kwenda. 179 00:08:17,740 --> 00:08:20,130 Sisi kuanza mbele ya orodha yetu na mbili. 180 00:08:20,130 --> 00:08:22,380 Na tunataka kuingiza kwa mtindo sorted. 181 00:08:22,380 --> 00:08:27,550 >> Hivyo kama sisi kuona wawili na tunataka kuweka katika tano, je, sisi kufanya wakati tunaona 182 00:08:27,550 --> 00:08:28,800 kitu kidogo kuliko sisi? 183 00:08:28,800 --> 00:08:31,850 184 00:08:31,850 --> 00:08:33,520 Nini? 185 00:08:33,520 --> 00:08:36,750 Tunataka kuingiza tano katika hili orodha wanaohusishwa, kuweka yamepangwa. 186 00:08:36,750 --> 00:08:37,520 Tunaona namba mbili. 187 00:08:37,520 --> 00:08:38,769 Hivyo tunafanya nini? 188 00:08:38,769 --> 00:08:39,179 Marcus? 189 00:08:39,179 --> 00:08:40,679 >> Watazamaji: Wito pointer nodi ijayo. 190 00:08:40,679 --> 00:08:42,530 >> JASON HIRSCHHORN: Na kwa nini sisi kwenda moja ijayo? 191 00:08:42,530 --> 00:08:45,970 >> Watazamaji: Kwa sababu ni node ya pili katika orodha. 192 00:08:45,970 --> 00:08:48,310 Na sisi tu kujua kwamba eneo nyingine. 193 00:08:48,310 --> 00:08:50,410 >> JASON HIRSCHHORN: Na tano ni kubwa miaka miwili, hasa. 194 00:08:50,410 --> 00:08:51,600 Kwa sababu tunataka kuweka ni sorted. 195 00:08:51,600 --> 00:08:52,730 Hivyo tano ni zaidi ya miaka miwili. 196 00:08:52,730 --> 00:08:54,460 Kwa hiyo sisi kuendelea na moja ijayo. 197 00:08:54,460 --> 00:08:55,240 Na sasa sisi kufikia nne. 198 00:08:55,240 --> 00:08:56,490 Na kile kinachotokea wakati sisi kufikia nne? 199 00:08:56,490 --> 00:08:58,920 200 00:08:58,920 --> 00:09:00,310 >> Tano, ni mkubwa kuliko nne. 201 00:09:00,310 --> 00:09:01,460 Kwa hiyo sisi kuendelea. 202 00:09:01,460 --> 00:09:03,110 Na sasa tuko saa sita. 203 00:09:03,110 --> 00:09:04,360 Na nini sisi kuona katika sita? 204 00:09:04,360 --> 00:09:08,672 205 00:09:08,672 --> 00:09:09,608 Ndiyo, Carlos? 206 00:09:09,608 --> 00:09:10,544 >> Watazamaji: Sita ni zaidi ya tano. 207 00:09:10,544 --> 00:09:11,480 >> JASON HIRSCHHORN: Sita ni zaidi ya tano. 208 00:09:11,480 --> 00:09:13,660 Hivyo kwamba ni wapi tunataka kuingiza tano. 209 00:09:13,660 --> 00:09:17,320 Hata hivyo, kukumbuka kwamba kama sisi tu na pointer moja hapa - 210 00:09:17,320 --> 00:09:19,840 hii ni pointer yetu ya ziada kwamba apitaye kupitia orodha. 211 00:09:19,840 --> 00:09:21,860 Na sisi ni akizungumzia sita. 212 00:09:21,860 --> 00:09:25,010 Tumekuwa waliopotea wimbo wa nini huja kabla ya sita. 213 00:09:25,010 --> 00:09:29,130 Hivyo kama tunataka kuingiza kitu katika hii orodha kuweka sorted, sisi 214 00:09:29,130 --> 00:09:31,630 pengine wanahitaji kuyatumia ngapi? 215 00:09:31,630 --> 00:09:32,280 >> Watazamaji: Two. 216 00:09:32,280 --> 00:09:32,920 >> JASON HIRSCHORN: Two. 217 00:09:32,920 --> 00:09:35,720 Moja kwa kuweka wimbo wa sasa moja na moja kwa kuweka wimbo wa 218 00:09:35,720 --> 00:09:37,050 mmoja uliopita. 219 00:09:37,050 --> 00:09:38,450 Hii ni tu orodha moja moja wanaohusishwa. 220 00:09:38,450 --> 00:09:39,670 Ni tu unaendelea mwelekeo mmoja. 221 00:09:39,670 --> 00:09:43,220 Kama tungekuwa na orodha mara mbili wanaohusishwa, ambapo kila kitu akizungumzia jambo 222 00:09:43,220 --> 00:09:46,240 baada yake na kitu kabla yake, kisha sisi bila haja ya kufanya hivyo. 223 00:09:46,240 --> 00:09:49,350 Lakini katika kesi hii hatutaki kupoteza wimbo wa nini alikuja mbele yetu katika kesi 224 00:09:49,350 --> 00:09:53,350 tunahitaji kuingiza tano mahali fulani katikati. 225 00:09:53,350 --> 00:09:55,610 Sema tulikuwa kuingiza tisa. 226 00:09:55,610 --> 00:09:57,260 Nini kitafanyika wakati tulipata nane? 227 00:09:57,260 --> 00:10:01,860 228 00:10:01,860 --> 00:10:04,880 >> Watazamaji: You d na kupata kwamba null uhakika. 229 00:10:04,880 --> 00:10:07,820 Badala ya kuwa na null hatua d na kuongeza hiki na kisha kuwa 230 00:10:07,820 --> 00:10:09,216 ni uhakika na tisa. 231 00:10:09,216 --> 00:10:09,700 >> JASON HIRSCHORN: Hasa. 232 00:10:09,700 --> 00:10:10,600 Ili tuweze kupata nane. 233 00:10:10,600 --> 00:10:13,140 Sisi kufikia mwisho wa orodha kwa sababu hii ni akizungumzia null. 234 00:10:13,140 --> 00:10:16,330 Na sasa, badala ya kuwa ni uhakika na null sisi kuwa ni uhakika na node wetu mpya. 235 00:10:16,330 --> 00:10:19,870 Na sisi kuweka pointer katika node wetu mpya wa null. 236 00:10:19,870 --> 00:10:21,445 Je, mtu yeyote una maswali yoyote kuhusu kuingiza? 237 00:10:21,445 --> 00:10:25,620 238 00:10:25,620 --> 00:10:28,100 Nini kama mimi hawajali kutunza orodha yamepangwa? 239 00:10:28,100 --> 00:10:31,701 240 00:10:31,701 --> 00:10:34,350 >> Watazamaji: Fimbo yake katika mwanzo wala mwisho. 241 00:10:34,350 --> 00:10:35,510 >> JASON HIRSCHORN: Fimbo yake katika mwanzo wala mwisho. 242 00:10:35,510 --> 00:10:37,276 Ambayo moja tunapaswa kufanya nini? 243 00:10:37,276 --> 00:10:38,770 Bobby? 244 00:10:38,770 --> 00:10:41,020 Kwa nini mwisho? 245 00:10:41,020 --> 00:10:43,250 >> Watazamaji: Kwa sababu mwanzo tayari kujazwa. 246 00:10:43,250 --> 00:10:43,575 >> JASON HIRSCHORN: OK. 247 00:10:43,575 --> 00:10:44,360 mwanzo ni ikaanza kujaa maji. 248 00:10:44,360 --> 00:10:46,090 Nani anataka wanasema dhidi ya Bobby. 249 00:10:46,090 --> 00:10:47,290 Marcus. 250 00:10:47,290 --> 00:10:48,910 >> Watazamaji: Naam pengine unataka fimbo yake mwanzoni kwa sababu 251 00:10:48,910 --> 00:10:50,140 vinginevyo kama wewe kuweka katika mwisho wewe d na 252 00:10:50,140 --> 00:10:51,835 tindanga orodha nzima. 253 00:10:51,835 --> 00:10:52,990 >> JASON HIRSCHORN: Hasa. 254 00:10:52,990 --> 00:10:57,970 Hivyo kama sisi ni kufikiri kuhusu Runtime, Runtime ya kuingiza mwishoni 255 00:10:57,970 --> 00:11:00,110 itakuwa n, ukubwa wa jambo hili. 256 00:11:00,110 --> 00:11:03,080 Nini kubwa O Runtime ya kuingiza mwanzoni? 257 00:11:03,080 --> 00:11:04,170 Mara kwa mara wakati. 258 00:11:04,170 --> 00:11:07,075 Hivyo kama wewe hawajali kutunza kitu yamepangwa, bora zaidi tu 259 00:11:07,075 --> 00:11:08,420 kuingiza katika mwanzo wa orodha hii. 260 00:11:08,420 --> 00:11:10,320 Na ambayo yanaweza kufanyika katika wakati mara kwa mara. 261 00:11:10,320 --> 00:11:13,900 262 00:11:13,900 --> 00:11:14,690 >> OK. 263 00:11:14,690 --> 00:11:18,870 Kazi ya pili ni kupata, ambayo wengine - tumekuwa phrased hii kama search. 264 00:11:18,870 --> 00:11:22,470 Lakini tunakwenda kuangalia njia wanaohusishwa orodha kwa baadhi kitu. 265 00:11:22,470 --> 00:11:26,000 You guys tumeona kanuni kwa ajili ya kutafuta kabla ya katika hotuba. 266 00:11:26,000 --> 00:11:29,490 Lakini sisi aina ya tu alifanya hivyo kwa kuingiza, au angalau kuingiza 267 00:11:29,490 --> 00:11:30,580 kitu yamepangwa. 268 00:11:30,580 --> 00:11:36,350 Wewe kuangalia njia ya, kwenda node na node, mpaka kupata idadi hiyo wewe ni 269 00:11:36,350 --> 00:11:37,780 kutafuta. 270 00:11:37,780 --> 00:11:39,670 Kile kinachotokea kama wewe kufikia mwisho wa orodha? 271 00:11:39,670 --> 00:11:43,020 Sema mimi nina kuangalia kwa mimi tisa na kufikia mwisho wa orodha. 272 00:11:43,020 --> 00:11:44,270 Tufanye nini? 273 00:11:44,270 --> 00:11:47,147 274 00:11:47,147 --> 00:11:48,110 >> Watazamaji: Kurudi uongo? 275 00:11:48,110 --> 00:11:48,690 >> JASON HIRSCHORN: Kurudi uongo. 276 00:11:48,690 --> 00:11:49,960 Sisi hakuwa na kupata hiyo. 277 00:11:49,960 --> 00:11:52,010 Kama kufikia mwisho wa orodha na hakuwa kupata idadi uko 278 00:11:52,010 --> 00:11:54,170 kutafuta, si huko. 279 00:11:54,170 --> 00:11:55,420 Maswali yoyote kuhusu kupata? 280 00:11:55,420 --> 00:11:59,530 281 00:11:59,530 --> 00:12:04,615 Kama hii ilikuwa orodha sorted, gani kuwa tofauti kwa ajili ya kutafuta yetu? 282 00:12:04,615 --> 00:12:07,370 283 00:12:07,370 --> 00:12:08,103 Yeah. 284 00:12:08,103 --> 00:12:10,600 >> Watazamaji: Itakuwa kupata thamani ya kwanza kwamba zaidi ya moja 285 00:12:10,600 --> 00:12:12,390 wewe ni kuangalia kwa na kisha kurudi uongo. 286 00:12:12,390 --> 00:12:13,190 >> JASON HIRSCHORN: Hasa. 287 00:12:13,190 --> 00:12:17,310 Hivyo kama ni orodha sorted, kama sisi kupata kitu ambacho ni zaidi kuliko yale 288 00:12:17,310 --> 00:12:20,180 sisi ni kuangalia kwa, hatuna haja ya kuendelea hadi mwisho wa orodha. 289 00:12:20,180 --> 00:12:24,060 Tunaweza katika hatua hiyo kurudi uongo kwa sababu sisi siyo kwenda kupata hiyo. 290 00:12:24,060 --> 00:12:27,340 swali ni sasa, tumekuwa kuongelea kutunza orodha wanaohusishwa yamepangwa, 291 00:12:27,340 --> 00:12:28,180 kushika yao zisizochambuliwa. 292 00:12:28,180 --> 00:12:30,050 Hiyo kwenda kuwa kitu wewe ni pengine ni kwenda na kufikiri kuhusu 293 00:12:30,050 --> 00:12:34,240 wakati coding kuweka tatizo tano kama wewe kuchagua hash meza na tofauti 294 00:12:34,240 --> 00:12:36,360 chaining mbinu, ambayo tutaweza kuzungumzia baadaye. 295 00:12:36,360 --> 00:12:41,400 >> Lakini ni thamani yake kwa kuweka orodha sorted na kisha kuwa na uwezo wa labda na 296 00:12:41,400 --> 00:12:42,310 utafutaji wepesi? 297 00:12:42,310 --> 00:12:47,220 Au ni bora kwa haraka kuingiza kitu katika Runtime mara kwa mara lakini kisha 298 00:12:47,220 --> 00:12:48,430 na tena kutafuta? 299 00:12:48,430 --> 00:12:52,250 Hiyo ni tradeoff haki pale kwamba wewe kupata kuamua nini ni sahihi zaidi 300 00:12:52,250 --> 00:12:53,590 kwa shida yako maalum. 301 00:12:53,590 --> 00:12:56,680 Na kuna si lazima moja jibu sahihi kabisa. 302 00:12:56,680 --> 00:12:59,520 Lakini ni hakika uamuzi kupata kufanya, na pengine nzuri ya kutetea 303 00:12:59,520 --> 00:13:05,270 kwamba katika, kusema, maoni au mbili kwa nini alichagua moja juu ya nyingine. 304 00:13:05,270 --> 00:13:06,490 >> Hatimaye, kufuta. 305 00:13:06,490 --> 00:13:08,100 Tumeona kufuta. 306 00:13:08,100 --> 00:13:09,180 Ni sawa na kutafuta. 307 00:13:09,180 --> 00:13:11,020 Sisi kuangalia kwa kipengele. 308 00:13:11,020 --> 00:13:12,390 Kusema sisi ni kujaribu kufuta sita. 309 00:13:12,390 --> 00:13:14,450 Hivyo tunaona sita hapa. 310 00:13:14,450 --> 00:13:18,860 jambo ambalo sisi kuhakikisha sisi kufanya ni kwamba chochote ni akizungumzia 311 00:13:18,860 --> 00:13:21,220 sita - kama tunaona katika hatua mbili chini hapa - 312 00:13:21,220 --> 00:13:26,500 chochote ni akizungumzia mahitaji sita kwa ruka sita sasa na kubadilishwa kwa 313 00:13:26,500 --> 00:13:28,160 chochote sita ni akizungumzia. 314 00:13:28,160 --> 00:13:31,410 Hatutaki milele yatima wengine wa orodha yetu na kusahau kuweka kwamba 315 00:13:31,410 --> 00:13:32,960 pointer uliopita. 316 00:13:32,960 --> 00:13:35,960 Na kisha wakati mwingine, kulingana juu ya mpango, wao itabidi tu 317 00:13:35,960 --> 00:13:37,380 kufuta node hii kabisa. 318 00:13:37,380 --> 00:13:40,135 Wakati mwingine utasikia wanataka kurudi thamani hiyo katika node hii. 319 00:13:40,135 --> 00:13:42,490 Hivyo ndivyo kufuta kazi. 320 00:13:42,490 --> 00:13:44,610 Maswali yoyote juu ya kufuta? 321 00:13:44,610 --> 00:13:51,280 322 00:13:51,280 --> 00:13:53,850 >> Watazamaji: Hivyo kama wewe ni kwenda kufuta yake, bila wewe tu kutumia bure kwa sababu 323 00:13:53,850 --> 00:13:55,655 labda ilikuwa malloced? 324 00:13:55,655 --> 00:13:57,976 >> JASON HIRSCHORN: Kama unataka bure kitu ambacho ni kweli kabisa na wewe 325 00:13:57,976 --> 00:13:58,540 malloced yake. 326 00:13:58,540 --> 00:14:00,410 Sema sisi walitaka kurudi thamani hii. 327 00:14:00,410 --> 00:14:04,010 Tunaweza kurudi sita na kisha bure node hii na bure wito juu yake. 328 00:14:04,010 --> 00:14:06,180 Au pengine tunatarajia kuwaita bure kwanza na kisha kurudi sita. 329 00:14:06,180 --> 00:14:11,210 330 00:14:11,210 --> 00:14:11,580 >> OK. 331 00:14:11,580 --> 00:14:14,010 Hivyo basi hoja juu ya mazoezi ya coding. 332 00:14:14,010 --> 00:14:16,090 Tunakwenda na kanuni majukumu matatu. 333 00:14:16,090 --> 00:14:18,260 moja ya kwanza iitwayo insert_node. 334 00:14:18,260 --> 00:14:22,170 Hivyo kuwa kificho kwamba mimi yaliyopelekwa wewe, na kama wewe ni kuangalia hii baadaye 335 00:14:22,170 --> 00:14:28,020 unaweza kupata code katika linked.c kwenye tovuti CS50. 336 00:14:28,020 --> 00:14:30,880 Lakini katika linked.c, kuna baadhi ya mifupa kificho kwamba tayari 337 00:14:30,880 --> 00:14:32,280 yameandikwa kwa ajili yenu. 338 00:14:32,280 --> 00:14:34,560 Na kisha kuna kazi wanandoa unahitaji kuandika. 339 00:14:34,560 --> 00:14:36,380 >> Kwanza tunakwenda kuandika insert_node. 340 00:14:36,380 --> 00:14:39,800 Na nini insert_node gani ipo kuwekeza integer. 341 00:14:39,800 --> 00:14:42,440 Na wewe ni kutoa integer katika orodha wanaohusishwa. 342 00:14:42,440 --> 00:14:45,470 Na hasa, unahitaji kuweka orodha yamepangwa 343 00:14:45,470 --> 00:14:47,650 wadogo na kubwa. 344 00:14:47,650 --> 00:14:51,360 Pia, hawataki kuingiza marudio yoyote. 345 00:14:51,360 --> 00:14:54,600 Hatimaye, kama unaweza kuona insert_node anarudi bool. 346 00:14:54,600 --> 00:14:57,140 Hivyo wewe ni zinatakiwa kuruhusu user kujua kama au si kuingiza mara 347 00:14:57,140 --> 00:15:00,800 mafanikio na kurudi kweli au uongo. 348 00:15:00,800 --> 00:15:02,580 Mwishoni mwa mpango huu - 349 00:15:02,580 --> 00:15:05,750 na kwa hatua hii huna haja ya na wasiwasi juu ya kumkomboa kitu chochote. 350 00:15:05,750 --> 00:15:11,790 Hivyo wote ni kufanya ni kuchukua integer na kuingiza katika orodha. 351 00:15:11,790 --> 00:15:13,890 >> Hiyo ni nini mimi nina kuuliza kufanya sasa. 352 00:15:13,890 --> 00:15:17,620 Tena, katika linked.c, ambayo wote wanayo, ni mifupa code. 353 00:15:17,620 --> 00:15:20,980 Na unapaswa kuona kuelekea chini sampuli kazi tamko hilo. 354 00:15:20,980 --> 00:15:27,390 Hata hivyo, kabla ya kwenda katika coding ni katika C, mimi sana moyo kwenda 355 00:15:27,390 --> 00:15:29,330 kupitia hatua tumekuwa kufanya mazoezi kila wiki. 356 00:15:29,330 --> 00:15:31,100 Tumekuwa tayari wamekwenda kupitia picha ya hili. 357 00:15:31,100 --> 00:15:33,380 Hivyo unapaswa kuwa na baadhi ya ufahamu ya jinsi hii matendo. 358 00:15:33,380 --> 00:15:36,590 Lakini napenda moyo kuandika baadhi pseudocode kabla ya kupiga mbizi in 359 00:15:36,590 --> 00:15:38,640 Na sisi ni kwenda juu ya pseudocode kama kikundi. 360 00:15:38,640 --> 00:15:41,470 Na kisha mara moja umefanya hati yako pseudocode, na mara moja tumekuwa imeandikwa wetu 361 00:15:41,470 --> 00:15:45,850 pseudocode kama kundi, unaweza kwenda katika coding katika C. 362 00:15:45,850 --> 00:15:49,980 >> Kama vichwa juu, insert_node kazi pengine ni trickiest ya 363 00:15:49,980 --> 00:15:53,550 tatu tunakwenda kuandika kwa sababu mimi aliongeza baadhi ya vikwazo ziada kwa 364 00:15:53,550 --> 00:15:57,190 programu yako, hasa kwamba wewe si kwenda kuingiza yoyote 365 00:15:57,190 --> 00:15:59,880 marudio na kwamba orodha wanapaswa kubakia sorted. 366 00:15:59,880 --> 00:16:02,660 Hivyo hii ni mpango zisizo yasiyo na maana kwamba unahitaji na kanuni. 367 00:16:02,660 --> 00:16:06,470 Na kwa nini wewe kuchukua 06:55 dakika tu kupata kazi ya 368 00:16:06,470 --> 00:16:07,640 pseudocode na kanuni. 369 00:16:07,640 --> 00:16:09,460 Na kisha tutaanza kwenda kama kikundi. 370 00:16:09,460 --> 00:16:11,680 Tena, kama una maswali yoyote tu kunyanyua mkono wako na mimi itabidi kuja karibu. 371 00:16:11,680 --> 00:16:15,258 372 00:16:15,258 --> 00:16:16,508 . 373 00:16:16,508 --> 00:18:28,370 374 00:18:28,370 --> 00:18:30,120 >> Sisi pia kwa ujumla kufanya haya - 375 00:18:30,120 --> 00:18:32,070 au mimi si wazi kusema wanaweza kufanya kazi na watu. 376 00:18:32,070 --> 00:18:36,500 Lakini ni wazi, mimi sana moyo, kama una maswali, kuuliza 377 00:18:36,500 --> 00:18:39,840 jirani ameketi karibu na wewe au hata kazi na mtu 378 00:18:39,840 --> 00:18:40,510 mwingine kama unataka. 379 00:18:40,510 --> 00:18:42,600 Hii haina kuwa mtu shughuli kimya. 380 00:18:42,600 --> 00:20:11,770 381 00:20:11,770 --> 00:20:16,330 >> Hebu kuanza na kuandika baadhi ya pseudocode kwenye ubao. 382 00:20:16,330 --> 00:20:19,395 Ambaye anaweza nipe mstari wa kwanza wa pseudocode kwa mpango huu? 383 00:20:19,395 --> 00:20:22,240 384 00:20:22,240 --> 00:20:23,640 Kwa ajili ya kazi hii, badala - insert_node. 385 00:20:23,640 --> 00:20:29,960 386 00:20:29,960 --> 00:20:31,830 Alden? 387 00:20:31,830 --> 00:20:36,560 >> Watazamaji: Kwa hivyo jambo la kwanza mimi ilikuwa kujenga pointer mpya ya node na mimi 388 00:20:36,560 --> 00:20:41,320 kuanzishwa ni akizungumzia sawa kitu kwamba orodha akizungumzia. 389 00:20:41,320 --> 00:20:41,550 >> JASON HIRSCHORN: OK. 390 00:20:41,550 --> 00:20:45,190 Hivyo wewe ni kujenga pointer mpya orodha, si kwa nodi. 391 00:20:45,190 --> 00:20:45,420 >> Watazamaji: Haki. 392 00:20:45,420 --> 00:20:46,150 Yeah. 393 00:20:46,150 --> 00:20:46,540 >> JASON HIRSCHORN: OK. 394 00:20:46,540 --> 00:20:48,221 Na kisha nini tunataka kufanya? 395 00:20:48,221 --> 00:20:49,163 Nini baada ya hayo? 396 00:20:49,163 --> 00:20:50,105 Nini kuhusu node? 397 00:20:50,105 --> 00:20:51,050 Hatuna nodi. 398 00:20:51,050 --> 00:20:52,300 Sisi tu kuwa na thamani. 399 00:20:52,300 --> 00:20:55,918 400 00:20:55,918 --> 00:20:58,890 Kama tunataka kuingiza node, sisi kufanya nini haja ya kufanya kwanza kabla ya sisi wanaweza hata 401 00:20:58,890 --> 00:20:59,980 kufikiri juu ya kuingiza? 402 00:20:59,980 --> 00:21:00,820 >> Watazamaji: Oh, sorry. 403 00:21:00,820 --> 00:21:02,160 tunahitaji malloc nafasi kwa nodi. 404 00:21:02,160 --> 00:21:02,455 >> JASON HIRSCHORN: Excellent. 405 00:21:02,455 --> 00:21:03,210 Hebu kufanya - 406 00:21:03,210 --> 00:21:04,628 OK. 407 00:21:04,628 --> 00:21:06,065 Hawezi kufikia kuwa juu. 408 00:21:06,065 --> 00:21:08,939 409 00:21:08,939 --> 00:21:09,897 OK. 410 00:21:09,897 --> 00:21:13,236 Sisi ni kwenda chini, na kisha sisi ni kutumia safu mbili. 411 00:21:13,236 --> 00:21:13,732 Siwezi kwenda kwamba - 412 00:21:13,732 --> 00:21:14,982 OK. 413 00:21:14,982 --> 00:21:23,660 414 00:21:23,660 --> 00:21:25,130 Kujenga node mpya. 415 00:21:25,130 --> 00:21:29,380 Unaweza kuunda pointer mwingine kuorodhesha au unaweza kutumia tu orodha kama ipo. 416 00:21:29,380 --> 00:21:30,720 Si kweli haja ya kufanya hivyo. 417 00:21:30,720 --> 00:21:31,750 >> Hivyo sisi kujenga node mpya. 418 00:21:31,750 --> 00:21:32,010 Kubwa. 419 00:21:32,010 --> 00:21:32,840 Hiyo ni nini cha kufanya kwanza. 420 00:21:32,840 --> 00:21:34,870 Nini hapo? 421 00:21:34,870 --> 00:21:35,080 >> Watazamaji: Ngoja. 422 00:21:35,080 --> 00:21:38,330 Je, sisi kujenga nodi mpya sasa au tunapaswa kusubiri kuhakikisha kwamba 423 00:21:38,330 --> 00:21:42,260 hakuna marudio ya node kwenye orodha ya kabla ya sisi kujenga? 424 00:21:42,260 --> 00:21:43,100 >> JASON HIRSCHORN: swali Good. 425 00:21:43,100 --> 00:21:47,770 Hebu kushikilia kwamba kwa ajili ya baadaye kwa sababu wengi wa wakati tutaweza kuwa na kujenga 426 00:21:47,770 --> 00:21:48,220 node mpya. 427 00:21:48,220 --> 00:21:49,110 Hivyo tutaweza kuendelea kuwa hapa. 428 00:21:49,110 --> 00:21:51,006 Lakini hiyo ni swali zuri. 429 00:21:51,006 --> 00:21:53,250 Kama sisi kujenga na sisi kupata duplicate, kile lazima 430 00:21:53,250 --> 00:21:54,490 sisi kufanya kabla ya kurejea? 431 00:21:54,490 --> 00:21:55,190 >> Watazamaji: Free yake. 432 00:21:55,190 --> 00:21:55,470 >> JASON HIRSCHORN: Yeah. 433 00:21:55,470 --> 00:21:56,500 Pengine bure yake. 434 00:21:56,500 --> 00:21:56,760 OK. 435 00:21:56,760 --> 00:21:59,850 Tufanye nini baada ya sisi kujenga node mpya? 436 00:21:59,850 --> 00:22:02,260 Annie? 437 00:22:02,260 --> 00:22:04,780 >> Watazamaji: Sisi kuweka idadi katika node? 438 00:22:04,780 --> 00:22:05,140 >> JASON HIRSCHORN: Hasa. 439 00:22:05,140 --> 00:22:07,190 Sisi kuweka idadi - sisi malloc nafasi. 440 00:22:07,190 --> 00:22:08,160 Mimi nina kwenda kuondoka kwamba wote kama mstari mmoja. 441 00:22:08,160 --> 00:22:08,720 Lakini wewe ni haki. 442 00:22:08,720 --> 00:22:10,305 Sisi malloc nafasi, na kisha sisi kuweka idadi in 443 00:22:10,305 --> 00:22:12,585 Tunaweza hata kuweka pointer sehemu yake null. 444 00:22:12,585 --> 00:22:13,720 Hiyo ni kweli kabisa. 445 00:22:13,720 --> 00:22:17,400 Na kisha nini kuhusu baada ya hayo? 446 00:22:17,400 --> 00:22:18,490 Tulianzisha picha hii kwenye ubao. 447 00:22:18,490 --> 00:22:21,190 Hivyo tunafanya nini? 448 00:22:21,190 --> 00:22:22,680 >> Watazamaji: Sisi kupitia orodha. 449 00:22:22,680 --> 00:22:23,930 >> JASON HIRSCHORN: Nenda kwa njia ya orodha. 450 00:22:23,930 --> 00:22:30,620 451 00:22:30,620 --> 00:22:31,100 OK. 452 00:22:31,100 --> 00:22:34,280 Na nini sisi kuangalia kwa katika kila nodi. 453 00:22:34,280 --> 00:22:35,955 Kurt, je, sisi kuangalia kwa katika kila node? 454 00:22:35,955 --> 00:22:41,640 >> Watazamaji: Angalia iwapo n thamani ya kwamba node ni mkubwa kuliko n thamani 455 00:22:41,640 --> 00:22:43,070 ya nodi yetu. 456 00:22:43,070 --> 00:22:43,340 >> JASON HIRSCHORN: OK. 457 00:22:43,340 --> 00:22:44,280 Mimi nina kwenda kufanya - 458 00:22:44,280 --> 00:22:45,855 yeah, OK. 459 00:22:45,855 --> 00:22:48,160 Hivyo ni n - 460 00:22:48,160 --> 00:22:59,040 Mimi nina kwenda kusema kama thamani ni zaidi kuliko node hii, basi tunafanya nini? 461 00:22:59,040 --> 00:23:07,290 >> Watazamaji: Naam, kisha sisi kuingiza jambo la haki kabla ya hapo. 462 00:23:07,290 --> 00:23:07,970 >> JASON HIRSCHORN: OK. 463 00:23:07,970 --> 00:23:09,410 Hivyo kama ni mwingi kuliko huu, kisha tunataka kuingiza. 464 00:23:09,410 --> 00:23:14,010 Lakini tunataka kuingiza haki kabla ya kwa sababu sisi pia bila haja ya kuwa 465 00:23:14,010 --> 00:23:16,070 kuweka wimbo, basi, ya nini kabla ya. 466 00:23:16,070 --> 00:23:22,690 Hivyo kuingiza kabla ya. 467 00:23:22,690 --> 00:23:25,120 Hivyo sisi pengine amekosa kitu mapema juu. 468 00:23:25,120 --> 00:23:27,770 Sisi pengine haja ya kuwa na kutunza wimbo wa nini kinaendelea. 469 00:23:27,770 --> 00:23:28,460 Lakini tutaweza kupata huko nyuma. 470 00:23:28,460 --> 00:23:30,160 Basi nini thamani ni chini ya? 471 00:23:30,160 --> 00:23:38,030 472 00:23:38,030 --> 00:23:39,710 Kurt, tunafanya nini kama thamani ni chini ya? 473 00:23:39,710 --> 00:23:43,000 >> Watazamaji: Basi tu kuendelea isipokuwa ni moja ya mwisho. 474 00:23:43,000 --> 00:23:43,550 >> JASON HIRSCHORN: Mimi kama hiyo. 475 00:23:43,550 --> 00:23:44,800 Hivyo kwenda node ijayo. 476 00:23:44,800 --> 00:23:47,410 477 00:23:47,410 --> 00:23:48,930 Isipokuwa ni moja mwisho - 478 00:23:48,930 --> 00:23:51,100 sisi ni pengine kuangalia kwa kuwa katika suala la hali hiyo. 479 00:23:51,100 --> 00:23:54,870 Lakini yeah, node ijayo. 480 00:23:54,870 --> 00:23:58,680 Na kwamba kupata chini sana, hivyo tutaweza hoja juu ya hapa. 481 00:23:58,680 --> 00:24:02,030 Lakini kama - 482 00:24:02,030 --> 00:24:03,280 kila mtu anaweza kuona hayo? 483 00:24:03,280 --> 00:24:07,230 484 00:24:07,230 --> 00:24:11,610 Kama sisi ni sawa tunafanya nini? 485 00:24:11,610 --> 00:24:15,740 Kama thamani sisi ni kujaribu kuingiza ni sawa na thamani node huyu? 486 00:24:15,740 --> 00:24:16,320 Yeah? 487 00:24:16,320 --> 00:24:18,400 >> Watazamaji: [inaudible]. 488 00:24:18,400 --> 00:24:18,850 >> JASON HIRSCHORN: Yeah. 489 00:24:18,850 --> 00:24:19,290 Kutokana na suala hili - 490 00:24:19,290 --> 00:24:20,090 Marcus ni haki. 491 00:24:20,090 --> 00:24:21,330 Tungeweza labda kufanyika kitu tofauti. 492 00:24:21,330 --> 00:24:25,360 Lakini kutokana na kwamba tumeunda yake, hapa tunapaswa bure na kisha kurudi. 493 00:24:25,360 --> 00:24:26,774 Oh boy. 494 00:24:26,774 --> 00:24:30,080 Ni kwamba bora? 495 00:24:30,080 --> 00:24:31,850 Jinsi hiyo? 496 00:24:31,850 --> 00:24:33,100 OK. 497 00:24:33,100 --> 00:24:35,360 498 00:24:35,360 --> 00:24:37,640 Free na kisha sisi kufanya nini kurudi, [inaudible]? 499 00:24:37,640 --> 00:24:41,330 500 00:24:41,330 --> 00:24:44,110 OK. 501 00:24:44,110 --> 00:24:45,360 Je, sisi kukosa kitu? 502 00:24:45,360 --> 00:24:53,500 503 00:24:53,500 --> 00:24:59,650 Hivyo ambapo ni sisi kuweka wimbo ya nodi kabla ya? 504 00:24:59,650 --> 00:25:02,370 >> Watazamaji: Nadhani ingekuwa kwenda baada ya kujenga node mpya. 505 00:25:02,370 --> 00:25:02,600 >> JASON HIRSCHORN: OK. 506 00:25:02,600 --> 00:25:03,940 Hivyo mwanzoni sisi itabidi pengine - 507 00:25:03,940 --> 00:25:07,175 yeah, tunaweza kujenga pointer mpya node, kama pointer uliopita node na 508 00:25:07,175 --> 00:25:09,600 sasa pointer nodi. 509 00:25:09,600 --> 00:25:12,640 Basi hebu kuingiza kwamba hapa. 510 00:25:12,640 --> 00:25:15,610 511 00:25:15,610 --> 00:25:26,900 Kujenga sasa na uliopita kuyatumia kwa nodes. 512 00:25:26,900 --> 00:25:28,955 Lakini wakati wa kufanya sisi kurekebisha kuyatumia hayo? 513 00:25:28,955 --> 00:25:30,205 Wapi sisi kufanya hivyo katika kanuni? 514 00:25:30,205 --> 00:25:33,830 515 00:25:33,830 --> 00:25:34,160 Jeff? 516 00:25:34,160 --> 00:25:35,170 >> Watazamaji: - hali ya thamani? 517 00:25:35,170 --> 00:25:36,420 >> JASON HIRSCHORN: Ni moja hasa? 518 00:25:36,420 --> 00:25:39,862 519 00:25:39,862 --> 00:25:40,720 >> Watazamaji: Mimi tu kuchanganyikiwa. 520 00:25:40,720 --> 00:25:44,200 Kama thamani ni zaidi ya node hii, haina maana kwamba unataka kwenda 521 00:25:44,200 --> 00:25:45,320 nodi ijayo? 522 00:25:45,320 --> 00:25:49,515 >> JASON HIRSCHHORN: Hivyo kama thamani yetu ni zaidi ya thamani ya node hii. 523 00:25:49,515 --> 00:25:52,130 >> Watazamaji: Yeah, basi d wanataka kwenda zaidi chini ya mstari, sawa? 524 00:25:52,130 --> 00:25:52,590 >> JASON HIRSCHHORN: Haki. 525 00:25:52,590 --> 00:25:53,840 Hivyo hatuna kuingiza hapa. 526 00:25:53,840 --> 00:25:58,430 527 00:25:58,430 --> 00:26:03,240 Kama thamani ni chini ya node hii, basi sisi kwenda node ijayo - au basi sisi 528 00:26:03,240 --> 00:26:03,835 kuingiza kabla ya. 529 00:26:03,835 --> 00:26:05,966 >> Watazamaji: Ngoja, ambayo ni hii node na ambayo ni ya thamani? 530 00:26:05,966 --> 00:26:08,510 531 00:26:08,510 --> 00:26:09,280 >> JASON HIRSCHHORN: swali Good. 532 00:26:09,280 --> 00:26:13,260 Thamani kwa hii ufafanuzi kazi ni nini sisi ni kupewa. 533 00:26:13,260 --> 00:26:16,910 Hivyo thamani ni idadi sisi ni kupewa. 534 00:26:16,910 --> 00:26:21,120 Hivyo kama thamani ni chini ya hii node, tunahitaji muda kuingiza. 535 00:26:21,120 --> 00:26:24,575 Kama thamani ni zaidi ya node hii, sisi kwenda node ijayo. 536 00:26:24,575 --> 00:26:26,790 Na nyuma kwa swali la kwanza, ingawa, ambapo - 537 00:26:26,790 --> 00:26:29,060 >> Watazamaji: Kama thamani ni zaidi kuliko node hii. 538 00:26:29,060 --> 00:26:30,310 >> JASON HIRSCHHORN: Na hivyo tunafanya nini hapa? 539 00:26:30,310 --> 00:26:36,790 540 00:26:36,790 --> 00:26:38,160 Tamu. 541 00:26:38,160 --> 00:26:38,860 Hiyo ni sahihi. 542 00:26:38,860 --> 00:26:41,370 Mimi tu kwenda kuandika update ya kuyatumia. 543 00:26:41,370 --> 00:26:44,010 Lakini ndiyo, na moja sasa ungependa update kwa 544 00:26:44,010 --> 00:26:46,080 uhakika na moja ijayo. 545 00:26:46,080 --> 00:26:47,330 Kitu kingine chochote sisi ni kukosa? 546 00:26:47,330 --> 00:26:52,710 547 00:26:52,710 --> 00:26:54,940 Hivyo nina kwenda kwa aina hii kificho katika gedit. 548 00:26:54,940 --> 00:26:58,375 Na wakati mimi kufanya hivyo, unaweza kuwa na dakika kadhaa zaidi ya kufanya kazi juu ya coding 549 00:26:58,375 --> 00:28:19,240 hii katika C. 550 00:28:19,240 --> 00:28:20,940 >> Hivyo nina pembejeo pseudocode. 551 00:28:20,940 --> 00:28:22,940 kumbuka haraka kabla ya sisi kuanza. 552 00:28:22,940 --> 00:28:25,560 Tunaweza kuwa na uwezo kabisa kumaliza hili katika 553 00:28:25,560 --> 00:28:27,300 tatu ya kazi hizi. 554 00:28:27,300 --> 00:28:30,630 Kuna ufumbuzi sahihi kwao kwamba nami email nje kwenu guys 555 00:28:30,630 --> 00:28:33,730 baada ya sehemu, na itakuwa kuwa posted kwenye CS50.net. 556 00:28:33,730 --> 00:28:35,640 Hivyo mimi si moyo kwenda kuangalia sehemu. 557 00:28:35,640 --> 00:28:40,550 Mimi moyo jaribu hizi juu yako wenyewe, na kisha kutumia mazoezi 558 00:28:40,550 --> 00:28:41,760 matatizo ya kuangalia majibu yako. 559 00:28:41,760 --> 00:28:47,070 Hawa wote wamekuwa iliyoundwa kwa karibu kuhusiana na na kuambatana na nini 560 00:28:47,070 --> 00:28:48,400 una kufanya juu ya kuweka tatizo. 561 00:28:48,400 --> 00:28:53,820 Hivyo mimi moyo kufanya mazoezi ya hii juu yako mwenyewe na kisha kutumia kanuni kwa 562 00:28:53,820 --> 00:28:54,660 kuangalia majibu yako. 563 00:28:54,660 --> 00:28:57,060 Kwa sababu mimi nataka kuendelea na hash meza wakati fulani katika sehemu. 564 00:28:57,060 --> 00:28:58,150 Hivyo tupate si kupata njia yote. 565 00:28:58,150 --> 00:28:59,960 Lakini tutaweza kufanya mengi tunaweza sasa. 566 00:28:59,960 --> 00:29:00,370 >> OK. 567 00:29:00,370 --> 00:29:01,960 Hebu tuanze. 568 00:29:01,960 --> 00:29:04,770 ASAM, ni jinsi gani sisi kujenga node mpya? 569 00:29:04,770 --> 00:29:06,810 >> Watazamaji: Huwezi Struct *. 570 00:29:06,810 --> 00:29:09,640 >> JASON HIRSCHHORN: Hivyo sisi na kwamba hapa. 571 00:29:09,640 --> 00:29:10,040 Oh, sorry. 572 00:29:10,040 --> 00:29:13,530 Walikuwa wakisema struct *. 573 00:29:13,530 --> 00:29:17,260 >> Watazamaji: Na kisha [? aina gani?] node au c nodi. 574 00:29:17,260 --> 00:29:17,780 >> JASON HIRSCHHORN: OK. 575 00:29:17,780 --> 00:29:19,740 Mimi nina kwenda kuiita new_node ili tuweze kukaa thabiti. 576 00:29:19,740 --> 00:29:22,646 577 00:29:22,646 --> 00:29:33,180 >> Watazamaji: Na unataka kuweka kwamba kwa kichwa, node ya kwanza. 578 00:29:33,180 --> 00:29:33,580 >> JASON HIRSCHHORN: OK. 579 00:29:33,580 --> 00:29:37,290 Hivyo sasa hii akizungumzia - hivyo hii hakuumba nodi mpya bado. 580 00:29:37,290 --> 00:29:41,380 Hii ni akizungumzia tu node kwanza katika orodha. 581 00:29:41,380 --> 00:29:42,630 Je, mimi kujenga node mpya? 582 00:29:42,630 --> 00:29:45,490 583 00:29:45,490 --> 00:29:48,070 Kama mimi haja ya nafasi ya kujenga node mpya. 584 00:29:48,070 --> 00:29:49,230 Malloc. 585 00:29:49,230 --> 00:29:51,710 Na jinsi kubwa? 586 00:29:51,710 --> 00:30:00,390 >> Watazamaji: ukubwa wa struct. 587 00:30:00,390 --> 00:30:01,150 >> JASON HIRSCHHORN: ukubwa wa struct. 588 00:30:01,150 --> 00:30:02,400 Na nini struct wito? 589 00:30:02,400 --> 00:30:09,670 590 00:30:09,670 --> 00:30:09,840 >> Watazamaji: Node? 591 00:30:09,840 --> 00:30:11,640 >> JASON HIRSCHHORN: Node. 592 00:30:11,640 --> 00:30:17,640 Hivyo malloc (sizeof (node)); inatupa nafasi. 593 00:30:17,640 --> 00:30:19,740 Na ni mstari huu - 594 00:30:19,740 --> 00:30:21,740 jambo moja ni sahihi juu ya mstari huu. 595 00:30:21,740 --> 00:30:24,430 Ni new_node pointer kwa struct? 596 00:30:24,430 --> 00:30:25,650 Hiyo ni jina ya kurefusha maisha. 597 00:30:25,650 --> 00:30:26,520 Ni nini - 598 00:30:26,520 --> 00:30:27,450 node, hasa. 599 00:30:27,450 --> 00:30:29,340 Ni node *. 600 00:30:29,340 --> 00:30:33,010 Na tunafanya nini haki baada ya sisi malloc kitu, Asan? 601 00:30:33,010 --> 00:30:34,476 Nini jambo la kwanza sisi nini? 602 00:30:34,476 --> 00:30:38,850 603 00:30:38,850 --> 00:30:40,320 Nini kama haifanyi kazi? 604 00:30:40,320 --> 00:30:42,430 >> Watazamaji: Oh, kuangalia kama ni anazungumzia node? 605 00:30:42,430 --> 00:30:43,310 >> JASON HIRSCHHORN: Hasa. 606 00:30:43,310 --> 00:30:46,750 Hivyo kama wewe new_node sawa na usawa null, tunafanya nini? 607 00:30:46,750 --> 00:30:51,650 608 00:30:51,650 --> 00:30:54,820 Hii anarudi bool, kazi hii. 609 00:30:54,820 --> 00:30:57,760 Hasa. 610 00:30:57,760 --> 00:30:58,450 Inaonekana ni nzuri. 611 00:30:58,450 --> 00:30:59,680 Kitu chochote kuongeza huko? 612 00:30:59,680 --> 00:31:00,670 Tutaweza kuongeza mambo mwishoni. 613 00:31:00,670 --> 00:31:03,160 Lakini kwamba hadi sasa inaonekana nzuri. 614 00:31:03,160 --> 00:31:06,170 Kujenga kuyatumia sasa na uliopita. 615 00:31:06,170 --> 00:31:08,650 Michael, ni jinsi gani mimi kufanya hili? 616 00:31:08,650 --> 00:31:12,810 >> Watazamaji: You ingekuwa kufanya node *. 617 00:31:12,810 --> 00:31:21,800 618 00:31:21,800 --> 00:31:25,502 Ningependa kufanya moja si kwa new_node lakini kwa 619 00:31:25,502 --> 00:31:26,905 nodes sisi tayari. 620 00:31:26,905 --> 00:31:27,230 >> JASON HIRSCHHORN: OK. 621 00:31:27,230 --> 00:31:29,255 Hivyo node sasa tuko juu. 622 00:31:29,255 --> 00:31:30,505 Mimi nitakuita kwamba curr. 623 00:31:30,505 --> 00:31:39,650 624 00:31:39,650 --> 00:31:39,770 Sawa. 625 00:31:39,770 --> 00:31:41,620 Tumekuwa aliamua tunataka kuweka mbili kwa sababu tunahitaji kujua 626 00:31:41,620 --> 00:31:42,870 nini mbele yake. 627 00:31:42,870 --> 00:31:45,770 628 00:31:45,770 --> 00:31:47,020 Je, wao kupata kuanzishwa kwa? 629 00:31:47,020 --> 00:31:49,874 630 00:31:49,874 --> 00:31:54,180 >> Watazamaji: thamani yao katika orodha yetu. 631 00:31:54,180 --> 00:31:58,090 >> JASON HIRSCHHORN: ni hiyo kile Jambo la kwanza katika orodha yetu? 632 00:31:58,090 --> 00:32:04,050 Au ni jinsi gani sisi kujua wapi mwanzo wa orodha yetu? 633 00:32:04,050 --> 00:32:08,015 >> Watazamaji: Je, si ni kupita ndani ya kazi? 634 00:32:08,015 --> 00:32:08,466 >> JASON HIRSCHHORN: Haki. 635 00:32:08,466 --> 00:32:09,716 Ni ilipitishwa katika haki hapa. 636 00:32:09,716 --> 00:32:15,910 637 00:32:15,910 --> 00:32:18,980 Hivyo kama ni kupita katika kazi, mwanzo wa orodha, je, sisi lazima 638 00:32:18,980 --> 00:32:21,270 kuweka sasa sawa na? 639 00:32:21,270 --> 00:32:22,110 >> Watazamaji: Orodha. 640 00:32:22,110 --> 00:32:22,900 >> JASON HIRSCHHORN: Orodha. 641 00:32:22,900 --> 00:32:24,090 Hiyo ni kweli kabisa. 642 00:32:24,090 --> 00:32:26,290 Sasa ina anwani ya mwanzo wa orodha yetu. 643 00:32:26,290 --> 00:32:28,450 Na nini kuhusu uliopita? 644 00:32:28,450 --> 00:32:31,920 >> Watazamaji: Orodha minus moja? 645 00:32:31,920 --> 00:32:32,690 >> JASON HIRSCHHORN: Kuna kitu mbele yake. 646 00:32:32,690 --> 00:32:34,580 Hivyo tunaweza kufanya nini kwa ishara ya kitu? 647 00:32:34,580 --> 00:32:35,050 >> Watazamaji: Batili. 648 00:32:35,050 --> 00:32:35,450 >> JASON HIRSCHHORN: Yeah. 649 00:32:35,450 --> 00:32:37,950 Kwamba inaonekana kama wazo nzuri. 650 00:32:37,950 --> 00:32:38,360 Perfect. 651 00:32:38,360 --> 00:32:39,630 Asante. 652 00:32:39,630 --> 00:32:42,850 Kupitia orodha. 653 00:32:42,850 --> 00:32:45,490 Constantine, kwa muda gani sisi ni kwenda kwenda kwa njia ya orodha? 654 00:32:45,490 --> 00:32:49,010 >> Watazamaji: Mpaka Sisi kufikia null. 655 00:32:49,010 --> 00:32:49,390 >> JASON HIRSCHHORN: OK. 656 00:32:49,390 --> 00:32:50,430 Hivyo kama, wakati, kwa kitanzi. 657 00:32:50,430 --> 00:32:52,200 Nini tunafanya? 658 00:32:52,200 --> 00:32:53,320 >> Watazamaji: Labda kwa kitanzi? 659 00:32:53,320 --> 00:32:53,910 >> JASON HIRSCHHORN: Hebu kufanya kwa kitanzi. 660 00:32:53,910 --> 00:32:55,870 OK. 661 00:32:55,870 --> 00:33:02,465 >> Watazamaji: Na sisi kusema kwa - 662 00:33:02,465 --> 00:33:09,764 663 00:33:09,764 --> 00:33:13,390 mpaka pointer sasa si sawa na null. 664 00:33:13,390 --> 00:33:19,160 >> JASON HIRSCHHORN: Hivyo, ikiwa tunajua hali, jinsi gani tunaweza kuandika kitanzi 665 00:33:19,160 --> 00:33:21,740 msingi mbali hali hiyo. 666 00:33:21,740 --> 00:33:24,380 Ni aina gani ya kitanzi tunapaswa kutumia? 667 00:33:24,380 --> 00:33:25,260 >> Watazamaji: Wakati. 668 00:33:25,260 --> 00:33:25,590 >> JASON HIRSCHHORN: Yeah. 669 00:33:25,590 --> 00:33:27,130 Kwamba inafanya maana zaidi ya msingi mbali ya nini alisema. 670 00:33:27,130 --> 00:33:29,430 Kama sisi tu unataka kwenda katika sisi ingekuwa tu kujua kwamba kitu, ingekuwa kufanya 671 00:33:29,430 --> 00:33:31,680 maana ya kufanya wakati kitanzi. 672 00:33:31,680 --> 00:33:39,880 Wakati sasa haina sawa null, kama thamani ni chini ya node hii. 673 00:33:39,880 --> 00:33:41,650 Akshar, nipe mstari huu. 674 00:33:41,650 --> 00:33:48,810 675 00:33:48,810 --> 00:33:56,955 >> Watazamaji: Kama sasa-> n n chini ya thamani. 676 00:33:56,955 --> 00:34:00,170 677 00:34:00,170 --> 00:34:03,260 Au kubadili hiyo. 678 00:34:03,260 --> 00:34:06,140 Kubadili kwamba bracket. 679 00:34:06,140 --> 00:34:06,620 >> JASON HIRSCHHORN: Sorry. 680 00:34:06,620 --> 00:34:08,760 >> Watazamaji: Mabadiliko ya bracket. 681 00:34:08,760 --> 00:34:10,914 >> JASON HIRSCHHORN: Hivyo kama ni zaidi ya thamani. 682 00:34:10,914 --> 00:34:18,719 683 00:34:18,719 --> 00:34:22,120 Kwa sababu hiyo utata na maoni juu, mimi nina kwenda kufanya hivyo. 684 00:34:22,120 --> 00:34:22,480 Lakini ndiyo. 685 00:34:22,480 --> 00:34:25,125 Kama thamani yetu ni chini ya hii node, tunafanya nini? 686 00:34:25,125 --> 00:34:25,540 Oh. 687 00:34:25,540 --> 00:34:26,710 Nina haki hapa. 688 00:34:26,710 --> 00:34:27,960 Kuingiza kabla ya. 689 00:34:27,960 --> 00:34:32,080 690 00:34:32,080 --> 00:34:32,370 OK. 691 00:34:32,370 --> 00:34:33,933 Je, sisi kufanya hivyo? 692 00:34:33,933 --> 00:34:34,900 >> Watazamaji: Je, ni bado mimi? 693 00:34:34,900 --> 00:34:36,150 >> JASON HIRSCHHORN: Yeah. 694 00:34:36,150 --> 00:34:38,520 695 00:34:38,520 --> 00:34:39,770 >> Watazamaji: You - 696 00:34:39,770 --> 00:34:42,909 697 00:34:42,909 --> 00:34:44,159 new_node-> ijayo. 698 00:34:44,159 --> 00:34:46,770 699 00:34:46,770 --> 00:34:50,163 >> JASON HIRSCHHORN: Basi nini kwamba kwenda sawa? 700 00:34:50,163 --> 00:34:52,070 >> Watazamaji: Ni kwenda sasa sawa. 701 00:34:52,070 --> 00:34:53,889 >> JASON HIRSCHHORN: Hasa. 702 00:34:53,889 --> 00:34:55,730 Na hivyo wengine - 703 00:34:55,730 --> 00:34:56,730 kile kingine tunahitaji update? 704 00:34:56,730 --> 00:34:59,982 >> Watazamaji: Angalia kama zamani sawa null. 705 00:34:59,982 --> 00:35:01,870 >> JASON HIRSCHHORN: Kama prev - 706 00:35:01,870 --> 00:35:03,730 hivyo kama prev sawa na null. 707 00:35:03,730 --> 00:35:05,990 >> Watazamaji: Hiyo ina maana itakuja kuwa kichwa. 708 00:35:05,990 --> 00:35:06,780 >> JASON HIRSCHHORN: Hiyo njia kuwa ni ya kichwa. 709 00:35:06,780 --> 00:35:07,620 Hivyo basi tunafanya nini? 710 00:35:07,620 --> 00:35:12,510 >> Watazamaji: Sisi kichwa ni sawa na new_node. 711 00:35:12,510 --> 00:35:16,690 >> JASON HIRSCHHORN: Mkuu sawa na new_node. 712 00:35:16,690 --> 00:35:20,540 Na kwa nini kichwa hapa, si orodha? 713 00:35:20,540 --> 00:35:24,940 >> Watazamaji: Kwa sababu kichwa ni ya kimataifa variable, ambayo ni mahali pa kuanzia. 714 00:35:24,940 --> 00:35:26,190 >> JASON HIRSCHHORN: Sweet. 715 00:35:26,190 --> 00:35:33,750 716 00:35:33,750 --> 00:35:34,170 OK. 717 00:35:34,170 --> 00:35:36,150 Na - 718 00:35:36,150 --> 00:35:53,796 >> Watazamaji: Kisha huna mwingine prev-> ijayo ni sawa na new_node. 719 00:35:53,796 --> 00:35:55,080 Na kisha kurudi kweli. 720 00:35:55,080 --> 00:35:59,560 721 00:35:59,560 --> 00:36:02,700 >> JASON HIRSCHHORN: kufanya wapi sisi kuweka new_node mwisho? 722 00:36:02,700 --> 00:36:04,850 >> Watazamaji: Mimi ingekuwa - 723 00:36:04,850 --> 00:36:06,180 Mimi kuweka kwamba mwanzoni. 724 00:36:06,180 --> 00:36:07,430 >> JASON HIRSCHHORN: Sasa ni nini line? 725 00:36:07,430 --> 00:36:10,000 726 00:36:10,000 --> 00:36:12,598 >> Watazamaji: Baada ya kama taarifa kuangalia kama ni kujulikana. 727 00:36:12,598 --> 00:36:13,057 >> JASON HIRSCHHORN: Haki hapa? 728 00:36:13,057 --> 00:36:18,335 >> Watazamaji: Ningependa kufanya new_node-> n sawa na thamani. 729 00:36:18,335 --> 00:36:19,585 >> JASON HIRSCHHORN: Sauti nzuri. 730 00:36:19,585 --> 00:36:21,740 731 00:36:21,740 --> 00:36:25,090 Pengine ni mantiki - hatufanyi haja ya kujua nini orodha sisi ni juu ya 732 00:36:25,090 --> 00:36:26,280 kwa sababu sisi ni kushughulika tu na orodha moja. 733 00:36:26,280 --> 00:36:29,560 Hivyo bora kazi tamko kwa hii ni kujikwamua hii 734 00:36:29,560 --> 00:36:34,360 kabisa na tu kuingiza thamani katika kichwa. 735 00:36:34,360 --> 00:36:35,930 Hatuwezi hata haja ya kujua nini orodha tuko in 736 00:36:35,930 --> 00:36:39,140 Lakini mimi atayaweka kwa ajili ya sasa na kisha mabadiliko hayo juu ya kuongezea 737 00:36:39,140 --> 00:36:42,590 slides na kanuni. 738 00:36:42,590 --> 00:36:44,980 Hivyo kwamba inaonekana nzuri kwa sasa. 739 00:36:44,980 --> 00:36:46,560 Kama thamani - ambao wanaweza kufanya mstari huu? 740 00:36:46,560 --> 00:36:47,810 Kama - 741 00:36:47,810 --> 00:36:52,240 742 00:36:52,240 --> 00:36:53,840 tunafanya nini hapa, Nuhu. 743 00:36:53,840 --> 00:36:57,890 744 00:36:57,890 --> 00:37:07,100 >> Watazamaji: Kama thamani ni zaidi kuliko curr-> n - 745 00:37:07,100 --> 00:37:16,830 746 00:37:16,830 --> 00:37:18,240 >> JASON HIRSCHHORN: Je, sisi kwenda node ijayo? 747 00:37:18,240 --> 00:37:27,760 748 00:37:27,760 --> 00:37:30,530 >> Watazamaji: curr-> n ni sawa na new_node. 749 00:37:30,530 --> 00:37:37,630 750 00:37:37,630 --> 00:37:39,195 >> JASON HIRSCHHORN: Kwa hiyo n ni nini sehemu ya struct? 751 00:37:39,195 --> 00:37:43,065 752 00:37:43,065 --> 00:37:46,020 integer. 753 00:37:46,020 --> 00:37:50,420 Na new_node ni pointer kwa nodi. 754 00:37:50,420 --> 00:37:51,880 Kwa hiyo kile ni sehemu ya curr lazima sisi update? 755 00:37:51,880 --> 00:38:03,900 756 00:38:03,900 --> 00:38:05,400 Kama si n, kisha nini sehemu nyingine? 757 00:38:05,400 --> 00:38:21,680 758 00:38:21,680 --> 00:38:22,810 Nuhu, nini sehemu nyingine. 759 00:38:22,810 --> 00:38:23,570 >> Watazamaji: Oh, ijayo. 760 00:38:23,570 --> 00:38:25,645 >> JASON HIRSCHHORN: Next, hasa. 761 00:38:25,645 --> 00:38:26,410 Hasa. 762 00:38:26,410 --> 00:38:28,770 Pili ni moja ya haki. 763 00:38:28,770 --> 00:38:31,540 Na kile kingine tunahitaji update, Nuhu? 764 00:38:31,540 --> 00:38:32,840 >> Watazamaji: kuyatumia. 765 00:38:32,840 --> 00:38:34,840 >> JASON HIRSCHHORN: Hivyo sisi updated sasa. 766 00:38:34,840 --> 00:38:36,090 >> Watazamaji: Kabla-> ijayo. 767 00:38:36,090 --> 00:38:48,160 768 00:38:48,160 --> 00:38:49,410 >> JASON HIRSCHHORN: Yeah. 769 00:38:49,410 --> 00:38:57,465 770 00:38:57,465 --> 00:38:58,370 OK, tutaweza pause. 771 00:38:58,370 --> 00:39:02,200 Ambao wanaweza kutusaidia hapa? 772 00:39:02,200 --> 00:39:03,385 Manu, tunapaswa kufanya nini? 773 00:39:03,385 --> 00:39:05,615 >> Watazamaji: Nimepata kuweka ni sawa na curr-> ijayo. 774 00:39:05,615 --> 00:39:09,110 775 00:39:09,110 --> 00:39:11,630 Lakini kufanya hivyo kabla ya line uliopita. 776 00:39:11,630 --> 00:39:12,880 >> JASON HIRSCHHORN: OK. 777 00:39:12,880 --> 00:39:16,590 778 00:39:16,590 --> 00:39:18,260 Kitu kingine? 779 00:39:18,260 --> 00:39:19,170 Akshar. 780 00:39:19,170 --> 00:39:22,680 >> Watazamaji: Sidhani wewe ni maana ya kubadili curr-> ijayo. 781 00:39:22,680 --> 00:39:29,270 Nadhani wewe ni maana ya kufanya usawa curr curr-> ijayo kwenda kwa node ijayo. 782 00:39:29,270 --> 00:39:30,500 >> JASON HIRSCHHORN: Kwa hiyo sorry, wapi? 783 00:39:30,500 --> 00:39:32,680 Juu ya nini line? 784 00:39:32,680 --> 00:39:33,420 Mstari huu? 785 00:39:33,420 --> 00:39:33,750 >> Watazamaji: Yeah. 786 00:39:33,750 --> 00:39:35,745 Kufanya curr sawa na curr-> ijayo. 787 00:39:35,745 --> 00:39:39,690 788 00:39:39,690 --> 00:39:43,360 >> JASON HIRSCHHORN: Basi hiyo ni sahihi kwa sababu sasa ni 789 00:39:43,360 --> 00:39:45,220 pointer kwa nodi. 790 00:39:45,220 --> 00:39:48,550 Na tunataka kwa uhakika na ijayo node ya nini kupata sasa 791 00:39:48,550 --> 00:39:49,930 alisema kwa. 792 00:39:49,930 --> 00:39:54,410 Curr yenyewe ina ijayo. 793 00:39:54,410 --> 00:39:58,620 Lakini kama tulikuwa update curr.next, sisi itakuwa kuhuisha kumbuka halisi 794 00:39:58,620 --> 00:40:01,430 yenyewe, si ambapo hii pointer uliokuwa unaelekea. 795 00:40:01,430 --> 00:40:02,680 Nini kuhusu mstari huu, ingawa. 796 00:40:02,680 --> 00:40:05,160 797 00:40:05,160 --> 00:40:07,330 Avi? 798 00:40:07,330 --> 00:40:09,590 >> Watazamaji: Kabla-> ijayo ni sawa na curr. 799 00:40:09,590 --> 00:40:12,500 800 00:40:12,500 --> 00:40:19,440 >> JASON HIRSCHHORN: Kwa hiyo tena, kama prev ni pointer kwa node, prev-> ya pili ni 801 00:40:19,440 --> 00:40:23,020 pointer halisi katika node. 802 00:40:23,020 --> 00:40:27,190 Hivyo hii itakuwa kuhuisha pointer katika nodi ili curr. 803 00:40:27,190 --> 00:40:28,570 Hatutaki update pointer katika node. 804 00:40:28,570 --> 00:40:30,570 Tunataka update uliopita. 805 00:40:30,570 --> 00:40:31,850 Hivyo ni jinsi gani sisi kufanya hivyo? 806 00:40:31,850 --> 00:40:34,250 >> Watazamaji: Itakuwa tu kuwa prev. 807 00:40:34,250 --> 00:40:34,565 >> JASON HIRSCHHORN: Haki. 808 00:40:34,565 --> 00:40:35,560 Kabla ni pointer kwa nodi. 809 00:40:35,560 --> 00:40:38,750 Sasa sisi ni kubadilisha kwa pointer mpya ya node. 810 00:40:38,750 --> 00:40:40,830 OK Hebu hoja chini. 811 00:40:40,830 --> 00:40:41,940 Hatimaye, hali hii ya mwisho. 812 00:40:41,940 --> 00:40:44,896 Jeff, tunafanya nini hapa? 813 00:40:44,896 --> 00:40:47,515 >> Watazamaji: Kama thamani ni sawa na curr-> n. 814 00:40:47,515 --> 00:40:51,030 815 00:40:51,030 --> 00:40:51,300 >> JASON HIRSCHHORN: Sorry. 816 00:40:51,300 --> 00:40:52,372 Oh yangu wema. 817 00:40:52,372 --> 00:40:54,330 Nini? 818 00:40:54,330 --> 00:40:55,580 Thamani == curr-> n. 819 00:40:55,580 --> 00:41:01,050 820 00:41:01,050 --> 00:41:02,300 Tufanye nini? 821 00:41:02,300 --> 00:41:04,760 822 00:41:04,760 --> 00:41:10,950 >> Watazamaji: Wewe d bure new_node yetu, na basi d kurudi uongo. 823 00:41:10,950 --> 00:41:21,410 824 00:41:21,410 --> 00:41:23,460 >> JASON HIRSCHHORN: Hii ni nini sisi wameandika hadi sasa. 825 00:41:23,460 --> 00:41:25,710 Je, mtu yeyote kuwa na kitu chochote kuongeza kabla ya sisi kufanya? 826 00:41:25,710 --> 00:41:35,460 827 00:41:35,460 --> 00:41:35,710 OK. 828 00:41:35,710 --> 00:41:36,960 Hebu jaribu hilo. 829 00:41:36,960 --> 00:41:44,180 830 00:41:44,180 --> 00:41:46,110 Kudhibiti inaweza kufikia mwisho ya kazi mashirika yasiyo ya utupu. 831 00:41:46,110 --> 00:41:48,310 Avi, nini kinaendelea? 832 00:41:48,310 --> 00:41:51,380 >> Watazamaji: Je, wanatakiwa kuweka kurudi kweli nje ya kitanzi wakati? 833 00:41:51,380 --> 00:41:53,900 834 00:41:53,900 --> 00:41:54,400 >> JASON HIRSCHHORN: Mimi sijui. 835 00:41:54,400 --> 00:41:54,780 Je, unataka mimi? 836 00:41:54,780 --> 00:41:55,520 >> Watazamaji: Kamwe akili. 837 00:41:55,520 --> 00:41:56,350 Hapana 838 00:41:56,350 --> 00:41:57,180 >> JASON HIRSCHHORN: Akshar? 839 00:41:57,180 --> 00:41:59,460 >> Watazamaji: Nadhani maana ya kuweka kurudi uongo mwishoni 840 00:41:59,460 --> 00:42:02,230 ya kitanzi wakati. 841 00:42:02,230 --> 00:42:03,270 >> JASON HIRSCHHORN: Hivyo ambapo wala unataka kwenda? 842 00:42:03,270 --> 00:42:05,270 >> Watazamaji: Kama nje kitanzi wakati. 843 00:42:05,270 --> 00:42:08,800 Hivyo kama wewe exit kitanzi wakati kwamba njia kwamba Umefikia mwisho na 844 00:42:08,800 --> 00:42:09,980 kitu kilichotokea. 845 00:42:09,980 --> 00:42:10,410 >> JASON HIRSCHHORN: OK. 846 00:42:10,410 --> 00:42:12,340 Hivyo tunafanya nini katika hapa? 847 00:42:12,340 --> 00:42:13,702 >> Watazamaji: You kurudi uongo huko pia. 848 00:42:13,702 --> 00:42:15,040 >> JASON HIRSCHHORN: Oh, sisi kufanya hivyo katika maeneo yote? 849 00:42:15,040 --> 00:42:15,650 >> Watazamaji: Yeah. 850 00:42:15,650 --> 00:42:16,900 >> JASON HIRSCHHORN: OK. 851 00:42:16,900 --> 00:42:24,840 852 00:42:24,840 --> 00:42:26,160 Je, sisi kwenda? 853 00:42:26,160 --> 00:42:26,980 Oh yangu wema. 854 00:42:26,980 --> 00:42:27,290 Mimi nina sorry. 855 00:42:27,290 --> 00:42:28,480 Mimi kuomba msamaha kwa screen. 856 00:42:28,480 --> 00:42:30,530 Ni aina ya freaking nje juu yetu. 857 00:42:30,530 --> 00:42:31,520 Ili kuchagua chaguo. 858 00:42:31,520 --> 00:42:35,260 Zero, kwa kificho, quits mpango. 859 00:42:35,260 --> 00:42:36,700 Moja kuwekeza kitu. 860 00:42:36,700 --> 00:42:37,990 Hebu kuingiza tatu. 861 00:42:37,990 --> 00:42:42,900 862 00:42:42,900 --> 00:42:45,380 kuingiza hakuwa na mafanikio. 863 00:42:45,380 --> 00:42:46,500 Mimi nina kwenda magazeti nje. 864 00:42:46,500 --> 00:42:48,050 Sina kitu chochote. 865 00:42:48,050 --> 00:42:48,450 OK. 866 00:42:48,450 --> 00:42:50,250 Labda hiyo ndiyo tu fluke. 867 00:42:50,250 --> 00:42:52,810 Kuingiza moja. 868 00:42:52,810 --> 00:42:55,770 Si mafanikio. 869 00:42:55,770 --> 00:42:57,470 OK. 870 00:42:57,470 --> 00:43:02,400 Hebu kukimbia kwa njia ya GDB kweli haraka kuangalia nini kinachoendelea. 871 00:43:02,400 --> 00:43:06,055 >> Kumbuka GDB. / Jina la yako mpango anapata yetu ndani ya GDB. 872 00:43:06,055 --> 00:43:07,610 Ni kwamba mengi ya kushughulikia? 873 00:43:07,610 --> 00:43:08,560 flashing? 874 00:43:08,560 --> 00:43:10,400 Pengine. 875 00:43:10,400 --> 00:43:12,760 Karibu na macho yako na kuchukua baadhi ya kina Breaths kama wewe kupata uchovu 876 00:43:12,760 --> 00:43:13,580 ya kuangalia saa yake. 877 00:43:13,580 --> 00:43:14,200 Mimi nina katika GDB. 878 00:43:14,200 --> 00:43:15,830 Nini jambo la kwanza mimi kufanya katika GDB? 879 00:43:15,830 --> 00:43:17,050 Sisi tumepewa kufikiri nini kinaendelea hapa. 880 00:43:17,050 --> 00:43:17,310 Hebu angalia. 881 00:43:17,310 --> 00:43:21,650 Tuna dakika sita na takwimu nini kinaendelea. 882 00:43:21,650 --> 00:43:22,900 Kuvunja kuu. 883 00:43:22,900 --> 00:43:25,950 884 00:43:25,950 --> 00:43:28,130 Na kisha nini mimi? 885 00:43:28,130 --> 00:43:29,180 Carlos? 886 00:43:29,180 --> 00:43:31,060 Kukimbia. 887 00:43:31,060 --> 00:43:32,250 OK. 888 00:43:32,250 --> 00:43:34,160 Hebu kuchagua chaguo. 889 00:43:34,160 --> 00:43:36,330 Na nini N nini? 890 00:43:36,330 --> 00:43:38,480 Next. 891 00:43:38,480 --> 00:43:38,950 Yeah. 892 00:43:38,950 --> 00:43:39,740 >> Watazamaji: Je, si kutaja - 893 00:43:39,740 --> 00:43:45,230 hakuwa kusema kwamba kichwa, ilikuwa ni kuanzishwa kwa null mwanzoni. 894 00:43:45,230 --> 00:43:47,140 Lakini nilidhani wewe alisema kwamba alikuwa sawa. 895 00:43:47,140 --> 00:43:50,040 896 00:43:50,040 --> 00:43:52,640 >> JASON HIRSCHHORN: Hebu kwenda - hebu angalia katika GDB, na kisha tutaweza kurudi nyuma. 897 00:43:52,640 --> 00:43:54,910 Lakini inaonekana kama wewe tayari kuwa na baadhi ya mawazo kuhusu nini kinaendelea. 898 00:43:54,910 --> 00:43:58,340 Hivyo tunataka kuingiza kitu. 899 00:43:58,340 --> 00:43:59,390 OK. 900 00:43:59,390 --> 00:44:00,150 Sisi kuingiza. 901 00:44:00,150 --> 00:44:00,770 Tafadhali kuingia int. 902 00:44:00,770 --> 00:44:01,990 Tutaweza kuingiza tatu. 903 00:44:01,990 --> 00:44:03,000 Na kisha mimi niko kwenye mstari huu. 904 00:44:03,000 --> 00:44:07,030 Jinsi gani mimi kwenda kuanza debugging kuingiza inajulikana kazi? 905 00:44:07,030 --> 00:44:08,280 Oh yangu wema. 906 00:44:08,280 --> 00:44:10,990 907 00:44:10,990 --> 00:44:12,240 Hiyo mengi. 908 00:44:12,240 --> 00:44:14,372 909 00:44:14,372 --> 00:44:16,445 Ni kwamba freaking nje mengi? 910 00:44:16,445 --> 00:44:19,696 911 00:44:19,696 --> 00:44:21,680 >> Watazamaji: Oh, alikufa. 912 00:44:21,680 --> 00:44:22,930 >> JASON HIRSCHHORN: Mimi tu vunjwa nje. 913 00:44:22,930 --> 00:44:27,364 914 00:44:27,364 --> 00:44:28,310 OK. 915 00:44:28,310 --> 00:44:29,560 >> Watazamaji: Labda ni upande wa pili wa waya. 916 00:44:29,560 --> 00:44:37,000 917 00:44:37,000 --> 00:44:39,470 >> JASON HIRSCHHORN: Wow. 918 00:44:39,470 --> 00:44:42,330 Hivyo line chini - 919 00:44:42,330 --> 00:44:43,470 gani kusema? 920 00:44:43,470 --> 00:44:46,040 >> Watazamaji: Mimi alisema kejeli ya kiufundi matatizo katika darasa hili. 921 00:44:46,040 --> 00:44:46,410 >> JASON HIRSCHHORN: Mimi najua. 922 00:44:46,410 --> 00:44:48,660 Kama mimi tu alikuwa na mamlaka juu ya sehemu hiyo. 923 00:44:48,660 --> 00:44:49,910 [Inaudible] 924 00:44:49,910 --> 00:44:54,430 925 00:44:54,430 --> 00:44:55,400 Inaonekana kuwa ni kubwa. 926 00:44:55,400 --> 00:44:58,680 Mbona wewe guys kuanza kufikiria juu ya nini tunaweza wamefanya makosa, 927 00:44:58,680 --> 00:45:01,140 na sisi itakuwa nyuma katika sekunde 90. 928 00:45:01,140 --> 00:46:18,160 929 00:46:18,160 --> 00:46:23,010 >> Avica, mimi naenda kuuliza jinsi ya kwenda ndani ya insert_node Debug yake. 930 00:46:23,010 --> 00:46:28,940 931 00:46:28,940 --> 00:46:31,460 Hivyo hii ni mahali ambapo sisi mwisho kushoto mbali. 932 00:46:31,460 --> 00:46:35,110 Jinsi gani mimi kwenda ndani ya insert_node, Avica, kuchunguza nini kinaendelea? 933 00:46:35,110 --> 00:46:36,360 Nini GDB amri? 934 00:46:36,360 --> 00:46:41,050 935 00:46:41,050 --> 00:46:42,390 Break bila kuchukua me ndani. 936 00:46:42,390 --> 00:46:46,200 937 00:46:46,200 --> 00:46:47,130 Je, Marquise kujua? 938 00:46:47,130 --> 00:46:48,240 >> Watazamaji: Nini? 939 00:46:48,240 --> 00:46:51,780 >> JASON HIRSCHHORN: Nini GDB amri Mimi kutumia kwenda ndani ya kazi hii? 940 00:46:51,780 --> 00:46:52,070 >> Watazamaji: Hatua? 941 00:46:52,070 --> 00:46:55,140 >> JASON HIRSCHHORN: Hatua kupitia S. Hii inachukua me ndani. 942 00:46:55,140 --> 00:46:55,476 OK. 943 00:46:55,476 --> 00:46:58,040 New_node mallocing baadhi ya nafasi. 944 00:46:58,040 --> 00:46:59,120 Hayo ni yote inaonekana kama wake kwenda. 945 00:46:59,120 --> 00:47:00,370 Hebu kuchunguza new_node. 946 00:47:00,370 --> 00:47:03,270 947 00:47:03,270 --> 00:47:05,410 Ni got baadhi ya anwani kumbukumbu. 948 00:47:05,410 --> 00:47:07,440 Hebu angalia - 949 00:47:07,440 --> 00:47:08,500 kwamba ni yote ni sahihi. 950 00:47:08,500 --> 00:47:12,220 Kwa hiyo kila kitu hapa inaonekana kazi kwa usahihi. 951 00:47:12,220 --> 00:47:14,530 >> Watazamaji: Nini tofauti kati ya P na kuonyesha? 952 00:47:14,530 --> 00:47:16,160 >> JASON HIRSCHHORN: P anasimama kwa magazeti. 953 00:47:16,160 --> 00:47:19,310 Na hivyo wewe ni kuuliza nini tofauti kati ya kuwa na hili? 954 00:47:19,310 --> 00:47:22,330 Katika kesi hiyo, hakuna kitu. 955 00:47:22,330 --> 00:47:26,960 Lakini kwa ujumla kuna baadhi ya tofauti. 956 00:47:26,960 --> 00:47:28,220 Na unapaswa kuangalia katika mwongozo GDB. 957 00:47:28,220 --> 00:47:29,560 Lakini katika kesi hii, hakuna kitu. 958 00:47:29,560 --> 00:47:31,460 Sisi huwa na kutumia magazeti, ingawa, kwa sababu hatuna haja ya kufanya zaidi ya 959 00:47:31,460 --> 00:47:33,960 magazeti thamani moja. 960 00:47:33,960 --> 00:47:34,640 >> OK. 961 00:47:34,640 --> 00:47:40,300 Hivyo sisi ni juu ya line 80 ya kanuni zetu, kuweka nodi * curr sawa na orodha. 962 00:47:40,300 --> 00:47:42,500 Hebu magazeti nje curr. 963 00:47:42,500 --> 00:47:45,260 964 00:47:45,260 --> 00:47:46,840 Ni sawa na orodha. 965 00:47:46,840 --> 00:47:48,850 Tamu. 966 00:47:48,850 --> 00:47:49,340 Kusubiri. 967 00:47:49,340 --> 00:47:50,590 Ni sawa na kitu. 968 00:47:50,590 --> 00:47:53,680 969 00:47:53,680 --> 00:47:56,190 Kwamba haionekani haki. 970 00:47:56,190 --> 00:47:56,840 Kuna sisi kwenda. 971 00:47:56,840 --> 00:47:59,470 Ni kwa sababu katika GDB, haki, kama ni line uko juu yake 972 00:47:59,470 --> 00:48:00,330 hana kunyongwa bado. 973 00:48:00,330 --> 00:48:03,100 Hivyo unahitaji kwa kweli aina karibu na kutekeleza line 974 00:48:03,100 --> 00:48:05,230 kabla ya kuona matokeo yake. 975 00:48:05,230 --> 00:48:06,680 Hivyo hapa sisi ni. 976 00:48:06,680 --> 00:48:09,490 Sisi tu kunyongwa mstari huu, uliopita ni sawa na null. 977 00:48:09,490 --> 00:48:13,590 Hivyo tena, kama sisi magazeti uliopita sisi si kuona kitu weird. 978 00:48:13,590 --> 00:48:18,680 Lakini kama sisi kweli nitafanya kwamba line, kisha tutaona 979 00:48:18,680 --> 00:48:20,380 kwamba line kazi. 980 00:48:20,380 --> 00:48:21,060 >> Hivyo tuna curr. 981 00:48:21,060 --> 00:48:23,180 Wale wote ni nzuri. 982 00:48:23,180 --> 00:48:24,010 Haki? 983 00:48:24,010 --> 00:48:28,130 Sasa tuko juu ya mstari huu hapa. 984 00:48:28,130 --> 00:48:29,310 Wakati curr haina sawa null. 985 00:48:29,310 --> 00:48:31,110 Naam, nini curr sawa? 986 00:48:31,110 --> 00:48:32,450 Sisi tu alipowaona ililingana null. 987 00:48:32,450 --> 00:48:33,210 Sisi kuchapishwa nje. 988 00:48:33,210 --> 00:48:35,110 Mimi itabidi magazeti ya nje tena. 989 00:48:35,110 --> 00:48:36,720 Hivyo ni kwamba wakati kitanzi kwenda kutekeleza? 990 00:48:36,720 --> 00:48:37,270 >> Watazamaji: Hapana 991 00:48:37,270 --> 00:48:39,790 >> JASON HIRSCHHORN: Kwa hiyo wakati mimi niliandika kwamba line, unaweza kuona sisi akaruka njia yote 992 00:48:39,790 --> 00:48:41,390 chini kwa chini, kurudi uongo. 993 00:48:41,390 --> 00:48:44,520 Na kisha sisi ni kwenda na kurudi uongo na kurudi nyuma kwa programu yetu na 994 00:48:44,520 --> 00:48:48,020 hatimaye magazeti nje, kama tuliona, kuingiza hakuwa na mafanikio. 995 00:48:48,020 --> 00:48:51,010 Kwa hiyo, mtu yeyote kuwa na mawazo yoyote juu ya nini tunahitaji kufanya kutatua tatizo hili? 996 00:48:51,010 --> 00:48:54,200 997 00:48:54,200 --> 00:48:57,570 Mimi nina kwenda kusubiri mpaka naona michache ya mikono kwenda juu. 998 00:48:57,570 --> 00:48:58,830 Hatukuwa kutekeleza hili. 999 00:48:58,830 --> 00:49:01,660 Kumbuka, hii ilikuwa ya kwanza kitu tunafanya. 1000 00:49:01,660 --> 00:49:02,430 Mimi si kwenda kufanya wanandoa. 1001 00:49:02,430 --> 00:49:03,670 Mimi nina kwenda kufanya wachache. 1002 00:49:03,670 --> 00:49:04,830 Kwa sababu kadhaa ina maana mbili. 1003 00:49:04,830 --> 00:49:07,620 Mimi itabidi kusubiri kwa zaidi ya miaka miwili. 1004 00:49:07,620 --> 00:49:10,690 >> kuingizwa kwanza, curr, by default ni sawa na null. 1005 00:49:10,690 --> 00:49:14,050 Na kitanzi hii inatimiza tu kama curr ni si null. 1006 00:49:14,050 --> 00:49:18,740 Hivyo ni jinsi gani mimi kupata kote hili? 1007 00:49:18,740 --> 00:49:19,990 Mimi naona mikono tatu. 1008 00:49:19,990 --> 00:49:28,490 1009 00:49:28,490 --> 00:49:29,780 Mimi itabidi kusubiri kwa zaidi ya tatu. 1010 00:49:29,780 --> 00:49:33,460 1011 00:49:33,460 --> 00:49:35,940 Marcus, unafikiri nini? 1012 00:49:35,940 --> 00:49:37,730 >> Watazamaji: Naam, kama unahitaji yake kwa kutekeleza zaidi ya mara moja, wewe tu 1013 00:49:37,730 --> 00:49:39,948 mabadiliko hayo kwa do-kitanzi wakati. 1014 00:49:39,948 --> 00:49:41,250 >> JASON HIRSCHHORN: OK. 1015 00:49:41,250 --> 00:49:44,240 Je kwamba kutatua tatizo letu, ingawa? 1016 00:49:44,240 --> 00:49:47,750 >> Watazamaji: Katika kesi hiyo hakuna sababu ya ukweli kwamba orodha ni tupu. 1017 00:49:47,750 --> 00:49:52,150 Hivyo basi pengine tu haja ya kuongeza taarifa kwamba kama exits kitanzi 1018 00:49:52,150 --> 00:49:55,312 basi kuwa mwishoni mwa orodha, ambapo ninyi 1019 00:49:55,312 --> 00:49:56,562 unaweza tu kuingiza. 1020 00:49:56,562 --> 00:49:58,920 1021 00:49:58,920 --> 00:49:59,680 >> JASON HIRSCHHORN: Mimi kama hiyo. 1022 00:49:59,680 --> 00:50:00,500 Kwamba hufanya akili. 1023 00:50:00,500 --> 00:50:03,390 Kama kitanzi exits - 1024 00:50:03,390 --> 00:50:04,800 kwa sababu itabidi kurudi uongo hapa. 1025 00:50:04,800 --> 00:50:08,220 Hivyo kama exits kitanzi, kisha tuko katika mwisho wa orodha, au labda 1026 00:50:08,220 --> 00:50:10,690 mwanzo wa orodha kama kuna kitu katika yake, ambayo ni sawa na mwisho. 1027 00:50:10,690 --> 00:50:12,770 Hivyo sasa tunataka kuingiza kitu hapa. 1028 00:50:12,770 --> 00:50:17,380 Hivyo ni jinsi gani kwamba kanuni kuangalia, Marcus? 1029 00:50:17,380 --> 00:50:21,600 >> Watazamaji: Kama tayari got node malloced, unaweza kusema tu 1030 00:50:21,600 --> 00:50:25,400 new_node-> ijayo ni sawa na null kwa sababu ina kuwa mwishoni. 1031 00:50:25,400 --> 00:50:27,510 Au new_node-> ijayo ni sawa na null. 1032 00:50:27,510 --> 00:50:27,765 >> JASON HIRSCHHORN: OK. 1033 00:50:27,765 --> 00:50:28,190 Sorry. 1034 00:50:28,190 --> 00:50:35,760 New_node-> ijayo ni sawa na null kwa sababu tuko mwishoni. 1035 00:50:35,760 --> 00:50:36,460 Hiyo haina kuiweka in 1036 00:50:36,460 --> 00:50:37,710 Jinsi gani sisi kuiweka katika orodha? 1037 00:50:37,710 --> 00:50:46,130 1038 00:50:46,130 --> 00:50:46,460 Haki. 1039 00:50:46,460 --> 00:50:47,750 Hiyo tu kuiandaa sawa na. 1040 00:50:47,750 --> 00:50:50,940 No jinsi gani sisi kweli kuiweka katika orodha? 1041 00:50:50,940 --> 00:50:54,170 Nini akizungumzia mwisho wa orodha? 1042 00:50:54,170 --> 00:50:56,090 >> Watazamaji: Mkuu. 1043 00:50:56,090 --> 00:50:57,566 >> JASON HIRSCHHORN: Sorry? 1044 00:50:57,566 --> 00:50:59,440 >> Watazamaji: Mkuu ni akizungumzia mwisho wa orodha. 1045 00:50:59,440 --> 00:51:01,480 >> JASON HIRSCHHORN: Kama kuna kitu katika orodha, kichwa akizungumzia 1046 00:51:01,480 --> 00:51:04,170 mwisho wa orodha. 1047 00:51:04,170 --> 00:51:06,920 Ili itabidi kazi kwa kwanza kuingizwa. 1048 00:51:06,920 --> 00:51:09,810 Je kuhusu kama kuna wanandoa mambo katika orodha? 1049 00:51:09,810 --> 00:51:12,470 Kuliko sisi hawataki kuweka kichwa sawa na new_node. 1050 00:51:12,470 --> 00:51:13,790 Je, tunataka kufanya huko? 1051 00:51:13,790 --> 00:51:15,610 Yeah? 1052 00:51:15,610 --> 00:51:16,860 Pengine uliopita. 1053 00:51:16,860 --> 00:51:23,560 1054 00:51:23,560 --> 00:51:24,810 Je kwamba kazi? 1055 00:51:24,810 --> 00:51:28,950 1056 00:51:28,950 --> 00:51:33,050 Kumbuka kwamba uliopita ni pointer kwa nodi. 1057 00:51:33,050 --> 00:51:34,770 Na uliopita ni variable ndani. 1058 00:51:34,770 --> 00:51:38,080 Hivyo line hii kuweka variable mitaa, uliopita, sawa na au 1059 00:51:38,080 --> 00:51:39,380 akizungumzia node hii mpya. 1060 00:51:39,380 --> 00:51:41,500 Hiyo si kweli kuiweka katika orodha yetu, ingawa. 1061 00:51:41,500 --> 00:51:44,330 Jinsi gani sisi kuiweka katika orodha yetu? 1062 00:51:44,330 --> 00:51:45,620 Akchar? 1063 00:51:45,620 --> 00:51:46,870 >> Watazamaji: Nadhani kufanya sasa-> ijayo. 1064 00:51:46,870 --> 00:51:50,186 1065 00:51:50,186 --> 00:51:52,550 >> JASON HIRSCHHORN: OK. 1066 00:51:52,550 --> 00:51:54,010 curr-> ijayo. 1067 00:51:54,010 --> 00:51:58,768 Hivyo tena, sababu tu tuko chini hapa ni, nini sasa sawa? 1068 00:51:58,768 --> 00:51:59,760 >> Watazamaji: Usawa null. 1069 00:51:59,760 --> 00:52:01,790 >> JASON HIRSCHHORN: Na hivyo kile kinachotokea kama sisi kufanya null-> ijayo? 1070 00:52:01,790 --> 00:52:02,810 Tufanye nini kwenda kupata? 1071 00:52:02,810 --> 00:52:04,060 Tutaweza kupata segmentation kosa. 1072 00:52:04,060 --> 00:52:06,600 1073 00:52:06,600 --> 00:52:08,880 >> Watazamaji: Do curr sawa na null. 1074 00:52:08,880 --> 00:52:10,760 >> JASON HIRSCHHORN: Hiyo ni kitu kimoja kama prev, ingawa, kwa sababu kuna 1075 00:52:10,760 --> 00:52:12,820 variable ndani sisi ni kuweka sawa na node hii mpya. 1076 00:52:12,820 --> 00:52:16,680 1077 00:52:16,680 --> 00:52:20,920 Hebu kwenda nyuma ya picha wetu ya kuingiza kitu. 1078 00:52:20,920 --> 00:52:25,500 Kusema sisi ni kuingiza mwishoni ya orodha, hivyo haki hapa. 1079 00:52:25,500 --> 00:52:30,010 Tuna pointer sasa kwamba akizungumzia null na hatua ya awali 1080 00:52:30,010 --> 00:52:32,800 hiyo akizungumzia 8. 1081 00:52:32,800 --> 00:52:35,330 Basi je, sisi haja ya update, Avi? 1082 00:52:35,330 --> 00:52:36,680 >> Watazamaji: Previous-> ijayo? 1083 00:52:36,680 --> 00:52:41,980 >> JASON HIRSCHHORN: Previous-> pili ni nini tunataka update kwa sababu kwamba 1084 00:52:41,980 --> 00:52:44,960 kweli kuingiza katika mwisho wa orodha. 1085 00:52:44,960 --> 00:52:47,220 Bado tuna mdudu moja, ingawa, kwamba sisi ni kwenda kukimbia katika. 1086 00:52:47,220 --> 00:52:50,090 Nini kwamba mdudu? 1087 00:52:50,090 --> 00:52:50,790 Yeah? 1088 00:52:50,790 --> 00:52:53,860 >> Watazamaji: Ni kwenda na kurudi uongo katika kesi hii? 1089 00:52:53,860 --> 00:52:56,380 >> JASON HIRSCHHORN: Oh, ni kwa kwenda na kurudi uongo. 1090 00:52:56,380 --> 00:52:57,430 Lakini kuna mdudu mwingine. 1091 00:52:57,430 --> 00:52:58,930 Hivyo tutaweza haja ya kuweka katika kurudi kweli. 1092 00:52:58,930 --> 00:53:01,370 >> Watazamaji: Je uliopita bado sawa null juu ya orodha? 1093 00:53:01,370 --> 00:53:03,645 >> JASON HIRSCHHORN: bado Hivyo uliopita sawa na null mwanzoni sana. 1094 00:53:03,645 --> 00:53:07,480 1095 00:53:07,480 --> 00:53:10,440 Hivyo ni jinsi gani sisi kupata zaidi ya hiyo? 1096 00:53:10,440 --> 00:53:10,950 Yeah? 1097 00:53:10,950 --> 00:53:15,280 >> Watazamaji: Nadhani unaweza kufanya kuangalia kabla ya wakati kitanzi ili kuona kama ni 1098 00:53:15,280 --> 00:53:16,610 orodha tupu. 1099 00:53:16,610 --> 00:53:17,000 >> JASON HIRSCHHORN: OK. 1100 00:53:17,000 --> 00:53:17,710 Basi hebu nenda hapa. 1101 00:53:17,710 --> 00:53:18,530 Kufanya kuangalia. 1102 00:53:18,530 --> 00:53:19,380 Kama - 1103 00:53:19,380 --> 00:53:20,770 >> Watazamaji: Hivyo kama kichwa sawa na sawa null. 1104 00:53:20,770 --> 00:53:24,300 1105 00:53:24,300 --> 00:53:26,320 >> JASON HIRSCHHORN: Kama kichwa sawa na sawa null - 1106 00:53:26,320 --> 00:53:27,790 kwamba utakuwa kutuambia kama ni orodha tupu. 1107 00:53:27,790 --> 00:53:31,090 >> Watazamaji: Na kisha kufanya kichwa ni sawa na mpya. 1108 00:53:31,090 --> 00:53:34,740 >> JASON HIRSCHHORN: Mkuu sawa na new_node? 1109 00:53:34,740 --> 00:53:35,730 Na kile kingine tunahitaji nini? 1110 00:53:35,730 --> 00:53:37,020 >> Watazamaji: Na kisha kurudi kweli. 1111 00:53:37,020 --> 00:53:37,535 >> JASON HIRSCHHORN: Si kabisa. 1112 00:53:37,535 --> 00:53:38,785 Sisi ni kukosa hatua moja. 1113 00:53:38,785 --> 00:53:41,590 1114 00:53:41,590 --> 00:53:43,710 >> Watazamaji: New_node ijayo ina uhakika na null. 1115 00:53:43,710 --> 00:53:44,570 >> JASON HIRSCHHORN: Hasa, Alden. 1116 00:53:44,570 --> 00:53:46,600 Na kisha tunaweza kurudi kweli. 1117 00:53:46,600 --> 00:53:47,560 OK. 1118 00:53:47,560 --> 00:53:51,630 Lakini bado ni wazo nzuri ya kufanya mambo mwishoni mwa orodha, sawa? 1119 00:53:51,630 --> 00:53:51,950 Sawa. 1120 00:53:51,950 --> 00:53:54,450 Sisi bado wanaweza kweli kupata mwisho wa orodha. 1121 00:53:54,450 --> 00:53:57,870 Hivyo ni faini hii code kama tuko katika mwisho wa orodha na kuna baadhi ya 1122 00:53:57,870 --> 00:53:59,120 mambo katika orodha? 1123 00:53:59,120 --> 00:54:01,830 1124 00:54:01,830 --> 00:54:02,040 Haki? 1125 00:54:02,040 --> 00:54:03,540 Kwa sababu sisi bado kuwa na wazo Marcus ya. 1126 00:54:03,540 --> 00:54:06,870 Tupate exit kitanzi hii kwa sababu sisi ni mwisho wa orodha. 1127 00:54:06,870 --> 00:54:09,308 Hivyo sisi bado wanataka hii ya kificho chini hapa? 1128 00:54:09,308 --> 00:54:10,520 >> Watazamaji: Ndiyo. 1129 00:54:10,520 --> 00:54:11,000 >> JASON HIRSCHHORN: Yeah. 1130 00:54:11,000 --> 00:54:14,190 Na nini tunahitaji mabadiliko ya hii? 1131 00:54:14,190 --> 00:54:15,440 Kweli. 1132 00:54:15,440 --> 00:54:19,580 1133 00:54:19,580 --> 00:54:21,640 Gani kwamba sauti nzuri kwa kila mtu hadi sasa? 1134 00:54:21,640 --> 00:54:22,420 Mtu yeyote kuwa na yoyote - 1135 00:54:22,420 --> 00:54:23,480 Avi, je, una kitu cha kuongeza? 1136 00:54:23,480 --> 00:54:23,920 >> Watazamaji: Hapana 1137 00:54:23,920 --> 00:54:25,276 >> JASON HIRSCHHORN: OK. 1138 00:54:25,276 --> 00:54:27,010 Hivyo tumekuwa alifanya michache ya mabadiliko. 1139 00:54:27,010 --> 00:54:29,540 Tumekuwa alifanya hii kuangalia kabla ya sisi alikwenda kwa ajili ya orodha tupu. 1140 00:54:29,540 --> 00:54:31,790 Hivyo tumekuwa kuchukuliwa huduma ya orodha tupu. 1141 00:54:31,790 --> 00:54:35,500 Na hapa sisi alichukua huduma ya kuingiza kitu mwishoni mwa orodha. 1142 00:54:35,500 --> 00:54:38,930 Hivyo inaonekana kama hii kuchukua kitanzi wakati huduma ya mambo katika kati, 1143 00:54:38,930 --> 00:54:41,920 mahali fulani katika orodha kama kuna ni mambo katika orodha. 1144 00:54:41,920 --> 00:54:42,280 >> OK. 1145 00:54:42,280 --> 00:54:44,310 Hebu kuendesha mpango huu tena. 1146 00:54:44,310 --> 00:54:50,170 1147 00:54:50,170 --> 00:54:50,755 Si mafanikio. 1148 00:54:50,755 --> 00:54:52,190 >> Watazamaji: You hawakuwa kufanya hivyo. 1149 00:54:52,190 --> 00:54:53,940 >> JASON HIRSCHHORN: Oh, Sikuweza kufanya hivyo. 1150 00:54:53,940 --> 00:54:56,250 Nzuri uhakika, Michael. 1151 00:54:56,250 --> 00:54:57,500 Hebu kuongeza kufanya wanaohusishwa. 1152 00:54:57,500 --> 00:55:01,590 1153 00:55:01,590 --> 00:55:04,830 Line 87 kuna makosa. 1154 00:55:04,830 --> 00:55:05,420 Line 87. 1155 00:55:05,420 --> 00:55:06,600 Alden, hii ilikuwa line ulilonipa. 1156 00:55:06,600 --> 00:55:08,962 Nini kibaya? 1157 00:55:08,962 --> 00:55:10,710 >> Watazamaji: Ni ina kuwa kwa null. 1158 00:55:10,710 --> 00:55:11,000 >> JASON HIRSCHHORN: Excellent. 1159 00:55:11,000 --> 00:55:11,630 Hasa haki. 1160 00:55:11,630 --> 00:55:13,290 Ni lazima null. 1161 00:55:13,290 --> 00:55:15,210 Hebu kufanya tena. 1162 00:55:15,210 --> 00:55:17,220 Kukusanya. 1163 00:55:17,220 --> 00:55:17,890 OK. 1164 00:55:17,890 --> 00:55:19,400 Hebu kuingiza tatu. 1165 00:55:19,400 --> 00:55:20,570 kuingiza ilikuwa na mafanikio. 1166 00:55:20,570 --> 00:55:21,660 Hebu magazeti nje. 1167 00:55:21,660 --> 00:55:23,590 Oh, kama tu tunaweza kuangalia. 1168 00:55:23,590 --> 00:55:25,500 Lakini hatujafanya magazeti kazi bado. 1169 00:55:25,500 --> 00:55:27,840 Hebu kuingia kitu kingine. 1170 00:55:27,840 --> 00:55:29,090 Tufanye kuingia? 1171 00:55:29,090 --> 00:55:31,120 1172 00:55:31,120 --> 00:55:31,940 >> Watazamaji Saba. 1173 00:55:31,940 --> 00:55:33,340 >> JASON HIRSCHHORN Saba? 1174 00:55:33,340 --> 00:55:34,590 >> Watazamaji: Ndiyo. 1175 00:55:34,590 --> 00:55:38,680 1176 00:55:38,680 --> 00:55:39,780 >> JASON HIRSCHHORN: Tuna seg kosa. 1177 00:55:39,780 --> 00:55:43,760 Hivyo tulipata moja, lakini sisi wazi hawawezi kupata mbili. 1178 00:55:43,760 --> 00:55:45,690 Ni 05:07. 1179 00:55:45,690 --> 00:55:48,370 Hivyo tunaweza Debug hii kwa muda wa dakika tatu. 1180 00:55:48,370 --> 00:55:51,240 Lakini mimi naenda kuondoka sisi hapa na hoja juu ya hash meza. 1181 00:55:51,240 --> 00:55:54,290 Lakini tena, majibu kwa kanuni hii Nami email ninyi katika kidogo. 1182 00:55:54,290 --> 00:55:55,440 Sisi ni karibu sana na hilo. 1183 00:55:55,440 --> 00:55:58,300 Mimi sana moyo kufikiri nini kinaendelea hapa na kurekebisha. 1184 00:55:58,300 --> 00:56:02,400 Kwa hiyo nitakuwa email kanuni hii kama vizuri pamoja na ufumbuzi - 1185 00:56:02,400 --> 00:56:03,670 pengine ufumbuzi baadaye. 1186 00:56:03,670 --> 00:56:05,110 Kwanza kanuni hii. 1187 00:56:05,110 --> 00:56:08,290 >> Kitu kingine nataka kufanya kabla ya sisi kumaliza ni sisi si huru kitu chochote. 1188 00:56:08,290 --> 00:56:10,370 Hivyo nataka kuonyesha nini Valgrind inaonekana kama. 1189 00:56:10,370 --> 00:56:14,310 Kama sisi kukimbia Valgrind mipaka juu ya mpango wetu,. / wanaohusishwa. 1190 00:56:14,310 --> 00:56:22,540 Tena, kwa mujibu wa slide hii, sisi lazima kukimbia Valgrind kwa baadhi ya aina ya 1191 00:56:22,540 --> 00:56:26,410 chaguo, katika kesi hii - Leak-kuangalia = full. 1192 00:56:26,410 --> 00:56:27,660 Basi hebu kuandika Valgrind - Leak-kuangalia = full. 1193 00:56:27,660 --> 00:56:31,910 1194 00:56:31,910 --> 00:56:35,080 Hivyo hii inakwenda Valgrind juu ya mpango wetu. 1195 00:56:35,080 --> 00:56:37,000 Na sasa mpango kweli anaendesha. 1196 00:56:37,000 --> 00:56:40,190 Hivyo sisi ni kwenda kuendesha tu kama kabla, kuweka kitu in 1197 00:56:40,190 --> 00:56:40,830 Mimi naenda kuweka katika tatu. 1198 00:56:40,830 --> 00:56:41,790 Kwamba kazi. 1199 00:56:41,790 --> 00:56:43,202 Mimi si kwenda kujaribu kuweka katika kitu mwingine kwa sababu tunakwenda 1200 00:56:43,202 --> 00:56:44,710 kupata seg uongo katika kesi hiyo. 1201 00:56:44,710 --> 00:56:46,700 Hivyo mimi nina tu kwenda kuacha. 1202 00:56:46,700 --> 00:56:50,160 >> Na sasa unaweza kuona hapa chini kuvuja na chungu muhtasari. 1203 00:56:50,160 --> 00:56:52,310 Haya ni mambo mazuri ambayo unataka kuangalia nje. 1204 00:56:52,310 --> 00:56:56,780 Hivyo chungu summary - inasema, katika matumizi ya katika exit - ka nane katika kuzuia moja. 1205 00:56:56,780 --> 00:56:58,370 Hiyo kuzuia moja ni node sisi malloced. 1206 00:56:58,370 --> 00:57:02,230 Michael, alisema kabla ya node ni nane kuumwa kwa sababu ina integer 1207 00:57:02,230 --> 00:57:02,680 na pointer. 1208 00:57:02,680 --> 00:57:04,550 Hivyo kwamba ni node yetu. 1209 00:57:04,550 --> 00:57:08,170 Na kisha anasema tulikuwa malloc mara saba na sisi huru 1210 00:57:08,170 --> 00:57:08,940 kitu mara sita. 1211 00:57:08,940 --> 00:57:13,680 Lakini sisi kamwe kuitwa bure, hivyo mimi sina wazo jambo hili ni kuzungumza juu. 1212 00:57:13,680 --> 00:57:18,490 >> Lakini inatosha kusema kwamba wakati wako anaendesha mpango, malloc ni kuitwa 1213 00:57:18,490 --> 00:57:20,330 katika baadhi ya maeneo mengine kwamba sisi hawana haja ya wasiwasi juu. 1214 00:57:20,330 --> 00:57:22,460 Hivyo malloc labda aitwaye katika baadhi ya maeneo. 1215 00:57:22,460 --> 00:57:24,480 Hatuna haja ya kuwa na wasiwasi ambapo. 1216 00:57:24,480 --> 00:57:26,240 Lakini hii ni kweli sisi. 1217 00:57:26,240 --> 00:57:27,380 Hii mstari wa kwanza ni sisi. 1218 00:57:27,380 --> 00:57:28,320 Sisi kushoto kuzuia kwamba. 1219 00:57:28,320 --> 00:57:30,330 Na unaweza kuona kwamba hapa katika muhtasari leak. 1220 00:57:30,330 --> 00:57:31,950 Bado reachable - 1221 00:57:31,950 --> 00:57:32,930 ka nane katika kuzuia moja. 1222 00:57:32,930 --> 00:57:34,100 Hiyo ina maana kwamba kumbukumbu - 1223 00:57:34,100 --> 00:57:35,730 sisi na kuvuja kwamba kumbukumbu. 1224 00:57:35,730 --> 00:57:37,570 Dhahiri waliopotea - 1225 00:57:37,570 --> 00:57:38,770 kitu ni kupotea kwa nzuri. 1226 00:57:38,770 --> 00:57:40,590 Kwa ujumla, wewe si kuona kitu huko. 1227 00:57:40,590 --> 00:57:44,780 Bado reachable kwa ujumla ni ambapo utaona mambo, ambapo utasikia wanataka 1228 00:57:44,780 --> 00:57:48,900 kuangalia na kuona nini code lazima wewe kuwa huru lakini alisahau bure. 1229 00:57:48,900 --> 00:57:53,170 >> Na kisha kama hii ilikuwa si kesi, kama tulivyofanya bure kila kitu, 1230 00:57:53,170 --> 00:57:54,360 tunaweza kuangalia hiyo. 1231 00:57:54,360 --> 00:57:57,330 Hebu tu kuendesha programu si kuweka kitu chochote. 1232 00:57:57,330 --> 00:57:59,800 Utaona hapa chini katika matumizi ya exit - 1233 00:57:59,800 --> 00:58:01,310 ka zero katika zero vitalu. 1234 00:58:01,310 --> 00:58:06,310 Hiyo ina maana sisi alikuwa na kitu kushoto wakati mpango huu exited. 1235 00:58:06,310 --> 00:58:12,090 Hivyo kabla ya kugeuka katika pset6, kukimbia Valgrind na kuhakikisha huna 1236 00:58:12,090 --> 00:58:15,310 kumbukumbu yoyote uvujaji katika programu yako. 1237 00:58:15,310 --> 00:58:17,910 Kama una maswali yoyote na Valgrind, kujisikia huru kuwafikia. 1238 00:58:17,910 --> 00:58:18,700 Lakini hii ni jinsi gani matumizi yake. 1239 00:58:18,700 --> 00:58:20,890 Rahisi sana - kuona kama wewe na katika matumizi ya exit - 1240 00:58:20,890 --> 00:58:22,270 ka yoyote katika vitalu yoyote. 1241 00:58:22,270 --> 00:58:27,890 1242 00:58:27,890 --> 00:58:29,580 >> Hivyo sisi walikuwa wakifanya kazi kwa kuingiza nodi. 1243 00:58:29,580 --> 00:58:33,840 Mimi nilikuwa na kazi nyingine mbili hapa - magazeti nodes na nodes bure. 1244 00:58:33,840 --> 00:58:37,780 Tena, hayo ni kazi ambayo ni kwenda kuwa nzuri kwa ajili ya kufanya mazoezi 1245 00:58:37,780 --> 00:58:40,990 kwa sababu wao kukusaidia si tu kwa mazoezi haya sampuli lakini pia 1246 00:58:40,990 --> 00:58:42,180 juu ya kuweka tatizo. 1247 00:58:42,180 --> 00:58:44,230 Wao ramani juu ya pretty karibu na mambo wewe kwenda kufanya katika 1248 00:58:44,230 --> 00:58:45,010 kuweka tatizo. 1249 00:58:45,010 --> 00:58:47,640 Lakini mimi unataka kuhakikisha sisi kugusa juu ya kila kitu. 1250 00:58:47,640 --> 00:58:50,400 Na meza hash pia ni muhimu kwa nini sisi ni kufanya katika sehemu hii 1251 00:58:50,400 --> 00:58:51,980 wiki - au katika kuweka tatizo. 1252 00:58:51,980 --> 00:58:55,200 >> Hivyo sisi ni kwenda kumaliza sehemu ya kuzungumza juu ya meza hash. 1253 00:58:55,200 --> 00:58:58,140 Kama taarifa mimi alifanya kidogo hash meza. 1254 00:58:58,140 --> 00:59:00,020 Hiyo ni nini tunazungumzia kuhusu, hata hivyo. 1255 00:59:00,020 --> 00:59:03,540 Sisi ni kuzungumza juu mbalimbali aina ya meza hash. 1256 00:59:03,540 --> 00:59:07,300 Na katika msingi wake, meza hash ni kitu zaidi kuliko 1257 00:59:07,300 --> 00:59:08,860 safu pamoja na hash kazi. 1258 00:59:08,860 --> 00:59:11,150 Sisi ni kwenda kuzungumza kwa kidogo tu kwa kuhakikisha kila mtu anafahamu a 1259 00:59:11,150 --> 00:59:12,110 kazi hash ni. 1260 00:59:12,110 --> 00:59:15,420 Na mimi nina nakuambia hivi sasa kuwa ni kitu zaidi ya mambo mawili - 1261 00:59:15,420 --> 00:59:18,590 safu na hash kazi. 1262 00:59:18,590 --> 00:59:20,716 Na hapa ni hatua kwa ambayo hii kazi. 1263 00:59:20,716 --> 00:59:31,560 1264 00:59:31,560 --> 00:59:32,810 >> Kuna safu yetu. 1265 00:59:32,810 --> 00:59:38,460 1266 00:59:38,460 --> 00:59:39,460 Kuna kazi yetu. 1267 00:59:39,460 --> 00:59:43,180 Hasa, kazi hash haja ya kufanya mambo kadhaa ya na hili. 1268 00:59:43,180 --> 00:59:45,040 Mimi nina kwenda kuzungumza hasa kuhusu tatizo hili kuweka. 1269 00:59:45,040 --> 00:59:46,450 Ni pengine ni kwenda kuchukua katika kamba. 1270 00:59:46,450 --> 00:59:50,570 1271 00:59:50,570 --> 00:59:51,770 Na nini ni kwenda na kurudi? 1272 00:59:51,770 --> 00:59:52,640 Nini data aina? 1273 00:59:52,640 --> 00:59:54,260 Alden? 1274 00:59:54,260 --> 00:59:55,760 Hash kazi yako ya kurudi? 1275 00:59:55,760 --> 00:59:58,760 integer. 1276 00:59:58,760 --> 01:00:01,700 Hivyo hii ni nini hash meza lina - 1277 01:00:01,700 --> 01:00:05,430 meza katika mfumo wa safu na hash kazi. 1278 01:00:05,430 --> 01:00:06,010 Jinsi kazi? 1279 01:00:06,010 --> 01:00:07,300 Ni kazi katika hatua tatu. 1280 01:00:07,300 --> 01:00:08,740 Sisi kuwapa muhimu. 1281 01:00:08,740 --> 01:00:11,470 Katika kesi hiyo, tutaweza kuwapa kamba. 1282 01:00:11,470 --> 01:00:18,140 Tunatoa wito heshi kwa hatua moja juu ya msingi na sisi kupata thamani. 1283 01:00:18,140 --> 01:00:20,310 >> Hasa, tutaweza kusema sisi kupata integer. 1284 01:00:20,310 --> 01:00:25,630 Integer kwamba, kuna maalum sana mipaka ya nini kuwa integer wanaweza kuwa. 1285 01:00:25,630 --> 01:00:28,880 Katika mfano huu, safu yetu ni ya kawaida tatu. 1286 01:00:28,880 --> 01:00:32,330 Basi nini idadi unaweza kuwa integer kuwa. 1287 01:00:32,330 --> 01:00:35,970 Aina mbalimbali ya maadili halali kwa nini kwamba integer, aina ya kurudi hii 1288 01:00:35,970 --> 01:00:37,220 hash kazi? 1289 01:00:37,220 --> 01:00:40,440 1290 01:00:40,440 --> 01:00:42,110 Zero, moja na mbili. 1291 01:00:42,110 --> 01:00:46,060 hatua ya heshi ni kwa kufikiri mahali katika safu 1292 01:00:46,060 --> 01:00:47,790 ambapo muhimu yetu ni kwenda. 1293 01:00:47,790 --> 01:00:51,290 Kuna tatu tu inawezekana maeneo hapa - 1294 01:00:51,290 --> 01:00:52,130 sifuri, moja, au mbili. 1295 01:00:52,130 --> 01:00:55,360 Hivyo kazi hii bora kurudi sifuri, moja, au mbili. 1296 01:00:55,360 --> 01:00:58,740 Baadhi ya indice halali katika safu hii. 1297 01:00:58,740 --> 01:01:02,770 >> Na kisha kulingana na pale kuirudisha, unaweza kuona kuna safu wazi 1298 01:01:02,770 --> 01:01:03,730 mabano thamani. 1299 01:01:03,730 --> 01:01:05,800 Hiyo ambapo sisi kuweka muhimu. 1300 01:01:05,800 --> 01:01:11,280 Hivyo sisi kutupa katika pumpkin, sisi kupata nje zero. 1301 01:01:11,280 --> 01:01:15,540 Katika safu bracket 0, sisi kuweka pumpkin. 1302 01:01:15,540 --> 01:01:21,070 Sisi kutupa katika paka, sisi kupata nje moja. 1303 01:01:21,070 --> 01:01:24,110 Sisi kuweka paka saa moja. 1304 01:01:24,110 --> 01:01:25,480 Sisi kuweka katika buibui. 1305 01:01:25,480 --> 01:01:26,710 Sisi kupata nje mbili. 1306 01:01:26,710 --> 01:01:30,200 Sisi kuweka buibui katika safu bracket mbili. 1307 01:01:30,200 --> 01:01:32,300 Ingekuwa hivyo nzuri kama ni kazi kama hiyo. 1308 01:01:32,300 --> 01:01:35,570 Lakini kwa bahati mbaya, kama tutaweza kuona, ni kidogo ngumu zaidi. 1309 01:01:35,570 --> 01:01:37,570 >> Kabla ya sisi kufika huko, maswali yoyote kuhusu hii ya msingi 1310 01:01:37,570 --> 01:01:38,820 kuweka-up ya meza hash? 1311 01:01:38,820 --> 01:01:49,050 1312 01:01:49,050 --> 01:01:51,940 Hii ni picha ya hasa nini sisi yanaanza bodi. 1313 01:01:51,940 --> 01:01:55,420 Lakini kwa kuwa sisi akauchomoa juu ya bodi, mimi mimi si kwenda ndani yake zaidi. 1314 01:01:55,420 --> 01:02:00,430 Kimsingi funguo, uchawi mweusi sanduku - au katika kesi hii, teal sanduku - ya 1315 01:02:00,430 --> 01:02:02,410 kazi hash unaweka yao katika ndoo. 1316 01:02:02,410 --> 01:02:04,690 Na katika mfano huu tuko si kuweka jina. 1317 01:02:04,690 --> 01:02:07,880 Sisi ni kuweka simu kuhusishwa idadi ya jina katika ndoo. 1318 01:02:07,880 --> 01:02:10,430 Lakini unaweza vizuri sana tu kuweka jina katika ndoo. 1319 01:02:10,430 --> 01:02:12,950 >> Hii ni picha ya nini tulianzisha kwenye ubao. 1320 01:02:12,950 --> 01:02:14,460 Tuna pitfalls uwezo, ingawa. 1321 01:02:14,460 --> 01:02:17,470 Na kuna mambo mawili hasa slides kwamba nataka kwenda juu. 1322 01:02:17,470 --> 01:02:20,230 Wa kwanza ni kuhusu hash kazi. 1323 01:02:20,230 --> 01:02:22,620 Basi, mimi aliuliza swali, nini hufanya vizuri hash kazi? 1324 01:02:22,620 --> 01:02:24,220 Mimi kutoa majibu mbili. 1325 01:02:24,220 --> 01:02:26,630 kwanza ni kwamba ni deterministic. 1326 01:02:26,630 --> 01:02:29,660 Katika mazingira ya kazi hash, hii ina maana gani? 1327 01:02:29,660 --> 01:02:37,840 1328 01:02:37,840 --> 01:02:39,282 Ndiyo? 1329 01:02:39,282 --> 01:02:42,850 >> Watazamaji: Ni wanaweza kupata index katika wakati mara kwa mara? 1330 01:02:42,850 --> 01:02:43,810 >> JASON HIRSCHHORN: Hiyo ni nini maana yake. 1331 01:02:43,810 --> 01:02:44,725 Lakini hiyo ni dhana nzuri. 1332 01:02:44,725 --> 01:02:46,100 Mtu mwingine na nadhani kwa nini maana ya hii? 1333 01:02:46,100 --> 01:02:47,780 Kuwa nzuri heshi ni deterministic? 1334 01:02:47,780 --> 01:02:48,280 Annie? 1335 01:02:48,280 --> 01:02:51,680 >> Watazamaji: Hiyo muhimu inaweza tu kuwa mapped kwa sehemu moja katika meza hash. 1336 01:02:51,680 --> 01:02:53,070 >> JASON HIRSCHHORN: Hiyo ni sahihi kabisa. 1337 01:02:53,070 --> 01:02:57,430 Kila wakati kuweka katika pumpkin, daima anarudi sifuri. 1338 01:02:57,430 --> 01:03:01,660 Kama kuweka katika pumpkin na hash yako kazi anarudi zero lakini ina 1339 01:03:01,660 --> 01:03:06,060 uwezekano wa kurudi kitu mwingine zaidi ya sifuri - 1340 01:03:06,060 --> 01:03:09,280 hivyo labda anaweza kurudi moja wakati mwingine au mara nyingine mbili - 1341 01:03:09,280 --> 01:03:11,100 ambayo si nzuri hash kazi. 1342 01:03:11,100 --> 01:03:11,800 Uko sahihi kabisa. 1343 01:03:11,800 --> 01:03:15,680 Hash kazi yako lazima kurudi hiyo hiyo integer, katika kesi hii, kwa 1344 01:03:15,680 --> 01:03:17,780 hiyo hiyo kamba. 1345 01:03:17,780 --> 01:03:22,210 >> Labda kuirudisha hiyo hiyo integer kwa moja string halisi 1346 01:03:22,210 --> 01:03:24,430 bila kujali mtaji. 1347 01:03:24,430 --> 01:03:27,980 Lakini katika kesi hiyo bado ni deterministic kwa sababu mambo mbalimbali 1348 01:03:27,980 --> 01:03:29,350 ni mapped kwenye thamani sawa. 1349 01:03:29,350 --> 01:03:30,170 Hiyo ni sawa. 1350 01:03:30,170 --> 01:03:32,615 Kwa muda mrefu kama kuna moja tu pato kwa ajili ya pembejeo huo. 1351 01:03:32,615 --> 01:03:35,630 1352 01:03:35,630 --> 01:03:36,350 >> OK. 1353 01:03:36,350 --> 01:03:38,340 Jambo la pili ni kwamba anarudi halali fahirisi. 1354 01:03:38,340 --> 01:03:40,220 Sisi kuletwa up kuwa mapema. 1355 01:03:40,220 --> 01:03:41,860 Hii kazi hash - 1356 01:03:41,860 --> 01:03:43,710 oh mvulana - 1357 01:03:43,710 --> 01:03:46,840 heshi lazima kurudi halali fahirisi. 1358 01:03:46,840 --> 01:03:47,740 Hivyo kusema - 1359 01:03:47,740 --> 01:03:48,990 hebu kwenda nyuma kwa mfano huu. 1360 01:03:48,990 --> 01:03:52,580 1361 01:03:52,580 --> 01:03:57,540 Hash My kazi makosa up barua katika neno. 1362 01:03:57,540 --> 01:03:58,380 Hiyo ni hash kazi. 1363 01:03:58,380 --> 01:03:59,740 Na anarudi kwamba integer. 1364 01:03:59,740 --> 01:04:04,280 Basi, ikiwa mimi na neno A, ni kwenda na kurudi moja. 1365 01:04:04,280 --> 01:04:06,900 Na ni kwenda kuweka A hapa. 1366 01:04:06,900 --> 01:04:09,430 Nini kama mimi kuweka katika neno bat? 1367 01:04:09,430 --> 01:04:11,310 Ni kwenda na kurudi tatu. 1368 01:04:11,310 --> 01:04:12,560 Wapi bat kwenda? 1369 01:04:12,560 --> 01:04:18,730 1370 01:04:18,730 --> 01:04:19,750 >> Ni haiendani. 1371 01:04:19,750 --> 01:04:21,000 Lakini inahitaji kwenda mahali fulani. 1372 01:04:21,000 --> 01:04:23,340 Hii ni hash yangu meza baada ya yote, na kila kitu mahitaji ya kwenda mahali fulani. 1373 01:04:23,340 --> 01:04:24,590 Hivyo ambapo lazima bat kwenda? 1374 01:04:24,590 --> 01:04:28,020 1375 01:04:28,020 --> 01:04:28,710 Mawazo yoyote? 1376 01:04:28,710 --> 01:04:29,450 Kuliwaza? 1377 01:04:29,450 --> 01:04:30,280 Nzuri kubahatisha? 1378 01:04:30,280 --> 01:04:31,220 >> Watazamaji: Zero. 1379 01:04:31,220 --> 01:04:32,120 >> JASON HIRSCHHORN: Kwa nini zero? 1380 01:04:32,120 --> 01:04:35,990 >> Watazamaji: Kwa sababu tatu modulo tatu ni sifuri? 1381 01:04:35,990 --> 01:04:38,620 >> JASON HIRSCHHORN: Tatu modulo tatu ni sifuri. 1382 01:04:38,620 --> 01:04:40,810 Hiyo ni dhana ya kubwa, na kwamba ni sahihi. 1383 01:04:40,810 --> 01:04:43,870 Hivyo katika kesi hii ni lazima pengine kwenda katika sifuri. 1384 01:04:43,870 --> 01:04:51,080 Hivyo njia nzuri ya kuhakikisha kwamba hash hii kazi tu anarudi halali fahirisi ni 1385 01:04:51,080 --> 01:04:54,580 kwa modulo ni na ukubwa wa meza. 1386 01:04:54,580 --> 01:04:57,360 Kama modulo chochote hii anarudi na tatu, wewe daima kwenda kupata 1387 01:04:57,360 --> 01:05:00,930 kitu kati ya sifuri, moja, na wawili. 1388 01:05:00,930 --> 01:05:05,160 Na kama hii daima anarudi saba, na daima modulo na tatu, wewe ni 1389 01:05:05,160 --> 01:05:06,030 daima kwenda kupata kitu kimoja. 1390 01:05:06,030 --> 01:05:09,270 >> Hivyo bado ni deterministic kama wewe modulo. 1391 01:05:09,270 --> 01:05:11,420 Lakini hiyo kuhakikisha kwamba kamwe kupata kitu - 1392 01:05:11,420 --> 01:05:12,940 sekta ya batili. 1393 01:05:12,940 --> 01:05:16,840 Kwa ujumla, kwamba modulo lazima kutokea ndani ya hash kazi yako. 1394 01:05:16,840 --> 01:05:18,240 Hivyo huna haja ya kuwa na wasiwasi juu ya hili. 1395 01:05:18,240 --> 01:05:20,555 Wewe tu inaweza kuhakikisha kwamba hii ni indice halali. 1396 01:05:20,555 --> 01:05:23,700 1397 01:05:23,700 --> 01:05:26,700 Maswali yoyote juu ya hii uwezo shimo? 1398 01:05:26,700 --> 01:05:36,590 1399 01:05:36,590 --> 01:05:39,060 >> OK. 1400 01:05:39,060 --> 01:05:40,290 Na huko sisi kwenda. 1401 01:05:40,290 --> 01:05:42,890 Ijayo uwezo shimo, na hii ni moja kubwa. 1402 01:05:42,890 --> 01:05:46,880 Nini kama funguo mbili ramani kwa thamani hiyo? 1403 01:05:46,880 --> 01:05:49,350 Hivyo kuna njia mbili za kushughulikia suala hili. 1404 01:05:49,350 --> 01:05:53,140 1405 01:05:53,140 --> 01:05:56,020 moja ya kwanza iitwayo linear uchunguzi, ambayo nina 1406 01:05:56,020 --> 01:05:57,300 si kwenda juu. 1407 01:05:57,300 --> 01:06:01,120 Lakini unapaswa kuwa ukoo na jinsi kwamba kazi na kile ambacho ni. 1408 01:06:01,120 --> 01:06:05,610 >> moja pili Mimi kwenda juu kwa sababu hiyo ni moja kwamba wengi 1409 01:06:05,610 --> 01:06:08,290 watu pengine kuishia kuamua kutumia katika tatizo kuweka yao. 1410 01:06:08,290 --> 01:06:09,820 Bila shaka, hawana. 1411 01:06:09,820 --> 01:06:15,280 Lakini kwa ajili ya kuweka tatizo, watu wengi huwa na kuchagua kuunda meza hash 1412 01:06:15,280 --> 01:06:17,950 na chaining tofauti na kutekeleza kamusi yao. 1413 01:06:17,950 --> 01:06:21,390 Hivyo sisi ni kwenda juu ya nini maana ya kujenga meza hash na 1414 01:06:21,390 --> 01:06:23,890 tofauti chaining. 1415 01:06:23,890 --> 01:06:26,260 >> Basi, mimi kuweka katika pumpkin. 1416 01:06:26,260 --> 01:06:29,560 Kuirudisha sifuri. 1417 01:06:29,560 --> 01:06:31,410 Na mimi kuweka pumpkin hapa. 1418 01:06:31,410 --> 01:06:35,880 1419 01:06:35,880 --> 01:06:37,930 Kisha mimi kuweka katika - 1420 01:06:37,930 --> 01:06:39,922 nini mwingine kitu Halloween-themed? 1421 01:06:39,922 --> 01:06:42,200 >> Watazamaji: pipi. 1422 01:06:42,200 --> 01:06:42,770 >> JASON HIRSCHHORN: pipi! 1423 01:06:42,770 --> 01:06:43,910 Hiyo ni moja kubwa. 1424 01:06:43,910 --> 01:06:47,760 Mimi kuweka katika pipi, na pipi pia inatoa mimi sifuri. 1425 01:06:47,760 --> 01:06:49,350 Je, nini? 1426 01:06:49,350 --> 01:06:51,940 Mawazo yoyote? 1427 01:06:51,940 --> 01:06:53,940 Kwa sababu wewe kila aina ya kujua nini tofauti chaining ni. 1428 01:06:53,940 --> 01:06:55,190 Hivyo mawazo yoyote nini cha kufanya? 1429 01:06:55,190 --> 01:06:58,170 1430 01:06:58,170 --> 01:06:59,110 Yeah. 1431 01:06:59,110 --> 01:07:03,810 >> Watazamaji: Kuweka string kweli katika meza hash. 1432 01:07:03,810 --> 01:07:08,910 >> JASON HIRSCHHORN: Hivyo sisi ni kwenda kwa kuteka wazo nzuri zaidi ya hapa. 1433 01:07:08,910 --> 01:07:09,340 OK. 1434 01:07:09,340 --> 01:07:12,290 >> Watazamaji: Je, hashtable [Inaudible] 1435 01:07:12,290 --> 01:07:16,640 pointer kwamba pointi kwa mwanzo wa orodha. 1436 01:07:16,640 --> 01:07:20,930 Na kisha kuwa pumpkin kuwa na thamani ya kwanza katika orodha wanaohusishwa na pipi kuwa 1437 01:07:20,930 --> 01:07:22,800 Thamani ya pili katika orodha kwamba uhusiano. 1438 01:07:22,800 --> 01:07:23,420 >> JASON HIRSCHHORN: OK. 1439 01:07:23,420 --> 01:07:24,670 Marcus, kwamba alikuwa bora. 1440 01:07:24,670 --> 01:07:26,160 Mimi nina kwenda kuvunja kwamba chini. 1441 01:07:26,160 --> 01:07:28,890 Marcus ni kusema hawana overwrite pumpkin. 1442 01:07:28,890 --> 01:07:30,660 Hiyo itakuwa mbaya. 1443 01:07:30,660 --> 01:07:33,640 Je, si kuweka pipi mahali pengine. 1444 01:07:33,640 --> 01:07:35,390 Sisi ni kwenda kuweka wote wawili katika sifuri. 1445 01:07:35,390 --> 01:07:37,770 Lakini sisi ni kwenda kukabiliana na kuweka katika sifuri na 1446 01:07:37,770 --> 01:07:39,395 kujenga orodha sifuri. 1447 01:07:39,395 --> 01:07:42,430 Na tunakwenda kutengeneza orodha ya kila kitu mapped kwa sifuri. 1448 01:07:42,430 --> 01:07:47,960 Na njia bora sisi kujifunza kwa kujenga orodha ambayo inaweza kukua na kuogopa 1449 01:07:47,960 --> 01:07:49,840 dynamically ni si ndani ya safu nyingine. 1450 01:07:49,840 --> 01:07:51,510 Hivyo si multi-dimensional safu. 1451 01:07:51,510 --> 01:07:54,080 Lakini tu kutengeneza orodha wanaohusishwa. 1452 01:07:54,080 --> 01:07:55,330 >> Kwa hivyo kile mapendekezo - 1453 01:07:55,330 --> 01:07:57,950 1454 01:07:57,950 --> 01:07:59,200 Mimi nina kwenda kupata mpya - 1455 01:07:59,200 --> 01:08:15,380 1456 01:08:15,380 --> 01:08:19,689 ni kujenga safu na kuyatumia, safu ya kuyatumia. 1457 01:08:19,689 --> 01:08:20,580 OK. 1458 01:08:20,580 --> 01:08:24,180 Wazo lolote au ladha ya aina gani ya kuyatumia hii lazima? 1459 01:08:24,180 --> 01:08:26,290 Marcus? 1460 01:08:26,290 --> 01:08:27,250 >> Watazamaji: kuyatumia kwa - 1461 01:08:27,250 --> 01:08:28,609 >> JASON HIRSCHHORN: Kwa sababu wewe alisema orodha wanaohusishwa, hivyo - 1462 01:08:28,609 --> 01:08:29,520 >> Watazamaji: kuyatumia Node? 1463 01:08:29,520 --> 01:08:30,670 >> JASON HIRSCHHORN: kuyatumia Node. 1464 01:08:30,670 --> 01:08:32,830 Kama mambo katika uhusiano wetu orodha ni nodes basi 1465 01:08:32,830 --> 01:08:34,370 lazima kuyatumia nodi. 1466 01:08:34,370 --> 01:08:35,939 Na nini wao sawa awali? 1467 01:08:35,939 --> 01:08:36,990 >> Watazamaji: Batili. 1468 01:08:36,990 --> 01:08:38,240 >> JASON HIRSCHHORN: Batili. 1469 01:08:38,240 --> 01:08:44,540 1470 01:08:44,540 --> 01:08:46,080 Hivyo kuna mambo yetu tupu. 1471 01:08:46,080 --> 01:08:47,170 Pumpkin anarudi sifuri. 1472 01:08:47,170 --> 01:08:48,569 Tufanye nini? 1473 01:08:48,569 --> 01:08:49,609 Kutembea mimi kwa njia hiyo? 1474 01:08:49,609 --> 01:08:50,810 Kwa kweli, Marcus tayari alinipa. 1475 01:08:50,810 --> 01:08:52,439 Mtu mwingine kutembea mimi kwa njia hiyo. 1476 01:08:52,439 --> 01:08:54,760 Tunachofanya wakati sisi - 1477 01:08:54,760 --> 01:08:56,609 hii inaonekana ni sawa na nini sisi tu kufanya. 1478 01:08:56,609 --> 01:08:57,396 Avi. 1479 01:08:57,396 --> 01:08:59,090 >> Watazamaji: Mimi kwenda kuchukua nadhani. 1480 01:08:59,090 --> 01:09:01,250 Hivyo wakati wewe kupata pipi. 1481 01:09:01,250 --> 01:09:01,640 >> JASON HIRSCHHORN: Yeah. 1482 01:09:01,640 --> 01:09:03,120 Vizuri, tulipata pumpkin. 1483 01:09:03,120 --> 01:09:03,870 Hebu kupata moja yetu ya kwanza. 1484 01:09:03,870 --> 01:09:04,324 Tulipata pumpkin. 1485 01:09:04,324 --> 01:09:04,779 >> Watazamaji: OK. 1486 01:09:04,779 --> 01:09:05,880 Pumpkin anarudi sifuri. 1487 01:09:05,880 --> 01:09:08,770 Hivyo kuiweka katika hiyo. 1488 01:09:08,770 --> 01:09:10,810 Au kweli, kuiweka katika orodha wanaohusishwa. 1489 01:09:10,810 --> 01:09:13,550 >> JASON HIRSCHHORN: Je, sisi kuiweka katika orodha wanaohusishwa? 1490 01:09:13,550 --> 01:09:15,479 >> Watazamaji: Oh, syntax halisi? 1491 01:09:15,479 --> 01:09:16,240 >> JASON HIRSCHHORN: tu kutembea - 1492 01:09:16,240 --> 01:09:16,740 kusema zaidi. 1493 01:09:16,740 --> 01:09:19,310 Tufanye nini? 1494 01:09:19,310 --> 01:09:22,100 >> Watazamaji: Wewe tu kuingiza kama node ya kwanza. 1495 01:09:22,100 --> 01:09:22,675 >> JASON HIRSCHHORN: OK. 1496 01:09:22,675 --> 01:09:29,069 Hivyo tuna node yetu, pumpkin. 1497 01:09:29,069 --> 01:09:31,560 Na sasa ni jinsi gani mimi kuingiza? 1498 01:09:31,560 --> 01:09:34,590 1499 01:09:34,590 --> 01:09:37,090 >> Watazamaji: You hawawajui kwa pointer. 1500 01:09:37,090 --> 01:09:37,970 >> JASON HIRSCHHORN: Ni pointer? 1501 01:09:37,970 --> 01:09:39,620 >> Watazamaji: pointer katika sifuri. 1502 01:09:39,620 --> 01:09:41,420 >> JASON HIRSCHHORN: Hivyo ambapo gani hatua hii? 1503 01:09:41,420 --> 01:09:42,810 >> Watazamaji: Kwa null hivi sasa. 1504 01:09:42,810 --> 01:09:43,529 >> JASON HIRSCHHORN: Naam, ni akizungumzia null. 1505 01:09:43,529 --> 01:09:44,499 Lakini mimi nina kuweka katika pumpkin. 1506 01:09:44,499 --> 01:09:46,053 Hivyo ambapo lazima ni uhakika? 1507 01:09:46,053 --> 01:09:46,880 >> Watazamaji: Kwa pumpkin. 1508 01:09:46,880 --> 01:09:47,399 >> JASON HIRSCHHORN: Kwa pumpkin. 1509 01:09:47,399 --> 01:09:48,760 Hasa. 1510 01:09:48,760 --> 01:09:50,010 Hivyo hii anazungumzia pumpkin. 1511 01:09:50,010 --> 01:09:52,500 1512 01:09:52,500 --> 01:09:54,250 Na wapi pointer hii katika pumpkin uhakika? 1513 01:09:54,250 --> 01:09:57,986 1514 01:09:57,986 --> 01:09:58,340 Kwa 1515 01:09:58,340 --> 01:09:58,590 >> Watazamaji: Batili. 1516 01:09:58,590 --> 01:09:59,210 >> JASON HIRSCHHORN: Kwa null. 1517 01:09:59,210 --> 01:10:00,460 Hasa. 1518 01:10:00,460 --> 01:10:03,570 1519 01:10:03,570 --> 01:10:05,140 Hivyo sisi tu kuingizwa kitu katika orodha wanaohusishwa. 1520 01:10:05,140 --> 01:10:07,210 Sisi tu aliandika kanuni hii ya kufanya hivyo. 1521 01:10:07,210 --> 01:10:09,520 Karibu sisi karibu got it kabisa kupasuka. 1522 01:10:09,520 --> 01:10:10,790 Sasa sisi kuingiza pipi. 1523 01:10:10,790 --> 01:10:13,480 Pipi yetu pia huenda kwa sifuri. 1524 01:10:13,480 --> 01:10:16,100 Basi je, sisi kufanya na pipi? 1525 01:10:16,100 --> 01:10:18,790 >> Watazamaji: Ni inategemea juu ya iwapo au si sisi ni kujaribu aina yake. 1526 01:10:18,790 --> 01:10:19,640 >> JASON HIRSCHHORN: Hiyo ni sahihi kabisa. 1527 01:10:19,640 --> 01:10:21,070 Inategemea juu ya iwapo au sisi ni kujaribu aina yake. 1528 01:10:21,070 --> 01:10:22,660 Hebu kudhani sisi siyo kwenda aina yake. 1529 01:10:22,660 --> 01:10:24,880 >> Watazamaji: Sawa basi, kama sisi kujadiliwa kabla ya, ni rahisi tu ya kuweka ni 1530 01:10:24,880 --> 01:10:28,590 haki katika mwanzo hivyo pointer kutoka pointi sifuri kwa pipi. 1531 01:10:28,590 --> 01:10:29,020 >> JASON HIRSCHHORN: OK. 1532 01:10:29,020 --> 01:10:29,380 Kushikilia. 1533 01:10:29,380 --> 01:10:30,630 Hebu kujenga pipi haki hapa. 1534 01:10:30,630 --> 01:10:34,030 1535 01:10:34,030 --> 01:10:35,150 Hivyo pointer hii - 1536 01:10:35,150 --> 01:10:37,590 >> Watazamaji: Yeah, lazima sasa akizungumzia kwa pipi. 1537 01:10:37,590 --> 01:10:40,580 Kisha na pointer kutoka pipi hatua ya pumpkin. 1538 01:10:40,580 --> 01:10:43,140 1539 01:10:43,140 --> 01:10:44,560 >> JASON HIRSCHHORN: Kama kwamba? 1540 01:10:44,560 --> 01:10:47,380 Na kusema sisi got mwingine kitu ramani kwa zero? 1541 01:10:47,380 --> 01:10:48,660 >> Watazamaji: Naam, wewe tu kufanya kitu kimoja? 1542 01:10:48,660 --> 01:10:50,290 >> JASON HIRSCHHORN: Je, kitu kimoja. 1543 01:10:50,290 --> 01:10:53,700 Hivyo katika kesi hii, kama sisi si unataka kuendelea kuwa yamepangwa ni 1544 01:10:53,700 --> 01:10:55,270 sauti badala ya rahisi. 1545 01:10:55,270 --> 01:10:59,920 Sisi kuchukua pointer katika indice uliotolewa na hash kazi yetu. 1546 01:10:59,920 --> 01:11:03,830 Tuna uhakika kwamba kwa node wetu mpya. 1547 01:11:03,830 --> 01:11:07,830 Na kisha chochote alikuwa akionyesha wa awali - 1548 01:11:07,830 --> 01:11:10,620 katika kesi hii null, katika kesi ya pili pumpkin - 1549 01:11:10,620 --> 01:11:15,310 kwamba, chochote ni akizungumzia hapo awali, sisi kuongeza katika pili ya 1550 01:11:15,310 --> 01:11:17,810 node wetu mpya. 1551 01:11:17,810 --> 01:11:19,650 Sisi ni kuingiza kitu katika mwanzo. 1552 01:11:19,650 --> 01:11:22,900 Kwa kweli hii ni rahisi sana kuliko kujaribu kuweka orodha Iliyopangwa. 1553 01:11:22,900 --> 01:11:25,340 Lakini tena, kutafuta itakuwa zaidi ngumu hapa. 1554 01:11:25,340 --> 01:11:28,300 Tutaweza daima na kwenda hadi mwisho. 1555 01:11:28,300 --> 01:11:29,650 >> OK. 1556 01:11:29,650 --> 01:11:32,750 Maswali yoyote kuhusu tofauti chaining? 1557 01:11:32,750 --> 01:11:34,690 Jinsi kazi? 1558 01:11:34,690 --> 01:11:35,820 Tafadhali waombe sasa. 1559 01:11:35,820 --> 01:11:39,260 Kwa kweli mimi nataka kuhakikisha wote kuelewa hili kabla ya sisi kichwa nje. 1560 01:11:39,260 --> 01:11:48,410 1561 01:11:48,410 --> 01:11:52,060 >> Watazamaji: Kwa nini kuweka pumpkin na pipi ndani ya sawa 1562 01:11:52,060 --> 01:11:54,108 sehemu ya meza hash? 1563 01:11:54,108 --> 01:11:55,860 >> JASON HIRSCHHORN: swali Good. 1564 01:11:55,860 --> 01:11:59,140 Kwa nini sisi kuziweka katika huo sehemu ya meza hash? 1565 01:11:59,140 --> 01:12:03,200 Naam, katika kesi hii yetu heshi anarudi sifuri kwa wote wawili. 1566 01:12:03,200 --> 01:12:05,310 Hivyo wanahitaji kwenda katika indice zero kwa sababu hiyo ambapo tunakwenda 1567 01:12:05,310 --> 01:12:07,420 kuangalia kwa ajili yao kama sisi milele wanataka kuangalia yao juu. 1568 01:12:07,420 --> 01:12:11,750 Tena, kwa njia ya linear uchunguzi sisi bila kuweka wote wawili katika sifuri. 1569 01:12:11,750 --> 01:12:13,900 Lakini katika mfumo wa tofauti mnyororo, tunakwenda kuziweka wote katika zero 1570 01:12:13,900 --> 01:12:16,620 na kisha kutengeneza orodha mbali ya sifuri. 1571 01:12:16,620 --> 01:12:20,140 >> Na hatutaki overwrite pumpkin tu kwa kuwa kwa sababu basi tutaweza 1572 01:12:20,140 --> 01:12:21,860 kudhani kwamba pumpkin mara kamwe kuingizwa. 1573 01:12:21,860 --> 01:12:25,230 Kama sisi tu kuweka jambo moja katika eneo hilo itakuwa mbaya. 1574 01:12:25,230 --> 01:12:28,590 Kisha hakutakuwa na nafasi ya sisi milele - 1575 01:12:28,590 --> 01:12:31,660 kama sisi milele alikuwa duplicate, kisha sisi ingekuwa tu kufuta thamani yetu ya awali. 1576 01:12:31,660 --> 01:12:34,090 Hivyo ndiyo sababu sisi kufanya mbinu hii. 1577 01:12:34,090 --> 01:12:36,580 Au kwamba ni kwa nini sisi alichagua - lakini tena, sisi alichagua chaining mbinu tofauti, 1578 01:12:36,580 --> 01:12:39,670 ambayo kuna njia nyingine nyingi mtu anaweza kuchagua. 1579 01:12:39,670 --> 01:12:41,185 Je, hiyo kujibu swali lako? 1580 01:12:41,185 --> 01:12:41,660 >> OK. 1581 01:12:41,660 --> 01:12:42,910 Carlos. 1582 01:12:42,910 --> 01:12:46,130 1583 01:12:46,130 --> 01:12:47,720 Linear uchunguzi bila kuhusisha - 1584 01:12:47,720 --> 01:12:51,913 kama sisi kupatikana mgongano katika sifuri, sisi bila kuangalia katika doa karibu na kuona kama 1585 01:12:51,913 --> 01:12:54,310 ilikuwa wazi na kuiweka huko. 1586 01:12:54,310 --> 01:12:57,320 Na kisha sisi kuangalia katika mchezo wa pili na kuona kama kwamba alikuwa wazi na kuiweka huko. 1587 01:12:57,320 --> 01:12:59,780 Hivyo tunaona inapatikana ijayo doa wazi na kuiweka huko. 1588 01:12:59,780 --> 01:13:02,580 1589 01:13:02,580 --> 01:13:03,890 Maswali yoyote mengine? 1590 01:13:03,890 --> 01:13:05,370 Yeah, Avi. 1591 01:13:05,370 --> 01:13:07,490 >> Watazamaji: Kama kufuatilia na kwamba, nini maana ya doa ijayo? 1592 01:13:07,490 --> 01:13:10,250 Katika meza hash au katika orodha ya uhusiano. 1593 01:13:10,250 --> 01:13:12,100 >> JASON HIRSCHHORN: Kwa linear programu, orodha hakuna uhusiano. 1594 01:13:12,100 --> 01:13:13,400 doa ijayo kwenye meza hash. 1595 01:13:13,400 --> 01:13:13,820 >> Watazamaji: OK. 1596 01:13:13,820 --> 01:13:17,570 Hivyo meza hash itakuwa kuanzishwa kwa kawaida - 1597 01:13:17,570 --> 01:13:19,560 kama idadi ya masharti kwamba walikuwa kuingiza? 1598 01:13:19,560 --> 01:13:22,170 >> JASON HIRSCHHORN: wewe ingekuwa unataka kuwa kubwa kweli kweli. 1599 01:13:22,170 --> 01:13:23,910 Ndiyo. 1600 01:13:23,910 --> 01:13:27,900 Hapa ni picha ya nini sisi tu yanaanza bodi. 1601 01:13:27,900 --> 01:13:29,470 Tena, tuna mgongano wa kulia hapa. 1602 01:13:29,470 --> 01:13:30,710 katika 152. 1603 01:13:30,710 --> 01:13:33,570 Na utaona sisi kuundwa orodha wanaohusishwa mbali ya hilo. 1604 01:13:33,570 --> 01:13:38,200 1605 01:13:38,200 --> 01:13:41,850 Tena, hash meza tofauti chaining mbinu ni si moja 1606 01:13:41,850 --> 01:13:45,590 na kuchukua kwa ajili ya matatizo kuweka sita lakini ni moja kwamba mengi ya 1607 01:13:45,590 --> 01:13:47,100 wanafunzi huwa na kuchukua. 1608 01:13:47,100 --> 01:13:51,140 Kadhalika kumbuka kwamba, hebu kuzungumza kwa ufupi kabla ya sisi kichwa nje kuhusu tatizo sita, 1609 01:13:51,140 --> 01:13:52,160 na kisha mimi itabidi kushiriki hadithi pamoja na wewe. 1610 01:13:52,160 --> 01:13:55,120 Tuna dakika tatu. 1611 01:13:55,120 --> 01:13:55,750 >> Kuweka tatizo sita. 1612 01:13:55,750 --> 01:13:57,790 Una kazi nne - 1613 01:13:57,790 --> 01:14:02,430 mzigo, angalia, ukubwa, na ipakuliwe. 1614 01:14:02,430 --> 01:14:03,380 Mzigo - 1615 01:14:03,380 --> 01:14:07,120 vizuri, tumekuwa kwenda juu ya mzigo tu sasa. 1616 01:14:07,120 --> 01:14:09,330 Tulianzisha mzigo juu ya bodi. 1617 01:14:09,330 --> 01:14:13,230 Na sisi hata kuanza coding mengi ya kuingiza katika orodha wanaohusishwa. 1618 01:14:13,230 --> 01:14:18,020 Hivyo mzigo ni si zaidi ya nini tumekuwa tu wamekuwa wakifanya. 1619 01:14:18,020 --> 01:14:21,070 >> Kuangalia ni mara moja una kitu kubeba. 1620 01:14:21,070 --> 01:14:22,580 Ni mchakato huo kama huu. 1621 01:14:22,580 --> 01:14:26,845 ile ile ya kwanza sehemu mbili ambapo wewe kutupa kitu katika heshi 1622 01:14:26,845 --> 01:14:29,190 na kupata thamani yake. 1623 01:14:29,190 --> 01:14:30,700 Lakini sasa sisi siyo kuingiza. 1624 01:14:30,700 --> 01:14:33,350 Sasa sisi ni kuangalia kwa hilo. 1625 01:14:33,350 --> 01:14:37,130 Mimi sampuli kanuni zilizoandikwa kwa ajili ya kutafuta kitu katika orodha wanaohusishwa. 1626 01:14:37,130 --> 01:14:38,250 Mimi moyo wa kufanya mazoezi hayo. 1627 01:14:38,250 --> 01:14:43,000 Lakini shirikishi kutafuta kitu ni pretty sawa na kuingiza kitu. 1628 01:14:43,000 --> 01:14:46,540 Hakika, tulianzisha picha ya kupata kitu katika orodha wanaohusishwa, kusonga 1629 01:14:46,540 --> 01:14:48,910 kupitia mpaka got mwisho. 1630 01:14:48,910 --> 01:14:52,430 Na kama wewe got mwisho na hawakuweza kupata hiyo, basi ni huko. 1631 01:14:52,430 --> 01:14:55,400 Hivyo kwamba ni kuangalia, kimsingi. 1632 01:14:55,400 --> 01:14:57,030 >> Pili ni kawaida. 1633 01:14:57,030 --> 01:14:57,910 Hebu turukie kawaida. 1634 01:14:57,910 --> 01:15:00,040 Hatimaye una ipakuliwe. 1635 01:15:00,040 --> 01:15:02,890 Ipakuliwe ni moja sisi si inayotolewa kwenye ubao au kutolewa bado. 1636 01:15:02,890 --> 01:15:05,990 Lakini mimi moyo kujaribu coding ni katika sampuli zetu wanaohusishwa orodha mfano. 1637 01:15:05,990 --> 01:15:11,440 Lakini kupakua shirikishi ni sawa na bure - 1638 01:15:11,440 --> 01:15:14,010 au I mean ni sawa na kuangalia. 1639 01:15:14,010 --> 01:15:17,350 Ila kwa sasa kila wakati wewe kwenda kupitia, wewe si tu kuangalia kwa 1640 01:15:17,350 --> 01:15:19,090 kuona kama una thamani yako huko. 1641 01:15:19,090 --> 01:15:22,490 Lakini wewe ni kuchukua kwamba node na kumkomboa, kimsingi. 1642 01:15:22,490 --> 01:15:23,610 Hiyo ni nini ipakuliwe anauliza kufanya. 1643 01:15:23,610 --> 01:15:24,670 Free kila kitu umefanya malloced. 1644 01:15:24,670 --> 01:15:27,480 Hivyo wewe ni kwenda kwa orodha nzima tena, kwenda kupitia hash zima 1645 01:15:27,480 --> 01:15:27,760 meza tena. 1646 01:15:27,760 --> 01:15:29,240 Wakati huu si kuangalia kuona nini huko. 1647 01:15:29,240 --> 01:15:31,080 Bure tu kuna nini huko. 1648 01:15:31,080 --> 01:15:33,260 >> Na hatimaye kawaida. 1649 01:15:33,260 --> 01:15:34,350 Ukubwa inapaswa kutekelezwa. 1650 01:15:34,350 --> 01:15:35,590 Kama huna kutekeleza kawaida - 1651 01:15:35,590 --> 01:15:36,250 Mimi itabidi kusema kama hii. 1652 01:15:36,250 --> 01:15:39,740 Kama huna kutekeleza ukubwa katika hasa line moja ya maadili ya ikiwa ni pamoja na 1653 01:15:39,740 --> 01:15:43,760 kurudi taarifa, wewe ni kufanya ukubwa kimakosa. 1654 01:15:43,760 --> 01:15:47,170 Ili kuhakikisha kawaida, kwa ajili ya kubuni full pointi, wewe kufanya hivyo katika hasa mmoja 1655 01:15:47,170 --> 01:15:49,970 mstari wa kanuni, ikiwa ni pamoja taarifa kurudi. 1656 01:15:49,970 --> 01:15:52,450 >> Na wala pakiti up bado, Akchar. 1657 01:15:52,450 --> 01:15:53,700 Hamu beaver. 1658 01:15:53,700 --> 01:15:55,820 1659 01:15:55,820 --> 01:16:01,300 Nilitaka kusema asante guys kwa ajili ya kuja kwa sehemu. 1660 01:16:01,300 --> 01:16:02,550 Kuwa na furaha Halloween. 1661 01:16:02,550 --> 01:16:05,300 1662 01:16:05,300 --> 01:16:05,960 Hii ni vazi yangu. 1663 01:16:05,960 --> 01:16:08,850 Mimi itabidi kuwa amevaa hii Alhamisi kama mimi kuona wewe katika masaa ya ofisi. 1664 01:16:08,850 --> 01:16:14,640 Na kama wewe ni curious kuhusu baadhi ya zaidi background kama Costume hii, jisikie 1665 01:16:14,640 --> 01:16:19,135 huru na kuangalia nje 2011 sehemu kwa hadithi juu ya nini mimi nina 1666 01:16:19,135 --> 01:16:20,900 amevaa pumpkin Costume. 1667 01:16:20,900 --> 01:16:23,680 Na ni hadithi ya kusikitisha. 1668 01:16:23,680 --> 01:16:27,050 Ili kuhakikisha kuwa baadhi tishu jirani. 1669 01:16:27,050 --> 01:16:28,680 Lakini kwamba, kama una maswali mimi itabidi fimbo karibu 1670 01:16:28,680 --> 01:16:29,960 nje baada ya sehemu. 1671 01:16:29,960 --> 01:16:31,510 Bahati nzuri juu ya kuweka tatizo sita. 1672 01:16:31,510 --> 01:16:33,540 Na kama siku zote, kama una maswali, basi mimi kujua. 1673 01:16:33,540 --> 01:16:35,584