1 00:00:00,000 --> 00:00:08,250 2 00:00:08,250 --> 00:00:12,680 >> JASON HIRSCHHORN: Mirë se vini të gjithë në seksionin e Shtatë. 3 00:00:12,680 --> 00:00:15,040 Ne jemi në javën e shtatë të kursit. 4 00:00:15,040 --> 00:00:18,440 Dhe këtë të enjte ardhshme Halloween është kështu që unë jam 5 00:00:18,440 --> 00:00:21,420 veshur si një kungull. 6 00:00:21,420 --> 00:00:23,460 Unë nuk mund të përkulem dhe vënë në këpucët e mia, kështu që kjo është arsyeja pse unë jam i 7 00:00:23,460 --> 00:00:25,660 vetëm veshur çorape. 8 00:00:25,660 --> 00:00:29,220 Unë jam gjithashtu nuk veshur asgjë nën këtë, kështu që unë nuk mund të marrë atë nëse është e 9 00:00:29,220 --> 00:00:29,950 vëmendjen për ju. 10 00:00:29,950 --> 00:00:31,860 Unë kërkoj falje paraprakisht për këtë. 11 00:00:31,860 --> 00:00:33,170 Ju nuk keni nevojë të imagjinohet çfarë po ndodh. 12 00:00:33,170 --> 00:00:34,240 Unë jam veshur boxers. 13 00:00:34,240 --> 00:00:36,170 Pra, kjo është e gjitha e mirë. 14 00:00:36,170 --> 00:00:41,120 >> Unë kam një histori më të gjatë në lidhje me pse unë jam veshur si një kungull, por unë jam duke shkuar për të 15 00:00:41,120 --> 00:00:45,110 shpëtuar atë për më vonë në këtë seksion sepse unë dua të të marrë filluar. 16 00:00:45,110 --> 00:00:47,720 Ne kemi shumë gjëra të mrekullueshme për të shkuar mbi këtë jave. 17 00:00:47,720 --> 00:00:51,810 Shumica e tyre kanë të bëjnë direkt me këtë set jave problemi, misspellings. 18 00:00:51,810 --> 00:00:54,680 Ne jemi duke shkuar për të do mbi të lidhura Listat dhe tavolina hash 19 00:00:54,680 --> 00:00:57,160 për tërë pjesës. 20 00:00:57,160 --> 00:01:02,490 I vënë këtë listë deri çdo javë, një listë të burimeve për ju për t'ju ndihmuar me 21 00:01:02,490 --> 00:01:04,120 Materiali në këtë kurs. 22 00:01:04,120 --> 00:01:07,600 Në qoftë se në një humbje ose në qoftë se duke kërkuar për disa më shumë informacion, shikoni një nga 23 00:01:07,600 --> 00:01:09,930 këto burime. 24 00:01:09,930 --> 00:01:14,530 >> Përsëri, pset6 është misspellings, pset kësaj jave. 25 00:01:14,530 --> 00:01:17,690 Dhe gjithashtu ju inkurajon, dhe unë ju inkurajojmë, të përdorin disa të tjera 26 00:01:17,690 --> 00:01:20,320 Burimet posaçërisht për këtë pset. 27 00:01:20,320 --> 00:01:23,390 Në veçanti, unë kam tre të listuara deri në ekran - 28 00:01:23,390 --> 00:01:27,160 gdb, të cilat ne kemi qenë të njohur me dhe qenë duke përdorur për një kohë tani, është 29 00:01:27,160 --> 00:01:29,270 do të jetë shumë e dobishme këtë javë. 30 00:01:29,270 --> 00:01:30,190 Kështu që unë vendosur se deri këtu. 31 00:01:30,190 --> 00:01:32,910 Por sa herë që ju jeni duke punuar me C, ju duhet të jetë duke përdorur gdb për të 32 00:01:32,910 --> 00:01:34,430 korrigjoj programet tuaja. 33 00:01:34,430 --> 00:01:36,660 Këtë javë edhe valgrind. 34 00:01:36,660 --> 00:01:38,535 A e dini se çfarë valgrind bën? 35 00:01:38,535 --> 00:01:42,184 36 00:01:42,184 --> 00:01:43,890 >> Audienca: Ajo kontrollon për rrjedhjet e kujtesës? 37 00:01:43,890 --> 00:01:45,950 >> JASON HIRSCHHORN: Valgrind kontrolle për rrjedhjet e kujtesës. 38 00:01:45,950 --> 00:01:49,970 Pra, nëse ju diçka malloc në tuaj program, ju jeni duke kërkuar për kujtesën. 39 00:01:49,970 --> 00:01:52,920 Në fund të programit tuaj, ju keni për të shkruar të lirë në çdo gjë që ju keni 40 00:01:52,920 --> 00:01:54,800 malloced për të dhënë e kujtesës prapa. 41 00:01:54,800 --> 00:01:58,420 Nëse ju nuk shkruani lirë në fund dhe programi juaj vjen në një përfundim, 42 00:01:58,420 --> 00:02:00,000 çdo gjë do të automatikisht të lirohen. 43 00:02:00,000 --> 00:02:02,340 Dhe për programe të vogla, është e një punë e jo se e madhe. 44 00:02:02,340 --> 00:02:05,250 Por në qoftë se ju jeni duke shkruar një running më të gjatë program që nuk e lë, 45 00:02:05,250 --> 00:02:09,180 domosdoshmërisht, në disa minuta ose a disa sekonda, pastaj memorie rrjedhjet 46 00:02:09,180 --> 00:02:10,710 mund të bëhet një marrëveshje e madhe. 47 00:02:10,710 --> 00:02:14,940 >> Pra për pset6, pritet që ju do të keni zero rrjedhjet e kujtesës me 48 00:02:14,940 --> 00:02:15,910 programi juaj. 49 00:02:15,910 --> 00:02:18,690 Për të kontrolluar për rrjedhjet e kujtesës, valgrind drejtuar dhe kjo do të ju jap disa të bukur 50 00:02:18,690 --> 00:02:21,190 Prodhimi lejuar të dinë nëse apo jo çdo gjë ishte e lirë. 51 00:02:21,190 --> 00:02:23,940 Ne do të praktikë me të më vonë sot, me shpresë. 52 00:02:23,940 --> 00:02:25,790 >> Së fundi, komanda ndrysh. 53 00:02:25,790 --> 00:02:28,900 Keni përdorur diçka të ngjashme me të në pset5 me mjet përgjim. 54 00:02:28,900 --> 00:02:30,780 Lejuar ju që të shikoni brenda. 55 00:02:30,780 --> 00:02:33,400 Ju gjithashtu përdoret ndrysh, gjithashtu, për problemi vendosur spekulim. 56 00:02:33,400 --> 00:02:35,950 Por në ju lejohet të krahasoni dy fotografi. 57 00:02:35,950 --> 00:02:39,180 Ju mund të krahasoni fotografi bitmap dhe headers info e një zgjidhje të stafit dhe 58 00:02:39,180 --> 00:02:42,200 zgjidhja e juaj në pset5 nëse ju zgjodhi për të përdorur atë. 59 00:02:42,200 --> 00:02:44,030 Diff do të lejojë të bërë këtë, po ashtu. 60 00:02:44,030 --> 00:02:48,620 Ju mund të krahasoni përgjigje të saktë për Problemi i kësaj jave vendosur për përgjigjen tuaj 61 00:02:48,620 --> 00:02:52,210 dhe të shohim nëse ajo linjat deri ose të shihni ku gabimet janë. 62 00:02:52,210 --> 00:02:55,870 >> Pra, këto janë tri mjete të mira që ju duhet të përdorni për këtë javë, dhe 63 00:02:55,870 --> 00:02:58,130 patjetër të shikoni programin tuaj me këto tri mjete 64 00:02:58,130 --> 00:03:00,520 para se të kthyer atë in 65 00:03:00,520 --> 00:03:04,650 Përsëri, siç e kam përmendur çdo javë, nëse keni ndonjë reagime për mua - të dy 66 00:03:04,650 --> 00:03:06,470 pozitive dhe konstruktive - 67 00:03:06,470 --> 00:03:09,930 të ndjehen të lirë të shkojnë në faqen e internetit në fund të këtij rrëshqitje 68 00:03:09,930 --> 00:03:11,270 dhe input ajo atje. 69 00:03:11,270 --> 00:03:13,440 I really appreciate çdo dhe të gjitha reagimet. 70 00:03:13,440 --> 00:03:17,360 Dhe në qoftë se ju më jepni gjëra të veçanta që Unë mund të bëj për të përmirësuar apo që unë jam 71 00:03:17,360 --> 00:03:21,350 duke bërë mirë që ju do të donte mua për të të vazhdojë, unë të marrë atë në zemër dhe 72 00:03:21,350 --> 00:03:24,040 të vërtetë të përpiqet shumë për të dëgjuar të përshtypjet tuaja. 73 00:03:24,040 --> 00:03:27,720 Unë nuk mund të premtoj unë jam duke shkuar për të bërë çdo gjë, edhe pse, si veshur një 74 00:03:27,720 --> 00:03:30,700 kungull kostum çdo javë. 75 00:03:30,700 --> 00:03:34,020 >> Pra, ne do të shpenzojnë pjesën më të madhe seksioni, siç e përmenda, duke folur për 76 00:03:34,020 --> 00:03:37,240 Listat e lidhura dhe tavolina hash, të cilat do të jetë drejtpërdrejt e zbatueshme për 77 00:03:37,240 --> 00:03:38,780 Problemi vendosur këtë javë. 78 00:03:38,780 --> 00:03:42,580 Listat e lidhura ne do të shkoj për relativisht të shpejt sepse ne kemi shpenzuar pak të drejtë 79 00:03:42,580 --> 00:03:44,930 e kohës do mbi të në seksion. 80 00:03:44,930 --> 00:03:48,680 Dhe kështu që ne do të merrni direkt në coding probleme për listat e lidhura. 81 00:03:48,680 --> 00:03:52,740 Dhe pastaj në fund ne do të flasim për hash tabelat dhe se si ata të aplikojnë për këtë 82 00:03:52,740 --> 00:03:55,280 Problemi jave vendosur. 83 00:03:55,280 --> 00:03:57,560 >> Ju keni parë këtë kod para. 84 00:03:57,560 --> 00:04:02,730 Kjo është një struct, dhe ajo është e përcaktimit diçka që quhet një nyje të re. 85 00:04:02,730 --> 00:04:10,660 Dhe brenda një nyje ka një numër të plotë këtu dhe atje është një tregues për 86 00:04:10,660 --> 00:04:11,830 një tjetër nyje. 87 00:04:11,830 --> 00:04:12,790 Ne e kemi parë këtë më parë. 88 00:04:12,790 --> 00:04:14,830 Kjo ka ardhur për disa javë tani. 89 00:04:14,830 --> 00:04:18,680 Ajo kombinon pointers, të cilat ne kemi qenë duke punuar me të, dhe structs, të cilat lejojnë 90 00:04:18,680 --> 00:04:22,079 ne që të kombinohen dy të ndryshme gjërat në një lloj të të dhënave. 91 00:04:22,079 --> 00:04:24,830 92 00:04:24,830 --> 00:04:26,490 >> Ka shumë në vazhdim e sipër në ekran. 93 00:04:26,490 --> 00:04:30,220 Por e gjithë kjo duhet të jetë relativisht njohur me ju. 94 00:04:30,220 --> 00:04:33,810 Në rreshtin e parë, ne deklarojë një nyje të re. 95 00:04:33,810 --> 00:04:41,650 Dhe pastaj brenda se nyje të re, kam vendosur integer në atë nyje njerit. 96 00:04:41,650 --> 00:04:44,950 Ne e shohim në linjë tjetër unë jam duke bërë një printf komandë, por unë kam grayed jashtë 97 00:04:44,950 --> 00:04:48,080 komandën printf sepse me të vërtetë pjesë e rëndësishme është kjo vijë këtu - 98 00:04:48,080 --> 00:04:50,020 new_node.n. 99 00:04:50,020 --> 00:04:51,270 Çfarë do të thotë dot? 100 00:04:51,270 --> 00:04:53,810 101 00:04:53,810 --> 00:04:57,240 >> Audienca: Shko në nyje dhe vlerësuar vlerën n për të. 102 00:04:57,240 --> 00:04:58,370 >> JASON HIRSCHHORN: Kjo është saktësisht e drejtë. 103 00:04:58,370 --> 00:05:03,300 Dot do të thotë të hyrë në pjesën N i kësaj nyje të re. 104 00:05:03,300 --> 00:05:05,690 Kjo linjë e ardhshme bën çfarë? 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 >> Audienca: Ajo krijon një tjetër nyje që do të tregojë për nyjen e ri. 108 00:05:21,910 --> 00:05:24,870 >> JASON HIRSCHHORN: Pra, kjo nuk ka të krijojë një nyje të re. 109 00:05:24,870 --> 00:05:26,120 Ajo krijon një çfarë? 110 00:05:26,120 --> 00:05:28,300 111 00:05:28,300 --> 00:05:29,300 >> Audienca: Një akrep. 112 00:05:29,300 --> 00:05:33,460 >> JASON HIRSCHHORN: Një tregues për një nyje, siç tregohet nga kjo nyje * këtu. 113 00:05:33,460 --> 00:05:34,800 Pra, kjo krijon një tregues për një nyje. 114 00:05:34,800 --> 00:05:37,490 Dhe cila nyje është ajo duke treguar të, Michael? 115 00:05:37,490 --> 00:05:38,440 >> Audienca: nyja e re? 116 00:05:38,440 --> 00:05:39,240 >> JASON HIRSCHHORN: nyja e re. 117 00:05:39,240 --> 00:05:43,020 Dhe kjo është vënë atje, sepse ne kemi duke pasur parasysh atë adresën e nyjeve të reja. 118 00:05:43,020 --> 00:05:45,820 Dhe tani në këtë linjë ne e shohim dy mënyra të ndryshme të 119 00:05:45,820 --> 00:05:46,910 shprehur të njëjtën gjë. 120 00:05:46,910 --> 00:05:49,650 Dhe kam kërkuar të vinte në dukje se si këto dy gjëra janë të njëjta. 121 00:05:49,650 --> 00:05:54,740 Në rreshtin e parë, ne dereference akrep. 122 00:05:54,740 --> 00:05:55,830 Pra, ne do të shkojmë në nyje. 123 00:05:55,830 --> 00:05:56,830 Kjo është ajo që do të thotë ky yll. 124 00:05:56,830 --> 00:05:57,930 Ne kemi parë se më parë me pointers. 125 00:05:57,930 --> 00:05:59,280 Shko në atë nyje. 126 00:05:59,280 --> 00:06:00,370 Kjo është në kllapa. 127 00:06:00,370 --> 00:06:04,610 Dhe pastaj të hyrë nëpërmjet dot operatori element n e atij nyje. 128 00:06:04,610 --> 00:06:08,430 >> Kështu që është duke marrë sintaksë kemi pa të drejtë këtu dhe tani 129 00:06:08,430 --> 00:06:09,670 duke e përdorur atë me një tregues. 130 00:06:09,670 --> 00:06:13,730 Natyrisht, ajo merr lloj i zënë, nëse jeni të shkruar ato kllapa - 131 00:06:13,730 --> 00:06:14,940 se yll dhe se dot. 132 00:06:14,940 --> 00:06:16,220 Ajo merr pak i zënë. 133 00:06:16,220 --> 00:06:18,500 Pra, ne kemi disa sheqer sintaktik. 134 00:06:18,500 --> 00:06:19,920 Dhe kjo vijë të drejtë këtu - 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 Kjo e bën të njëjtën gjë e saktë. 138 00:06:28,000 --> 00:06:30,840 Pra, këto dy rreshta të kodit janë të barabartë dhe do të bëjë 139 00:06:30,840 --> 00:06:31,650 saktë të njëjtën gjë. 140 00:06:31,650 --> 00:06:34,210 >> Por unë doja të theksoj ato para ne shkojmë më tutje në mënyrë që ju të kuptoni 141 00:06:34,210 --> 00:06:39,000 që me të vërtetë kjo gjë e drejtë këtu është vetëm sheqeri sintaktik për dereferencing 142 00:06:39,000 --> 00:06:44,200 tregues dhe më pas do të n pjesë e atij struct. 143 00:06:44,200 --> 00:06:45,525 Çdo pyetje në lidhje me këtë rrëshqitje? 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 >> Pra, ne jemi duke shkuar për të shkuar nëpërmjet një çift e veprimeve që mund të bëni në 147 00:06:58,510 --> 00:06:59,730 Listat e lidhura. 148 00:06:59,730 --> 00:07:05,770 Një listë e lidhur, kujtojnë, është një seri e nyje që çojnë tek njëri tjetrin. 149 00:07:05,770 --> 00:07:12,470 Dhe ne në përgjithësi të fillojë me një tregues quajtur kreu, në përgjithësi, që tregon për 150 00:07:12,470 --> 00:07:14,040 gjëja e parë në listë. 151 00:07:14,040 --> 00:07:18,900 Pra, në rreshtin e parë këtu, ne duhet L tonë origjinale të parë. 152 00:07:18,900 --> 00:07:21,370 Kështu që gjë që ju mund të mendoni - kjo tekst të drejtë këtu ju mund të mendoni si 153 00:07:21,370 --> 00:07:23,560 vetëm tregues që ne kemi ruajtur se diku pika 154 00:07:23,560 --> 00:07:24,670 të elementit të parë. 155 00:07:24,670 --> 00:07:27,500 Dhe në këtë listë e lidhur ne kemi katër nyje. 156 00:07:27,500 --> 00:07:29,530 Çdo nyjë është një kuti e madhe. 157 00:07:29,530 --> 00:07:33,430 Kuti të mëdha brenda madh kuti është pjesë numër i plotë. 158 00:07:33,430 --> 00:07:37,400 Dhe pastaj ne kemi një pjesë pointer. 159 00:07:37,400 --> 00:07:39,630 >> Këto kuti nuk janë tërhequr për të shkallë sepse sa e madhe është 160 00:07:39,630 --> 00:07:42,320 një numër i plotë në bytes? 161 00:07:42,320 --> 00:07:43,290 Sa i madh tani? 162 00:07:43,290 --> 00:07:43,710 Katër. 163 00:07:43,710 --> 00:07:45,470 Dhe sa i madh është një akrep? 164 00:07:45,470 --> 00:07:45,940 Katër. 165 00:07:45,940 --> 00:07:48,180 Pra, me të vërtetë, në qoftë se ne ishim për të nxjerrë kjo në shkallë të dy kutive 166 00:07:48,180 --> 00:07:49,690 do të jetë të njëjtën madhësi. 167 00:07:49,690 --> 00:07:52,870 Në këtë rast, ne duam të futur diçka në listën e lidhur. 168 00:07:52,870 --> 00:07:57,190 Kështu që ju mund të shihni këtu ne jemi futur pesë Ne udhëtimin në 169 00:07:57,190 --> 00:08:01,310 lista e lidhur, të gjetur se ku pesë shkon, dhe pastaj futur atë. 170 00:08:01,310 --> 00:08:03,560 >> Le të thyejnë atë poshtë dhe të shkojnë pak më ngadalë. 171 00:08:03,560 --> 00:08:05,510 Unë jam duke shkuar për pikë për të bordit. 172 00:08:05,510 --> 00:08:09,930 Pra, ne kemi nyje tonë pesë që ne kemi krijuar në mallocs. 173 00:08:09,930 --> 00:08:11,190 Pse është e gjithë qesh? 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 Pra, ne kemi malloced pesë. 177 00:08:14,820 --> 00:08:16,310 Ne e kemi krijuar këtë nyje diku tjetër. 178 00:08:16,310 --> 00:08:17,740 Ne kemi atë gati për të shkuar. 179 00:08:17,740 --> 00:08:20,130 Ne të fillojë në fillim të listën tonë me dy. 180 00:08:20,130 --> 00:08:22,380 Dhe ne duam të futur në një mënyrë të renditura. 181 00:08:22,380 --> 00:08:27,550 >> Pra, nëse ne shohim dy dhe ne duam të vënë në pesë, çfarë bëjmë ne kur ne shohim 182 00:08:27,550 --> 00:08:28,800 diçka më pak se ne? 183 00:08:28,800 --> 00:08:31,850 184 00:08:31,850 --> 00:08:33,520 Çfarë? 185 00:08:33,520 --> 00:08:36,750 Ne duam të futur pesë në këtë lista e lidhur, duke e mbajtur atë të renditura. 186 00:08:36,750 --> 00:08:37,520 Ne e shohim numrin dy. 187 00:08:37,520 --> 00:08:38,769 Pra, çfarë bëjmë ne? 188 00:08:38,769 --> 00:08:39,179 Marcus? 189 00:08:39,179 --> 00:08:40,679 >> Audienca: Telefononi në treguesin në nyjen e ardhshëm. 190 00:08:40,679 --> 00:08:42,530 >> JASON HIRSCHHORN: Dhe pse nuk ne do të shkojmë në një tjetër? 191 00:08:42,530 --> 00:08:45,970 >> Audienca: Sepse është e Nyja e ardhshme në listë. 192 00:08:45,970 --> 00:08:48,310 Dhe ne vetëm e di se lokali tjetër. 193 00:08:48,310 --> 00:08:50,410 >> JASON HIRSCHHORN: Dhe pesë është më i madh se dy, në mënyrë të veçantë. 194 00:08:50,410 --> 00:08:51,600 Sepse ne duam të mbajtur atë renditura. 195 00:08:51,600 --> 00:08:52,730 Kështu pesë është më e madhe se dy. 196 00:08:52,730 --> 00:08:54,460 Pra, ne të lëvizin për në një tjetër. 197 00:08:54,460 --> 00:08:55,240 Dhe tani arrijmë katër. 198 00:08:55,240 --> 00:08:56,490 Dhe çfarë ndodh kur kemi arritur katër? 199 00:08:56,490 --> 00:08:58,920 200 00:08:58,920 --> 00:09:00,310 >> Pesë është më e madhe se sa katër. 201 00:09:00,310 --> 00:09:01,460 Pra, ne do të mbajë. 202 00:09:01,460 --> 00:09:03,110 Dhe tani ne jemi në gjashtë. 203 00:09:03,110 --> 00:09:04,360 Dhe çfarë shohim në gjashtë? 204 00:09:04,360 --> 00:09:08,672 205 00:09:08,672 --> 00:09:09,608 Po, Carlos? 206 00:09:09,608 --> 00:09:10,544 >> AUDIENCA: gjashtë është më e madhe se pesë. 207 00:09:10,544 --> 00:09:11,480 >> JASON HIRSCHHORN: Gjashtë është madhe se pesë. 208 00:09:11,480 --> 00:09:13,660 Pra, kjo është ajo ku ne duam për të futur pesë. 209 00:09:13,660 --> 00:09:17,320 Megjithatë, mbani në mend se në qoftë se ne kanë vetëm një tregues këtu - 210 00:09:17,320 --> 00:09:19,840 ky është tregues tonë shtesë që është traversing nëpër lista. 211 00:09:19,840 --> 00:09:21,860 Dhe ne jemi duke treguar në gjashtë. 212 00:09:21,860 --> 00:09:25,010 Ne kemi humbur gjurmët e asaj vjen para gjashtë. 213 00:09:25,010 --> 00:09:29,130 Pra, nëse ne duam të futur diçka në kjo listë e mbajtur atë të renditura, ne 214 00:09:29,130 --> 00:09:31,630 ndoshta duhet se si shumë pointers? 215 00:09:31,630 --> 00:09:32,280 >> Audienca: Dy. 216 00:09:32,280 --> 00:09:32,920 >> JASON HIRSCHORN: Dy. 217 00:09:32,920 --> 00:09:35,720 Një për të mbajtur gjurmët e tanishme një dhe një për të mbajtur nën 218 00:09:35,720 --> 00:09:37,050 e mëparshmja. 219 00:09:37,050 --> 00:09:38,450 Kjo është vetëm një listë e lidhur në formë individuale. 220 00:09:38,450 --> 00:09:39,670 Ajo shkon vetëm një drejtim. 221 00:09:39,670 --> 00:09:43,220 Nëse do të kishte një listë e lidhur dyfish, ku çdo gjë ishte duke treguar për gjë 222 00:09:43,220 --> 00:09:46,240 pas saj dhe të asaj para saj, atëherë ne nuk do të duhet për të bërë këtë. 223 00:09:46,240 --> 00:09:49,350 Por në këtë rast ne nuk duam të humbasin gjurmët e asaj që erdhën para nesh, në rast 224 00:09:49,350 --> 00:09:53,350 ne kemi nevojë për të futur pesë diku në mes. 225 00:09:53,350 --> 00:09:55,610 Thuaj ne u futur nëntë. 226 00:09:55,610 --> 00:09:57,260 Çfarë do të ndodhë kur ne mori të tetë? 227 00:09:57,260 --> 00:10:01,860 228 00:10:01,860 --> 00:10:04,880 >> Audienca: Ju do të duhet të merrni atë pikë null. 229 00:10:04,880 --> 00:10:07,820 Në vend të që pikë zero ju do të keni për të shtuar një element dhe më pas kanë 230 00:10:07,820 --> 00:10:09,216 ajo pikë në nëntë. 231 00:10:09,216 --> 00:10:09,700 >> JASON HIRSCHORN: Pikërisht. 232 00:10:09,700 --> 00:10:10,600 Pra, ne të merrni tetë. 233 00:10:10,600 --> 00:10:13,140 Ne arrijë në fund të listës për shkak kjo është duke treguar null. 234 00:10:13,140 --> 00:10:16,330 Dhe tani, në vend që të tregojnë për null kemi atë pikë në nyje tonë të ri. 235 00:10:16,330 --> 00:10:19,870 Dhe ne kemi vendosur në treguesin në nyje tonë të ri të null. 236 00:10:19,870 --> 00:10:21,445 A ka dikush ndonjë pyetje rreth futur? 237 00:10:21,445 --> 00:10:25,620 238 00:10:25,620 --> 00:10:28,100 Çka nëse unë nuk e kujdesit për mbajtjen listën renditura? 239 00:10:28,100 --> 00:10:31,701 240 00:10:31,701 --> 00:10:34,350 >> Audienca: Stick atë në fillim apo fund. 241 00:10:34,350 --> 00:10:35,510 >> JASON HIRSCHORN: Rrinë atë në fillimi apo fundi. 242 00:10:35,510 --> 00:10:37,276 Cili duhet të bëjmë? 243 00:10:37,276 --> 00:10:38,770 Bobby? 244 00:10:38,770 --> 00:10:41,020 Pse fundi? 245 00:10:41,020 --> 00:10:43,250 >> Audienca: Për shkak se në fillim është e mbushur tashmë. 246 00:10:43,250 --> 00:10:43,575 >> JASON HIRSCHORN: OK. 247 00:10:43,575 --> 00:10:44,360 Fillimi është e mbushur tashmë. 248 00:10:44,360 --> 00:10:46,090 Kush dëshiron të argumentojnë kundër Bobby. 249 00:10:46,090 --> 00:10:47,290 Marcus. 250 00:10:47,290 --> 00:10:48,910 >> Audienca: E pra ju ndoshta dëshironi të ngjit atë në fillim, sepse 251 00:10:48,910 --> 00:10:50,140 përndryshe nëse ju vënë atë në në fund ju do të keni për të 252 00:10:50,140 --> 00:10:51,835 kaloj nëpër gjithë listën. 253 00:10:51,835 --> 00:10:52,990 >> JASON HIRSCHORN: Pikërisht. 254 00:10:52,990 --> 00:10:57,970 Pra, nëse ne jemi duke menduar për kohën e duhur, duhur të futur në fund 255 00:10:57,970 --> 00:11:00,110 do të ishte n, madhësia e kësaj. 256 00:11:00,110 --> 00:11:03,080 Çfarë është O runtime i madh i futur në fillim? 257 00:11:03,080 --> 00:11:04,170 Koha konstante. 258 00:11:04,170 --> 00:11:07,075 Pra, nëse ju nuk bëni kujdes për mbajtjen e diçka të renditura, shumë më mirë për të vetëm 259 00:11:07,075 --> 00:11:08,420 futur në fillim të kësaj liste. 260 00:11:08,420 --> 00:11:10,320 Dhe kjo mund të bëhet në kohë të vazhdueshme. 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 Operacion tjetër është gjetur, të cilat të tjera - ne kemi formuluar këtë si kërkim. 264 00:11:18,870 --> 00:11:22,470 Por ne jemi duke shkuar për të parë përmes lista e lidhur për ndonjë objekt. 265 00:11:22,470 --> 00:11:26,000 Ju djema keni parë kodin për kërkoni para në leksion. 266 00:11:26,000 --> 00:11:29,490 Por ne lloj vetëm e bëri atë me insert, ose të paktën futur 267 00:11:29,490 --> 00:11:30,580 diçka e renditura. 268 00:11:30,580 --> 00:11:36,350 Ju shikoni përmes, duke shkuar nga nyje nyje, deri sa ju të gjeni numrin që ju jeni 269 00:11:36,350 --> 00:11:37,780 kërkoni. 270 00:11:37,780 --> 00:11:39,670 Çfarë ndodh nëse keni arritur në fund të listës? 271 00:11:39,670 --> 00:11:43,020 Thuaj Po kërkoj për nëntë dhe unë arritur në fund të listës. 272 00:11:43,020 --> 00:11:44,270 Çfarë bëjmë ne? 273 00:11:44,270 --> 00:11:47,147 274 00:11:47,147 --> 00:11:48,110 >> Audienca: Kthimi i rremë? 275 00:11:48,110 --> 00:11:48,690 >> JASON HIRSCHORN: Kthehu false. 276 00:11:48,690 --> 00:11:49,960 Ne nuk e gjeti atë. 277 00:11:49,960 --> 00:11:52,010 Nëse keni arritur në fund të listës dhe të ju nuk e gjeni numrin ju jeni 278 00:11:52,010 --> 00:11:54,170 kërkoni, nuk është në atje. 279 00:11:54,170 --> 00:11:55,420 Ndonjë pyetje në lidhje gjeni? 280 00:11:55,420 --> 00:11:59,530 281 00:11:59,530 --> 00:12:04,615 Nëse kjo ishte një listë të renditura, çfarë do të të jenë të ndryshme për kërkimin tonë? 282 00:12:04,615 --> 00:12:07,370 283 00:12:07,370 --> 00:12:08,103 Po. 284 00:12:08,103 --> 00:12:10,600 >> Audienca: Ajo do të gjeni vlerën e parë që është më e madhe se ajo e 285 00:12:10,600 --> 00:12:12,390 ju jeni duke kërkuar për dhe pastaj të kthimit të rreme. 286 00:12:12,390 --> 00:12:13,190 >> JASON HIRSCHORN: Pikërisht. 287 00:12:13,190 --> 00:12:17,310 Pra, nëse kjo është një listë të renditura, në qoftë se ne të merrni për të diçka që është më e madhe se ajo që 288 00:12:17,310 --> 00:12:20,180 ne jemi duke kërkuar për të, ne nuk kemi nevojë të mbajë në fund lista. 289 00:12:20,180 --> 00:12:24,060 Ne mund të në atë pikë kthimit të rreme sepse ne nuk jemi duke shkuar për të gjetur atë. 290 00:12:24,060 --> 00:12:27,340 Pyetja është tani, ne kemi biseduar për mbajtjen e listave të lidhura renditura, 291 00:12:27,340 --> 00:12:28,180 mbajtja e tyre unsorted. 292 00:12:28,180 --> 00:12:30,050 Kjo do të jetë diçka që ju jeni të ndoshta do të duhet të mendojnë për 293 00:12:30,050 --> 00:12:34,240 kur problemi coding vendosur pesë në qoftë se ju zgjidhni një tabelë hash me i veçantë 294 00:12:34,240 --> 00:12:36,360 chaining qasje, e cila ne do të flasim më vonë. 295 00:12:36,360 --> 00:12:41,400 >> Por është me vlerë që ajo të mbajë listën renditura dhe pastaj të jenë në gjendje të ketë ndoshta 296 00:12:41,400 --> 00:12:42,310 kërkimet më të shpejtë? 297 00:12:42,310 --> 00:12:47,220 Apo është më mirë për të shpejt të futur diçka në kohën e duhur të vazhdueshme, por pastaj 298 00:12:47,220 --> 00:12:48,430 kanë më të gjatë në kërkim? 299 00:12:48,430 --> 00:12:52,250 Kjo është një kompromis të drejtë atje që të ju të merrni për të vendosur se çfarë është më e përshtatshme 300 00:12:52,250 --> 00:12:53,590 për problemin tuaj të veçantë. 301 00:12:53,590 --> 00:12:56,680 Dhe nuk është domosdoshmërisht një përgjigje plotësisht të drejtë. 302 00:12:56,680 --> 00:12:59,520 Por kjo është me siguri një vendim që ju merrni për të bërë, dhe ndoshta e mirë për të mbrojtur 303 00:12:59,520 --> 00:13:05,270 që në, të themi, një koment ose dy pse ju zgjodhi një lidhje të tjera. 304 00:13:05,270 --> 00:13:06,490 >> Së fundi, fshirjes. 305 00:13:06,490 --> 00:13:08,100 Ne e kemi parë fshirjes. 306 00:13:08,100 --> 00:13:09,180 Është e ngjashme me kërkim. 307 00:13:09,180 --> 00:13:11,020 Ne i shohim për elementin. 308 00:13:11,020 --> 00:13:12,390 Thonë se ne jemi duke u përpjekur për të fshirë gjashtë. 309 00:13:12,390 --> 00:13:14,450 Pra, ne gjejmë gjashtë të drejtë këtu. 310 00:13:14,450 --> 00:13:18,860 Gjë që ne duhet të sigurohemi që ne bëni është që çdo gjë është duke treguar për 311 00:13:18,860 --> 00:13:21,220 gjashtë - si ne e shohim në hap dy poshtë këtu - 312 00:13:21,220 --> 00:13:26,500 çdo gjë është duke treguar gjashtë nevojave të kaloni gjashtë tani dhe të ndryshohet në 313 00:13:26,500 --> 00:13:28,160 çfarëdo gjashtë është duke treguar për të. 314 00:13:28,160 --> 00:13:31,410 Ne nuk duam të ndonjëherë jetime pjesën tjetër të listën tonë duke harruar për të vendosur se 315 00:13:31,410 --> 00:13:32,960 akrep mëparshme. 316 00:13:32,960 --> 00:13:35,960 Dhe pastaj ndonjëherë, varësisht të programit, ata vetëm do të 317 00:13:35,960 --> 00:13:37,380 fshini kete nyje tërësisht. 318 00:13:37,380 --> 00:13:40,135 Ndonjëherë ju do të duan të kthehen vlera që është në këtë nyje. 319 00:13:40,135 --> 00:13:42,490 Pra, kjo është se si veprat e fshirjes. 320 00:13:42,490 --> 00:13:44,610 Çdo pyetje për të fshirë? 321 00:13:44,610 --> 00:13:51,280 322 00:13:51,280 --> 00:13:53,850 >> Audienca: Pra, nëse ju jeni do të fshini kjo, do të ju vetëm përdorni të lirë për shkak se 323 00:13:53,850 --> 00:13:55,655 me sa duket u malloced? 324 00:13:55,655 --> 00:13:57,976 >> JASON HIRSCHORN: Nëse ju doni për të liruar diçka që është saktësisht e drejtë dhe ju 325 00:13:57,976 --> 00:13:58,540 malloced atë. 326 00:13:58,540 --> 00:14:00,410 Thuaj kemi dashur të kthehen këtë vlerë. 327 00:14:00,410 --> 00:14:04,010 Ne mund të kthehemi gjashtë dhe më pas të lirë kjo nyje dhe thirrje të lirë mbi të. 328 00:14:04,010 --> 00:14:06,180 Ose ndoshta do të thërrasin pa i parë dhe pastaj të kthehen gjashtë. 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 Pra, le të shkojë përpara për të praktikuar coding. 332 00:14:14,010 --> 00:14:16,090 Ne jemi duke shkuar për kodin tri funksione. 333 00:14:16,090 --> 00:14:18,260 I pari është quajtur insert_node. 334 00:14:18,260 --> 00:14:22,170 Pra, ju keni kodin që unë ju emailed, dhe në qoftë se ju jeni të shikuar këtë më vonë 335 00:14:22,170 --> 00:14:28,020 ju mund të hyni në kodin në linked.c në faqen e internetit CS50. 336 00:14:28,020 --> 00:14:30,880 Por në linked.c, ka disa Kodi skelet kjo është tashmë 337 00:14:30,880 --> 00:14:32,280 është shkruar për ju. 338 00:14:32,280 --> 00:14:34,560 Dhe pastaj nuk ka funksionon çift ju duhet të shkruani. 339 00:14:34,560 --> 00:14:36,380 >> Së pari ne do të shkruani insert_node. 340 00:14:36,380 --> 00:14:39,800 Dhe çfarë bën insert_node nuk është në fut një numër të plotë. 341 00:14:39,800 --> 00:14:42,440 Dhe ju jeni duke i dhënë numër i plotë në listën e lidhur. 342 00:14:42,440 --> 00:14:45,470 Dhe në mënyrë të veçantë, ju duhet për të mbajtur listë të renditura 343 00:14:45,470 --> 00:14:47,650 nga më i vogli tek më i madh. 344 00:14:47,650 --> 00:14:51,360 Gjithashtu, ju nuk doni të futur ndonjë kopje identike. 345 00:14:51,360 --> 00:14:54,600 Së fundi, si ju mund të shihni insert_node kthen një bool. 346 00:14:54,600 --> 00:14:57,140 Pra, ju jeni duke menduar për të lejuar përdoruesit e di nëse insert ishte apo jo 347 00:14:57,140 --> 00:15:00,800 suksesshme duke u kthyer e vërtetë apo e rreme. 348 00:15:00,800 --> 00:15:02,580 Në fund të këtij programi - 349 00:15:02,580 --> 00:15:05,750 dhe për këtë fazë ju nuk keni nevojë të shqetësohen për çlirimin asgjë. 350 00:15:05,750 --> 00:15:11,790 Pra, të gjithë ju jeni bërë është duke marrë një numër të plotë dhe futur atë në një listë. 351 00:15:11,790 --> 00:15:13,890 >> Kjo është ajo që unë jam duke kërkuar që ju të bëni tani. 352 00:15:13,890 --> 00:15:17,620 Përsëri, në linked.c, të cilat ju të gjithë e kanë, është kodi skelet. 353 00:15:17,620 --> 00:15:20,980 Dhe ju duhet të shikoni drejt fundit Deklarata funksion mostër. 354 00:15:20,980 --> 00:15:27,390 Megjithatë, para se të shkojnë në coding atë në C, I highly ju inkurajojmë që të shkoni 355 00:15:27,390 --> 00:15:29,330 me hapat që ne kemi qenë praktikuar çdo javë. 356 00:15:29,330 --> 00:15:31,100 Ne kemi kaluar tashmë nëpër një foto të kësaj. 357 00:15:31,100 --> 00:15:33,380 Kështu që ju duhet të keni disa të kuptuarit se si kjo funksionon. 358 00:15:33,380 --> 00:15:36,590 Por unë do të ju inkurajojmë që të shkruaj disa pseudokod para se të zhyten in 359 00:15:36,590 --> 00:15:38,640 Dhe ne jemi duke shkuar për të shkuar mbi pseudokod si nje grup. 360 00:15:38,640 --> 00:15:41,470 Dhe pastaj një herë ju keni shkruar tuaj pseudokod, dhe një herë ne kemi shkruar tonë 361 00:15:41,470 --> 00:15:45,850 pseudokod si një grup, ju mund të shkojnë në coding atë në C. 362 00:15:45,850 --> 00:15:49,980 >> Si një kokat lart, funksioni insert_node është ndoshta trickiest e 363 00:15:49,980 --> 00:15:53,550 tre ne jemi duke shkuar për të shkruar, sepse unë shtuar disa kufizime të tjera për të 364 00:15:53,550 --> 00:15:57,190 programimit tuaj, në mënyrë të veçantë që ju nuk do të jeni për të futur çdo 365 00:15:57,190 --> 00:15:59,880 kopje identike dhe se lista duhet të mbetet renditura. 366 00:15:59,880 --> 00:16:02,660 Pra, ky është një program jo-parëndësishëm që ju duhet të kodit. 367 00:16:02,660 --> 00:16:06,470 Dhe pse nuk ju merrni 6:55 minuta vetëm për të punuar në 368 00:16:06,470 --> 00:16:07,640 pseudokod dhe kodin. 369 00:16:07,640 --> 00:16:09,460 Dhe pastaj ne do të fillojmë shkon si nje grup. 370 00:16:09,460 --> 00:16:11,680 Përsëri, në qoftë se ju keni ndonjë pyetje vetëm ngrini dorën dhe unë do të vijnë rreth. 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 >> Ne gjithashtu në përgjithësi të bëjë këto - 375 00:18:30,120 --> 00:18:32,070 ose unë nuk e them në mënyrë eksplicite të ju mund të punojnë me njerëz. 376 00:18:32,070 --> 00:18:36,500 Por natyrisht, I highly ju inkurajojmë, nëse keni ndonjë pyetje, për të kërkuar 377 00:18:36,500 --> 00:18:39,840 fqinj ulur tjetër për ju apo edhe të punojnë me dikë 378 00:18:39,840 --> 00:18:40,510 tjetër në qoftë se ju doni të. 379 00:18:40,510 --> 00:18:42,600 Kjo nuk duhet të jetë një individ Aktiviteti i heshtur. 380 00:18:42,600 --> 00:20:11,770 381 00:20:11,770 --> 00:20:16,330 >> Le të fillojmë me shkrim disa pseudokod në bord. 382 00:20:16,330 --> 00:20:19,395 Kush mund të jepni rreshtin e parë të pseudokod për këtë program? 383 00:20:19,395 --> 00:20:22,240 384 00:20:22,240 --> 00:20:23,640 Për këtë funksion, në vend - 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 >> Audienca: Pra, gjëja e parë që bëra ishte të krijojë një tregues të ri në nyje dhe unë 388 00:20:36,560 --> 00:20:41,320 initialized ajo duke treguar të njëjtën gjë gjë që lista është duke treguar për të. 389 00:20:41,320 --> 00:20:41,550 >> JASON HIRSCHORN: OK. 390 00:20:41,550 --> 00:20:45,190 Pra, ju jeni duke krijuar një tregues të ri në listë, të mos nyjen. 391 00:20:45,190 --> 00:20:45,420 >> Audienca: E drejta. 392 00:20:45,420 --> 00:20:46,150 Po. 393 00:20:46,150 --> 00:20:46,540 >> JASON HIRSCHORN: OK. 394 00:20:46,540 --> 00:20:48,221 Dhe pastaj çfarë ne duam të bëjmë? 395 00:20:48,221 --> 00:20:49,163 Çfarë ka të pas kësaj? 396 00:20:49,163 --> 00:20:50,105 Po në lidhje me nyjen? 397 00:20:50,105 --> 00:20:51,050 Ne nuk kemi një nyje. 398 00:20:51,050 --> 00:20:52,300 Ne vetëm duhet një vlerë. 399 00:20:52,300 --> 00:20:55,918 400 00:20:55,918 --> 00:20:58,890 Në qoftë se ne duam të futur një nyje, çfarë bëjmë ne duhet të bëni të parë para se të mund edhe 401 00:20:58,890 --> 00:20:59,980 mendoni për të futur atë? 402 00:20:59,980 --> 00:21:00,820 >> Audienca: Oh, sorry. 403 00:21:00,820 --> 00:21:02,160 ne duhet të malloc hapësirë ​​për një nyje. 404 00:21:02,160 --> 00:21:02,455 >> JASON HIRSCHORN: Excellent. 405 00:21:02,455 --> 00:21:03,210 Le të bëjmë - 406 00:21:03,210 --> 00:21:04,628 OK. 407 00:21:04,628 --> 00:21:06,065 Nuk mund të arrijnë atë nivel të lartë. 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 Ne jemi duke shkuar për të shkuar poshtë, dhe pastaj ne jemi duke përdorur dy kolona. 411 00:21:13,236 --> 00:21:13,732 Unë nuk mund të shkojnë se - 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 Krijo një nyje të re. 415 00:21:25,130 --> 00:21:29,380 Ju mund të krijojë një tjetër tregues tek lista ose ju mund të përdorni vetëm listën si ajo ekziston. 416 00:21:29,380 --> 00:21:30,720 Ju nuk duhet të vërtetë për të bërë këtë. 417 00:21:30,720 --> 00:21:31,750 >> Pra, ne të krijojë një nyje të re. 418 00:21:31,750 --> 00:21:32,010 Great. 419 00:21:32,010 --> 00:21:32,840 Kjo është ajo që ne bëjmë së pari. 420 00:21:32,840 --> 00:21:34,870 Çfarë ndodh më pas? 421 00:21:34,870 --> 00:21:35,080 >> Audienca: Prisni. 422 00:21:35,080 --> 00:21:38,330 A duhet të krijojë një nyje të re tani apo duhet të presim për të siguruar që 423 00:21:38,330 --> 00:21:42,260 nuk ka kopje identike e nyjeve në listën para se të krijuar atë? 424 00:21:42,260 --> 00:21:43,100 >> JASON HIRSCHORN: Pyetje e mirë. 425 00:21:43,100 --> 00:21:47,770 Le të mbajë atë për më vonë për shkak se Shumica e kohës ne do të krijuar 426 00:21:47,770 --> 00:21:48,220 një nyje të re. 427 00:21:48,220 --> 00:21:49,110 Pra, ne do të vazhdojmë që këtu. 428 00:21:49,110 --> 00:21:51,006 Por kjo është një pyetje e mirë. 429 00:21:51,006 --> 00:21:53,250 Nëse ne të krijuar atë dhe të gjejmë një kopje, çfarë duhet 430 00:21:53,250 --> 00:21:54,490 të bëjmë para se të kthehej? 431 00:21:54,490 --> 00:21:55,190 >> Audienca: pa atë. 432 00:21:55,190 --> 00:21:55,470 >> JASON HIRSCHORN: Po. 433 00:21:55,470 --> 00:21:56,500 Ndoshta pa atë. 434 00:21:56,500 --> 00:21:56,760 OK. 435 00:21:56,760 --> 00:21:59,850 Çfarë bëjmë ne pas ne të krijojë një nyje të re? 436 00:21:59,850 --> 00:22:02,260 Annie? 437 00:22:02,260 --> 00:22:04,780 >> Audienca: Ne kemi vënë Numri në nyjen? 438 00:22:04,780 --> 00:22:05,140 >> JASON HIRSCHORN: Pikërisht. 439 00:22:05,140 --> 00:22:07,190 Ne kemi vënë numrin - ne malloc hapësirë. 440 00:22:07,190 --> 00:22:08,160 Unë jam duke shkuar për të lënë që të gjithë si një rresht. 441 00:22:08,160 --> 00:22:08,720 Por ju jeni të drejtë. 442 00:22:08,720 --> 00:22:10,305 Ne malloc hapësirë, dhe pastaj ne kemi vënë numrin in 443 00:22:10,305 --> 00:22:12,585 Ne edhe mund të vendosni treguesin pjesë e saj të null. 444 00:22:12,585 --> 00:22:13,720 Kjo është saktësisht e drejtë. 445 00:22:13,720 --> 00:22:17,400 Dhe pastaj çfarë lidhje pas kësaj? 446 00:22:17,400 --> 00:22:18,490 Ne tërhoqi kete foto në bord. 447 00:22:18,490 --> 00:22:21,190 Pra, çfarë bëjmë ne? 448 00:22:21,190 --> 00:22:22,680 >> Audienca: Ne do të shkojmë nëpër lista. 449 00:22:22,680 --> 00:22:23,930 >> JASON HIRSCHORN: Go nëpër lista. 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 Dhe çfarë bëjmë ne të kontrolluar për në çdo nyje. 453 00:22:34,280 --> 00:22:35,955 Kurt, çfarë nuk kemi kontrolluar për në çdo nyje? 454 00:22:35,955 --> 00:22:41,640 >> Audienca: Shih nëse vlera e n e që nyja është më e madhe se vlera n 455 00:22:41,640 --> 00:22:43,070 i nyjeve tonë. 456 00:22:43,070 --> 00:22:43,340 >> JASON HIRSCHORN: OK. 457 00:22:43,340 --> 00:22:44,280 Unë jam duke shkuar për të bërë - 458 00:22:44,280 --> 00:22:45,855 yeah, OK. 459 00:22:45,855 --> 00:22:48,160 Pra, kjo është n - 460 00:22:48,160 --> 00:22:59,040 Unë jam duke shkuar për të thënë nëse vlera është më e madhe se këtë nyje, atëherë çfarë bëjmë ne? 461 00:22:59,040 --> 00:23:07,290 >> Audienca: E pra, atëherë ne të futur gjëja e drejtë para se. 462 00:23:07,290 --> 00:23:07,970 >> JASON HIRSCHORN: OK. 463 00:23:07,970 --> 00:23:09,410 Pra, në qoftë se është më e madhe se kjo, atëherë ne duam të futur. 464 00:23:09,410 --> 00:23:14,010 Por ne duam të futur atë të drejtë para se të sepse ne gjithashtu do të duhet të jenë të 465 00:23:14,010 --> 00:23:16,070 regjistrimin, atëherë, i asaj që ishte më parë. 466 00:23:16,070 --> 00:23:22,690 Pra, para se të futur. 467 00:23:22,690 --> 00:23:25,120 Pra, ne ndoshta humbur diçka më herët. 468 00:23:25,120 --> 00:23:27,770 Ne ndoshta duhet të jetë mbajtur gjurmët e asaj që po ndodh. 469 00:23:27,770 --> 00:23:28,460 Por ne do të kthehemi atje. 470 00:23:28,460 --> 00:23:30,160 Pra, çfarë vlerë është më pak se? 471 00:23:30,160 --> 00:23:38,030 472 00:23:38,030 --> 00:23:39,710 Kurt, çfarë bëjmë ne nëse vlerë është më pak se? 473 00:23:39,710 --> 00:23:43,000 >> Audienca: Pastaj ju vetëm do të mbajë përveç nëse kjo është e fundit. 474 00:23:43,000 --> 00:23:43,550 >> JASON HIRSCHORN: Më pëlqen kjo. 475 00:23:43,550 --> 00:23:44,800 Kështu që të shkojnë në nyjen e ardhshëm. 476 00:23:44,800 --> 00:23:47,410 477 00:23:47,410 --> 00:23:48,930 Përveç nëse kjo është e fundit - 478 00:23:48,930 --> 00:23:51,100 ne jemi ndoshta duke kontrolluar për të cilat në kushtet e një gjendje. 479 00:23:51,100 --> 00:23:54,870 Por, vërtet, nyje e ardhshme. 480 00:23:54,870 --> 00:23:58,680 Dhe kjo është duke u shumë i ulët, kështu që ne do të lëvizin gjatë këtu. 481 00:23:58,680 --> 00:24:02,030 Por në qoftë se - 482 00:24:02,030 --> 00:24:03,280 mund ta shohin të gjithë këtë? 483 00:24:03,280 --> 00:24:07,230 484 00:24:07,230 --> 00:24:11,610 Nëse ne jemi të barabartë, çfarë bëjmë ne? 485 00:24:11,610 --> 00:24:15,740 Nëse vlera që ne jemi duke u përpjekur për të futur është e barabartë me vlerën e kësaj nyje-së? 486 00:24:15,740 --> 00:24:16,320 Po? 487 00:24:16,320 --> 00:24:18,400 >> Audienca: [padëgjueshme]. 488 00:24:18,400 --> 00:24:18,850 >> JASON HIRSCHORN: Po. 489 00:24:18,850 --> 00:24:19,290 Duke pasur parasysh këtë - 490 00:24:19,290 --> 00:24:20,090 Marcus është e drejtë. 491 00:24:20,090 --> 00:24:21,330 Ne mund të ketë bërë ndoshta diçka të ndryshme. 492 00:24:21,330 --> 00:24:25,360 Por duke pasur parasysh se ne kemi krijuar atë, këtu ne duhet të lirë dhe pastaj të kthehen. 493 00:24:25,360 --> 00:24:26,774 Oh boy. 494 00:24:26,774 --> 00:24:30,080 A është kjo më mirë? 495 00:24:30,080 --> 00:24:31,850 Si është ajo? 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 Pa pagesë dhe pastaj çfarë të bëjmë ne kthehen, [e padëgjueshme]? 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 A jemi të humbur ndonjë gjë? 502 00:24:45,360 --> 00:24:53,500 503 00:24:53,500 --> 00:24:59,650 Pra, ku jemi ne regjistrimin i nyjeve paraprak? 504 00:24:59,650 --> 00:25:02,370 >> Audienca: Unë mendoj se do të shkojë pas të krijojë një nyje të re. 505 00:25:02,370 --> 00:25:02,600 >> JASON HIRSCHORN: OK. 506 00:25:02,600 --> 00:25:03,940 Pra, në fillim ne do të ndoshta - 507 00:25:03,940 --> 00:25:07,175 po, ne mund të krijojë një tregues për një të ri nyje, si një tregues të mëparshëm nyjeve dhe të 508 00:25:07,175 --> 00:25:09,600 një tregues i tanishëm nyje. 509 00:25:09,600 --> 00:25:12,640 Pra, le të futur atë këtu. 510 00:25:12,640 --> 00:25:15,610 511 00:25:15,610 --> 00:25:26,900 Krijo aktuale dhe të mëparshme pointers në nyje. 512 00:25:26,900 --> 00:25:28,955 Por kur nuk kemi të rregulluar këto pointers? 513 00:25:28,955 --> 00:25:30,205 Ku e bëjmë këtë në kodin? 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 >> Audienca: - Kushtet vlerë? 517 00:25:35,170 --> 00:25:36,420 >> JASON HIRSCHORN: Cili Një në veçanti? 518 00:25:36,420 --> 00:25:39,862 519 00:25:39,862 --> 00:25:40,720 >> Audienca: Unë jam vetëm i hutuar. 520 00:25:40,720 --> 00:25:44,200 Nëse vlera është më e madhe se kjo nyje, nuk do të thotë kjo që ju doni të shkoni 521 00:25:44,200 --> 00:25:45,320 në nyjen e ardhshëm? 522 00:25:45,320 --> 00:25:49,515 >> JASON HIRSCHHORN: Pra, nëse vlera jonë është e madhe se vlera e kësaj nyje. 523 00:25:49,515 --> 00:25:52,130 >> Audienca: Po, atëherë ju do të duan të shkojnë më poshtë vijës, e drejtë? 524 00:25:52,130 --> 00:25:52,590 >> JASON HIRSCHHORN: E drejta. 525 00:25:52,590 --> 00:25:53,840 Pra, ne nuk e futur atë këtu. 526 00:25:53,840 --> 00:25:58,430 527 00:25:58,430 --> 00:26:03,240 Nëse vlera është më pak se këtë nyje, atëherë ne do të shkojmë në nyjen e ardhshëm - ose pastaj ne 528 00:26:03,240 --> 00:26:03,835 futur para. 529 00:26:03,835 --> 00:26:05,966 >> Audienca: Prisni, cili është ky Nyja dhe cila është vlera? 530 00:26:05,966 --> 00:26:08,510 531 00:26:08,510 --> 00:26:09,280 >> JASON HIRSCHHORN: Pyetje e mirë. 532 00:26:09,280 --> 00:26:13,260 Vlera për këtë përkufizim të funksionit është ajo që ne jemi duke i dhënë. 533 00:26:13,260 --> 00:26:16,910 Pra, vlera është numri ne jemi duke i dhënë. 534 00:26:16,910 --> 00:26:21,120 Kështu nëse vlera është më pak se kjo nyje, ne kemi nevojë për kohë për të futur. 535 00:26:21,120 --> 00:26:24,575 Nëse vlera është më e madhe se kjo nyje, ne do të shkojmë në nyjen e ardhshëm. 536 00:26:24,575 --> 00:26:26,790 Dhe përsëri në pyetje origjinal, pse, ku - 537 00:26:26,790 --> 00:26:29,060 >> Audienca: Nëse vlera është më e madhe se kjo nyje. 538 00:26:29,060 --> 00:26:30,310 >> JASON HIRSCHHORN: Dhe kështu çfarë bëjmë ne këtu? 539 00:26:30,310 --> 00:26:36,790 540 00:26:36,790 --> 00:26:38,160 Sweet. 541 00:26:38,160 --> 00:26:38,860 Kjo është e saktë. 542 00:26:38,860 --> 00:26:41,370 Unë jam vetëm duke shkuar për të shkruar përditësimin pointers. 543 00:26:41,370 --> 00:26:44,010 Por po, me atë aktuale ju do të update it për të 544 00:26:44,010 --> 00:26:46,080 pikë në një tjetër. 545 00:26:46,080 --> 00:26:47,330 Çdo gjë tjetër ne jemi të humbur? 546 00:26:47,330 --> 00:26:52,710 547 00:26:52,710 --> 00:26:54,940 Kështu që unë jam duke shkuar për këtë lloj kodin në gedit. 548 00:26:54,940 --> 00:26:58,375 Dhe, ndërsa unë bëj këtë, ju mund të ketë një çift ​​shumë minuta për të punuar në kodim 549 00:26:58,375 --> 00:28:19,240 kjo në C. 550 00:28:19,240 --> 00:28:20,940 >> Pra, unë kam të dhëna të pseudokod. 551 00:28:20,940 --> 00:28:22,940 Një shënim të shpejtë para se të ketë filluar. 552 00:28:22,940 --> 00:28:25,560 Ne nuk mund të jetë në gjendje që plotësisht përfundojë këtë në të gjitha 553 00:28:25,560 --> 00:28:27,300 tre prej këtyre funksioneve. 554 00:28:27,300 --> 00:28:30,630 Nuk ka zgjidhje të saktë për to se unë do të email nga ju djema 555 00:28:30,630 --> 00:28:33,730 pas nenit, dhe kjo do të të postuar në CS50.net. 556 00:28:33,730 --> 00:28:35,640 Kështu që unë nuk do të ju inkurajoj që të shkoni shikoni në seksionet. 557 00:28:35,640 --> 00:28:40,550 Unë ju inkurajoj që të provoni ato në tuaj vet, dhe pastaj të përdorin praktika 558 00:28:40,550 --> 00:28:41,760 Problemet për të kontrolluar përgjigjet tuaja. 559 00:28:41,760 --> 00:28:47,070 Këto kanë qenë të gjitha të dizajnuara për të ngushtë kanë të bëjnë dhe t'i përmbahen asaj që 560 00:28:47,070 --> 00:28:48,400 ju duhet të bëni në grup problemit. 561 00:28:48,400 --> 00:28:53,820 Kështu që unë do të ju inkurajoj për të ushtruar këtë në tuaj dhe pastaj të përdorni kodin për 562 00:28:53,820 --> 00:28:54,660 kontrolloni përgjigjet tuaja. 563 00:28:54,660 --> 00:28:57,060 Sepse unë dua të lëvizin për të përpunojnë tavolina në një pikë në seksionin. 564 00:28:57,060 --> 00:28:58,150 Pra, ne nuk mund të marrë me të gjitha. 565 00:28:58,150 --> 00:28:59,960 Por ne do të bëjmë sa më shumë që mundemi tani. 566 00:28:59,960 --> 00:29:00,370 >> OK. 567 00:29:00,370 --> 00:29:01,960 Le të fillojmë. 568 00:29:01,960 --> 00:29:04,770 Asam, si nuk kemi krijuar një nyje të re? 569 00:29:04,770 --> 00:29:06,810 >> Audienca: Ju keni struct *. 570 00:29:06,810 --> 00:29:09,640 >> JASON HIRSCHHORN: Pra, ne kanë se deri këtu. 571 00:29:09,640 --> 00:29:10,040 Oh, sorry. 572 00:29:10,040 --> 00:29:13,530 Ju u thënë e strukturës *. 573 00:29:13,530 --> 00:29:17,260 >> Audienca: Dhe pastaj [? lloj?] nyje ose c nyje. 574 00:29:17,260 --> 00:29:17,780 >> JASON HIRSCHHORN: OK. 575 00:29:17,780 --> 00:29:19,740 Unë jam duke shkuar për të thirrur atë new_node kështu që ne mund të qëndrojnë në përputhje. 576 00:29:19,740 --> 00:29:22,646 577 00:29:22,646 --> 00:29:33,180 >> Audienca: Dhe ju doni të vendosur që në krye, nyjen e parë. 578 00:29:33,180 --> 00:29:33,580 >> JASON HIRSCHHORN: OK. 579 00:29:33,580 --> 00:29:37,290 Deri tani ky treguar për të - kështu që kjo nuk ka krijuar një nyje të re ende. 580 00:29:37,290 --> 00:29:41,380 Kjo është vetëm për të treguar Nyja e parë në listë. 581 00:29:41,380 --> 00:29:42,630 Si mund të krijoj një nyje të re? 582 00:29:42,630 --> 00:29:45,490 583 00:29:45,490 --> 00:29:48,070 Nëse kam nevojë për hapësirë ​​për të krijuar një nyje të re. 584 00:29:48,070 --> 00:29:49,230 Malloc. 585 00:29:49,230 --> 00:29:51,710 Dhe sa e madhe? 586 00:29:51,710 --> 00:30:00,390 >> Audienca: Madhësia e struct. 587 00:30:00,390 --> 00:30:01,150 >> JASON HIRSCHHORN: Madhësia e struct. 588 00:30:01,150 --> 00:30:02,400 Dhe çfarë po struct quhet? 589 00:30:02,400 --> 00:30:09,670 590 00:30:09,670 --> 00:30:09,840 >> Audienca: Nyja? 591 00:30:09,840 --> 00:30:11,640 >> JASON HIRSCHHORN: Nyja. 592 00:30:11,640 --> 00:30:17,640 Pra malloc (sizeof (nyje)); na jep hapësirë. 593 00:30:17,640 --> 00:30:19,740 Dhe është kjo linjë - 594 00:30:19,740 --> 00:30:21,740 një gjë është e gabuar në këtë linjë. 595 00:30:21,740 --> 00:30:24,430 A është new_node një tregues për një struct? 596 00:30:24,430 --> 00:30:25,650 Kjo është një emër gjenerik. 597 00:30:25,650 --> 00:30:26,520 Çfarë është ajo - 598 00:30:26,520 --> 00:30:27,450 nyje, pikërisht. 599 00:30:27,450 --> 00:30:29,340 Kjo është një nyje *. 600 00:30:29,340 --> 00:30:33,010 Dhe çfarë bëjmë ne të drejtë pas ne malloc diçka, Asan? 601 00:30:33,010 --> 00:30:34,476 Cila është gjëja e parë që ne bëjmë? 602 00:30:34,476 --> 00:30:38,850 603 00:30:38,850 --> 00:30:40,320 Po në qoftë se ajo nuk punon? 604 00:30:40,320 --> 00:30:42,430 >> Audienca: Oh, kontrolloni nëse ajo tregon për nyjen? 605 00:30:42,430 --> 00:30:43,310 >> JASON HIRSCHHORN: Pikërisht. 606 00:30:43,310 --> 00:30:46,750 Pra, nëse ju new_node është e barabartë me të barabartëve null, çfarë bëjmë ne? 607 00:30:46,750 --> 00:30:51,650 608 00:30:51,650 --> 00:30:54,820 Kjo kthen një bool, këtë funksion. 609 00:30:54,820 --> 00:30:57,760 Pikërisht. 610 00:30:57,760 --> 00:30:58,450 Duket e mirë. 611 00:30:58,450 --> 00:30:59,680 Çdo gjë për të shtuar aty? 612 00:30:59,680 --> 00:31:00,670 Ne do të shtuar gjëra në fund. 613 00:31:00,670 --> 00:31:03,160 Por kjo deri tani duket e mirë. 614 00:31:03,160 --> 00:31:06,170 Krijo pointers aktuale dhe të mëparshme. 615 00:31:06,170 --> 00:31:08,650 Michael, si mund ta bëni këtë? 616 00:31:08,650 --> 00:31:12,810 >> Audienca: Ju do të duhet për të bërë një nyje *. 617 00:31:12,810 --> 00:31:21,800 618 00:31:21,800 --> 00:31:25,502 Ju do të duhet të mos bëjë një për new_node por për 619 00:31:25,502 --> 00:31:26,905 nyjet ne tashmë kemi. 620 00:31:26,905 --> 00:31:27,230 >> JASON HIRSCHHORN: OK. 621 00:31:27,230 --> 00:31:29,255 Pra, nyja e tanishme ne jemi në. 622 00:31:29,255 --> 00:31:30,505 Unë do të thërrasë atë curr. 623 00:31:30,505 --> 00:31:39,650 624 00:31:39,650 --> 00:31:39,770 Dakord. 625 00:31:39,770 --> 00:31:41,620 Ne kemi vendosur që ne duam të mbajnë dy sepse ne duhet të dimë 626 00:31:41,620 --> 00:31:42,870 çfarë është para tij. 627 00:31:42,870 --> 00:31:45,770 628 00:31:45,770 --> 00:31:47,020 Çfarë ata marrin niset për të? 629 00:31:47,020 --> 00:31:49,874 630 00:31:49,874 --> 00:31:54,180 >> Audienca: Vlera e tyre në listën tonë. 631 00:31:54,180 --> 00:31:58,090 >> JASON HIRSCHHORN: Pra, çfarë është gjëja e parë në listën tonë? 632 00:31:58,090 --> 00:32:04,050 Ose, si mund ta dimë se ku fillimi i listës sonë është? 633 00:32:04,050 --> 00:32:08,015 >> Audienca: A nuk është kaluar në funksion? 634 00:32:08,015 --> 00:32:08,466 >> JASON HIRSCHHORN: E drejta. 635 00:32:08,466 --> 00:32:09,716 Ajo u miratua në të drejtë këtu. 636 00:32:09,716 --> 00:32:15,910 637 00:32:15,910 --> 00:32:18,980 Pra, në qoftë se është kaluar në funksion, fillojnë të listës, çfarë duhet të kemi 638 00:32:18,980 --> 00:32:21,270 Grupi aktual i barabartë? 639 00:32:21,270 --> 00:32:22,110 >> Audienca: Lista. 640 00:32:22,110 --> 00:32:22,900 >> JASON HIRSCHHORN: Lista. 641 00:32:22,900 --> 00:32:24,090 Kjo është saktësisht e drejtë. 642 00:32:24,090 --> 00:32:26,290 Tani ajo ka adresën e fillimi i listës sonë. 643 00:32:26,290 --> 00:32:28,450 Dhe çfarë lidhje të mëparshme? 644 00:32:28,450 --> 00:32:31,920 >> Audienca: Lista minus një? 645 00:32:31,920 --> 00:32:32,690 >> JASON HIRSCHHORN: Ka asgjë para saj. 646 00:32:32,690 --> 00:32:34,580 Pra, çfarë mund të bëjmë për të ditur asgjë? 647 00:32:34,580 --> 00:32:35,050 >> Audienca: Null. 648 00:32:35,050 --> 00:32:35,450 >> JASON HIRSCHHORN: Po. 649 00:32:35,450 --> 00:32:37,950 Kjo tingëllon si një ide e mirë. 650 00:32:37,950 --> 00:32:38,360 Perfect. 651 00:32:38,360 --> 00:32:39,630 Falemnderit. 652 00:32:39,630 --> 00:32:42,850 Go nëpër lista. 653 00:32:42,850 --> 00:32:45,490 Constantine, sa kohë do të shkojmë për të shkuar nëpër lista? 654 00:32:45,490 --> 00:32:49,010 >> Audienca: Deri Ne arrijnë null. 655 00:32:49,010 --> 00:32:49,390 >> JASON HIRSCHHORN: OK. 656 00:32:49,390 --> 00:32:50,430 Pra, nëse, përderisa, për lak. 657 00:32:50,430 --> 00:32:52,200 Çfarë po bëjmë? 658 00:32:52,200 --> 00:32:53,320 >> Audienca: Ndoshta një për lak? 659 00:32:53,320 --> 00:32:53,910 >> JASON HIRSCHHORN: Le të bëjmë një për lak. 660 00:32:53,910 --> 00:32:55,870 OK. 661 00:32:55,870 --> 00:33:02,465 >> Audienca: Dhe ne themi për - 662 00:33:02,465 --> 00:33:09,764 663 00:33:09,764 --> 00:33:13,390 deri në treguesin e tanishme nuk është e barabartë me null. 664 00:33:13,390 --> 00:33:19,160 >> JASON HIRSCHHORN: Pra, në qoftë se ne e dimë kusht, si mund të shkruani një lak 665 00:33:19,160 --> 00:33:21,740 bazuar jashtë atë gjendje. 666 00:33:21,740 --> 00:33:24,380 Çfarë lloj i një lak duhet të përdorim? 667 00:33:24,380 --> 00:33:25,260 >> Audienca: Përderisa. 668 00:33:25,260 --> 00:33:25,590 >> JASON HIRSCHHORN: Po. 669 00:33:25,590 --> 00:33:27,130 Kjo e bën shumë kuptim bazë off të asaj që ju tha. 670 00:33:27,130 --> 00:33:29,430 Nëse ne vetëm duan të shkojnë në ne kjo do të vetëm e di atë gjë, kjo do të bëjë 671 00:33:29,430 --> 00:33:31,680 kuptim për të bërë një lak, ndërsa. 672 00:33:31,680 --> 00:33:39,880 Ndërsa e tanishme bën null jo të barabartë, nëse vlera është më pak se këtë nyje. 673 00:33:39,880 --> 00:33:41,650 Akshar, më jep këtë linjë. 674 00:33:41,650 --> 00:33:48,810 675 00:33:48,810 --> 00:33:56,955 >> Audienca: Nëse aktuale>-n n më pak se vlera. 676 00:33:56,955 --> 00:34:00,170 677 00:34:00,170 --> 00:34:03,260 Ose të kundërt se. 678 00:34:03,260 --> 00:34:06,140 Switch se kllapa. 679 00:34:06,140 --> 00:34:06,620 >> JASON HIRSCHHORN: Na vjen keq. 680 00:34:06,620 --> 00:34:08,760 >> Audienca: Ndryshimi kllapa. 681 00:34:08,760 --> 00:34:10,914 >> JASON HIRSCHHORN: Pra, nëse është e madhe se vlera. 682 00:34:10,914 --> 00:34:18,719 683 00:34:18,719 --> 00:34:22,120 Sepse kjo është konfuze me të komentuar më sipër, unë jam duke shkuar për të bërë këtë. 684 00:34:22,120 --> 00:34:22,480 Por po. 685 00:34:22,480 --> 00:34:25,125 Në qoftë se vlera jonë është më pak se kjo nyje, çfarë bëjmë ne? 686 00:34:25,125 --> 00:34:25,540 Oh. 687 00:34:25,540 --> 00:34:26,710 Unë kam atë të drejtë këtu. 688 00:34:26,710 --> 00:34:27,960 Fut para. 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 Si e bëjmë këtë? 692 00:34:33,933 --> 00:34:34,900 >> Audienca: A është ende e mua? 693 00:34:34,900 --> 00:34:36,150 >> JASON HIRSCHHORN: Po. 694 00:34:36,150 --> 00:34:38,520 695 00:34:38,520 --> 00:34:39,770 >> Audienca: Ju - 696 00:34:39,770 --> 00:34:42,909 697 00:34:42,909 --> 00:34:44,159 new_node-> ardhshme. 698 00:34:44,159 --> 00:34:46,770 699 00:34:46,770 --> 00:34:50,163 >> JASON HIRSCHHORN: Pra, çfarë është që do të barabartë? 700 00:34:50,163 --> 00:34:52,070 >> Audienca: Ajo do të tanishëm të barabartë. 701 00:34:52,070 --> 00:34:53,889 >> JASON HIRSCHHORN: Pikërisht. 702 00:34:53,889 --> 00:34:55,730 Dhe kështu të tjera - 703 00:34:55,730 --> 00:34:56,730 çfarë tjetër na duhet për të rinovuar? 704 00:34:56,730 --> 00:34:59,982 >> Audienca: Kontrolloni në qoftë se e kaluara është e barabartë null. 705 00:34:59,982 --> 00:35:01,870 >> JASON HIRSCHHORN: Nëse prev - 706 00:35:01,870 --> 00:35:03,730 kështu që nëse prev barabartë null. 707 00:35:03,730 --> 00:35:05,990 >> Audienca: Kjo do të thotë se do për t'u bërë kreu. 708 00:35:05,990 --> 00:35:06,780 >> JASON HIRSCHHORN: Kjo do të thotë është bërë kokë. 709 00:35:06,780 --> 00:35:07,620 Pra, atëherë çfarë bëjmë ne? 710 00:35:07,620 --> 00:35:12,510 >> Audienca: Ne bëjmë kokën e barabartë new_node. 711 00:35:12,510 --> 00:35:16,690 >> JASON HIRSCHHORN: Shef është e barabartë me new_node. 712 00:35:16,690 --> 00:35:20,540 Dhe pse kreu këtu, jo lista? 713 00:35:20,540 --> 00:35:24,940 >> Audienca: Për shkak se koka është një globale e ndryshueshme, e cila është vendi duke filluar. 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 Dhe - 718 00:35:36,150 --> 00:35:53,796 >> Audienca: Pastaj ju bëni tjetër prev-> tjetër është e barabartë new_node. 719 00:35:53,796 --> 00:35:55,080 Dhe pastaj ju kthehen e vërtetë. 720 00:35:55,080 --> 00:35:59,560 721 00:35:59,560 --> 00:36:02,700 >> JASON HIRSCHHORN: Ku ne kemi vendosur fundin new_node? 722 00:36:02,700 --> 00:36:04,850 >> Audienca: Unë do të - 723 00:36:04,850 --> 00:36:06,180 I vendosur që në fillim. 724 00:36:06,180 --> 00:36:07,430 >> JASON HIRSCHHORN: Pra, çfarë linjë? 725 00:36:07,430 --> 00:36:10,000 726 00:36:10,000 --> 00:36:12,598 >> Audienca: Pas qoftë se deklarata kontrolluar nëse është e njohur. 727 00:36:12,598 --> 00:36:13,057 >> JASON HIRSCHHORN: Të drejtë këtu? 728 00:36:13,057 --> 00:36:18,335 >> Audienca: Unë do të bëj new_node-> n është e barabartë me vlerën. 729 00:36:18,335 --> 00:36:19,585 >> JASON HIRSCHHORN: Tinguj e mirë. 730 00:36:19,585 --> 00:36:21,740 731 00:36:21,740 --> 00:36:25,090 Ndoshta kjo ka kuptim - ne nuk bëjmë duhet të dini se çfarë lista ne jemi në 732 00:36:25,090 --> 00:36:26,280 sepse ne jemi vetëm që kanë të bëjnë me një listë. 733 00:36:26,280 --> 00:36:29,560 Pra, një deklaratë më të mirë funksion për kjo është vetëm për të hequr qafe këtë 734 00:36:29,560 --> 00:36:34,360 tërësisht dhe vetëm futur një vlerë në kokë. 735 00:36:34,360 --> 00:36:35,930 Ne as nuk duhet të dini ajo lista ne jemi in 736 00:36:35,930 --> 00:36:39,140 Por unë do të mbajë atë tani për tani dhe pastaj të ndryshojë atë mbi përditësimin 737 00:36:39,140 --> 00:36:42,590 slides dhe Kodi. 738 00:36:42,590 --> 00:36:44,980 Kështu që duket e mirë tani për tani. 739 00:36:44,980 --> 00:36:46,560 Nëse vlera - që mund ta bëjë këtë linjë? 740 00:36:46,560 --> 00:36:47,810 Nëse - 741 00:36:47,810 --> 00:36:52,240 742 00:36:52,240 --> 00:36:53,840 çfarë bëjmë ne këtu, Noeu. 743 00:36:53,840 --> 00:36:57,890 744 00:36:57,890 --> 00:37:07,100 >> Audienca: Nëse vlera është më e madhe se curr-> n - 745 00:37:07,100 --> 00:37:16,830 746 00:37:16,830 --> 00:37:18,240 >> JASON HIRSCHHORN: Si mund të ne do të shkojmë në nyjen e ardhshëm? 747 00:37:18,240 --> 00:37:27,760 748 00:37:27,760 --> 00:37:30,530 >> Audienca: Curr-> n është barabartë me new_node. 749 00:37:30,530 --> 00:37:37,630 750 00:37:37,630 --> 00:37:39,195 >> JASON HIRSCHHORN: Pra, n është çfarë pjesë e struct? 751 00:37:39,195 --> 00:37:43,065 752 00:37:43,065 --> 00:37:46,020 Numër i plotë. 753 00:37:46,020 --> 00:37:50,420 Dhe new_node është një tregues për një nyje. 754 00:37:50,420 --> 00:37:51,880 Pra, çfarë pjesë e curr duhet ne update? 755 00:37:51,880 --> 00:38:03,900 756 00:38:03,900 --> 00:38:05,400 Nëse jo n, atëherë çfarë është pjesa tjetër? 757 00:38:05,400 --> 00:38:21,680 758 00:38:21,680 --> 00:38:22,810 Noeu, çfarë është pjesa tjetër. 759 00:38:22,810 --> 00:38:23,570 >> Audienca: Oh, e ardhshëm. 760 00:38:23,570 --> 00:38:25,645 >> JASON HIRSCHHORN: Next, saktësisht. 761 00:38:25,645 --> 00:38:26,410 Pikërisht. 762 00:38:26,410 --> 00:38:28,770 Tjetër është një e drejtë. 763 00:38:28,770 --> 00:38:31,540 Dhe çfarë tjetër nuk kemi nevojë për të rinovuar, Noeun? 764 00:38:31,540 --> 00:38:32,840 >> Audienca: Të pointers. 765 00:38:32,840 --> 00:38:34,840 >> JASON HIRSCHHORN: Pra, ne updated aktuale. 766 00:38:34,840 --> 00:38:36,090 >> Audienca: Prev-> ardhshme. 767 00:38:36,090 --> 00:38:48,160 768 00:38:48,160 --> 00:38:49,410 >> JASON HIRSCHHORN: Po. 769 00:38:49,410 --> 00:38:57,465 770 00:38:57,465 --> 00:38:58,370 OK, ne do të pauzë. 771 00:38:58,370 --> 00:39:02,200 Kush mund të na ndihmojë jashtë këtu? 772 00:39:02,200 --> 00:39:03,385 Manu, çfarë duhet të bëjmë? 773 00:39:03,385 --> 00:39:05,615 >> Audienca: Ju keni marrë për të vendosur është e barabartë tek curr-> tjeter. 774 00:39:05,615 --> 00:39:09,110 775 00:39:09,110 --> 00:39:11,630 Por të bërë këtë para se të vijë më parë. 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 Çdo gjë tjetër? 779 00:39:18,260 --> 00:39:19,170 Akshar. 780 00:39:19,170 --> 00:39:22,680 >> Audienca: Unë nuk mendoj se ju jeni për qëllim të ndryshojë curr-> ardhshme. 781 00:39:22,680 --> 00:39:29,270 Unë mendoj se ju jeni duke menduar për të bërë të barabartëve curr curr-> tjetër për të shkuar në nyjen e ardhshëm. 782 00:39:29,270 --> 00:39:30,500 >> JASON HIRSCHHORN: Pra vjen keq, ku? 783 00:39:30,500 --> 00:39:32,680 Në çfarë linjë? 784 00:39:32,680 --> 00:39:33,420 Kjo linjë? 785 00:39:33,420 --> 00:39:33,750 >> Audienca: Po. 786 00:39:33,750 --> 00:39:35,745 Bëni curr barabartë curr-> ardhshme. 787 00:39:35,745 --> 00:39:39,690 788 00:39:39,690 --> 00:39:43,360 >> JASON HIRSCHHORN: Pra, kjo është e saktë sepse i tanishëm është një 789 00:39:43,360 --> 00:39:45,220 tregues për një nyje. 790 00:39:45,220 --> 00:39:48,550 Dhe ne duam që ajo të pikë për të ardhshëm nyje të asaj që është duke u aktualisht 791 00:39:48,550 --> 00:39:49,930 vuri në dukje. 792 00:39:49,930 --> 00:39:54,410 Vetë curr ka një tjetër. 793 00:39:54,410 --> 00:39:58,620 Por në qoftë se ne kemi qenë të rinovuar curr.next, ne do të jetë e informuar shënimin aktuale 794 00:39:58,620 --> 00:40:01,430 vetvete nuk, kur kjo akrep u treguar. 795 00:40:01,430 --> 00:40:02,680 Po në lidhje me këtë linjë, edhe pse. 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 >> Audienca: Prev-> tjetër është e barabartë curr. 799 00:40:09,590 --> 00:40:12,500 800 00:40:12,500 --> 00:40:19,440 >> JASON HIRSCHHORN: Pra, përsëri, në qoftë se prev është një tregues për një nyje, prev-> tjetër është 801 00:40:19,440 --> 00:40:23,020 akrep aktuale në nyje. 802 00:40:23,020 --> 00:40:27,190 Pra, kjo do të jetë e informuar a treguesin në një nyje të curr. 803 00:40:27,190 --> 00:40:28,570 Ne nuk duam të rinovuar një tregues në një nyje. 804 00:40:28,570 --> 00:40:30,570 Ne duam të rinovuar mëparshme. 805 00:40:30,570 --> 00:40:31,850 Pra, si do ta bëjmë këtë? 806 00:40:31,850 --> 00:40:34,250 >> Audienca: Ajo thjesht do të prev. 807 00:40:34,250 --> 00:40:34,565 >> JASON HIRSCHHORN: E drejta. 808 00:40:34,565 --> 00:40:35,560 Prev është një tregues për një nyje. 809 00:40:35,560 --> 00:40:38,750 Tani ne jemi duke ndryshuar atë në një tregues të re në një nyje. 810 00:40:38,750 --> 00:40:40,830 OK Le të lëvizin poshtë. 811 00:40:40,830 --> 00:40:41,940 Së fundi, ky kusht të fundit. 812 00:40:41,940 --> 00:40:44,896 Jeff, çfarë bëjmë ne këtu? 813 00:40:44,896 --> 00:40:47,515 >> Audienca: Nëse vlera është barabartë tek curr-> n. 814 00:40:47,515 --> 00:40:51,030 815 00:40:51,030 --> 00:40:51,300 >> JASON HIRSCHHORN: Na vjen keq. 816 00:40:51,300 --> 00:40:52,372 Oh mirësinë time. 817 00:40:52,372 --> 00:40:54,330 Çfarë? 818 00:40:54,330 --> 00:40:55,580 Vlera == curr-> n. 819 00:40:55,580 --> 00:41:01,050 820 00:41:01,050 --> 00:41:02,300 Çfarë bëjmë ne? 821 00:41:02,300 --> 00:41:04,760 822 00:41:04,760 --> 00:41:10,950 >> Audienca: Ju do të liruar new_node tonë, dhe pastaj ju do të ktheheni të rreme. 823 00:41:10,950 --> 00:41:21,410 824 00:41:21,410 --> 00:41:23,460 >> JASON HIRSCHHORN: Kjo është ajo që ne kemi shkruar deri tani. 825 00:41:23,460 --> 00:41:25,710 A ka dikush ndonjë gjë për të shtuar para se të bëjmë? 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 Le të provoni. 829 00:41:36,960 --> 00:41:44,180 830 00:41:44,180 --> 00:41:46,110 Kontrolli mund të arrijnë në fund e nje funksion jo-pavlefshme. 831 00:41:46,110 --> 00:41:48,310 Avi, çfarë po ndodh? 832 00:41:48,310 --> 00:41:51,380 >> Audienca: A jeni menduar për të vënë kthimin vërtetë jashtë lak ndërsa? 833 00:41:51,380 --> 00:41:53,900 834 00:41:53,900 --> 00:41:54,400 >> JASON HIRSCHHORN: Nuk e di. 835 00:41:54,400 --> 00:41:54,780 A doni më për të? 836 00:41:54,780 --> 00:41:55,520 >> Audienca: Mos u mërzit. 837 00:41:55,520 --> 00:41:56,350 Jo. 838 00:41:56,350 --> 00:41:57,180 >> JASON HIRSCHHORN: Akshar? 839 00:41:57,180 --> 00:41:59,460 >> Audienca: Unë mendoj se ju do të thotë të vënë FALSE kthimit në fund 840 00:41:59,460 --> 00:42:02,230 e lak ndërsa. 841 00:42:02,230 --> 00:42:03,270 >> JASON HIRSCHHORN: Pra, ku nuk ju duan të të shkoni? 842 00:42:03,270 --> 00:42:05,270 >> Audienca: Ashtu si jashtë lak ndërsa. 843 00:42:05,270 --> 00:42:08,800 Pra, nëse ju dilni nga lak, ndërsa kjo do të thotë që ju keni arritur fundin dhe 844 00:42:08,800 --> 00:42:09,980 asgjë nuk ka ndodhur. 845 00:42:09,980 --> 00:42:10,410 >> JASON HIRSCHHORN: OK. 846 00:42:10,410 --> 00:42:12,340 Pra, çfarë bëjmë ne këtu? 847 00:42:12,340 --> 00:42:13,702 >> Audienca: Ju kthimit të rreme edhe atje. 848 00:42:13,702 --> 00:42:15,040 >> JASON HIRSCHHORN: Oh, ne bëni atë në të dy vendet? 849 00:42:15,040 --> 00:42:15,650 >> Audienca: Po. 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 A duhet të shkojmë? 853 00:42:26,160 --> 00:42:26,980 Oh mirësinë time. 854 00:42:26,980 --> 00:42:27,290 Më vjen keq. 855 00:42:27,290 --> 00:42:28,480 Unë kërkoj falje për të ekranit. 856 00:42:28,480 --> 00:42:30,530 Është lloj i freaking out mbi ne. 857 00:42:30,530 --> 00:42:31,520 Pra, zgjidhni një opsion. 858 00:42:31,520 --> 00:42:35,260 Zero, sipas kodit të, shpërblej programin. 859 00:42:35,260 --> 00:42:36,700 Një fut diçka. 860 00:42:36,700 --> 00:42:37,990 Le të futur tre. 861 00:42:37,990 --> 00:42:42,900 862 00:42:42,900 --> 00:42:45,380 Insert nuk ishte i suksesshëm. 863 00:42:45,380 --> 00:42:46,500 Unë jam duke shkuar për të shtypur jashtë. 864 00:42:46,500 --> 00:42:48,050 Unë nuk kam asgjë. 865 00:42:48,050 --> 00:42:48,450 OK. 866 00:42:48,450 --> 00:42:50,250 Ndoshta kjo ishte vetëm një pikë për shans. 867 00:42:50,250 --> 00:42:52,810 Fut një të tillë. 868 00:42:52,810 --> 00:42:55,770 Nuk është i suksesshëm. 869 00:42:55,770 --> 00:42:57,470 OK. 870 00:42:57,470 --> 00:43:02,400 Le të vazhdojë deri gdb vërtetë shpejt për të parë se çfarë po ndodh. 871 00:43:02,400 --> 00:43:06,055 >> Mos harroni gdb. / Emri i juaj program na merr në gdb. 872 00:43:06,055 --> 00:43:07,610 Është se shumë për të trajtuar? 873 00:43:07,610 --> 00:43:08,560 Ndezje? 874 00:43:08,560 --> 00:43:10,400 Ndoshta. 875 00:43:10,400 --> 00:43:12,760 Mbyll sytë tuaj dhe të marrë disa të thellë frymë në qoftë se ju merrni lodhur 876 00:43:12,760 --> 00:43:13,580 e shikuar atë. 877 00:43:13,580 --> 00:43:14,200 Unë jam në gdb. 878 00:43:14,200 --> 00:43:15,830 Cila është gjëja e parë që unë bëj në gdb? 879 00:43:15,830 --> 00:43:17,050 Ne duhet të kuptoj se çfarë po ndodh këtu. 880 00:43:17,050 --> 00:43:17,310 Le të shohim. 881 00:43:17,310 --> 00:43:21,650 Ne kemi gjashtë minuta për figurën se çfarë po ndodh. 882 00:43:21,650 --> 00:43:22,900 Pushim kryesore. 883 00:43:22,900 --> 00:43:25,950 884 00:43:25,950 --> 00:43:28,130 Dhe pastaj çfarë të bëj? 885 00:43:28,130 --> 00:43:29,180 Carlos? 886 00:43:29,180 --> 00:43:31,060 Run. 887 00:43:31,060 --> 00:43:32,250 OK. 888 00:43:32,250 --> 00:43:34,160 Le të zgjidhni një opsion. 889 00:43:34,160 --> 00:43:36,330 Dhe çfarë do të bëjë N? 890 00:43:36,330 --> 00:43:38,480 Next. 891 00:43:38,480 --> 00:43:38,950 Po. 892 00:43:38,950 --> 00:43:39,740 >> Audienca: A nuk e përmend - 893 00:43:39,740 --> 00:43:45,230 nuk ju them se koka, ishte e initialized të null në fillim. 894 00:43:45,230 --> 00:43:47,140 Por Mendova se ju tha se ishte në rregull. 895 00:43:47,140 --> 00:43:50,040 896 00:43:50,040 --> 00:43:52,640 >> JASON HIRSCHHORN: Le të shkojmë - le të shohim në gdb, dhe pastaj ne do të kthehemi. 897 00:43:52,640 --> 00:43:54,910 Por kjo tingëllon si ju tashmë keni disa ide se çfarë po ndodh. 898 00:43:54,910 --> 00:43:58,340 Pra, ne duam të futur diçka. 899 00:43:58,340 --> 00:43:59,390 OK. 900 00:43:59,390 --> 00:44:00,150 Ne kemi futur. 901 00:44:00,150 --> 00:44:00,770 Ju lutem, jepni një int. 902 00:44:00,770 --> 00:44:01,990 Ne do të futur tre. 903 00:44:01,990 --> 00:44:03,000 Dhe atëherë unë jam në këtë linjë. 904 00:44:03,000 --> 00:44:07,030 Si mund të shkoj të fillojë debugging insert njohur funksionin? 905 00:44:07,030 --> 00:44:08,280 Oh mirësinë time. 906 00:44:08,280 --> 00:44:10,990 907 00:44:10,990 --> 00:44:12,240 Kjo është një shumë. 908 00:44:12,240 --> 00:44:14,372 909 00:44:14,372 --> 00:44:16,445 Është që freaking out shumë? 910 00:44:16,445 --> 00:44:19,696 911 00:44:19,696 --> 00:44:21,680 >> Audienca: Oh, ai vdiq. 912 00:44:21,680 --> 00:44:22,930 >> JASON HIRSCHHORN: Unë vetëm nxorrën atë jashtë. 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 >> Audienca: Ndoshta është fundi tjetër e telit. 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 Pra, qëllimi i fundit - 919 00:44:42,330 --> 00:44:43,470 çfarë the? 920 00:44:43,470 --> 00:44:46,040 >> Audienca: I tha ironia e teknike Vështirësitë në këtë klasë. 921 00:44:46,040 --> 00:44:46,410 >> JASON HIRSCHHORN: Unë e di. 922 00:44:46,410 --> 00:44:48,660 Sikur të isha kthyer kontroll mbi atë pjesë. 923 00:44:48,660 --> 00:44:49,910 [Padëgjueshme] 924 00:44:49,910 --> 00:44:54,430 925 00:44:54,430 --> 00:44:55,400 Kjo duket e madhe. 926 00:44:55,400 --> 00:44:58,680 Pse nuk ju djema fillojnë të mendojnë për ajo që ne mund të ketë bërë keq, 927 00:44:58,680 --> 00:45:01,140 dhe ne do të kthehet në 90 sekonda. 928 00:45:01,140 --> 00:46:18,160 929 00:46:18,160 --> 00:46:23,010 >> Avica, unë jam do të ju pyes se si për të shkuar insert_node brenda të korrigjoj atë. 930 00:46:23,010 --> 00:46:28,940 931 00:46:28,940 --> 00:46:31,460 Pra, kjo është ajo ku ne fundit u ndërpre. 932 00:46:31,460 --> 00:46:35,110 Si mund të shkoj brenda insert_node, Avica, për të ekzaminuar se çfarë po ndodh? 933 00:46:35,110 --> 00:46:36,360 Çfarë komandë Gdb? 934 00:46:36,360 --> 00:46:41,050 935 00:46:41,050 --> 00:46:42,390 Pushim nuk do të më brenda. 936 00:46:42,390 --> 00:46:46,200 937 00:46:46,200 --> 00:46:47,130 A e dini markeze? 938 00:46:47,130 --> 00:46:48,240 >> Audienca: Çfarë? 939 00:46:48,240 --> 00:46:51,780 >> JASON HIRSCHHORN: Çfarë komandë Gdb I përdorni për të hyrë brenda këtë funksion? 940 00:46:51,780 --> 00:46:52,070 >> Audienca: Hapi? 941 00:46:52,070 --> 00:46:55,140 >> JASON HIRSCHHORN: Hapi via S. Ajo merr mua brenda. 942 00:46:55,140 --> 00:46:55,476 OK. 943 00:46:55,476 --> 00:46:58,040 New_node mallocing një hapësirë. 944 00:46:58,040 --> 00:46:59,120 Që të gjitha duket si e saj duke shkuar. 945 00:46:59,120 --> 00:47:00,370 Le të shqyrtojmë new_node. 946 00:47:00,370 --> 00:47:03,270 947 00:47:03,270 --> 00:47:05,410 Ajo mori disa adresën e memories. 948 00:47:05,410 --> 00:47:07,440 Le të kontrolloni - 949 00:47:07,440 --> 00:47:08,500 kjo është e gjitha e saktë. 950 00:47:08,500 --> 00:47:12,220 Pra, çdo gjë këtu duket se jetë duke punuar si duhet. 951 00:47:12,220 --> 00:47:14,530 >> Audienca: Cila është diferenca midis P dhe ekranit? 952 00:47:14,530 --> 00:47:16,160 >> JASON HIRSCHHORN: P qëndron për shtyp. 953 00:47:16,160 --> 00:47:19,310 Dhe kështu që ju jeni duke i kërkuar se çfarë është Dallimi në mes të se dhe kjo? 954 00:47:19,310 --> 00:47:22,330 Në këtë rast, asgjë. 955 00:47:22,330 --> 00:47:26,960 Por në përgjithësi ka disa dallime. 956 00:47:26,960 --> 00:47:28,220 Dhe ju duhet të shikoni në doracakun gdb. 957 00:47:28,220 --> 00:47:29,560 Por në këtë rast, asgjë. 958 00:47:29,560 --> 00:47:31,460 Ne priremi për të përdorur të shtypura, edhe pse, sepse ne nuk kemi nevojë të bëjë shumë më tepër se 959 00:47:31,460 --> 00:47:33,960 shkruar një vlerë të vetme. 960 00:47:33,960 --> 00:47:34,640 >> OK. 961 00:47:34,640 --> 00:47:40,300 Pra, ne jemi on line 80 të kodit tonë, vendosjen nyje * curr barabartë me listë. 962 00:47:40,300 --> 00:47:42,500 Le të shtypura nga curr. 963 00:47:42,500 --> 00:47:45,260 964 00:47:45,260 --> 00:47:46,840 Kjo është e barabartë me listë. 965 00:47:46,840 --> 00:47:48,850 Sweet. 966 00:47:48,850 --> 00:47:49,340 Prisni. 967 00:47:49,340 --> 00:47:50,590 Kjo është e barabartë me diçka. 968 00:47:50,590 --> 00:47:53,680 969 00:47:53,680 --> 00:47:56,190 Kjo nuk duket e drejtë. 970 00:47:56,190 --> 00:47:56,840 Nuk shkojmë. 971 00:47:56,840 --> 00:47:59,470 Kjo për shkak se në gdb, të drejtë, në qoftë se kjo është linjë që ju jeni në të 972 00:47:59,470 --> 00:48:00,330 nuk ka ekzekutuar ende. 973 00:48:00,330 --> 00:48:03,100 Kështu që ju duhet të vërtetë shkruani tjetër për të ekzekutuar linjë 974 00:48:03,100 --> 00:48:05,230 para se të shohim rezultatet e tij. 975 00:48:05,230 --> 00:48:06,680 Pra, ja ku jemi. 976 00:48:06,680 --> 00:48:09,490 Ne vetëm të ekzekutuar këtë linjë, mëparshme është e barabartë null. 977 00:48:09,490 --> 00:48:13,590 Pra, përsëri, në qoftë se ne të shtypura e mëparshme ne nuk do të shohim asgjë të pazakontë. 978 00:48:13,590 --> 00:48:18,680 Por në qoftë se ne fakt ekzekutuar që line, atëherë ne do të shohim 979 00:48:18,680 --> 00:48:20,380 se kjo linjë ka punuar. 980 00:48:20,380 --> 00:48:21,060 >> Pra, ne kemi curr. 981 00:48:21,060 --> 00:48:23,180 Ata janë të dy të mira. 982 00:48:23,180 --> 00:48:24,010 E drejtë? 983 00:48:24,010 --> 00:48:28,130 Tani ne jemi në këtë linjë të drejtë këtu. 984 00:48:28,130 --> 00:48:29,310 Ndërsa curr nuk ka null barabartë. 985 00:48:29,310 --> 00:48:31,110 E pra, çfarë e bën të barabartë curr? 986 00:48:31,110 --> 00:48:32,450 Ne vetëm e pa atë barabartë null. 987 00:48:32,450 --> 00:48:33,210 Ne të shtypura it out. 988 00:48:33,210 --> 00:48:35,110 Unë do të shtypura atë përsëri. 989 00:48:35,110 --> 00:48:36,720 Pra, është se ndërsa loop duke shkuar për të ekzekutuar? 990 00:48:36,720 --> 00:48:37,270 >> Audienca: Jo. 991 00:48:37,270 --> 00:48:39,790 >> JASON HIRSCHHORN: Pra, kur i shtypur që line, ju shihni ne kërceu gjithë rrugës 992 00:48:39,790 --> 00:48:41,390 poshtë në fund, kthimit të rreme. 993 00:48:41,390 --> 00:48:44,520 Dhe pastaj ne do të kthimit të rreme dhe të kthehemi në programin tonë dhe 994 00:48:44,520 --> 00:48:48,020 përfundimisht të shtypura nga, si e pamë, insert nuk ishte i suksesshëm. 995 00:48:48,020 --> 00:48:51,010 Pra, dikush ndonjë ide se çfarë ne duhet të bëni për të rregulluar këtë? 996 00:48:51,010 --> 00:48:54,200 997 00:48:54,200 --> 00:48:57,570 Unë do të pres deri sa të shoh disa duarve të shkojnë deri. 998 00:48:57,570 --> 00:48:58,830 Ne nuk e kryej këtë. 999 00:48:58,830 --> 00:49:01,660 Mbani në mend, kjo ishte e para gjë që ne ishim duke bërë. 1000 00:49:01,660 --> 00:49:02,430 Unë nuk jam duke shkuar për të bërë një çift. 1001 00:49:02,430 --> 00:49:03,670 Unë jam duke shkuar për të bërë disa. 1002 00:49:03,670 --> 00:49:04,830 Për shkak se një çift do të thotë dy. 1003 00:49:04,830 --> 00:49:07,620 Unë do të pres për më shumë se dy. 1004 00:49:07,620 --> 00:49:10,690 >> Futje e parë, curr, nga parazgjedhur është e barabartë null. 1005 00:49:10,690 --> 00:49:14,050 Dhe kjo loop vetëm ekzekuton në qoftë se nuk është e curr null. 1006 00:49:14,050 --> 00:49:18,740 Pra, si mund të marrë rreth kësaj? 1007 00:49:18,740 --> 00:49:19,990 Unë shoh tre duar. 1008 00:49:19,990 --> 00:49:28,490 1009 00:49:28,490 --> 00:49:29,780 Unë do të pres për më shumë se tre. 1010 00:49:29,780 --> 00:49:33,460 1011 00:49:33,460 --> 00:49:35,940 Marcus, çfarë mendoni ju? 1012 00:49:35,940 --> 00:49:37,730 >> Audienca: E pra, nëse keni nevojë për të ekzekutuar më shumë se një herë, ju vetëm 1013 00:49:37,730 --> 00:49:39,948 ndryshojë atë në një lak për ta bërë ndërsa. 1014 00:49:39,948 --> 00:49:41,250 >> JASON HIRSCHHORN: OK. 1015 00:49:41,250 --> 00:49:44,240 A do që të zgjidhë problemin tonë, pse? 1016 00:49:44,240 --> 00:49:47,750 >> Audienca: Në këtë rast nuk ka për shkak të fakti se lista është e zbrazët. 1017 00:49:47,750 --> 00:49:52,150 Pra, atëherë ju ndoshta vetëm duhet të shtoni një deklaratë se në qoftë se daljet lak 1018 00:49:52,150 --> 00:49:55,312 atëherë ju duhet të jetë në fund të listë, në të cilën pikë ju 1019 00:49:55,312 --> 00:49:56,562 vetëm mund ta futur atë. 1020 00:49:56,562 --> 00:49:58,920 1021 00:49:58,920 --> 00:49:59,680 >> JASON HIRSCHHORN: Më pëlqen kjo. 1022 00:49:59,680 --> 00:50:00,500 Kjo ka kuptim. 1023 00:50:00,500 --> 00:50:03,390 Nëse loop daljet - 1024 00:50:03,390 --> 00:50:04,800 për shkak se ajo do të kthehet të rreme këtu. 1025 00:50:04,800 --> 00:50:08,220 Pra, nëse daljet loop, atëherë ne jemi në në fund të listës, ose ndoshta 1026 00:50:08,220 --> 00:50:10,690 filloni nga një listë nëse nuk ka asgjë në ajo, e cila është e njëjtë si në fund. 1027 00:50:10,690 --> 00:50:12,770 Pra, tani ne duam të futur diçka këtu. 1028 00:50:12,770 --> 00:50:17,380 Pra, si duket se kodi, Marcus? 1029 00:50:17,380 --> 00:50:21,600 >> Audienca: Nëse ju tashmë e mori nyjen malloced, ju mund të thoni vetëm 1030 00:50:21,600 --> 00:50:25,400 new_node-> tjetër është e barabartë null sepse ajo duhet të jetë në fund. 1031 00:50:25,400 --> 00:50:27,510 Ose new_node-> tjetër është e barabartë null. 1032 00:50:27,510 --> 00:50:27,765 >> JASON HIRSCHHORN: OK. 1033 00:50:27,765 --> 00:50:28,190 Më vjen keq. 1034 00:50:28,190 --> 00:50:35,760 New_node-> next barabartë null sepse ne jemi në fund. 1035 00:50:35,760 --> 00:50:36,460 Kjo nuk do të vënë atë in 1036 00:50:36,460 --> 00:50:37,710 Si mund të vënë atë në listë? 1037 00:50:37,710 --> 00:50:46,130 1038 00:50:46,130 --> 00:50:46,460 E drejta. 1039 00:50:46,460 --> 00:50:47,750 Kjo është vetëm vendosur atë barabartë me. 1040 00:50:47,750 --> 00:50:50,940 Nuk ka se si të bëjmë ne në të vërtetë vënë atë në listën? 1041 00:50:50,940 --> 00:50:54,170 Çfarë është duke treguar fund të listës? 1042 00:50:54,170 --> 00:50:56,090 >> Audienca: Shef. 1043 00:50:56,090 --> 00:50:57,566 >> JASON HIRSCHHORN: Na vjen keq? 1044 00:50:57,566 --> 00:50:59,440 >> Audienca: Shef është duke treguar në fund të lista. 1045 00:50:59,440 --> 00:51:01,480 >> JASON HIRSCHHORN: Nëse nuk ka asgjë në lista, kokë është duke treguar 1046 00:51:01,480 --> 00:51:04,170 fundi i listës. 1047 00:51:04,170 --> 00:51:06,920 Kështu që do të punojnë për futje e parë. 1048 00:51:06,920 --> 00:51:09,810 Po në lidhje në qoftë se ka disa gjërat në listë? 1049 00:51:09,810 --> 00:51:12,470 Se ne nuk duam për të vendosur kokë e barabartë me new_node. 1050 00:51:12,470 --> 00:51:13,790 Çfarë duam të bëjmë atje? 1051 00:51:13,790 --> 00:51:15,610 Po? 1052 00:51:15,610 --> 00:51:16,860 Ndoshta mëparshme. 1053 00:51:16,860 --> 00:51:23,560 1054 00:51:23,560 --> 00:51:24,810 A do që të punojnë? 1055 00:51:24,810 --> 00:51:28,950 1056 00:51:28,950 --> 00:51:33,050 Kujtojnë se mëparshme është vetëm një tregues për një nyje. 1057 00:51:33,050 --> 00:51:34,770 Dhe e mëparshme është një variabël lokale. 1058 00:51:34,770 --> 00:51:38,080 Pra, kjo linjë do të vendosë një ndryshore lokale, mëparshme, e barabartë me ose 1059 00:51:38,080 --> 00:51:39,380 duke treguar për këtë nyje të re. 1060 00:51:39,380 --> 00:51:41,500 Kjo nuk do të vërtetë vënë atë në listën tonë, pse. 1061 00:51:41,500 --> 00:51:44,330 Si mund të vënë atë në listën tonë? 1062 00:51:44,330 --> 00:51:45,620 Akchar? 1063 00:51:45,620 --> 00:51:46,870 >> Audienca: Unë mendoj se ju bëni aktuale-> ardhshme. 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-> ardhshme. 1067 00:51:54,010 --> 00:51:58,768 Pra, përsëri, e vetmja arsye ne jemi poshtë këtu është, ajo që e bën aktuale të barabartë? 1068 00:51:58,768 --> 00:51:59,760 >> Audienca: barabartë null. 1069 00:51:59,760 --> 00:52:01,790 >> JASON HIRSCHHORN: Dhe kështu që ajo që ndodh në qoftë se ne bëjmë zero-> ardhshme? 1070 00:52:01,790 --> 00:52:02,810 Ajo që nuk kemi shkuar për të marrë? 1071 00:52:02,810 --> 00:52:04,060 Ne do të merrni një defekt segmentimit. 1072 00:52:04,060 --> 00:52:06,600 1073 00:52:06,600 --> 00:52:08,880 >> Audienca: A curr barabartë null. 1074 00:52:08,880 --> 00:52:10,760 >> JASON HIRSCHHORN: Kjo është e njëjta gjë si prev, edhe pse, sepse nuk ka 1075 00:52:10,760 --> 00:52:12,820 një variabël lokale ne jemi ngritjen barabartë me këtë nyje të re. 1076 00:52:12,820 --> 00:52:16,680 1077 00:52:16,680 --> 00:52:20,920 Le të kthehemi në foto tonë të futur diçka. 1078 00:52:20,920 --> 00:52:25,500 Thuaj ne jemi futur në fund i listës, në mënyrë të drejtë këtu. 1079 00:52:25,500 --> 00:52:30,010 Ne kemi një tregues aktuale që është duke treguar null dhe një pikë e mëparshme 1080 00:52:30,010 --> 00:52:32,800 që është duke treguar në 8. 1081 00:52:32,800 --> 00:52:35,330 Pra, çfarë nuk kemi nevojë për të rinovuar, Avi? 1082 00:52:35,330 --> 00:52:36,680 >> Audienca: Kthehu-> ardhshme? 1083 00:52:36,680 --> 00:52:41,980 >> JASON HIRSCHHORN: Kthehu-> tjetër është ajo që ne duam të rinovuar për shkak se 1084 00:52:41,980 --> 00:52:44,960 në të vërtetë do të futur atë në në fund të listës. 1085 00:52:44,960 --> 00:52:47,220 Ne ende kemi një bug, edhe pse, se ne do të kandidojë në. 1086 00:52:47,220 --> 00:52:50,090 Ç'është kjo bug? 1087 00:52:50,090 --> 00:52:50,790 Po? 1088 00:52:50,790 --> 00:52:53,860 >> Audienca: Ajo do të kthehen rreme në këtë rast? 1089 00:52:53,860 --> 00:52:56,380 >> JASON HIRSCHHORN: Oh, është i do të kthimit të rreme. 1090 00:52:56,380 --> 00:52:57,430 Por ka një tjetër bug. 1091 00:52:57,430 --> 00:52:58,930 Pra, ne do të duhet për të vënë në kthim të vërtetë. 1092 00:52:58,930 --> 00:53:01,370 >> Audienca: A previous ende të barabartë zero në majë të lista? 1093 00:53:01,370 --> 00:53:03,645 >> JASON HIRSCHHORN: ende Pra mëparshme është e barabartë me zero në fillim. 1094 00:53:03,645 --> 00:53:07,480 1095 00:53:07,480 --> 00:53:10,440 Pra, si mund të merrni mbi këtë? 1096 00:53:10,440 --> 00:53:10,950 Po? 1097 00:53:10,950 --> 00:53:15,280 >> Audienca: Unë mendoj se ju mund të bëni një kontroll para lak, ndërsa për të parë nëse është e 1098 00:53:15,280 --> 00:53:16,610 një listë e zbrazët. 1099 00:53:16,610 --> 00:53:17,000 >> JASON HIRSCHHORN: OK. 1100 00:53:17,000 --> 00:53:17,710 Pra, le të shkojnë këtu. 1101 00:53:17,710 --> 00:53:18,530 Të bëjë një kontroll. 1102 00:53:18,530 --> 00:53:19,380 Nëse - 1103 00:53:19,380 --> 00:53:20,770 >> Audienca: Pra, nëse koka është e barabartë barabartë null. 1104 00:53:20,770 --> 00:53:24,300 1105 00:53:24,300 --> 00:53:26,320 >> JASON HIRSCHHORN: Nëse kokë është e barabartë barabartë null - 1106 00:53:26,320 --> 00:53:27,790 që do të na thuash në se kjo është një listë e zbrazët. 1107 00:53:27,790 --> 00:53:31,090 >> Audienca: Dhe pastaj ju të bëjë kreu i barabartë i ri. 1108 00:53:31,090 --> 00:53:34,740 >> JASON HIRSCHHORN: Shef është e barabartë me new_node? 1109 00:53:34,740 --> 00:53:35,730 Dhe çfarë tjetër na duhet të bëjmë? 1110 00:53:35,730 --> 00:53:37,020 >> Audienca: Dhe pastaj ju kthehen e vërtetë. 1111 00:53:37,020 --> 00:53:37,535 >> JASON HIRSCHHORN: Jo mjaft. 1112 00:53:37,535 --> 00:53:38,785 Ne jemi të humbur një hap. 1113 00:53:38,785 --> 00:53:41,590 1114 00:53:41,590 --> 00:53:43,710 >> Audienca: New_node tjetër duhet të tregojnë për null. 1115 00:53:43,710 --> 00:53:44,570 >> JASON HIRSCHHORN: Pikërisht, Alden. 1116 00:53:44,570 --> 00:53:46,600 Dhe atëherë ne mund të kthehen vërtetë. 1117 00:53:46,600 --> 00:53:47,560 OK. 1118 00:53:47,560 --> 00:53:51,630 Por është ende një ide e mirë për të bërë gjëra në fund të lista, drejtë? 1119 00:53:51,630 --> 00:53:51,950 Dakord. 1120 00:53:51,950 --> 00:53:54,450 Ne ende mund të ketë në fakt në fund të lista. 1121 00:53:54,450 --> 00:53:57,870 Pra, është kjo e mirë kodi në qoftë se ne jemi në fund të listës dhe ka disa 1122 00:53:57,870 --> 00:53:59,120 gjërat në listë? 1123 00:53:59,120 --> 00:54:01,830 1124 00:54:01,830 --> 00:54:02,040 E drejtë? 1125 00:54:02,040 --> 00:54:03,540 Sepse ne ende kemi idenë e Marcus-së. 1126 00:54:03,540 --> 00:54:06,870 Ne mund të dalë këtë lak, sepse Ne jeni në fund të lista. 1127 00:54:06,870 --> 00:54:09,308 Pra, nuk kemi ende duan këtë kodin këtu? 1128 00:54:09,308 --> 00:54:10,520 >> Audienca: Po. 1129 00:54:10,520 --> 00:54:11,000 >> JASON HIRSCHHORN: Po. 1130 00:54:11,000 --> 00:54:14,190 Dhe ajo që nuk kemi nevojë për të ndryshuar këtë? 1131 00:54:14,190 --> 00:54:15,440 Vërtetë. 1132 00:54:15,440 --> 00:54:19,580 1133 00:54:19,580 --> 00:54:21,640 A do të mirë të shëndoshë për të gjithë deri më tani? 1134 00:54:21,640 --> 00:54:22,420 Çdokush keni ndonjë - 1135 00:54:22,420 --> 00:54:23,480 Avi, a keni diçka për të shtuar? 1136 00:54:23,480 --> 00:54:23,920 >> Audienca: Jo. 1137 00:54:23,920 --> 00:54:25,276 >> JASON HIRSCHHORN: OK. 1138 00:54:25,276 --> 00:54:27,010 Pra, ne kemi bërë disa ndryshime. 1139 00:54:27,010 --> 00:54:29,540 Ne e kemi bërë këtë kontroll para se ne shkoi në për një listë të zbrazët. 1140 00:54:29,540 --> 00:54:31,790 Pra, ne kemi marrë kujdesin e një listë të zbrazët. 1141 00:54:31,790 --> 00:54:35,500 Dhe këtu ne u kujdes të futur diçka në fund të lista. 1142 00:54:35,500 --> 00:54:38,930 Pra, kjo duket si ky marrjen loop ndërsa kujdesi për gjëra në mes, 1143 00:54:38,930 --> 00:54:41,920 diku në listë, nëse ka janë gjëra në listë. 1144 00:54:41,920 --> 00:54:42,280 >> OK. 1145 00:54:42,280 --> 00:54:44,310 Le të drejtuar këtë program përsëri. 1146 00:54:44,310 --> 00:54:50,170 1147 00:54:50,170 --> 00:54:50,755 Nuk është i suksesshëm. 1148 00:54:50,755 --> 00:54:52,190 >> Audienca: Ju nuk e bëni atë. 1149 00:54:52,190 --> 00:54:53,940 >> JASON HIRSCHHORN: Oh, Unë nuk e kam bërë atë. 1150 00:54:53,940 --> 00:54:56,250 Pikë e mirë, Michael. 1151 00:54:56,250 --> 00:54:57,500 Le të shtoni një make lidhur. 1152 00:54:57,500 --> 00:55:01,590 1153 00:55:01,590 --> 00:55:04,830 Line 87 ka një gabim. 1154 00:55:04,830 --> 00:55:05,420 Line 87. 1155 00:55:05,420 --> 00:55:06,600 Alden, kjo ishte vija që ju dha mua. 1156 00:55:06,600 --> 00:55:08,962 Çfarë është e gabuar? 1157 00:55:08,962 --> 00:55:10,710 >> Audienca: Ajo duhet të jetë për të null. 1158 00:55:10,710 --> 00:55:11,000 >> JASON HIRSCHHORN: Excellent. 1159 00:55:11,000 --> 00:55:11,630 Saktësisht e drejtë. 1160 00:55:11,630 --> 00:55:13,290 Ajo duhet të jetë null. 1161 00:55:13,290 --> 00:55:15,210 Le të bëjmë përsëri. 1162 00:55:15,210 --> 00:55:17,220 Përpiloni. 1163 00:55:17,220 --> 00:55:17,890 OK. 1164 00:55:17,890 --> 00:55:19,400 Le të futur tre. 1165 00:55:19,400 --> 00:55:20,570 Insert ishte i suksesshëm. 1166 00:55:20,570 --> 00:55:21,660 Le të shtypura it out. 1167 00:55:21,660 --> 00:55:23,590 Oh, në qoftë se vetëm ne mund të kontrolloni. 1168 00:55:23,590 --> 00:55:25,500 Por ne nuk kemi bërë shtypura funksion akoma. 1169 00:55:25,500 --> 00:55:27,840 Le të hyjë diçka tjetër. 1170 00:55:27,840 --> 00:55:29,090 Çfarë duhet të hyjë? 1171 00:55:29,090 --> 00:55:31,120 1172 00:55:31,120 --> 00:55:31,940 >> Audienca: Shtatë. 1173 00:55:31,940 --> 00:55:33,340 >> JASON HIRSCHHORN: Shtatë? 1174 00:55:33,340 --> 00:55:34,590 >> Audienca: Po. 1175 00:55:34,590 --> 00:55:38,680 1176 00:55:38,680 --> 00:55:39,780 >> JASON HIRSCHHORN: Ne kemi një defekt seg. 1177 00:55:39,780 --> 00:55:43,760 Pra, kemi marrë një të tillë, por në mënyrë të qartë nuk mund të marrë dy. 1178 00:55:43,760 --> 00:55:45,690 Ajo është 05:07. 1179 00:55:45,690 --> 00:55:48,370 Pra, ne mund të korrigjoj këtë për tre minuta. 1180 00:55:48,370 --> 00:55:51,240 Por unë jam duke shkuar për të na lënë këtu dhe për të shkuar më të përpunojnë tavolina. 1181 00:55:51,240 --> 00:55:54,290 Por përsëri, përgjigjet për këtë kod Unë do të email-it për ju në një grimë. 1182 00:55:54,290 --> 00:55:55,440 Ne jemi shumë të afërt me të. 1183 00:55:55,440 --> 00:55:58,300 I highly ju inkurajojmë që të kuptoj se çfarë po ndodh këtu dhe fix it. 1184 00:55:58,300 --> 00:56:02,400 Kështu që unë do të ju email këtë kod si edhe plus zgjidhje - 1185 00:56:02,400 --> 00:56:03,670 ndoshta zgjidhja më vonë. 1186 00:56:03,670 --> 00:56:05,110 Së pari ky kod. 1187 00:56:05,110 --> 00:56:08,290 >> Gjë tjetër që unë dua të bëj para se ne përfundojë është që ne nuk e kemi liruar asgjë. 1188 00:56:08,290 --> 00:56:10,370 Kështu që unë dua të ju tregojnë se çfarë valgrind duket si. 1189 00:56:10,370 --> 00:56:14,310 Nëse kemi drejtuar kufijtë valgrind në programin tonë,. / e lidhur. 1190 00:56:14,310 --> 00:56:22,540 Përsëri, sipas kësaj rrëshqitje, ne duhet të kandidojë valgrind me disa lloj 1191 00:56:22,540 --> 00:56:26,410 opsion, në këtë rast - Rrjedhje-check = të plotë. 1192 00:56:26,410 --> 00:56:27,660 Pra, le të shkruajë valgrind - Rrjedhje-check = të plotë. 1193 00:56:27,660 --> 00:56:31,910 1194 00:56:31,910 --> 00:56:35,080 Pra, kjo do të kandidojë valgrind në programin tonë. 1195 00:56:35,080 --> 00:56:37,000 Dhe tani programi në të vërtetë shkon. 1196 00:56:37,000 --> 00:56:40,190 Pra, ne jemi duke shkuar për të drejtuar atë vetëm si para, të vënë diçka in 1197 00:56:40,190 --> 00:56:40,830 Unë jam duke shkuar për të vënë në tre. 1198 00:56:40,830 --> 00:56:41,790 Që punon. 1199 00:56:41,790 --> 00:56:43,202 Unë nuk jam do të përpiqen të vënë në diçka tjetër, sepse ne jemi duke shkuar për 1200 00:56:43,202 --> 00:56:44,710 të marrë një FALSE Seg në atë rast. 1201 00:56:44,710 --> 00:56:46,700 Kështu që unë jam vetëm do të të lënë. 1202 00:56:46,700 --> 00:56:50,160 >> Dhe tani që ju shihni këtu poshtë del në shesh dhe përmbledhje grumbull. 1203 00:56:50,160 --> 00:56:52,310 Këto janë gjëra të mira që ju doni të shikoni. 1204 00:56:52,310 --> 00:56:56,780 Pra përmbledhje grumbull - ai thotë, në përdorim në dalje - tetë bytes në një bllok. 1205 00:56:56,780 --> 00:56:58,370 Se një bllok është nyje ne malloced. 1206 00:56:58,370 --> 00:57:02,230 Michael, ju tha para një nyje është tetë kafshimet sepse ajo ka integer 1207 00:57:02,230 --> 00:57:02,680 dhe akrep. 1208 00:57:02,680 --> 00:57:04,550 Pra, kjo është nyja tonë. 1209 00:57:04,550 --> 00:57:08,170 Dhe pastaj ai thotë se kemi përdorur malloc shtatë herë dhe ne e lirë 1210 00:57:08,170 --> 00:57:08,940 diçka gjashtë herë. 1211 00:57:08,940 --> 00:57:13,680 Por kurrë nuk e kemi quajtur të lirë, kështu që unë nuk kam asnjë ide se çfarë kjo është duke folur për. 1212 00:57:13,680 --> 00:57:18,490 >> Por mjafton të them se kur tuaj shkon e programit, malloc është duke u thirrur 1213 00:57:18,490 --> 00:57:20,330 në disa vende të tjera që ne nuk kanë nevojë për t'u shqetësuar rreth. 1214 00:57:20,330 --> 00:57:22,460 Pra malloc u quajt ndoshta në disa vende. 1215 00:57:22,460 --> 00:57:24,480 Ne nuk duhet të shqetësohen se ku. 1216 00:57:24,480 --> 00:57:26,240 Por kjo është me të vërtetë na. 1217 00:57:26,240 --> 00:57:27,380 Kjo linjë e parë na është. 1218 00:57:27,380 --> 00:57:28,320 Ne u largua që bllokut. 1219 00:57:28,320 --> 00:57:30,330 Dhe ju mund të shihni se këtu në përmbledhjen rrjedhje. 1220 00:57:30,330 --> 00:57:31,950 Ende e arritshme - 1221 00:57:31,950 --> 00:57:32,930 tetë bytes në një bllok. 1222 00:57:32,930 --> 00:57:34,100 Kjo do të thotë se kujtesës - 1223 00:57:34,100 --> 00:57:35,730 ne kemi rrjedhur këtë kujtesë. 1224 00:57:35,730 --> 00:57:37,570 Definitely humbur - 1225 00:57:37,570 --> 00:57:38,770 diçka është e humbur për të mirë. 1226 00:57:38,770 --> 00:57:40,590 Në përgjithësi, ju nuk do të shoh ndonjë gjë atje. 1227 00:57:40,590 --> 00:57:44,780 Ende e arritshme është përgjithësisht ku ju do të shihni gjëra, ku ju do të dëshironi 1228 00:57:44,780 --> 00:57:48,900 për të kërkuar për të parë se çfarë kodi duhet të ju kanë liruar por keni harruar të lirë. 1229 00:57:48,900 --> 00:57:53,170 >> Dhe pastaj në qoftë se kjo nuk ishte rasti, në qoftë se ne e bëmë gjithçka të lirë, 1230 00:57:53,170 --> 00:57:54,360 ne mund të kontrolloni atë. 1231 00:57:54,360 --> 00:57:57,330 Le të vetëm të drejtuar programin nuk e vënë në asgjë. 1232 00:57:57,330 --> 00:57:59,800 Ju do të shihni këtu poshtë në përdorim në dalje - 1233 00:57:59,800 --> 00:58:01,310 zero bytes në zero blloqe. 1234 00:58:01,310 --> 00:58:06,310 Kjo do të thotë që kishim lënë asgjë kur ky program exited. 1235 00:58:06,310 --> 00:58:12,090 Pra, para se të kthyer në pset6, drejtuar valgrind dhe sigurohuni që ju nuk e keni 1236 00:58:12,090 --> 00:58:15,310 çdo memorie rrjedhjet në programin tuaj. 1237 00:58:15,310 --> 00:58:17,910 Nëse keni ndonjë pyetje me valgrind, të ndjehen të lirë për të arritur jashtë. 1238 00:58:17,910 --> 00:58:18,700 Por kjo është se si ju të përdorni atë. 1239 00:58:18,700 --> 00:58:20,890 Shumë e thjeshtë - të parë nëse kanë në përdorim në dalje - 1240 00:58:20,890 --> 00:58:22,270 çdo bytes në çdo blloqe. 1241 00:58:22,270 --> 00:58:27,890 1242 00:58:27,890 --> 00:58:29,580 >> Pra, ne kemi qenë duke punuar në insert nyje. 1243 00:58:29,580 --> 00:58:33,840 I kishte dy funksione të tjera këtu - shtypura nyjet dhe nyjet e lirë. 1244 00:58:33,840 --> 00:58:37,780 Përsëri, këto janë funksione që janë të do të jetë e mirë për ju për të praktikuar 1245 00:58:37,780 --> 00:58:40,990 sepse ata do të ju ndihmojë jo vetëm me këto ushtrime mostër, por edhe 1246 00:58:40,990 --> 00:58:42,180 mbi problemin vendosur. 1247 00:58:42,180 --> 00:58:44,230 Ata hartë për mjaft të ngushtë me gjëra të ju jeni do të duhet të bëni në 1248 00:58:44,230 --> 00:58:45,010 Problemi vendosur. 1249 00:58:45,010 --> 00:58:47,640 Por unë dua të bëni të sigurtë ne prekë në çdo gjë. 1250 00:58:47,640 --> 00:58:50,400 Dhe tabelat hash janë gjithashtu të rëndësishme për të ajo që ne jemi duke bërë në këtë seksion 1251 00:58:50,400 --> 00:58:51,980 javë - ose në grup problemit. 1252 00:58:51,980 --> 00:58:55,200 >> Pra, ne jemi duke shkuar për të përfunduar pjesën duke folur për tabelat hash. 1253 00:58:55,200 --> 00:58:58,140 Nëse vëreni kam bërë një pak tabelë hash. 1254 00:58:58,140 --> 00:59:00,020 Kjo nuk është ajo që ne jemi duke folur rreth, megjithatë. 1255 00:59:00,020 --> 00:59:03,540 Ne po flasim për një tjetër Lloji i tabelave hash. 1256 00:59:03,540 --> 00:59:07,300 Dhe në bazë, një tavolinë e saj të hash nuk është asgjë më shumë se një 1257 00:59:07,300 --> 00:59:08,860 array plus një funksion hash. 1258 00:59:08,860 --> 00:59:11,150 Ne do të flasim për një grimë vetëm për të sigurohuni që të gjithë e kuptojnë se çfarë është një 1259 00:59:11,150 --> 00:59:12,110 funksion hash është. 1260 00:59:12,110 --> 00:59:15,420 Dhe unë po ju them tani se ajo është asgjë më shumë se dy gjëra - 1261 00:59:15,420 --> 00:59:18,590 një grup dhe një funksion hash. 1262 00:59:18,590 --> 00:59:20,716 Dhe këtu janë hapat përmes të cilat kjo vepron. 1263 00:59:20,716 --> 00:59:31,560 1264 00:59:31,560 --> 00:59:32,810 >> Ka koleksion tona. 1265 00:59:32,810 --> 00:59:38,460 1266 00:59:38,460 --> 00:59:39,460 Ka funksion tonë. 1267 00:59:39,460 --> 00:59:43,180 Në veçanti, funksionet hash duhet të të bëjë disa gjëra me këtë. 1268 00:59:43,180 --> 00:59:45,040 Unë jam duke shkuar për të folur në mënyrë specifike në lidhje me këtë problem i vendosur. 1269 00:59:45,040 --> 00:59:46,450 Kjo ndoshta do të të marrë në një varg. 1270 00:59:46,450 --> 00:59:50,570 1271 00:59:50,570 --> 00:59:51,770 Dhe çfarë është e do të kthehet? 1272 00:59:51,770 --> 00:59:52,640 Çfarë lloji të dhënat? 1273 00:59:52,640 --> 00:59:54,260 Alden? 1274 00:59:54,260 --> 00:59:55,760 Funksioni i juaj hash kthehen? 1275 00:59:55,760 --> 00:59:58,760 Një numër të plotë. 1276 00:59:58,760 --> 01:00:01,700 Pra, kjo është ajo që hash Tabela përbëhet nga - 1277 01:00:01,700 --> 01:00:05,430 një tabelë në formën e grup dhe një funksion hash. 1278 01:00:05,430 --> 01:00:06,010 Si punon kjo? 1279 01:00:06,010 --> 01:00:07,300 Ajo punon në tre hapa. 1280 01:00:07,300 --> 01:00:08,740 Ne jepte një çelës. 1281 01:00:08,740 --> 01:00:11,470 Në këtë rast, ne do të të jap një varg. 1282 01:00:11,470 --> 01:00:18,140 Ne e quajmë funksionin hash për një hap në kyçe dhe të marrim një vlerë. 1283 01:00:18,140 --> 01:00:20,310 >> Në mënyrë të veçantë, ne do të themi ne kemi marrë një numër të plotë. 1284 01:00:20,310 --> 01:00:25,630 Ky numër i plotë, ka shumë specifike kufizime në atë që mund të jetë që numër i plotë. 1285 01:00:25,630 --> 01:00:28,880 Në këtë shembull, koleksion tona është i madhësisë tre. 1286 01:00:28,880 --> 01:00:32,330 Pra, çfarë numrat mund të jetë që numër i plotë. 1287 01:00:32,330 --> 01:00:35,970 Çfarë është varg i vlerave të vlefshme për se numër i plotë, lloji kthimi i kësaj 1288 01:00:35,970 --> 01:00:37,220 hash funksion? 1289 01:00:37,220 --> 01:00:40,440 1290 01:00:40,440 --> 01:00:42,110 Zero, një dhe dy. 1291 01:00:42,110 --> 01:00:46,060 Pika e funksionit hash është gjej vend në rrjet 1292 01:00:46,060 --> 01:00:47,790 ku çelësi jonë është duke shkuar. 1293 01:00:47,790 --> 01:00:51,290 Nuk janë vetëm tre të mundshme vende këtu - 1294 01:00:51,290 --> 01:00:52,130 zero, një ose dy. 1295 01:00:52,130 --> 01:00:55,360 Pra, ky funksion më të mirë kthimi zero, një ose dy. 1296 01:00:55,360 --> 01:00:58,740 Disa indice të vlefshme në këtë grup. 1297 01:00:58,740 --> 01:01:02,770 >> Dhe pastaj në varësi se ku ajo kthehet, ju mund të shihni atje rrjet të hapur 1298 01:01:02,770 --> 01:01:03,730 kllapa vlerën. 1299 01:01:03,730 --> 01:01:05,800 Kjo është ku ne kemi vënë çelësin. 1300 01:01:05,800 --> 01:01:11,280 Pra, ne të hedhin në kungull, ne kemi marrë nga zero. 1301 01:01:11,280 --> 01:01:15,540 Në array kllapa 0, ne kemi vënë kungull. 1302 01:01:15,540 --> 01:01:21,070 Ne hedhin në macet, ne kemi marrë nga një të tillë. 1303 01:01:21,070 --> 01:01:24,110 Ne kemi vënë cat në një. 1304 01:01:24,110 --> 01:01:25,480 Ne kemi vënë në merimangë. 1305 01:01:25,480 --> 01:01:26,710 Ne kemi marrë nga dy. 1306 01:01:26,710 --> 01:01:30,200 Ne kemi vënë merimangë në array dy kllapa. 1307 01:01:30,200 --> 01:01:32,300 Ajo do të jetë aq e bukur nëse ai ka punuar si kjo. 1308 01:01:32,300 --> 01:01:35,570 Por për fat të keq, siç do të shohim, kjo është pak më e komplikuar. 1309 01:01:35,570 --> 01:01:37,570 >> Para se të arritur atje, ndonjë pyetje në lidhje me këtë bazë 1310 01:01:37,570 --> 01:01:38,820 set-up e një tabelë hash? 1311 01:01:38,820 --> 01:01:49,050 1312 01:01:49,050 --> 01:01:51,940 Ky është një imazh i saktësisht ajo që ne tërhoqi në bord. 1313 01:01:51,940 --> 01:01:55,420 Por, që ne e tërhoqi atë në bord, unë nuk jam duke shkuar për të shkuar në atë më tej. 1314 01:01:55,420 --> 01:02:00,430 Thelb çelësat, kuti magjike e zezë - ose në këtë rast, kuti bajukë - e një 1315 01:02:00,430 --> 01:02:02,410 funksion hash i vë ata në kova. 1316 01:02:02,410 --> 01:02:04,690 Dhe në këtë shembull ne jemi nuk e vënë emrin. 1317 01:02:04,690 --> 01:02:07,880 Ne jemi duke vënë telefonin të lidhur Numri i emrit në kovë. 1318 01:02:07,880 --> 01:02:10,430 Por ju mund shumë mirë vetëm vënë emrin në kovë. 1319 01:02:10,430 --> 01:02:12,950 >> Kjo është vetëm një fotografi e asaj ne tërhoqi në bord. 1320 01:02:12,950 --> 01:02:14,460 Ne kemi kurthet e mundshme, edhe pse. 1321 01:02:14,460 --> 01:02:17,470 Dhe ka dy në mënyrë të veçantë slides që unë dua të shkoj gjatë. 1322 01:02:17,470 --> 01:02:20,230 I pari ka të bëjë me një funksion hash. 1323 01:02:20,230 --> 01:02:22,620 Kështu që unë pyetjen, çfarë bën një funksion të mirë të hash? 1324 01:02:22,620 --> 01:02:24,220 Unë jap dy përgjigje. 1325 01:02:24,220 --> 01:02:26,630 E para është se është e determinist. 1326 01:02:26,630 --> 01:02:29,660 Në kuadër të funksioneve të hash, çfarë do të thotë kjo? 1327 01:02:29,660 --> 01:02:37,840 1328 01:02:37,840 --> 01:02:39,282 Po? 1329 01:02:39,282 --> 01:02:42,850 >> Audienca: Ajo mund të gjeni Indeksi në kohë të vazhdueshme? 1330 01:02:42,850 --> 01:02:43,810 >> JASON HIRSCHHORN: Kjo nuk është çfarë do të thotë. 1331 01:02:43,810 --> 01:02:44,725 Por kjo është një mend mirë. 1332 01:02:44,725 --> 01:02:46,100 Dikush tjetër të ketë një guess për çfarë do të thotë kjo? 1333 01:02:46,100 --> 01:02:47,780 Se një funksion hash mirë është determinist? 1334 01:02:47,780 --> 01:02:48,280 Annie? 1335 01:02:48,280 --> 01:02:51,680 >> Audienca: Se një kyç mund të jetë plotësisht vetëm për një vend në tabelën hash. 1336 01:02:51,680 --> 01:02:53,070 >> JASON HIRSCHHORN: Kjo është saktësisht e drejtë. 1337 01:02:53,070 --> 01:02:57,430 Çdo herë që të vënë në kungull, ai gjithmonë kthehet zero. 1338 01:02:57,430 --> 01:03:01,660 Nëse vendosni në kungull dhe të hash tuaj funksion të kthimit zero, por ka një 1339 01:03:01,660 --> 01:03:06,060 Mundësia e kthimit diçka tjetër e madhe se zero - 1340 01:03:06,060 --> 01:03:09,280 kështu që ndoshta ajo mund të kthehet një të tillë ndonjëherë ose dy herë të tjera - 1341 01:03:09,280 --> 01:03:11,100 se nuk është një funksion i mirë hash. 1342 01:03:11,100 --> 01:03:11,800 Ju jeni saktësisht e drejtë. 1343 01:03:11,800 --> 01:03:15,680 Funksioni hash juaj duhet të kthehet integer njëjtë saktë, në këtë rast, për 1344 01:03:15,680 --> 01:03:17,780 të njëjtën gjë string saktë. 1345 01:03:17,780 --> 01:03:22,210 >> Ndoshta ajo e kthimit të njëjtin numër të plotë saktë për të njëjtin varg e saktë 1346 01:03:22,210 --> 01:03:24,430 pavarësisht nga kapitalizimit. 1347 01:03:24,430 --> 01:03:27,980 Por në këtë rast është ende determinist sepse gjëra të shumta 1348 01:03:27,980 --> 01:03:29,350 janë plotësisht në të njëjtën vlerë. 1349 01:03:29,350 --> 01:03:30,170 Kjo është në rregull. 1350 01:03:30,170 --> 01:03:32,615 Për sa kohë që ka vetëm një prodhimit për një input të caktuar. 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 Gjëja e dytë është se ajo kthehet indekseve të vlefshme. 1354 01:03:38,340 --> 01:03:40,220 Ne sjellë deri që më herët. 1355 01:03:40,220 --> 01:03:41,860 Ky funksion hash - 1356 01:03:41,860 --> 01:03:43,710 oh boy - 1357 01:03:43,710 --> 01:03:46,840 një funksion hash duhet kthehen indekseve të vlefshme. 1358 01:03:46,840 --> 01:03:47,740 Pra, thonë - 1359 01:03:47,740 --> 01:03:48,990 le të kthehemi në këtë shembull. 1360 01:03:48,990 --> 01:03:52,580 1361 01:03:52,580 --> 01:03:57,540 Funksioni im hash akuza deri letra në fjalë. 1362 01:03:57,540 --> 01:03:58,380 Kjo është funksion hash. 1363 01:03:58,380 --> 01:03:59,740 Dhe kthehet se numër i plotë. 1364 01:03:59,740 --> 01:04:04,280 Pra, nëse unë kam fjalën A, është e do të kthehen një të tillë. 1365 01:04:04,280 --> 01:04:06,900 Dhe ajo do të vënë një të drejtë këtu. 1366 01:04:06,900 --> 01:04:09,430 Po në qoftë se kam vënë në fjalë bat? 1367 01:04:09,430 --> 01:04:11,310 Ajo do të kthehen tre. 1368 01:04:11,310 --> 01:04:12,560 Ku bat shkoni? 1369 01:04:12,560 --> 01:04:18,730 1370 01:04:18,730 --> 01:04:19,750 >> Kjo nuk i përshtatet. 1371 01:04:19,750 --> 01:04:21,000 Por ajo ka nevojë për të shkuar diku. 1372 01:04:21,000 --> 01:04:23,340 Ky është im tabelë hash në fund të fundit, dhe çdo gjë ka nevojë për të shkuar diku. 1373 01:04:23,340 --> 01:04:24,590 Pra, ku duhet të shkoni lakuriq nate? 1374 01:04:24,590 --> 01:04:28,020 1375 01:04:28,020 --> 01:04:28,710 Çdo mendime? 1376 01:04:28,710 --> 01:04:29,450 Supozime? 1377 01:04:29,450 --> 01:04:30,280 Supozime të mira? 1378 01:04:30,280 --> 01:04:31,220 >> Audienca: Zero. 1379 01:04:31,220 --> 01:04:32,120 >> JASON HIRSCHHORN: Pse zero? 1380 01:04:32,120 --> 01:04:35,990 >> Audienca: Sepse tre modulo tre është zero? 1381 01:04:35,990 --> 01:04:38,620 >> JASON HIRSCHHORN: Tre modulo tre është zero. 1382 01:04:38,620 --> 01:04:40,810 Kjo është një mend e madhe, dhe kjo është e saktë. 1383 01:04:40,810 --> 01:04:43,870 Pra, në këtë rast duhet ndoshta shkojnë në zero. 1384 01:04:43,870 --> 01:04:51,080 Pra, një mënyrë e mirë për të siguruar që ky hash Funksioni i vetëm kthen indekset e vlefshme është 1385 01:04:51,080 --> 01:04:54,580 të modulo atë nga madhësia e tabelës. 1386 01:04:54,580 --> 01:04:57,360 Nëse ju modulo çfarëdo këtë kthimit nga tre, ju jeni gjithmonë do të merrni 1387 01:04:57,360 --> 01:05:00,930 diçka mes zero, një, dhe dy. 1388 01:05:00,930 --> 01:05:05,160 Dhe në qoftë se kjo gjithmonë kthehet shtatë, dhe ju gjithmonë modulo nga tre, ju jeni 1389 01:05:05,160 --> 01:05:06,030 gjithmonë do të merrni të njëjtën gjë. 1390 01:05:06,030 --> 01:05:09,270 >> Pra, kjo është ende determinist në qoftë se ju modulo. 1391 01:05:09,270 --> 01:05:11,420 Por kjo do të sigurojë që ju kurrë nuk merrni diçka - 1392 01:05:11,420 --> 01:05:12,940 një industri të pavlefshme. 1393 01:05:12,940 --> 01:05:16,840 Në përgjithësi, kjo duhet të ndodhë modulo brenda funksionit tuaj të hash. 1394 01:05:16,840 --> 01:05:18,240 Pra, ju nuk keni nevojë për t'u shqetësuar për këtë. 1395 01:05:18,240 --> 01:05:20,555 Ju vetëm mund të sigurojë që kjo është një indice vlefshme. 1396 01:05:20,555 --> 01:05:23,700 1397 01:05:23,700 --> 01:05:26,700 Çdo pyetje në këtë kurth potencial? 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 Dhe ne do të shkojmë atje. 1401 01:05:40,290 --> 01:05:42,890 Kurth Next potencial, dhe kjo është një e madhe. 1402 01:05:42,890 --> 01:05:46,880 Çfarë ndodh nëse dy çelësat hartë në të njëjtën vlerë? 1403 01:05:46,880 --> 01:05:49,350 Pra, ka dy mënyra për të trajtuar këtë. 1404 01:05:49,350 --> 01:05:53,140 1405 01:05:53,140 --> 01:05:56,020 I pari është quajtur linear probing, të cilën unë jam i 1406 01:05:56,020 --> 01:05:57,300 nuk do të shkoj për. 1407 01:05:57,300 --> 01:06:01,120 Por ju duhet të jetë njohur me atë se si që punon dhe çka është. 1408 01:06:01,120 --> 01:06:05,610 >> E dyta unë jam duke shkuar për të shkuar mbi sepse ajo është një që shumë 1409 01:06:05,610 --> 01:06:08,290 njerëz ndoshta do të përfundojë duke vendosur për të përdorur në grup e problemit. 1410 01:06:08,290 --> 01:06:09,820 Sigurisht, ju nuk keni për të. 1411 01:06:09,820 --> 01:06:15,280 Por, për të vendosur të problemit, shumë njerëz kanë tendencë për të zgjedhur për të krijuar një tabelë hash 1412 01:06:15,280 --> 01:06:17,950 me chaining të veçantë të zbatimit të fjalor tyre. 1413 01:06:17,950 --> 01:06:21,390 Pra, ne do të shkoj për çfarë do të thotë për të krijuar një tabelë hash me 1414 01:06:21,390 --> 01:06:23,890 chaining veçantë. 1415 01:06:23,890 --> 01:06:26,260 >> Kështu që unë vë në kungull. 1416 01:06:26,260 --> 01:06:29,560 Ajo kthehet zero. 1417 01:06:29,560 --> 01:06:31,410 Dhe kam vënë kungull këtu. 1418 01:06:31,410 --> 01:06:35,880 1419 01:06:35,880 --> 01:06:37,930 Pastaj kam vënë në - 1420 01:06:37,930 --> 01:06:39,922 çfarë është një tjetër gjë e Halloween-themed? 1421 01:06:39,922 --> 01:06:42,200 >> Audienca: Candy. 1422 01:06:42,200 --> 01:06:42,770 >> JASON HIRSCHHORN: Candy! 1423 01:06:42,770 --> 01:06:43,910 Kjo është një njeri i madh. 1424 01:06:43,910 --> 01:06:47,760 I vënë në karamele, dhe karamele gjithashtu jep zero. 1425 01:06:47,760 --> 01:06:49,350 Çfarë të bëj? 1426 01:06:49,350 --> 01:06:51,940 Ndonjë ide? 1427 01:06:51,940 --> 01:06:53,940 Për shkak se ju të gjitha llojet e di çfarë chaining veçantë është. 1428 01:06:53,940 --> 01:06:55,190 Pra, ndonjë ide se çfarë të bëni? 1429 01:06:55,190 --> 01:06:58,170 1430 01:06:58,170 --> 01:06:59,110 Po. 1431 01:06:59,110 --> 01:07:03,810 >> Audienca: Vendosja string në të vërtetë në tabelën hash. 1432 01:07:03,810 --> 01:07:08,910 >> JASON HIRSCHHORN: Pra, ne do të të nxjerrë ide të mirë mbi këtu. 1433 01:07:08,910 --> 01:07:09,340 OK. 1434 01:07:09,340 --> 01:07:12,290 >> Audienca: A hashtable [Padëgjueshme] 1435 01:07:12,290 --> 01:07:16,640 tregues që tregon për fillimi i një liste. 1436 01:07:16,640 --> 01:07:20,930 Dhe pastaj kanë kungull të jetë vlera e parë në atë listën e lidhur dhe karamele të jetë e 1437 01:07:20,930 --> 01:07:22,800 Vlera e dytë në atë listën e lidhur. 1438 01:07:22,800 --> 01:07:23,420 >> JASON HIRSCHHORN: OK. 1439 01:07:23,420 --> 01:07:24,670 Marcus, që ishte i shquar. 1440 01:07:24,670 --> 01:07:26,160 Unë jam duke shkuar për të thyer atë poshtë. 1441 01:07:26,160 --> 01:07:28,890 Marcus është duke thënë nuk prishësh kungull. 1442 01:07:28,890 --> 01:07:30,660 Kjo do të ishte e keqe. 1443 01:07:30,660 --> 01:07:33,640 A nuk e vënë karamele diku tjetër. 1444 01:07:33,640 --> 01:07:35,390 Ne jemi duke shkuar për të vënë ato të dy në zero. 1445 01:07:35,390 --> 01:07:37,770 Por ne jemi duke shkuar për t'u marrë me vënien e tyre në zero duke 1446 01:07:37,770 --> 01:07:39,395 duke krijuar një listë në zero. 1447 01:07:39,395 --> 01:07:42,430 Dhe ne jemi duke shkuar për të krijuar një listë të çdo gjë që plotësisht në zero. 1448 01:07:42,430 --> 01:07:47,960 Dhe mënyra më e mirë që ne mësuam për të krijuar një listë që mund të rritet dhe tkurret 1449 01:07:47,960 --> 01:07:49,840 dinamike nuk është brenda një tjetër grup. 1450 01:07:49,840 --> 01:07:51,510 Pra, nuk është një grup shumë-dimensionale. 1451 01:07:51,510 --> 01:07:54,080 Por për të vetëm të krijojë një listë e lidhur. 1452 01:07:54,080 --> 01:07:55,330 >> Pra, atë që ai e propozuar - 1453 01:07:55,330 --> 01:07:57,950 1454 01:07:57,950 --> 01:07:59,200 Unë jam duke shkuar për të marrë një të ri - 1455 01:07:59,200 --> 01:08:15,380 1456 01:08:15,380 --> 01:08:19,689 është krijuar një grup me pointers, një grup i pointers. 1457 01:08:19,689 --> 01:08:20,580 OK. 1458 01:08:20,580 --> 01:08:24,180 Çdo ide apo aluzion se çfarë lloji i këtij pointers duhet të jetë? 1459 01:08:24,180 --> 01:08:26,290 Marcus? 1460 01:08:26,290 --> 01:08:27,250 >> Audienca: Pointers në - 1461 01:08:27,250 --> 01:08:28,609 >> JASON HIRSCHHORN: Për shkak të ju tha se një listë e lidhur, kështu - 1462 01:08:28,609 --> 01:08:29,520 >> Audienca: Nyja pointers? 1463 01:08:29,520 --> 01:08:30,670 >> JASON HIRSCHHORN: Nyja pointers. 1464 01:08:30,670 --> 01:08:32,830 Në qoftë se gjërat në të lidhura tonë listë janë nyje atëherë ata 1465 01:08:32,830 --> 01:08:34,370 duhet të jetë nyje pointers. 1466 01:08:34,370 --> 01:08:35,939 Dhe çfarë ata të barabartë në fillim? 1467 01:08:35,939 --> 01:08:36,990 >> Audienca: Null. 1468 01:08:36,990 --> 01:08:38,240 >> JASON HIRSCHHORN: Null. 1469 01:08:38,240 --> 01:08:44,540 1470 01:08:44,540 --> 01:08:46,080 Pra, nuk ka gjë jonë bosh. 1471 01:08:46,080 --> 01:08:47,170 Kthimit kungull zero. 1472 01:08:47,170 --> 01:08:48,569 Çfarë bëjmë ne? 1473 01:08:48,569 --> 01:08:49,609 Ecni më nëpërmjet saj? 1474 01:08:49,609 --> 01:08:50,810 Në fakt, Marcus tashmë dha mua. 1475 01:08:50,810 --> 01:08:52,439 Dikush tjetër ecin mua me të. 1476 01:08:52,439 --> 01:08:54,760 Ajo që ne bëjmë kur ne - 1477 01:08:54,760 --> 01:08:56,609 kjo duket shumë e ngjashme me ajo që ne ishim vetëm duke bërë. 1478 01:08:56,609 --> 01:08:57,396 Avi. 1479 01:08:57,396 --> 01:08:59,090 >> Audienca: Unë jam duke shkuar për të marrë një guess. 1480 01:08:59,090 --> 01:09:01,250 Pra, kur ju të merrni karamele. 1481 01:09:01,250 --> 01:09:01,640 >> JASON HIRSCHHORN: Po. 1482 01:09:01,640 --> 01:09:03,120 E pra, kemi marrë kungull. 1483 01:09:03,120 --> 01:09:03,870 Le të marrë një të tillë tonë të parë. 1484 01:09:03,870 --> 01:09:04,324 Ne morëm kungull. 1485 01:09:04,324 --> 01:09:04,779 >> Audienca: OK. 1486 01:09:04,779 --> 01:09:05,880 Kthimit kungull zero. 1487 01:09:05,880 --> 01:09:08,770 Kështu që ju vënë atë në se. 1488 01:09:08,770 --> 01:09:10,810 Ose në të vërtetë, ju vënë atë në lista lidhur. 1489 01:09:10,810 --> 01:09:13,550 >> JASON HIRSCHHORN: Si e vënë atë në listën e lidhur? 1490 01:09:13,550 --> 01:09:15,479 >> Audienca: Oh, sintaksë aktuale? 1491 01:09:15,479 --> 01:09:16,240 >> JASON HIRSCHHORN: Vetëm ecin - 1492 01:09:16,240 --> 01:09:16,740 thonë më shumë. 1493 01:09:16,740 --> 01:09:19,310 Çfarë bëjmë ne? 1494 01:09:19,310 --> 01:09:22,100 >> Audienca: Ju sapo futur ajo si nyjen e parë. 1495 01:09:22,100 --> 01:09:22,675 >> JASON HIRSCHHORN: OK. 1496 01:09:22,675 --> 01:09:29,069 Pra, ne kemi nyje tonë, kungull. 1497 01:09:29,069 --> 01:09:31,560 Dhe tani si mund ta futur atë? 1498 01:09:31,560 --> 01:09:34,590 1499 01:09:34,590 --> 01:09:37,090 >> Audienca: Ju caktojë ajo te kursorit. 1500 01:09:37,090 --> 01:09:37,970 >> JASON HIRSCHHORN: Cili akrep? 1501 01:09:37,970 --> 01:09:39,620 >> Audienca: pointer në zero. 1502 01:09:39,620 --> 01:09:41,420 >> JASON HIRSCHHORN: Pra, ku e bën këtë pikë? 1503 01:09:41,420 --> 01:09:42,810 >> Audienca: Të null tani. 1504 01:09:42,810 --> 01:09:43,529 >> JASON HIRSCHHORN: E pra, ajo është duke treguar null. 1505 01:09:43,529 --> 01:09:44,499 Por unë jam vënë në kungull. 1506 01:09:44,499 --> 01:09:46,053 Pra, ku duhet të theksojnë? 1507 01:09:46,053 --> 01:09:46,880 >> Audienca: Të kungull. 1508 01:09:46,880 --> 01:09:47,399 >> JASON HIRSCHHORN: Të kungull. 1509 01:09:47,399 --> 01:09:48,760 Pikërisht. 1510 01:09:48,760 --> 01:09:50,010 Pra, kjo tregon për kungull. 1511 01:09:50,010 --> 01:09:52,500 1512 01:09:52,500 --> 01:09:54,250 Dhe ku e bën këtë akrep në pikën kungull? 1513 01:09:54,250 --> 01:09:57,986 1514 01:09:57,986 --> 01:09:58,340 Në 1515 01:09:58,340 --> 01:09:58,590 >> Audienca: Null. 1516 01:09:58,590 --> 01:09:59,210 >> JASON HIRSCHHORN: Të null. 1517 01:09:59,210 --> 01:10:00,460 Pikërisht. 1518 01:10:00,460 --> 01:10:03,570 1519 01:10:03,570 --> 01:10:05,140 Pra, ne vetëm të futur diçka në lista lidhur. 1520 01:10:05,140 --> 01:10:07,210 Ne vetëm shkroi këtë kod për të bërë këtë. 1521 01:10:07,210 --> 01:10:09,520 Pothuajse kemi gati got it plasaritur plotësisht. 1522 01:10:09,520 --> 01:10:10,790 Tani kemi futur karamele. 1523 01:10:10,790 --> 01:10:13,480 Karamele jonë gjithashtu bëhet zero. 1524 01:10:13,480 --> 01:10:16,100 Pra, çfarë bëjmë ne me karamele? 1525 01:10:16,100 --> 01:10:18,790 >> Audienca: Kjo varet nëse ose jo ne jemi duke u përpjekur për të zgjidhur atë. 1526 01:10:18,790 --> 01:10:19,640 >> JASON HIRSCHHORN: Kjo është saktësisht e drejtë. 1527 01:10:19,640 --> 01:10:21,070 Kjo varet nëse ose jo ne jemi duke u përpjekur për të zgjidhur atë. 1528 01:10:21,070 --> 01:10:22,660 Le të supozojmë që ne nuk jemi duke shkuar për të zgjidhur atë. 1529 01:10:22,660 --> 01:10:24,880 >> Audienca: Mirë atëherë, siç kemi diskutuar para, është më e thjeshtë vetëm për të vënë atë 1530 01:10:24,880 --> 01:10:28,590 të drejtë në fillim në mënyrë akrep nga zero pikë në karamele. 1531 01:10:28,590 --> 01:10:29,020 >> JASON HIRSCHHORN: OK. 1532 01:10:29,020 --> 01:10:29,380 Prit. 1533 01:10:29,380 --> 01:10:30,630 Më lejoni të krijuar karamele drejtë këtu. 1534 01:10:30,630 --> 01:10:34,030 1535 01:10:34,030 --> 01:10:35,150 Pra, ky tregues - 1536 01:10:35,150 --> 01:10:37,590 >> Audienca: Po, duhet tani të treguar për karamele. 1537 01:10:37,590 --> 01:10:40,580 Pastaj kanë treguesin nga pika karamele për të kungull. 1538 01:10:40,580 --> 01:10:43,140 1539 01:10:43,140 --> 01:10:44,560 >> JASON HIRSCHHORN: Ashtu si ajo? 1540 01:10:44,560 --> 01:10:47,380 Dhe thonë se ne mori një tjetër gjë për të hartë në zero? 1541 01:10:47,380 --> 01:10:48,660 >> Audienca: E pra, ju vetëm të bëjë të njëjtën gjë? 1542 01:10:48,660 --> 01:10:50,290 >> JASON HIRSCHHORN: Bëni të njëjtën gjë. 1543 01:10:50,290 --> 01:10:53,700 Pra, në këtë rast, në qoftë se ne nuk e bëjmë duan të mbajnë atë të renditura atë 1544 01:10:53,700 --> 01:10:55,270 tingëllon mjaft e thjeshtë. 1545 01:10:55,270 --> 01:10:59,920 Ne kemi marrë treguesin në indice dhënë nga funksioni tonë hash. 1546 01:10:59,920 --> 01:11:03,830 Ne kemi atë pikë për nyje tonë të ri. 1547 01:11:03,830 --> 01:11:07,830 Dhe pastaj çfarëdo qoftë ajo ishte treguar të parë - 1548 01:11:07,830 --> 01:11:10,620 në këtë rast null, në Rasti kungull i dytë - 1549 01:11:10,620 --> 01:11:15,310 që, çfarëdo qoftë ajo është duke treguar më parë, ne shtoni në tjetër i 1550 01:11:15,310 --> 01:11:17,810 nyje tonë të ri. 1551 01:11:17,810 --> 01:11:19,650 Ne jemi duke futur diçka në fillim. 1552 01:11:19,650 --> 01:11:22,900 Në fakt kjo është një shumë të thjeshtë se sa duke u përpjekur për të mbajtur listë të renditura. 1553 01:11:22,900 --> 01:11:25,340 Por përsëri, në kërkim do të jetë më shumë e komplikuar këtu. 1554 01:11:25,340 --> 01:11:28,300 Ne gjithmonë do të duhet të shkojë deri në fund. 1555 01:11:28,300 --> 01:11:29,650 >> OK. 1556 01:11:29,650 --> 01:11:32,750 Ndonjë pyetje në lidhje me chaining të veçantë? 1557 01:11:32,750 --> 01:11:34,690 Si punon kjo? 1558 01:11:34,690 --> 01:11:35,820 Ju lutem, pyesni ata tani. 1559 01:11:35,820 --> 01:11:39,260 Unë me të vërtetë dëshironi të bëni të sigurt që të gjithë kuptojnë këtë para se kreu jashtë. 1560 01:11:39,260 --> 01:11:48,410 1561 01:11:48,410 --> 01:11:52,060 >> Audienca: Pse ju vendosni kungull dhe karamele në të njëjtën 1562 01:11:52,060 --> 01:11:54,108 Pjesa e tabelës hash? 1563 01:11:54,108 --> 01:11:55,860 >> JASON HIRSCHHORN: Pyetje e mirë. 1564 01:11:55,860 --> 01:11:59,140 Pse nuk kemi vënë ato në të njëjtën Pjesa e tabelës hash? 1565 01:11:59,140 --> 01:12:03,200 E pra, në këtë rast funksioni ynë hash kthimit zero për të dy ata. 1566 01:12:03,200 --> 01:12:05,310 Pra, ata kanë nevojë për të shkuar në indice zero sepse kjo është ajo ku ne jemi duke shkuar për të 1567 01:12:05,310 --> 01:12:07,420 shikoni për ta në qoftë se ne ndonjëherë dëshironi të shikoni ata. 1568 01:12:07,420 --> 01:12:11,750 Përsëri, me një qasje lineare probing ne nuk do të vinte që të dy në zero. 1569 01:12:11,750 --> 01:12:13,900 Por në qasjen zinxhir të veçantë, ne jemi duke shkuar për të vënë ato si në zero 1570 01:12:13,900 --> 01:12:16,620 dhe pastaj të krijojë një listë off e zero. 1571 01:12:16,620 --> 01:12:20,140 >> Dhe ne nuk duam të prishësh kungull thjesht për shkak se atëherë ne do të 1572 01:12:20,140 --> 01:12:21,860 supozojmë se kungull ishte kurrë futur. 1573 01:12:21,860 --> 01:12:25,230 Nëse ne vetëm i mbajnë një gjë të vend që do të ishte keq. 1574 01:12:25,230 --> 01:12:28,590 Atëherë nuk do të kishte shans prej nesh ndonjëherë - 1575 01:12:28,590 --> 01:12:31,660 në qoftë se ne ndonjëherë kishte një kopje, atëherë ne vetëm do të fshihet vlerën tonë fillestare. 1576 01:12:31,660 --> 01:12:34,090 Pra, kjo është arsyeja pse ne e bëjmë këtë qasje. 1577 01:12:34,090 --> 01:12:36,580 Apo kjo është arsyeja pse ne zgjodhëm - por përsëri, ne zgjodhi qasjen veçantë chaining, 1578 01:12:36,580 --> 01:12:39,670 e cila ka shumë qasje të tjera një mund të zgjidhni. 1579 01:12:39,670 --> 01:12:41,185 A do të përgjigjem pyetjes tuaj? 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 probing do të përfshijë - 1584 01:12:47,720 --> 01:12:51,913 nëse kemi gjetur një përplasje në zero, ne do të shikojmë në vendin e ardhshëm për të parë nëse 1585 01:12:51,913 --> 01:12:54,310 ajo ishte e hapur dhe e vënë atë atje. 1586 01:12:54,310 --> 01:12:57,320 Dhe pastaj ne shikojmë në sport tjetër dhe të parë nëse kjo ishte e hapur dhe e vënë atë atje. 1587 01:12:57,320 --> 01:12:59,780 Pra, ne gjejmë tjetër dispozicion vend i hapur dhe vënë atë atje. 1588 01:12:59,780 --> 01:13:02,580 1589 01:13:02,580 --> 01:13:03,890 Çdo pyetje të tjera? 1590 01:13:03,890 --> 01:13:05,370 Po, Avi. 1591 01:13:05,370 --> 01:13:07,490 >> Audienca: Si vazhdim të kësaj, çfarë do të thotë nga vend tjetër? 1592 01:13:07,490 --> 01:13:10,250 Në tabelën hash ose në listën e lidhur. 1593 01:13:10,250 --> 01:13:12,100 >> JASON HIRSCHHORN: Për lineare programimi, nuk ka lista të lidhura. 1594 01:13:12,100 --> 01:13:13,400 Vend tjetër në tryezë hash. 1595 01:13:13,400 --> 01:13:13,820 >> Audienca: OK. 1596 01:13:13,820 --> 01:13:17,570 Pra, tabela hash do të ishte initialized të madhësisë - 1597 01:13:17,570 --> 01:13:19,560 si numrit të strings se ju u futur? 1598 01:13:19,560 --> 01:13:22,170 >> JASON HIRSCHHORN: Ju do të duan që ajo të jetë me të vërtetë i madh. 1599 01:13:22,170 --> 01:13:23,910 Po. 1600 01:13:23,910 --> 01:13:27,900 Këtu është një foto e asaj që ne vetëm tërhoqi në bord. 1601 01:13:27,900 --> 01:13:29,470 Përsëri, ne kemi një përplasje të drejtë këtu. 1602 01:13:29,470 --> 01:13:30,710 në 152. 1603 01:13:30,710 --> 01:13:33,570 Dhe ju do të shihni kemi krijuar një listë e lidhur jashtë të saj. 1604 01:13:33,570 --> 01:13:38,200 1605 01:13:38,200 --> 01:13:41,850 Përsëri, tabela hash chaining veçantë qasje nuk është një që ju 1606 01:13:41,850 --> 01:13:45,590 duhet të marrin për problemet vendosur gjashtë por është një që shumë 1607 01:13:45,590 --> 01:13:47,100 studentët kanë tendencë për të marrë. 1608 01:13:47,100 --> 01:13:51,140 Pra, në këtë, le të flasim shkurtimisht para se kreu jashtë në lidhje me problemin e gjashtë, 1609 01:13:51,140 --> 01:13:52,160 dhe pastaj unë do të ndajnë një histori me ju. 1610 01:13:52,160 --> 01:13:55,120 Ne kemi tre minuta. 1611 01:13:55,120 --> 01:13:55,750 >> Problem vendosur gjashtë. 1612 01:13:55,750 --> 01:13:57,790 Ju keni katër funksione - 1613 01:13:57,790 --> 01:14:02,430 ngarkesës, kontrolloni, madhësia, dhe zbraz. 1614 01:14:02,430 --> 01:14:03,380 Load - 1615 01:14:03,380 --> 01:14:07,120 mirë, ne kemi qenë duke shkuar mbi ngarkesës vetëm tani. 1616 01:14:07,120 --> 01:14:09,330 Ne tërhoqi ngarkesës në bord. 1617 01:14:09,330 --> 01:14:13,230 Dhe ne edhe filluar coding shumë futur në listën e lidhur. 1618 01:14:13,230 --> 01:14:18,020 Pra ngarkesës nuk është shumë më tepër se ajo që ne kemi qenë vetëm duke bërë. 1619 01:14:18,020 --> 01:14:21,070 >> Kontrollo është një herë ju keni diçka e ngarkuar. 1620 01:14:21,070 --> 01:14:22,580 Është i njëjti proces si ky. 1621 01:14:22,580 --> 01:14:26,845 Të njëjtat dy pjesët e para ku ju hedhin diçka në funksion hash 1622 01:14:26,845 --> 01:14:29,190 dhe për të marrë vlerën e saj. 1623 01:14:29,190 --> 01:14:30,700 Por tani ne nuk jemi futur atë. 1624 01:14:30,700 --> 01:14:33,350 Tani ne jemi duke kërkuar për të. 1625 01:14:33,350 --> 01:14:37,130 Unë kam shkruar kodin mostër për gjetjen e diçka në listën e lidhur. 1626 01:14:37,130 --> 01:14:38,250 Unë ju inkurajoj për të praktikuar atë. 1627 01:14:38,250 --> 01:14:43,000 Por intuitive gjetur diçka është shumë e ngjashme me futur diçka. 1628 01:14:43,000 --> 01:14:46,540 Në të vërtetë, ne tërhoqi një pamje të gjetur diçka në listën e lidhur, duke lëvizur 1629 01:14:46,540 --> 01:14:48,910 nëpërmjet deri sa të marrë deri në fund. 1630 01:14:48,910 --> 01:14:52,430 Dhe në qoftë se ju mori deri në fund dhe nuk mund të gjeni atë, atëherë ajo nuk është aty. 1631 01:14:52,430 --> 01:14:55,400 Pra, kjo është kontroll, në thelb. 1632 01:14:55,400 --> 01:14:57,030 >> Tjetra është madhësia. 1633 01:14:57,030 --> 01:14:57,910 Le të kaloni madhësinë. 1634 01:14:57,910 --> 01:15:00,040 Së fundi ju keni shkarkuar. 1635 01:15:00,040 --> 01:15:02,890 Shkarkoj është një ne nuk kemi tërhequr në bordin ose koduar ende. 1636 01:15:02,890 --> 01:15:05,990 Por unë ju inkurajoj që të provoni coding atë në mostër lidhur shembullin tonë lista. 1637 01:15:05,990 --> 01:15:11,440 Por shkarkoj intuitive është e ngjashme me të lirë - 1638 01:15:11,440 --> 01:15:14,010 ose Unë do të thotë është e ngjashme për të kontrolluar. 1639 01:15:14,010 --> 01:15:17,350 Përveç për tani çdo kohë do të jeni përmes, ju nuk jeni thjesht duke kontrolluar për të 1640 01:15:17,350 --> 01:15:19,090 të parë nëse ju keni vlerën tuaj atje. 1641 01:15:19,090 --> 01:15:22,490 Por ju jeni duke marrë atë nyje dhe liruar atë, në thelb. 1642 01:15:22,490 --> 01:15:23,610 Kjo është ajo që zbraz ju pyet për të bërë. 1643 01:15:23,610 --> 01:15:24,670 Gjithçka pagesë ju keni malloced. 1644 01:15:24,670 --> 01:15:27,480 Pra, ju jeni duke shkuar nëpër të gjithë listën përsëri, duke shkuar nëpër të gjithë hash 1645 01:15:27,480 --> 01:15:27,760 Tabela përsëri. 1646 01:15:27,760 --> 01:15:29,240 Këtë herë nuk e shikoni për të parë se çfarë është atje. 1647 01:15:29,240 --> 01:15:31,080 Vetëm lirë çfarë është atje. 1648 01:15:31,080 --> 01:15:33,260 >> Dhe së fundi madhësia. 1649 01:15:33,260 --> 01:15:34,350 Madhësia duhet të zbatohet. 1650 01:15:34,350 --> 01:15:35,590 Nëse ju nuk e zbatojnë madhësinë - 1651 01:15:35,590 --> 01:15:36,250 Unë do të them atë si kjo. 1652 01:15:36,250 --> 01:15:39,740 Nëse ju nuk e zbatojnë në madhësinë pikërisht një linjë e kodit përfshirë 1653 01:15:39,740 --> 01:15:43,760 deklaratë të kthehet, ju jeni duke bërë madhësinë gabimisht. 1654 01:15:43,760 --> 01:15:47,170 Pra, sigurohuni që madhësia, për dizajn të plotë pikë, ju jeni duke bërë atë pikërisht në një 1655 01:15:47,170 --> 01:15:49,970 linjë e kodit, duke përfshirë Deklarata e kthimit. 1656 01:15:49,970 --> 01:15:52,450 >> Dhe nuk do të mbledh plaçkat ende, Akchar. 1657 01:15:52,450 --> 01:15:53,700 Kastor i etur. 1658 01:15:53,700 --> 01:15:55,820 1659 01:15:55,820 --> 01:16:01,300 Unë të kërkuar për të thënë faleminderit djema për të ardhur në nenin. 1660 01:16:01,300 --> 01:16:02,550 Keni një Halloween Gëzuar. 1661 01:16:02,550 --> 01:16:05,300 1662 01:16:05,300 --> 01:16:05,960 Kjo është kostum e mia. 1663 01:16:05,960 --> 01:16:08,850 Do të veshur këtë të enjten në qoftë se unë shoh se jeni në orarit të punës. 1664 01:16:08,850 --> 01:16:14,640 Dhe nëse ju jeni kurioz rreth disa më shumë background si me këtë kostum, të ndjehen të 1665 01:16:14,640 --> 01:16:19,135 lirë për të shikoni seksionin 2011 për një histori më se pse unë jam 1666 01:16:19,135 --> 01:16:20,900 veshur kostum kungull. 1667 01:16:20,900 --> 01:16:23,680 Dhe kjo është një histori e trishtuar. 1668 01:16:23,680 --> 01:16:27,050 Pra, sigurohuni që ju keni disa indet afër. 1669 01:16:27,050 --> 01:16:28,680 Por në se, në qoftë se ju keni ndonjë pyetje unë do të rrinë rreth 1670 01:16:28,680 --> 01:16:29,960 jashtë pas seksion. 1671 01:16:29,960 --> 01:16:31,510 Good luck në problemin vendosur gjashtë. 1672 01:16:31,510 --> 01:16:33,540 Dhe si gjithmonë, në qoftë se ju keni ndonjë pyetje, let me know. 1673 01:16:33,540 --> 01:16:35,584