1 00:00:00,000 --> 00:00:00,500 2 00:00:00,500 --> 00:00:11,137 [Jwe mizik] 3 00:00:11,137 --> 00:00:12,220 DAVID J. Malan: Tout dwa. 4 00:00:12,220 --> 00:00:13,950 Sa a se CS50. 5 00:00:13,950 --> 00:00:18,560 Sa a se semèn senk kontinye, epi nou gen kèk bon nouvèl ak kèk move nouvèl. 6 00:00:18,560 --> 00:00:21,140 Se konsa, bon nouvèl se ke CS50 lanse sa a Vandredi. 7 00:00:21,140 --> 00:00:24,430 Si ou ta renmen rantre nan nou, tèt nan URL la abityèl isit la. 8 00:00:24,430 --> 00:00:28,670 Menm pi bon nouvèl, pa gen konferans sa a ap vini Lendi 13 an. 9 00:00:28,670 --> 00:00:31,970 Yon ti kras mwens pi bon nouvèl, egzamen zewo se Mèkredi pwochen. 10 00:00:31,970 --> 00:00:33,840 Plis detay ka jwenn nan sa a URL isit la. 11 00:00:33,840 --> 00:00:36,340 Ak sou jou ki koup pwochen nou pral ranpli nan espas vid yo 12 00:00:36,340 --> 00:00:39,234 ak concerne nan chanm yo ke nou ap gen rezève. 13 00:00:39,234 --> 00:00:41,400 Pi bon nouvèl se ke gen pral gen yon revizyon kou-lajè 14 00:00:41,400 --> 00:00:43,570 sesyon sa a ap vini Lendi nan aswè an. 15 00:00:43,570 --> 00:00:46,270 Rete branche nan la kou sit entènèt ki kote ak detay. 16 00:00:46,270 --> 00:00:49,290 Seksyon, menm si li se yon jou ferye, pral tou satisfè tou. 17 00:00:49,290 --> 00:00:50,490 18 00:00:50,490 --> 00:00:52,940 Pi bon nouvèl, konferans Vandredi kap vini an. 19 00:00:52,940 --> 00:00:56,220 Se konsa, sa a se yon tradisyon nou genyen, tankou pou chak progranm la. 20 00:00:56,220 --> 00:00:58,100 Just-- li pral yo dwe dwòl. 21 00:00:58,100 --> 00:01:02,510 Ou gen pou wè bagay sa yo tankou tan konstan estrikti done 22 00:01:02,510 --> 00:01:04,730 ak tablo yo regle ak pye bwa ak ap eseye. 23 00:01:04,730 --> 00:01:07,150 Epitou, n ap pale sou pwoblèm anivèsè nesans. 24 00:01:07,150 --> 00:01:09,440 Yon pakèt antye nan bagay ap tann Vandredi kap vini an. 25 00:01:09,440 --> 00:01:11,212 26 00:01:11,212 --> 00:01:12,200 OK. 27 00:01:12,200 --> 00:01:13,190 Kanmèm. 28 00:01:13,190 --> 00:01:17,080 >> Se konsa, sonje ke nou ve yo te ki konsantre sou foto sa a nan sa ki nan 29 00:01:17,080 --> 00:01:18,980 andedan nan memwa òdinatè nou an. 30 00:01:18,980 --> 00:01:22,875 Se konsa, memwa oswa RAM se kote pwogram egziste pandan w ap kouri yo. 31 00:01:22,875 --> 00:01:25,215 Si ou doub-klike sou yon icon a kouri kèk pwogram 32 00:01:25,215 --> 00:01:27,520 oswa doub-klike sou yon icon yo louvri kèk dosye, 33 00:01:27,520 --> 00:01:30,430 li nan chaje soti nan difisil ou kondwi oswa kondwi eta solid 34 00:01:30,430 --> 00:01:34,190 nan RAM, Random Aksè memwa, kote li ap viv jouk pouvwa a ale nan, 35 00:01:34,190 --> 00:01:36,700 kouvèti a laptop fèmen, oswa ou kite pwogram nan. 36 00:01:36,700 --> 00:01:38,960 >> Kounye a ke memwa, nan ki pwobableman ou gen 37 00:01:38,960 --> 00:01:41,950 1 jigokte jou sa yo, 2 jigokte, oswa menm plis ankò, 38 00:01:41,950 --> 00:01:44,420 se jeneralman mete deyò pou yon pwogram bay 39 00:01:44,420 --> 00:01:47,170 nan sa a sòt de rektangilè konseptyèl ekspresyon modèl 40 00:01:47,170 --> 00:01:50,860 kijan nou gen chemine a nan pati anba a ak yon pakèt moun sou lòt bagay nan tèt la. 41 00:01:50,860 --> 00:01:53,140 Bagay la nan tèt la anpil nou te wè sou foto sa a 42 00:01:53,140 --> 00:01:55,670 anvan men li pat janm te pale osijè de se sa yo rele segman nan tèks. 43 00:01:55,670 --> 00:01:58,419 Segman Tèks se jis yon fason anpenpan pou li di zewo yo ak moun yo ki 44 00:01:58,419 --> 00:02:01,150 konpoze pwogram aktyèl ou konpile. 45 00:02:01,150 --> 00:02:03,910 >> Se konsa, lè ou doub-klike sou Microsoft Word sou Mac ou a oswa PC, 46 00:02:03,910 --> 00:02:08,030 oswa lè ou kouri dot koupe Mario sou yon Òdinatè Linux nan fenèt tèminal ou, 47 00:02:08,030 --> 00:02:12,460 zewo yo ak moun yo ki konpoze Yo mo oubyen yon Mario ki estoke pou yon ti tan 48 00:02:12,460 --> 00:02:16,610 nan RAM òdinatè ou a nan sa yo rele an segman tèks pou yon pwogram an patikilye. 49 00:02:16,610 --> 00:02:19,080 Anba a ki ale initialisé ak done uninitialized. 50 00:02:19,080 --> 00:02:22,655 Sa a se bagay tankou varyab mondyal, ke nou pa te itilize anpil nan, 51 00:02:22,655 --> 00:02:24,910 men sou okazyon nou te te gen varyab mondyal 52 00:02:24,910 --> 00:02:28,819 oswa statics defini strings ki se difisil kode mo tankou "alo" 53 00:02:28,819 --> 00:02:31,860 ki pa yo te pran nan soti nan itilizatè a ke yo difisil-kode nan pwogram ou an. 54 00:02:31,860 --> 00:02:34,230 >> Koulye a, desann nan pati anba a nou gen chemine a sa yo rele. 55 00:02:34,230 --> 00:02:37,665 Ak chemine a, konsa byen lwen, nou ve yo te lè l sèvi avèk pou sa kalite rezon? 56 00:02:37,665 --> 00:02:39,706 57 00:02:39,706 --> 00:02:40,997 Ki sa ki nan chemine a te itilize pou? 58 00:02:40,997 --> 00:02:41,160 Yeah? 59 00:02:41,160 --> 00:02:42,070 >> ODYANS: Fonksyon. 60 00:02:42,070 --> 00:02:43,320 >> DAVID J. Malan: Pou fonksyon? 61 00:02:43,320 --> 00:02:44,980 Nan ki sans pou fonksyon? 62 00:02:44,980 --> 00:02:48,660 >> ODYANS: Lè ou rele yon fonksyon, nan agiman yo se kopye sou chemine a. 63 00:02:48,660 --> 00:02:49,660 >> DAVID J. Malan: Egzakteman. 64 00:02:49,660 --> 00:02:52,650 Lè ou rele yon fonksyon, li agiman yo se kopye sou chemine a. 65 00:02:52,650 --> 00:02:56,330 Se konsa, nenpòt X la oswa Y a oswa Yon a oswa B a ke w ap pase nan yon fonksyon 66 00:02:56,330 --> 00:02:58,680 yo pou yon ti tan mete yo sou chemine a sa yo rele, 67 00:02:58,680 --> 00:03:02,000 jis tankou youn nan Annenberg la manje plato sal, epi tou bagay 68 00:03:02,000 --> 00:03:03,190 tankou varyab lokal. 69 00:03:03,190 --> 00:03:06,290 Si fonksyon foo ou oswa swap ou fonksyon gen varyab lokal yo, 70 00:03:06,290 --> 00:03:08,602 tankou tanporèr, sa yo de fini sou pil la. 71 00:03:08,602 --> 00:03:11,560 Koulye a, nou pa pral pale twòp sou yo, men sa yo varyab anviwònman 72 00:03:11,560 --> 00:03:15,690 nan pati anba a nou te wè yon ti tan de sa lè Mwen te futzing nan klavye a yon sèl jou 73 00:03:15,690 --> 00:03:20,050 epi mwen te kòmanse gen aksè nan bagay sa yo tankou argv 100 oswa argv 1,000, 74 00:03:20,050 --> 00:03:22,320 jis elements-- mwen bliye numéros a, men ki 75 00:03:22,320 --> 00:03:24,330 pa te sipoze jwenn aksè pa m '. 76 00:03:24,330 --> 00:03:26,581 Nou te kòmanse wè kèk senbòl fenki sou ekran an. 77 00:03:26,581 --> 00:03:28,330 Moun sa yo ki te sa yo rele varyab anviwònman 78 00:03:28,330 --> 00:03:32,390 tankou anviwònman mondyal la pou m ' pwogram oswa pou òdinatè mwen an, pa 79 00:03:32,390 --> 00:03:37,090 gen rapò ak ki sot pase a ensèk ki nou diskite, 80 00:03:37,090 --> 00:03:39,670 Shellshock, ki te gen plaguing byen kèk òdinatè. 81 00:03:39,670 --> 00:03:42,960 >> Koulye a, anfen, nan konsantre a jodi a nou pral finalman dwe sou pil wòch la. 82 00:03:42,960 --> 00:03:44,864 Sa se yon lòt moso nan memwa. 83 00:03:44,864 --> 00:03:47,030 E fondamantalman tout bagay sa a memwa se bagay la menm. 84 00:03:47,030 --> 00:03:48,040 Li nan menm pyès ki nan konpitè. 85 00:03:48,040 --> 00:03:49,956 Nou jis sòt de trete grap diferan 86 00:03:49,956 --> 00:03:51,460 nan bytes pou rezon diferan. 87 00:03:51,460 --> 00:03:56,540 Pil wòch la se tou ale nan dwe kote varyab ak memwa ke ou mande 88 00:03:56,540 --> 00:03:58,810 soti nan sistèm nan fonksyone la tanporèman estoke. 89 00:03:58,810 --> 00:04:01,890 >> Men, gen nan kalite yon pwoblèm isit la, kòm foto a implique. 90 00:04:01,890 --> 00:04:05,261 Nou sòt de gen de bato sou yo kolizyon. 91 00:04:05,261 --> 00:04:08,010 Paske jan ou sèvi ak pi plis ak plis nan chemine a, ak jan nou wè jodi a 92 00:04:08,010 --> 00:04:11,800 pati, jan ou sèvi ak pi plis ak plis nan a pil wòch, siman move bagay ka rive. 93 00:04:11,800 --> 00:04:15,054 Ak tout bon, nou ka antrene ki entansyonèlman oubyen san. 94 00:04:15,054 --> 00:04:16,970 Se konsa, cliffhanger an dènye tan te pwogram sa a, 95 00:04:16,970 --> 00:04:20,570 ki pa t 'sèvi nenpòt fonksyonèl objektif lòt pase yo demontre 96 00:04:20,570 --> 00:04:24,750 ki jan ou kòm yon nèg move ka aktyèlman pran avantaj de pinèz nan pwogram yon moun nan 97 00:04:24,750 --> 00:04:28,460 ak pran sou yon pwogram oswa menm yon sistèm òdinatè antye oswa sèvè. 98 00:04:28,460 --> 00:04:31,660 Se konsa, jis gade yon ti tan, ou remake ke prensipal nan pati anba a 99 00:04:31,660 --> 00:04:34,510 pran nan liy lòd agiman, tankou pou chak argv. 100 00:04:34,510 --> 00:04:38,480 Epi li gen yon apèl nan yon f fonksyon, esansyèlman yon fonksyon nameless rele 101 00:04:38,480 --> 00:04:40,250 f, ak li a pase nan argv [1]. 102 00:04:40,250 --> 00:04:43,960 >> Se konsa, tou sa pawòl itilizatè a kalite nan nan èd memwa a apre non pwogram sa a la, 103 00:04:43,960 --> 00:04:49,310 ak Lè sa a fonksyon sa a abitrè moute tèt, f, pran nan yon fisèl, AKA * Char, 104 00:04:49,310 --> 00:04:51,720 kòm nou te fèk kòmanse fè diskite, epi li jis rele l "ba." 105 00:04:51,720 --> 00:04:53,310 Men, nou ta ka rele li anyen. 106 00:04:53,310 --> 00:04:57,470 Lè sa a, li deklare, andedan nan f, yon etalaj de karaktè 107 00:04:57,470 --> 00:04:59,930 rele c-- 12 karaktè sa yo. 108 00:04:59,930 --> 00:05:03,580 >> Koulye a, pa istwa a mwen te vle di yon ti moman de sa, ki kote nan memwa 109 00:05:03,580 --> 00:05:06,720 se c, oswa moun sa yo ki 12 char ale nan fini? 110 00:05:06,720 --> 00:05:07,570 Jis yo dwe klè. 111 00:05:07,570 --> 00:05:08,070 Yeah? 112 00:05:08,070 --> 00:05:08,590 >> ODYANS: sou pil la. 113 00:05:08,590 --> 00:05:09,420 >> DAVID J. Malan: sou pil la. 114 00:05:09,420 --> 00:05:10,720 Se konsa, c se yon varyab lokal yo. 115 00:05:10,720 --> 00:05:14,079 Nou ap mande pou 12 charaktèr oswa 12 bytes. 116 00:05:14,079 --> 00:05:16,120 Moun sa yo ki yo ale nan fini sou chemine a sa yo rele. 117 00:05:16,120 --> 00:05:18,530 Koulye a, finalman se fonksyon sa a lòt sa a, se aktyèlman trè itil, 118 00:05:18,530 --> 00:05:20,571 men nou pa te reyèlman itilize li tèt nou, strncopy. 119 00:05:20,571 --> 00:05:21,550 120 00:05:21,550 --> 00:05:25,200 Sa vle di kopi fisèl, men sèlman n lèt, n karaktè. 121 00:05:25,200 --> 00:05:31,990 Se konsa, karaktè n pral kopye soti nan bar nan c. 122 00:05:31,990 --> 00:05:32,980 Ak konbyen? 123 00:05:32,980 --> 00:05:34,110 Longè a nan ba. 124 00:05:34,110 --> 00:05:36,330 Se konsa, nan lòt mo, ki yon sèl liy, strncopy, 125 00:05:36,330 --> 00:05:39,500 ki pral a kapab bay kopi efektivman defann nan c. 126 00:05:39,500 --> 00:05:42,340 >> Koulye a, jis kalite antisipe moral nan istwa sa a, 127 00:05:42,340 --> 00:05:44,750 ki sa ki potansyèlman Pwoblematik isit la? 128 00:05:44,750 --> 00:05:49,710 Menm si nou ap tcheke longè a nan ba yo, e pase l 'nan strncopy, 129 00:05:49,710 --> 00:05:53,145 ki sa ki zantray ou di ou se toujou kase sou pwogram sa a? 130 00:05:53,145 --> 00:05:54,410 131 00:05:54,410 --> 00:05:55,220 Yeah? 132 00:05:55,220 --> 00:05:57,491 >> ODYANS: pa gen ladan plas pou pèsonaj la nil. 133 00:05:57,491 --> 00:05:59,990 DAVID J. Malan: pa gen ladan plas pou pèsonaj la nil. 134 00:05:59,990 --> 00:06:02,073 Ki kapab, kontrèman ak nan pratik sot pase yo nou fè pa menm 135 00:06:02,073 --> 00:06:04,810 gen anpil kòm yon plis 1 akomode ke karaktè nil. 136 00:06:04,810 --> 00:06:06,649 Men, li la menm vin pi mal pase sa. 137 00:06:06,649 --> 00:06:07,940 Ki lòt bagay yo nou li pap resevwa yo fè? 138 00:06:07,940 --> 00:06:08,432 Yeah? 139 00:06:08,432 --> 00:06:09,307 >> ODYANS: [fèbl] 140 00:06:09,307 --> 00:06:15,440 141 00:06:15,440 --> 00:06:16,440 DAVID J. Malan: pafè. 142 00:06:16,440 --> 00:06:18,490 Nou te difisil kode 12 trè abitrèman. 143 00:06:18,490 --> 00:06:19,497 144 00:06:19,497 --> 00:06:21,330 Sa se pa konsa pou sa anpil nan pwoblèm, men reyalite a 145 00:06:21,330 --> 00:06:25,630 ke nou ap pa menm tcheke si longè a nan bar se mwens pase 12, 146 00:06:25,630 --> 00:06:28,530 nan ka sa a li pral yo dwe san danje yo mete l 'nan memwa a 147 00:06:28,530 --> 00:06:30,260 rele c ke nou te resevwa lajan. 148 00:06:30,260 --> 00:06:32,960 Vreman vre, si bar se tankou 20 karaktè long, 149 00:06:32,960 --> 00:06:39,010 fonksyon sa a parèt yo dwe kopye 20 karaktè soti nan ba nan c, kidonk 150 00:06:39,010 --> 00:06:41,310 pran omwen 8 bytes ke li pa ta dwe. 151 00:06:41,310 --> 00:06:42,690 Sa a enplikasyon la isit la. 152 00:06:42,690 --> 00:06:44,347 >> Se konsa, nan pwogram ti bout tan, kase. 153 00:06:44,347 --> 00:06:45,180 Pa tankou yon kontra gwo. 154 00:06:45,180 --> 00:06:46,360 Petèt ou jwenn yon fay segmentation. 155 00:06:46,360 --> 00:06:47,651 Nou tout te gen pinèz nan pwogram yo. 156 00:06:47,651 --> 00:06:50,196 Nou tout ta ka gen pinèz nan pwogram kounye a. 157 00:06:50,196 --> 00:06:51,320 Men, sa ki nan enplikasyon la? 158 00:06:51,320 --> 00:06:54,390 Oke, isit la nan yon vèsyon agrandi-an nan foto ki nan memwa òdinatè mwen an. 159 00:06:54,390 --> 00:06:56,230 Sa a se anba a nan chemine mwen. 160 00:06:56,230 --> 00:06:59,644 Ak tout bon, nan pati anba nan anpil se sa ki nan rele paran chemine woutin, fason anpenpan 161 00:06:59,644 --> 00:07:00,560 pou li di sa a, se prensipal la. 162 00:07:00,560 --> 00:07:03,772 Se konsa, ki moun ki va rele fonksyon an f ke nou ap pale de. 163 00:07:03,772 --> 00:07:05,230 Se konsa, sa a se pati anba a nan chemine a. 164 00:07:05,230 --> 00:07:06,640 Adrès retou a se yon nouvo bagay. 165 00:07:06,640 --> 00:07:08,810 Li te toujou la, toujou nan foto sa. 166 00:07:08,810 --> 00:07:10,440 Nou jis pa janm rele atansyon a li. 167 00:07:10,440 --> 00:07:15,290 Paske li vire soti wout la c ap travay se ke lè yon fonksyon rele yon lòt, 168 00:07:15,290 --> 00:07:18,780 pa sèlman fè agiman yo ak sa yo ki fonksyon jwenn pouse sou chemine a, 169 00:07:18,780 --> 00:07:22,470 pa sèlman fè lokal fonksyon an nan varyab jwenn pouse sou chemine a, 170 00:07:22,470 --> 00:07:26,820 yon bagay yo rele yon adrès retou tou vin mete sou chemine a. 171 00:07:26,820 --> 00:07:33,330 Espesyalman, si apèl prensipal foo, nan prensipal pwòp adrès nan memwa, bèf yon bagay, 172 00:07:33,330 --> 00:07:38,240 efektivman vin mete sou chemine a se konsa ke lè f se fè pwomenad li 173 00:07:38,240 --> 00:07:43,630 konnen ki kote yo so tounen nan nan tèks la segman nan lòd yo kontinye egzekite. 174 00:07:43,630 --> 00:07:47,760 >> Se konsa, si nou isit la concept, nan prensipal la, Lè sa a, f vin rele. 175 00:07:47,760 --> 00:07:50,200 Kouman f konnen ki moun ki nan kontwòl men tounen ankò? 176 00:07:50,200 --> 00:07:52,020 Oke, sa a ti kras myèt an wouj isit la, 177 00:07:52,020 --> 00:07:54,978 rele adrès la retounen, li jis chèk, sa sa adrès retou? 178 00:07:54,978 --> 00:07:57,039 Oh, kite m 'so tounen nan prensipal isit la. 179 00:07:57,039 --> 00:07:59,080 Epi sa a, yon ti kras nan yon Senplifikasyon, 180 00:07:59,080 --> 00:08:00,750 paske zewo yo ak moun yo pou prensipal yo se teknikman 181 00:08:00,750 --> 00:08:01,967 moute isit la nan segman nan teknoloji. 182 00:08:01,967 --> 00:08:03,800 Men, sa a lide la. f jis gen konnen ki sa 183 00:08:03,800 --> 00:08:06,680 nan kote kontwòl finalman ale tounen. 184 00:08:06,680 --> 00:08:09,790 >> Men, òdinatè yo fason gen lontan yo mete deyò bagay sa yo 185 00:08:09,790 --> 00:08:12,320 tankou varyab lokal ak agiman se tankou sa a. 186 00:08:12,320 --> 00:08:17,180 Se konsa, nan tèt la nan foto sa a nan ble se ankadreman an pil pou f, se konsa tout 187 00:08:17,180 --> 00:08:19,630 nan memwa nan ki f espesyalman lè l sèvi avèk se. 188 00:08:19,630 --> 00:08:22,990 Se konsa, kòmsadwa, remake ke bar se nan foto sa a. 189 00:08:22,990 --> 00:08:23,980 Bar te agiman li yo. 190 00:08:23,980 --> 00:08:27,240 Epi nou te deklare ke agiman fonksyon jwenn pouse sou chemine a. 191 00:08:27,240 --> 00:08:29,910 Epi c, nan kou, se tou nan foto sa a. 192 00:08:29,910 --> 00:08:33,520 >> Ak jis pou rezon notation, remake nan kwen ki anwo a sou gòch-men 193 00:08:33,520 --> 00:08:37,020 se sa ki ta c bracket 0 ak Lè sa a, yon ti kras desann a dwat a 194 00:08:37,020 --> 00:08:38,220 se c bracket 11. 195 00:08:38,220 --> 00:08:41,240 Se konsa, nan lòt mo, ou ka imajine ke gen nan yon griy nan bytes 196 00:08:41,240 --> 00:08:44,380 gen, premye a ki se gòch anwo, anba nan yo ki 197 00:08:44,380 --> 00:08:48,360 se dènye a nan tout sa yo 12 bytes. 198 00:08:48,360 --> 00:08:49,930 >> Men koulye a, eseye fè jèn pou pi devan. 199 00:08:49,930 --> 00:08:55,580 Ki sa ki se sou yo rive si nou pase nan yon bar fisèl sa a, se pi long pase c? 200 00:08:55,580 --> 00:08:59,130 Epi nou pa ap tcheke si li nan tout bon pi lontan pase 12. 201 00:08:59,130 --> 00:09:03,146 Ki pati nan foto sa a ki pral jwenn ranplase pa bytes 0, 1, 2, 3, 202 00:09:03,146 --> 00:09:07,890 dot dot dot, 11, ak Lè sa a, move, 12, 13 a 19? 203 00:09:07,890 --> 00:09:11,820 Ki sa ki nan pral rive isit la, si ou dégager soti nan kòmann-nan nan 204 00:09:11,820 --> 00:09:14,790 ki c bracket 0 se sou tèt la epi c bracket 11 se sòt de desann 205 00:09:14,790 --> 00:09:15,812 a dwat a? 206 00:09:15,812 --> 00:09:16,796 Yeah? 207 00:09:16,796 --> 00:09:19,260 >> ODYANS: Oke, li la pral recouvrir ba a * Char. 208 00:09:19,260 --> 00:09:22,260 >> DAVID J. Malan: Yeah, li sanble w ap ale nan recouvrir Char bar *. 209 00:09:22,260 --> 00:09:26,245 Ak pi mal, si ou voye nan yon reyèlman long fisèl, ou ta ka menm recouvrir ki sa? 210 00:09:26,245 --> 00:09:27,460 211 00:09:27,460 --> 00:09:28,570 Retounen adrès la. 212 00:09:28,570 --> 00:09:31,380 Ki ankò, se jis tankou yon myèt di pwogram nan kote 213 00:09:31,380 --> 00:09:34,060 pou tounen nan lè f se fè ke yo te rele. 214 00:09:34,060 --> 00:09:37,140 >> Se konsa, sa nèg move tipikman fè se si yo vini nan tout yon pwogram 215 00:09:37,140 --> 00:09:41,290 yo ke yo ap kirye si se lezot, buggy nan yon fason 216 00:09:41,290 --> 00:09:43,550 ke li oswa li ka pran avantaj de ki ensèk, 217 00:09:43,550 --> 00:09:45,720 jeneralman yo pa jwenn dwa sa-a premye fwa. 218 00:09:45,720 --> 00:09:48,590 Yo jis kòmanse voye, pou egzanp, strings o aza nan pwogram ou an, 219 00:09:48,590 --> 00:09:50,260 si wi ou non nan klavye a, oswa franchman yo pwobableman 220 00:09:50,260 --> 00:09:52,740 ekri yon pwogram ti kras nan jis otomatikman jenere strings, 221 00:09:52,740 --> 00:09:55,430 epi yo kòmanse frape sou pwogram ou an pa voye nan anpil nan entrain diferan 222 00:09:55,430 --> 00:09:56,340 nan longè diferan. 223 00:09:56,340 --> 00:09:58,990 >> Le pli vit ke aksidan pwogram ou an, sa a, se yon bagay dwòl. 224 00:09:58,990 --> 00:10:01,020 Paske sa vle di li te oswa li te dekouvri 225 00:10:01,020 --> 00:10:02,660 ki sa ki pwobableman tout bon yon ensèk. 226 00:10:02,660 --> 00:10:05,830 Lè sa a, yo ka jwenn plis entelijan epi yo kòmanse konsantre plis etwatman 227 00:10:05,830 --> 00:10:07,420 sou kòman yo esplwate ki ensèk. 228 00:10:07,420 --> 00:10:11,480 An patikilye, sa li oswa li ta ka fè se voye, nan ka ki pi bon, hello. 229 00:10:11,480 --> 00:10:12,210 Pa gen kontra gwo. 230 00:10:12,210 --> 00:10:14,750 Li se yon fisèl sa a, se ase kout. 231 00:10:14,750 --> 00:10:18,100 Men, sa ki si li voye, epi nou pral jeneralizasyon li kòm, 232 00:10:18,100 --> 00:10:20,890 atak code-- konsa zewo ak moun yo ki fè bagay sa yo 233 00:10:20,890 --> 00:10:25,150 tankou rm-rf, ki retire tout bagay soti nan kondwi a difisil oswa voye Spam 234 00:10:25,150 --> 00:10:27,000 oswa yon jan kanmenm atake machin nan? 235 00:10:27,000 --> 00:10:29,570 >> Se konsa, si chak nan sa yo lèt A jis reprezante, 236 00:10:29,570 --> 00:10:32,380 concept, atak, atak, atak, atak, kèk kòd move 237 00:10:32,380 --> 00:10:36,410 ke yon lòt moun te ekri, men si moun sa a se entelijan ase 238 00:10:36,410 --> 00:10:40,790 pa sèlman gen ladan tout nan tout sa yo rm-RFs, men tou, 239 00:10:40,790 --> 00:10:46,100 gen dènye bytes kèk li oswa li gen yon nimewo ki koresponn 240 00:10:46,100 --> 00:10:50,540 nan adrès ki nan l ' oswa pwòp Kòd atak l ' 241 00:10:50,540 --> 00:10:53,820 ke li oswa li te pase nan jis lè yo bay li nan èd memwa a, 242 00:10:53,820 --> 00:10:58,760 ou ka efektivman je chèch òdinatè a nan remarke lè f se fè egzekite, 243 00:10:58,760 --> 00:11:02,400 oh, li lè pou m 'so tounen nan adrès ki retounen wouj. 244 00:11:02,400 --> 00:11:06,070 Men, paske se li oswa li te gen yon jan kanmenm anpyete ki adrès retou 245 00:11:06,070 --> 00:11:09,602 avèk nimewo pwòp yo, e yo ap entelijan ase 246 00:11:09,602 --> 00:11:11,560 yo te configuré ki Nimewo yo, al gade, jan ou 247 00:11:11,560 --> 00:11:13,740 wè nan tèt la super kwen gòch-men gen, 248 00:11:13,740 --> 00:11:18,020 adrès aktyèl la nan la nan òdinatè memwa nan kèk nan Kòd atak yo, 249 00:11:18,020 --> 00:11:21,740 yon nèg move ka je chèch òdinatè a nan egzekite Kòd li oswa li pwòp. 250 00:11:21,740 --> 00:11:23,700 >> Epi sa Kòd, ankò, ka anyen. 251 00:11:23,700 --> 00:11:26,120 Li nan jeneralman yo rele koki Kòd, ki se jis 252 00:11:26,120 --> 00:11:29,030 yon fason pou di ke li pa jeneralman yon bagay kòm senp tankou rm-RF. 253 00:11:29,030 --> 00:11:32,340 Li la aktyèlman yon bagay tankou bach, oswa yon pwogram aktyèl ki ba l ' 254 00:11:32,340 --> 00:11:37,230 oswa kontwòl pwogramatik li yo egzekite nenpòt lòt bagay ke yo vle. 255 00:11:37,230 --> 00:11:40,210 Se konsa, nan kout, sa a tout proceed soti nan reyalite a senp 256 00:11:40,210 --> 00:11:44,490 ke sa a ensèk ki enplike pa tcheke limit yo nan etalaj ou. 257 00:11:44,490 --> 00:11:47,250 Epi paske wout la òdinatè travay se yo ke yo 258 00:11:47,250 --> 00:11:49,430 sèvi ak chemine a soti nan efektivman, Concept, 259 00:11:49,430 --> 00:11:54,830 anba sou moute, men Lè sa a, eleman yo ou pouse sou chemine a grandi tèt anba, 260 00:11:54,830 --> 00:11:56,624 sa a se ekstrèmman Pwoblematik. 261 00:11:56,624 --> 00:11:58,290 Koulye a, gen fason yo travay alantou sa a. 262 00:11:58,290 --> 00:12:00,800 Ak franchman, gen lang ak ki travay alantou sa a. 263 00:12:00,800 --> 00:12:03,100 Java se iminitè a, pou egzanp, nan pwoblèm sa a an patikilye. 264 00:12:03,100 --> 00:12:04,110 Paske yo pa ba ou endikasyon. 265 00:12:04,110 --> 00:12:05,943 Yo pa ba ou adrès memwa dirèk. 266 00:12:05,943 --> 00:12:08,560 Se konsa, avèk pouvwa sa a ke nou gen manyen anyen nan memwa 267 00:12:08,560 --> 00:12:11,580 nou vle vini, Byensir, gwo risk. 268 00:12:11,580 --> 00:12:12,430 >> Se konsa, kenbe yon grenn je deyò. 269 00:12:12,430 --> 00:12:14,596 Si, franchman, nan mwa kap oswa ane k ap vini, nenpòt lè 270 00:12:14,596 --> 00:12:17,740 w ap li sou kèk eksplwatasyon nan yon pwogram oswa yon sèvè, 271 00:12:17,740 --> 00:12:22,370 si ou te janm wè yon allusion nan yon bagay tankou yon atak debòde tanpon, 272 00:12:22,370 --> 00:12:25,390 oswa chemine debòde yon lòt kalite nan atak, menm jan an nan lespri, 273 00:12:25,390 --> 00:12:28,770 anpil jan enspire nan a sou sit wèb non, si ou konnen li, 274 00:12:28,770 --> 00:12:33,170 li nan tout pale de jis debòde gwosè a nan kèk karaktè 275 00:12:33,170 --> 00:12:36,200 etalaj oswa kèk etalaj plis jeneralman. 276 00:12:36,200 --> 00:12:38,822 Nenpòt kesyon, Lè sa a, sou sa a? 277 00:12:38,822 --> 00:12:39,780 Pa eseye sa a lakay yo. 278 00:12:39,780 --> 00:12:41,620 279 00:12:41,620 --> 00:12:42,300 >> Tout dwa. 280 00:12:42,300 --> 00:12:47,270 Se konsa, malok konsa byen lwen te gen nouvo nou an zanmi nan ke nou ka asiyen memwa 281 00:12:47,270 --> 00:12:50,540 ke nou pa nesesèman konnen nan avanse ke nou vle pou nou pa gen 282 00:12:50,540 --> 00:12:52,920 Kòd difisil nan nou an nimewo pwogram tankou 12. 283 00:12:52,920 --> 00:12:55,550 Yon fwa itilizatè a di nou konbyen lajan done li oswa li te vle D ', 284 00:12:55,550 --> 00:12:58,000 nou ka malok ke memwa anpil. 285 00:12:58,000 --> 00:13:01,484 >> Se konsa, malok li vire soti, nan limit nou ve yo te lè l sèvi avèk li, 286 00:13:01,484 --> 00:13:03,900 klèman dènye fwa, ak Lè sa a, ou nèg yo te lè l sèvi avèk li 287 00:13:03,900 --> 00:13:08,160 pou getstring enkonsyaman pou plizyè semèn, tout nan memwa malok a 288 00:13:08,160 --> 00:13:09,820 soti nan pil wòch la sa yo rele. 289 00:13:09,820 --> 00:13:13,852 Lè sa a se poukisa getstring, pou egzanp, ka asiyen memwa dynamique 290 00:13:13,852 --> 00:13:16,060 san yo pa konnen sa w ap pral tape an avanse, 291 00:13:16,060 --> 00:13:21,520 men ou tounen yon konsèy nan ki memwa, e ke memwa se toujou ou epi ou kapab kenbe, 292 00:13:21,520 --> 00:13:24,080 menm apre getstring retounen. 293 00:13:24,080 --> 00:13:27,450 Paske sonje apre tout sa ki nan chemine se toujou ap monte e desann, 294 00:13:27,450 --> 00:13:27,950 leve, li desann. 295 00:13:27,950 --> 00:13:30,230 Ak le pli vit ke li ale desann, sa vle di nenpòt memwa 296 00:13:30,230 --> 00:13:33,030 fonksyon sa a itilize yo ta dwe pa kapab itilize pa nenpòt lòt moun. 297 00:13:33,030 --> 00:13:34,570 Li nan valè fatra kounye a. 298 00:13:34,570 --> 00:13:36,120 >> Men, pil wòch la se leve isit la. 299 00:13:36,120 --> 00:13:39,360 Ak sa ki nan bèl sou malok se ke lè malok repati memwa moute isit la, 300 00:13:39,360 --> 00:13:42,070 li pa nan afekte, pou la pi pati, pa chemine a. 301 00:13:42,070 --> 00:13:46,000 Se konsa, nenpòt ki fonksyon kapab jwenn aksè nan memwa ki te malloc'd, 302 00:13:46,000 --> 00:13:49,120 menm pa yon fonksyon tankou getstring, menm apre li se retounen. 303 00:13:49,120 --> 00:13:51,700 >> Koulye a, konvès la nan malok se gratis. 304 00:13:51,700 --> 00:13:53,900 Ak tout bon, règ la ou bezwen kòmanse adopte 305 00:13:53,900 --> 00:13:58,950 se nenpòt, nenpòt, nenpòt ki lè ou itilize malok ou dwe tèt ou itilize gratis, evantyèlman, 306 00:13:58,950 --> 00:14:00,280 sou ki konsèy menm. 307 00:14:00,280 --> 00:14:03,289 Tout tan sa a nou te ekri buggy, kòd buggy, pou plizyè rezon. 308 00:14:03,289 --> 00:14:05,580 Men, yonn nan ki te gen lè l sèvi avèk bibliyotèk la CS50, ki 309 00:14:05,580 --> 00:14:09,010 tèt li se fè espre buggy, li fwit memwa. 310 00:14:09,010 --> 00:14:11,410 Nenpòt ki lè ou te rele getstring sou semèn ki sot pase yo kèk 311 00:14:11,410 --> 00:14:13,870 nou ap mande opere nan sistèm, Linux, pou memwa. 312 00:14:13,870 --> 00:14:15,780 Epi ou pa janm gen yon lòt fwa bay l 'tounen. 313 00:14:15,780 --> 00:14:17,730 Lè sa a se pa, nan pratike, yon bon bagay. 314 00:14:17,730 --> 00:14:20,330 >> Epi Valgrind, youn nan la zouti prezante nan Pset 4, 315 00:14:20,330 --> 00:14:22,900 se tout sou ede ou kounye a jwenn pinèz tankou sa. 316 00:14:22,900 --> 00:14:27,060 Men, Erezman pou Pset 4 ou pa bezwen yo sèvi ak bibliyotèk la CS50 oswa getstring. 317 00:14:27,060 --> 00:14:31,220 Se konsa, nenpòt pinèz ki gen rapò ak memwa yo finalman pral fè pwòp ou yo. 318 00:14:31,220 --> 00:14:34,060 >> Se konsa, malok se pi plis pase jis bon pou objektif sa a. 319 00:14:34,060 --> 00:14:37,420 Nou ka aktyèlman kounye a rezoud pwoblèm fondamantalman diferan, 320 00:14:37,420 --> 00:14:41,640 e fondamantalman rezoud pwoblèm plis efektivman tankou pou chak pwomès semèn zewo a. 321 00:14:41,640 --> 00:14:44,720 Se konsa, lwen sa a se sèksi la estrikti done nou te gen. 322 00:14:44,720 --> 00:14:47,804 Ak pa estrikti done Mwen jis vle di yon fason pou konsèptualize memwa 323 00:14:47,804 --> 00:14:50,720 nan yon fason ki ale pi lwen pase jis di, sa a se yon int, sa a se yon Char. 324 00:14:50,720 --> 00:14:52,930 Nou ka kòmanse nan bagay sa yo grap yo ansanm. 325 00:14:52,930 --> 00:14:54,460 >> Se konsa, yon etalaj te sanble ak sa a. 326 00:14:54,460 --> 00:14:57,270 Ak sa ki te kle nan sou yon etalaj se ke li ba ou 327 00:14:57,270 --> 00:14:59,724 do-a-tounen fragman nan memwa, chak nan yo ki 328 00:14:59,724 --> 00:15:02,765 a pwal nan kalite la menm, Int, Int, Int, Int, oswa Char, Char, Char, 329 00:15:02,765 --> 00:15:03,330 Char. 330 00:15:03,330 --> 00:15:04,496 Men, gen nan yon enkonvenyans kèk. 331 00:15:04,496 --> 00:15:06,570 Sa a pou egzanp, se yon etalaj de gwosè sis. 332 00:15:06,570 --> 00:15:10,650 Sipoze ou ranpli sa a etalaj ak sis nimewo ak lè sa a, pou kèlkeswa rezon, 333 00:15:10,650 --> 00:15:13,187 itilizatè ou vle bay ou yon setyèm nimewo. 334 00:15:13,187 --> 00:15:14,020 Ki kote ou mete l '? 335 00:15:14,020 --> 00:15:15,490 336 00:15:15,490 --> 00:15:18,990 >> Ki sa ki nan solisyon an si ou gen kreye yon etalaj sou chemine a, 337 00:15:18,990 --> 00:15:22,030 pou egzanp, jis ak semèn nan de notasyon ke nou prezante, 338 00:15:22,030 --> 00:15:23,730 nan parantèz kare ak yon kantite andedan? 339 00:15:23,730 --> 00:15:25,160 340 00:15:25,160 --> 00:15:27,260 Oke, ou te gen sis nimewo nan bwat sa yo. 341 00:15:27,260 --> 00:15:28,530 Ki sa ki ta ensten ou ta dwe ye? 342 00:15:28,530 --> 00:15:29,973 Ki kote ou ta vle mete li? 343 00:15:29,973 --> 00:15:30,860 >> ODYANS: [fèbl] 344 00:15:30,860 --> 00:15:31,315 >> DAVID J. Malan: Padon? 345 00:15:31,315 --> 00:15:32,380 >> ODYANS: Mete l 'sou fen an. 346 00:15:32,380 --> 00:15:33,796 >> DAVID J. Malan: Mete l 'sou fen an. 347 00:15:33,796 --> 00:15:35,880 Se konsa, jis plis pase a dwat la, deyò nan bwat sa a. 348 00:15:35,880 --> 00:15:38,710 Ki ta dwe nice, men li vire soti ou pa ka fè sa. 349 00:15:38,710 --> 00:15:41,350 Paske si ou pa te mande pou sa a ti moso nan memwa, 350 00:15:41,350 --> 00:15:44,490 li te kapab fè pa konyensidans ke sa a se ke yo te itilize pa kèk lòt varyab 351 00:15:44,490 --> 00:15:45,030 tout ansanm. 352 00:15:45,030 --> 00:15:49,210 Panse tounen yon semenn oswa Se konsa, lè nou mete soti Zamyla ak Davin ak Gabe nan non 353 00:15:49,210 --> 00:15:49,930 nan memwa. 354 00:15:49,930 --> 00:15:51,638 Yo te literalman tounen nan tounen nan tounen. 355 00:15:51,638 --> 00:15:53,550 Se konsa, nou pa kapab nesesèman konfyans ke kèlkeswa sa a 356 00:15:53,550 --> 00:15:55,800 sou isit la ki disponib pou mwen pou m sèvi ak. 357 00:15:55,800 --> 00:15:56,990 >> Se konsa, ki lòt bagay ou ta ka fè? 358 00:15:56,990 --> 00:16:00,282 Oke, yon fwa ka akonpli ou bezwen yon etalaj de gwosè sèt, 359 00:16:00,282 --> 00:16:02,490 ou ta ka jis kreye yon etalaj de gwosè sèt Lè sa a, sèvi ak 360 00:16:02,490 --> 00:16:05,950 yon riban pou oswa yon riban pandan y ap, kopi li nan etalaj nan nouvo, 361 00:16:05,950 --> 00:16:09,680 ak Lè sa a yon jan kanmenm jis debarase m de sa a etalaj oswa jis sispann lè l sèvi avèk li. 362 00:16:09,680 --> 00:16:12,130 Men, sa a pa patikilyèman efikas. 363 00:16:12,130 --> 00:16:15,340 Nan ti bout tan, ranje pa kite ou dynamique rdimansyonman. 364 00:16:15,340 --> 00:16:17,900 >> Se konsa, sou men nan yon sèl ou jwenn aksè o aza, ki se dwòl. 365 00:16:17,900 --> 00:16:20,108 Paske li pèmèt nou fè bagay sa yo tankou separe ak konkeri, 366 00:16:20,108 --> 00:16:23,100 rechèch binè, nan tout ki nou te te pale osijè de sou ekran an isit la. 367 00:16:23,100 --> 00:16:24,950 Men, ou penti tèt ou nan yon kwen. 368 00:16:24,950 --> 00:16:27,810 Osito ke ou frape nan fen etalaj ou, 369 00:16:27,810 --> 00:16:29,980 sa ou dwe fè yon trè chè operasyon 370 00:16:29,980 --> 00:16:33,910 oswa ekri yon pakèt antye nan Kòd kounye a fè fas ak pwoblèm sa. 371 00:16:33,910 --> 00:16:36,680 >> Se konsa, sa si olye pou nou te gen yon bagay yo rele yon lis, 372 00:16:36,680 --> 00:16:38,820 oswa yon lye lis an patikilye? 373 00:16:38,820 --> 00:16:41,930 E si olye pou yo gen rektang bak nan do nan do, 374 00:16:41,930 --> 00:16:45,730 nou gen rektang ki kite yon ti kras ti jan nan chanm jwe nan ant yo? 375 00:16:45,730 --> 00:16:49,670 E menm si mwen te trase sa a foto oswa adapte foto sa a 376 00:16:49,670 --> 00:16:54,696 nan youn nan tèks yo isit la yo dwe tounen nan tounen nan tounen trè lòd, an reyalite, 377 00:16:54,696 --> 00:16:56,820 youn nan moun ki rektang ta ka moute isit la nan memwa. 378 00:16:56,820 --> 00:16:58,028 Youn nan yo ta ka moute isit la. 379 00:16:58,028 --> 00:17:00,420 Youn nan yo ta ka moute isit la, sou isit la, ak pou fè. 380 00:17:00,420 --> 00:17:02,910 >> Men, sa ki si nou te trase, nan ka sa a, flèch 381 00:17:02,910 --> 00:17:05,650 ki yon jan kanmenm lyen sa yo rektang ansanm? 382 00:17:05,650 --> 00:17:08,170 Vreman vre, nou te wè yon teknik enkarnasyon nan yon flèch. 383 00:17:08,170 --> 00:17:09,839 384 00:17:09,839 --> 00:17:13,710 Kisa nou yo itilize nan sot pase jou sa a, anba kapo a, 385 00:17:13,710 --> 00:17:15,210 se reprezantan nan yon flèch? 386 00:17:15,210 --> 00:17:16,290 387 00:17:16,290 --> 00:17:17,349 Yon konsèy, dwa? 388 00:17:17,349 --> 00:17:19,780 >> Se konsa, sa si, olye pou yo jis estoke nimewo yo, 389 00:17:19,780 --> 00:17:23,130 tankou 9, 17, 22, 26, 34, sa ki si nou ki estoke pa 390 00:17:23,130 --> 00:17:27,079 sèlman yon kantite men yon konsèy pwochen youn ak nimewo sa yo? 391 00:17:27,079 --> 00:17:30,690 Se konsa, ki anpil tankou ou ta fil yon zegwi nan yon pakèt antye nan twal, 392 00:17:30,690 --> 00:17:32,950 bagay sa yo yon jan kanmenm mare ansanm, Menm jan an tou kapab 393 00:17:32,950 --> 00:17:35,550 nou ak endikasyon, kòm incarne pa flèch isit la, 394 00:17:35,550 --> 00:17:38,550 kalite mare ansanm sa yo rektang endividyèl 395 00:17:38,550 --> 00:17:41,780 pa efektivman lè l sèvi avèk yon konsèy pwochen youn ak nimewo ki 396 00:17:41,780 --> 00:17:46,065 pwen nan kèk nimewo kap vini an, ki pwen nan, nan vire, kèk nimewo vin apre a? 397 00:17:46,065 --> 00:17:47,940 Se konsa, nan lòt mo, ki sa si nou aktyèlman te vle 398 00:17:47,940 --> 00:17:49,820 aplike yon bagay tankou sa a? 399 00:17:49,820 --> 00:17:53,610 Oke malerezman, rektang sa yo, omwen youn nan ak 9, 17, 22, 400 00:17:53,610 --> 00:17:57,040 ak pou fè, sa yo, se pa gen okenn ankò bèl kare ak nimewo sèl. 401 00:17:57,040 --> 00:17:59,960 Anba, rektang lan anba a 9, pou egzanp, 402 00:17:59,960 --> 00:18:04,330 reprezante sa yo ta dwe gen yon konsèy, 32 miyèt moso. 403 00:18:04,330 --> 00:18:09,460 Koulye a, mwen se pa ankò okouran de nenpòt kalite done nan C ki ba ou pa sèlman yon int 404 00:18:09,460 --> 00:18:11,630 men yon konsèy tout ansanm. 405 00:18:11,630 --> 00:18:15,020 >> Se konsa, sa ki nan solisyon an si nou vle envante pwòp repons nou yo sa a? 406 00:18:15,020 --> 00:18:15,760 Yeah? 407 00:18:15,760 --> 00:18:16,640 >> ODYANS: [fèbl] 408 00:18:16,640 --> 00:18:17,360 >> DAVID J. Malan: Ki sa ki nan sa? 409 00:18:17,360 --> 00:18:17,880 >> ODYANS: New estrikti. 410 00:18:17,880 --> 00:18:19,590 >> DAVID J. Malan: Yeah, se konsa poukisa nou pa nou kreye yon estrikti nouvo, 411 00:18:19,590 --> 00:18:20,920 oswa nan C, yon konstri? 412 00:18:20,920 --> 00:18:25,990 Nou te wè strukt anvan, si yon ti tan, kote nou te fè fas ak yon estrikti elèv 413 00:18:25,990 --> 00:18:27,780 tankou sa a, ki te gen yon non ak yon kay. 414 00:18:27,780 --> 00:18:31,980 Nan Pset 3 levasyon ou te itilize yon antye pakèt moun sou structs-- GRect ak GOvals 415 00:18:31,980 --> 00:18:34,810 ki Stanford kreye yo gwoup enfòmasyon ansanm. 416 00:18:34,810 --> 00:18:38,580 Se konsa, sa si nou pran ide sa a menm nan mo kle sa yo "tipedèf" ak "konstri," 417 00:18:38,580 --> 00:18:42,890 ak Lè sa a kèk bagay elèv-espesifik, ak evolye sa a nan bagay sa yo: 418 00:18:42,890 --> 00:18:46,210 tipedèf konstri node-- ak ne se jis yon syans òdinatè trè jenerik 419 00:18:46,210 --> 00:18:49,980 tèm pou yon bagay nan yon estrikti done, yon veso ki nan yon estrikti done. 420 00:18:49,980 --> 00:18:53,900 Yon ne mwen reklame ki pral gen yon n Int, totalman dwat, 421 00:18:53,900 --> 00:18:58,810 ak Lè sa a yon ti kras plis cryptically, liy sa a dezyèm lan, struct ne * vini an. 422 00:18:58,810 --> 00:19:01,300 Men, nan mwens tèm teknik, ki sa ki ke liy dezyèm 423 00:19:01,300 --> 00:19:02,980 nan kòd andedan aparèy òtopedik yo Curly? 424 00:19:02,980 --> 00:19:03,737 Yeah? 425 00:19:03,737 --> 00:19:04,851 >> ODYANS: [fèbl] 426 00:19:04,851 --> 00:19:06,600 DAVID J. Malan: Yon konsèy nan yon lòt ne. 427 00:19:06,600 --> 00:19:09,910 Se konsa, Byensir, sentaks yon ti kras skre. 428 00:19:09,910 --> 00:19:13,250 Men, si ou li li l 'literalman, pwochen se non an nan yon varyab. 429 00:19:13,250 --> 00:19:14,410 Ki sa ki kalite done li yo? 430 00:19:14,410 --> 00:19:18,206 Li se yon ti kras sil tan sa a, men li la nan kalite struct ne *. 431 00:19:18,206 --> 00:19:22,960 Nenpòt ki lè nou te wè zetwal yon bagay, ki vle di li nan yon konsèy ak sa yo ki kalite done. 432 00:19:22,960 --> 00:19:26,810 Se konsa, pwochen se aparamman yon konsèy nan yon ne konstri. 433 00:19:26,810 --> 00:19:28,310 >> Koulye a, ki sa ki yon ne struct? 434 00:19:28,310 --> 00:19:31,044 Oke, remake ou wè sa yo mo menm nan tèt dwat. 435 00:19:31,044 --> 00:19:33,960 Ak tout bon, nou menm tou nou wè pawòl Bondye a "Ne" desann isit la sou bò gòch la anba. 436 00:19:33,960 --> 00:19:35,640 Lè sa a se aktyèlman jis yon konvenyans. 437 00:19:35,640 --> 00:19:39,930 Remake nan definisyon elèv nou gen nan pawòl Bondye a "elèv" yon sèl fwa. 438 00:19:39,930 --> 00:19:42,510 Epi sa a, paske yon elèv objè pa t 'pwòp tèt ou-referansyèl. 439 00:19:42,510 --> 00:19:45,340 Pa gen anyen andedan nan yon elèv ki bezwen yo lonje dwèt sou yon lòt elèv, 440 00:19:45,340 --> 00:19:45,610 persay. 441 00:19:45,610 --> 00:19:47,630 Ki ta ka sòt de etranj nan mond lan reyèl. 442 00:19:47,630 --> 00:19:50,880 >> Men, avèk yon ne nan yon lye lis, nou fè vle yon ne 443 00:19:50,880 --> 00:19:53,970 yo dwe referansyèl nan yon objè menm jan an. 444 00:19:53,970 --> 00:19:57,900 Se konsa, remake chanjman nan isit la se pa jis sa ki andedan aparèy òtopedik yo Curly. 445 00:19:57,900 --> 00:20:00,800 Men, nou ajoute pawòl Bondye a "ne" nan tèt la kòm byen ke 446 00:20:00,800 --> 00:20:02,930 ajoute li nan pati anba a nan plas "elèv yo." 447 00:20:02,930 --> 00:20:06,000 Lè sa a se sèlman yon ti detay teknik se konsa ke, ankò, estrikti done ou 448 00:20:06,000 --> 00:20:11,380 kapab pwòp tèt ou-referansyèl, se konsa ke yon ne ka lonje dwèt sou yon lòt ne sa yo. 449 00:20:11,380 --> 00:20:13,840 >> Se konsa, sa se sa a finalman pral vle di pou nou? 450 00:20:13,840 --> 00:20:17,560 Oke, yon sèl, sa a bagay andedan se sa ki nan ne nou an. 451 00:20:17,560 --> 00:20:19,360 Bagay sa a moute isit la, tèt dwat, se jis pou 452 00:20:19,360 --> 00:20:20,860 ki, ankò, nou ka al gade nan tèt nou. 453 00:20:20,860 --> 00:20:23,401 Lè sa a, bagay la eksteryè, menm si ne se yon tèm nouvo, 454 00:20:23,401 --> 00:20:25,500 petèt, li la toujou nan menm jan ak elèv yo ak sa ki 455 00:20:25,500 --> 00:20:27,520 te anba kapo a nan spl. 456 00:20:27,520 --> 00:20:31,095 >> Se konsa, si nou kounye a te vle kòmanse mete ann aplikasyon lis sa a lye, 457 00:20:31,095 --> 00:20:33,220 ki jan ta ka nou tradui yon bagay tankou sa nan kòd? 458 00:20:33,220 --> 00:20:35,350 Oke, kite la jis wè yon egzanp nan yon pwogram ki 459 00:20:35,350 --> 00:20:36,840 aktyèlman sèvi ak yon lis lye. 460 00:20:36,840 --> 00:20:40,870 Pami kòd distribisyon jodi a se yon pwogram ki rele Lis Zewo. 461 00:20:40,870 --> 00:20:44,980 Men, si mwen kouri sa a mwen te kreye yon super senp entèfas, Grafik koòdone itilizatè, 462 00:20:44,980 --> 00:20:46,460 men li la vrèman jis printf. 463 00:20:46,460 --> 00:20:50,930 Epi, koulye a mwen te bay tèt mwen yon meni kèk options-- efase, Antre, Search, 464 00:20:50,930 --> 00:20:51,750 ak Traverse. 465 00:20:51,750 --> 00:20:52,630 Ak kite fimen. 466 00:20:52,630 --> 00:20:55,970 Sa yo se operasyon jis komen sou yon estrikti done ke yo rekonèt kòm yon lis lyen. 467 00:20:55,970 --> 00:20:58,409 >> Koulye a, efase ki pral efase yon nimewo nan lis la. 468 00:20:58,409 --> 00:21:00,200 Antre nan ale nan ajoute yon nimewo nan lis la. 469 00:21:00,200 --> 00:21:02,181 Search ki pral gade pou yon nimewo pou nan lis la. 470 00:21:02,181 --> 00:21:04,930 Ak Traverse se jis yon fason anpenpan pou li di, mache nan lis la, 471 00:21:04,930 --> 00:21:06,245 enprime li, men sa a li. 472 00:21:06,245 --> 00:21:07,720 pa chanje li nan okenn fason. 473 00:21:07,720 --> 00:21:08,570 >> Se konsa, kite a eseye sa a. 474 00:21:08,570 --> 00:21:10,160 Ann al pi devan epi tape 2. 475 00:21:10,160 --> 00:21:12,710 Lè sa a, mwen pral insert nimewo a, di 9. 476 00:21:12,710 --> 00:21:13,620 Antre nan. 477 00:21:13,620 --> 00:21:17,480 Epi, koulye a pwogram mwen an se jis pwograme yo di, lis se kounye a 9. 478 00:21:17,480 --> 00:21:20,190 Koulye a, si m 'ale pi devan epi Antre ankò, se pou 479 00:21:20,190 --> 00:21:23,680 m 'ale pi devan epi rale soti ak kalite nan 17. 480 00:21:23,680 --> 00:21:25,770 Koulye a, lis mwen an se 9, lè sa a 17. 481 00:21:25,770 --> 00:21:27,750 Si m 'fè insert ankò, se pou yo sote yon sèl. 482 00:21:27,750 --> 00:21:32,400 Olye pou yo 22, tankou pou chak foto a nou te te gade nan isit la, kite m 'so devan yo 483 00:21:32,400 --> 00:21:34,630 ak insert 26 pwochen an. 484 00:21:34,630 --> 00:21:36,230 Se konsa, mwen pral tape 26. 485 00:21:36,230 --> 00:21:37,755 Lis la se jan mwen espere. 486 00:21:37,755 --> 00:21:40,630 Men, kounye a, jis yo wè si sa a kòd a pwal fleksib, kite m 'kounye a 487 00:21:40,630 --> 00:21:43,520 kalite 22, ki omwen concept, si nou ap 488 00:21:43,520 --> 00:21:46,520 Kenbe sa a Ranje, ki se tout bon pral fè yon lòt objektif kounye a, 489 00:21:46,520 --> 00:21:48,690 ta dwe ale nan ant 17 ak 26. 490 00:21:48,690 --> 00:21:50,270 Se konsa, mwen frape Mete. 491 00:21:50,270 --> 00:21:51,380 Vreman vre, ki travay. 492 00:21:51,380 --> 00:21:54,950 Se konsa, kounye a kite m 'insert nan pase a, pou chak foto a, 34. 493 00:21:54,950 --> 00:21:55,450 >> Tout dwa. 494 00:21:55,450 --> 00:21:58,980 Se konsa, pou kounye a, kite m 'ladann ki Efase ak Traverse ak Search fè, 495 00:21:58,980 --> 00:21:59,760 an reyalite, travay. 496 00:21:59,760 --> 00:22:04,180 An reyalite, si mwen kouri Search, se pou yo rechèch pou yon nimewo pou la 22, Antre. 497 00:22:04,180 --> 00:22:05,010 Li te jwenn 22. 498 00:22:05,010 --> 00:22:07,580 Se konsa, ki se ki sa sa a pwogram Lis Zewo fè. 499 00:22:07,580 --> 00:22:10,230 >> Men, sa ki se aktyèlman ale sou ki aplike sa a? 500 00:22:10,230 --> 00:22:14,530 Oke, premye fwa mwen ta ka gen, ak tout bon Mwen gen, yon dosye rele list0.h. 501 00:22:14,530 --> 00:22:16,540 502 00:22:16,540 --> 00:22:20,690 Ak yon kote nan gen sa a liy, tipedèf, konstri ne, 503 00:22:20,690 --> 00:22:24,850 Lè sa a, mwen gen aparèy òtopedik Curly mwen, Int n, ak Lè sa a, struct-- sa ki te definisyon an? 504 00:22:24,850 --> 00:22:26,530 505 00:22:26,530 --> 00:22:28,545 Struct ne vini an. 506 00:22:28,545 --> 00:22:29,920 507 00:22:29,920 --> 00:22:31,045 Se konsa, nou bezwen etwal la. 508 00:22:31,045 --> 00:22:33,420 Koulye a, teknikman nou jwenn nan abitid la nan desen li isit la. 509 00:22:33,420 --> 00:22:35,670 Ou ta ka wè liv ak referans sou entènèt fè li a. 510 00:22:35,670 --> 00:22:36,660 Li nan fonksyonèl ekivalan. 511 00:22:36,660 --> 00:22:37,980 An reyalite, sa a se yon ti kras pi plis òdinè. 512 00:22:37,980 --> 00:22:40,563 Men, mwen pral dwe konsistan ak sa nou te fè dènye fwa epi fè sa. 513 00:22:40,563 --> 00:22:42,350 Lè sa a, alafen, mwen pral fè sa. 514 00:22:42,350 --> 00:22:45,550 >> Se konsa, nan yon dosye header yon kote, nan list0.h 515 00:22:45,550 --> 00:22:49,200 jodi a se definisyon konstri sa a, e petèt kèk bagay lòt. 516 00:22:49,200 --> 00:22:52,580 Pandan se tan nan list0c gen nan pral gen yon bagay kèk. 517 00:22:52,580 --> 00:22:54,740 Men, nou ap ale nan jis kòmanse epi yo pa fini sa a. 518 00:22:54,740 --> 00:22:59,690 List0.h se yon dosye mwen vle genyen ladan yo nan dosye mwen C. 519 00:22:59,690 --> 00:23:03,910 Lè sa a, nan kèk pwen mwen se ale nan gen Int, prensipal la, anile. 520 00:23:03,910 --> 00:23:06,530 Lè sa a, mwen pral gen kèk a-fè a isit la. 521 00:23:06,530 --> 00:23:10,620 Mwen tou pral gen yon pwototip, tankou anile, rechèch, Int, 522 00:23:10,620 --> 00:23:13,610 n, objektif ki gen nan lavi a se pou fè rechèch pou yon eleman. 523 00:23:13,610 --> 00:23:18,310 Lè sa a, desann isit la mwen reklame nan Kòd jodi a, anile, rechèch, Int, n, 524 00:23:18,310 --> 00:23:21,020 pa gen okenn virgules men louvri aparèy òtopedik Curly. 525 00:23:21,020 --> 00:23:25,049 Koulye a, mwen vle yon jan kanmenm rechèch pou yon eleman nan lis sa a. 526 00:23:25,049 --> 00:23:27,340 Men, nou pa gen ase enfòmasyon sou ekran an ankò. 527 00:23:27,340 --> 00:23:29,800 Mwen gen pa aktyèlman reprezante lis nan tèt li. 528 00:23:29,800 --> 00:23:33,070 Se konsa, yon fason nou te ka aplike yon lis lye nan yon pwogram 529 00:23:33,070 --> 00:23:37,520 se mwen kalite vle fè yon bagay tankou deklare lye lis moute isit la. 530 00:23:37,520 --> 00:23:40,520 Pou senplisite, mwen pral fè sa a mondyal, menm si nan nou jeneral 531 00:23:40,520 --> 00:23:41,645 pa ta dwe fè sa a twòp. 532 00:23:41,645 --> 00:23:43,260 Men, li va senplifye egzanp sa a. 533 00:23:43,260 --> 00:23:45,890 Se konsa, mwen vle deklare yon lis moute isit la lye. 534 00:23:45,890 --> 00:23:47,010 Koulye a, ki jan mwen ta ka fè sa? 535 00:23:47,010 --> 00:23:48,810 536 00:23:48,810 --> 00:23:50,750 >> Isit la nan foto a nan yon lis lye. 537 00:23:50,750 --> 00:23:53,030 Apre sa, mwen pa fè sa vrèman konnen nan moman sa a ki jan 538 00:23:53,030 --> 00:23:56,710 Mwen pral ale sou reprezante bagay sa yo anpil ak yon sèl jis 539 00:23:56,710 --> 00:23:58,040 varyab nan memwa. 540 00:23:58,040 --> 00:23:59,160 Men, panse tounen yon ti moman. 541 00:23:59,160 --> 00:24:00,830 Tout tan sa a nou te gen strings, ki nou Lè sa a, 542 00:24:00,830 --> 00:24:02,913 devwale yo dwe ranje nan karaktè, ki nou Lè sa a, 543 00:24:02,913 --> 00:24:05,740 devwale bay jis pou yon konsèy karaktè nan premye 544 00:24:05,740 --> 00:24:08,890 nan yon etalaj de karaktè ki nan nil sispann. 545 00:24:08,890 --> 00:24:13,530 Se konsa, pa ki lojik, epi ak sa a foto kalite ansmans panse ou, 546 00:24:13,530 --> 00:24:17,964 sa bezwen nou aktyèlman ekri nan nou an Kòd ki reprezante yon lis lye? 547 00:24:17,964 --> 00:24:21,130 Ki kantite nan enfòmasyon sa a nou bezwen pran nan C kòd, ou ta di? 548 00:24:21,130 --> 00:24:22,654 549 00:24:22,654 --> 00:24:23,154 Yeah? 550 00:24:23,154 --> 00:24:24,738 >> ODYANS: Nou bezwen yon konsèy nan yon ne. 551 00:24:24,738 --> 00:24:26,237 DAVID J. Malan: yon konsèy nan yon ne. 552 00:24:26,237 --> 00:24:29,320 An patikilye, ki ne ta ou ensten gen kenbe yon konsèy nan? 553 00:24:29,320 --> 00:24:30,026 >> ODYANS: ne an premye. 554 00:24:30,026 --> 00:24:31,942 >> DAVID J. Malan: Yeah, pwobableman jis premye a. 555 00:24:31,942 --> 00:24:34,030 Ak avi, premye a ne se yon fòm diferan. 556 00:24:34,030 --> 00:24:37,690 Li nan sèlman mwatye gwosè a nan konstri a, paske li nan tout bon sèlman yon konsèy. 557 00:24:37,690 --> 00:24:44,650 Se konsa, sa ou ka fè se tout bon deklare yon lis lye yo dwe nan kalite ne *. 558 00:24:44,650 --> 00:24:47,780 Li kite yo jis rele li premye ak inisyalize li a nil. 559 00:24:47,780 --> 00:24:49,910 Se konsa, nil, ankò, se vini nan foto a isit la. 560 00:24:49,910 --> 00:24:53,620 Se pa sèlman se nil itilize kòm tankou yon espesyal retounen valè pou bagay sa yo tankou getstring 561 00:24:53,620 --> 00:24:57,770 ak malok, nil se tou zewo a konsèy, mank nan yon konsèy, 562 00:24:57,770 --> 00:24:58,430 si ou vle. 563 00:24:58,430 --> 00:25:00,309 Li jis vle di pa gen anyen ki ankò isit la. 564 00:25:00,309 --> 00:25:02,100 Koulye a, an premye, mwen te kapab te gen rele anyen sa a. 565 00:25:02,100 --> 00:25:04,200 Mwen te kapab yo te rele li "lis" oswa nenpòt ki kantite lòt bagay. 566 00:25:04,200 --> 00:25:06,960 Men, mwen rele li "premye" pou ke liy li moute ak foto sa a. 567 00:25:06,960 --> 00:25:10,280 Se konsa, jis tankou yon fisèl ka reprezante ak adrès la an premye multiple li yo, 568 00:25:10,280 --> 00:25:11,280 se konsa kapab yon lis lye. 569 00:25:11,280 --> 00:25:13,480 Epitou, n ap wè lòt done dwe reprezante estrikti 570 00:25:13,480 --> 00:25:16,700 ak sèlman yon sèl konsèy, yon flèch 32-ti jan, montre 571 00:25:16,700 --> 00:25:18,740 nan ne an trè premye nan estrikti an. 572 00:25:18,740 --> 00:25:20,340 >> Men koulye a, se pou yo antisipe yon pwoblèm. 573 00:25:20,340 --> 00:25:23,230 Si mwen sèlman sonje nan pwogram mwen an adrès la 574 00:25:23,230 --> 00:25:27,220 nan ne an premye, premye a rektang nan estrikti sa a done, 575 00:25:27,220 --> 00:25:31,760 sa te gen pi bon dwe ka a sou la aplikasyon nan rès la nan lis mwen an? 576 00:25:31,760 --> 00:25:35,820 Ki sa ki nan yon detay kle ki k ap pase asire sa a aktyèlman ap travay? 577 00:25:35,820 --> 00:25:39,250 Ak pa "aktyèlman ap travay" Mwen vle di, anpil tankou yon fisèl, 578 00:25:39,250 --> 00:25:42,180 pèmèt nou ale nan karaktè nan premye nan non Davin nan dezyèm lan, 579 00:25:42,180 --> 00:25:44,755 nan twazyèm lan, nan la katriyèm, nan fen a trè, 580 00:25:44,755 --> 00:25:47,880 jan nou konnen lè nou ap nan fen a nan yon lis lye ki sanble tankou sa a? 581 00:25:47,880 --> 00:25:50,035 582 00:25:50,035 --> 00:25:50,660 Lè li nan nil. 583 00:25:50,660 --> 00:25:53,640 Apre sa, mwen te reprezante sa a sòt de jan tankou yon fòs enjenyè elektrik, 584 00:25:53,640 --> 00:25:56,420 ak baz la ti kras senbòl, nan kalite. 585 00:25:56,420 --> 00:25:58,246 Men, ki jis vle di nil nan ka sa a. 586 00:25:58,246 --> 00:26:00,370 Ou ka trase li nenpòt ki nimewo nan fason, men sa a otè 587 00:26:00,370 --> 00:26:02,800 ki te pase yo sèvi ak senbòl sa a isit la. 588 00:26:02,800 --> 00:26:06,260 >> Se konsa, lontan ke nou ap stringing tout nœuds sa yo ansanm, 589 00:26:06,260 --> 00:26:08,600 sèlman sonje ki kote youn nan premye se, se konsa tan 590 00:26:08,600 --> 00:26:11,760 kòm nou mete yon senbòl espesyal nan ne a trè dènye nan lis la, 591 00:26:11,760 --> 00:26:15,130 epi nou pral sèvi ak nil, paske se sa sa nou genyen disponib nan nou, 592 00:26:15,130 --> 00:26:16,480 lis sa a se konplè. 593 00:26:16,480 --> 00:26:20,190 E menm si mwen sèlman ba ou yon konsèy nan eleman an premye, ou menm, pwogramè a, 594 00:26:20,190 --> 00:26:22,486 kapab sètènman jwenn aksè nan rès la nan li. 595 00:26:22,486 --> 00:26:24,360 Men, kite a kite lespri ou moute desann yon ti jan, 596 00:26:24,360 --> 00:26:26,140 si yo pa ap deja byen wandered-- sa ki nan 597 00:26:26,140 --> 00:26:28,723 pral fè tan an kouri nan jwenn anyen nan lis sa a? 598 00:26:28,723 --> 00:26:30,450 599 00:26:30,450 --> 00:26:33,470 Damn li, li nan gwo O n, ki se pa move, nan etidye ekite Règleman. 600 00:26:33,470 --> 00:26:34,800 Men, li se lineyè. 601 00:26:34,800 --> 00:26:37,980 Nou te bay moute ki sa karakteristik nan ranje pa deplase plis 602 00:26:37,980 --> 00:26:43,130 nan direksyon foto sa a nan dynamique tise ansanm oswa lye nœuds? 603 00:26:43,130 --> 00:26:44,970 604 00:26:44,970 --> 00:26:46,687 Nou te bay moute aksè o aza. 605 00:26:46,687 --> 00:26:48,770 Yon etalaj se bèl paske matematik tout bagay 606 00:26:48,770 --> 00:26:50,340 se tounen nan bak nan do nan tounen. 607 00:26:50,340 --> 00:26:52,370 Menm si foto sa a sanble trè, e menm 608 00:26:52,370 --> 00:26:55,830 menm si li sanble sa yo nœuds yo joliman espace apa, an reyalite 609 00:26:55,830 --> 00:26:56,830 yo te kapab nenpòt kote. 610 00:26:56,830 --> 00:27:01,590 OX1, Ox50, Ox123, Ox99, sa yo nœuds te kapab nenpòt kote. 611 00:27:01,590 --> 00:27:05,960 Paske malok fè asiyen memwa soti nan pil wòch la, men nenpòt kote nan pil wòch la. 612 00:27:05,960 --> 00:27:09,080 Ou pa nesesèman konnen ke li nan pral fè tounen nan tounen nan tounen. 613 00:27:09,080 --> 00:27:12,460 Se konsa, foto sa a nan reyalite a pa pral yo dwe byen sa a bèl. 614 00:27:12,460 --> 00:27:16,140 >> Se konsa, li nan pral pran yon ti jan nan travay aplike fonksyon sa a. 615 00:27:16,140 --> 00:27:17,880 Se konsa, kite a aplike rechèch kounye a. 616 00:27:17,880 --> 00:27:20,250 Epi nou pral wè kalite yon entelijan fason pou fè sa a. 617 00:27:20,250 --> 00:27:24,660 Se konsa, si mwen menm ki yon fonksyon rechèch ak Mwen bay yon varyab, nonb antye ki pè n 618 00:27:24,660 --> 00:27:28,490 yo gade pou li a, mwen bezwen konnen nan nouvo sentaks pou kap andedan 619 00:27:28,490 --> 00:27:32,400 nan yon estrikti sa a, se pwente nan, yo jwenn n. 620 00:27:32,400 --> 00:27:33,210 Se konsa, kite a fè sa. 621 00:27:33,210 --> 00:27:36,030 >> Se konsa, premye fwa mwen pral ale pi devan epi deklare yon ne *. 622 00:27:36,030 --> 00:27:39,400 Men, mwen pral yo rele li konsèy, jis pa konvansyon. 623 00:27:39,400 --> 00:27:41,710 Men, mwen pral inisyalize li nan premye. 624 00:27:41,710 --> 00:27:43,770 Epi, koulye a mwen ka fè sa nan yon nimewo nan fason. 625 00:27:43,770 --> 00:27:45,436 Men, mwen pral pran yon apwòch komen. 626 00:27:45,436 --> 00:27:50,180 Pandan ke konsèy se pa egal a nil, epi ki nan sentaks ki valid. 627 00:27:50,180 --> 00:27:54,550 Epi li jis vle di fè bagay sa a, se konsa lontan ke ou pa ap lonje dwèt nan pa gen anyen. 628 00:27:54,550 --> 00:27:55,800 Ki sa mwen vle fè? 629 00:27:55,800 --> 00:28:01,939 >> Si konsèy dot n, kite m 'tounen ak sa yo ki, equals-- egal ki sa? 630 00:28:01,939 --> 00:28:03,105 Ki valè mwen chèche pou? 631 00:28:03,105 --> 00:28:04,920 632 00:28:04,920 --> 00:28:06,590 N aktyèl la ki te pase nan. 633 00:28:06,590 --> 00:28:09,020 Se konsa, isit la nan yon lòt karakteristik nan C ak plizyè lang. 634 00:28:09,020 --> 00:28:13,705 Menm si estrikti rele ne a te gen yon n valè, totalman lejitim 635 00:28:13,705 --> 00:28:17,530 yo te genyen tou yon agiman lokal oswa varyab rele n. 636 00:28:17,530 --> 00:28:20,085 Paske menm nou, ak je moun, ka distenge 637 00:28:20,085 --> 00:28:22,087 ki n sa a se prezimableman diferan de n sa a. 638 00:28:22,087 --> 00:28:23,420 Paske sentaks la se diferan. 639 00:28:23,420 --> 00:28:26,211 Ou te gen yon dot ak yon konsèy, Lè nou konsidere ke yon sèl sa a pa gen okenn bagay sa yo. 640 00:28:26,211 --> 00:28:27,290 Se konsa, sa a se OK. 641 00:28:27,290 --> 00:28:29,120 Sa a OK yo rele yo menm bagay yo. 642 00:28:29,120 --> 00:28:32,380 >> Si m 'ou jwenn sa a, mwen se ale nan vle fè yon bagay 643 00:28:32,380 --> 00:28:35,000 tankou anonse ke nou te jwenn n. 644 00:28:35,000 --> 00:28:37,930 Epitou, n ap kite ke kòm yon kòmantè oswa kòd pseudocode. 645 00:28:37,930 --> 00:28:40,190 Lòt moun, ak isit la a nan enteresan pati, sa ki 646 00:28:40,190 --> 00:28:47,320 fè mwen vle fè si ne aktyèl la se pa ki gen n ke mwen pran swen sou? 647 00:28:47,320 --> 00:28:50,700 Kouman pou mwen reyalize sa ki annapre yo? 648 00:28:50,700 --> 00:28:53,710 Si dwèt mwen nan la moman sa a se ptr, epi li 649 00:28:53,710 --> 00:28:55,920 lonje dwèt nan tou sa premye ap lonje dwèt nan, 650 00:28:55,920 --> 00:28:59,290 ki jan mwen deplase dwèt mwen ne nan pwochen nan kòd? 651 00:28:59,290 --> 00:29:01,915 Oke, sa ki nan myèt nan nou ap ale nan swiv nan ka sa a? 652 00:29:01,915 --> 00:29:03,464 653 00:29:03,464 --> 00:29:04,380 ODYANS: [fèbl]. 654 00:29:04,380 --> 00:29:05,630 DAVID J. Malan: Yeah, se konsa vini an. 655 00:29:05,630 --> 00:29:06,640 656 00:29:06,640 --> 00:29:09,824 Se konsa, si mwen tounen al jwenn mwen Kòd isit la, tout bon, mwen se 657 00:29:09,824 --> 00:29:12,990 pral ale pi devan epi di konsèy, ki se jis yon varyab pou yon ti tan li a 658 00:29:12,990 --> 00:29:15,320 yon non etranj, ptr, men li nan jis tankou temp-- 659 00:29:15,320 --> 00:29:19,234 Mwen pral mete konsèy egal a tou sa konsèy is-- 660 00:29:19,234 --> 00:29:22,150 e ankò, sa a se pral gen yon ti kras buggy pou yon dot moment-- vini an. 661 00:29:22,150 --> 00:29:23,551 662 00:29:23,551 --> 00:29:26,550 Nan lòt mo, mwen pral pran m ' dwèt ki nan montre nan sa a ne 663 00:29:26,550 --> 00:29:31,247 isit la ak mwen pral di, ou konnen ki sa, pran yon gade nan jaden nan pwochen 664 00:29:31,247 --> 00:29:33,330 yo epi li deplase dwèt ou nan tou sa li nan montre nan. 665 00:29:33,330 --> 00:29:35,163 Lè sa a ki pral repete, repete, repete. 666 00:29:35,163 --> 00:29:37,630 Men, lè fè dwèt mwen sispann fè anyen nan tout? 667 00:29:37,630 --> 00:29:40,095 Le pli vit ke sa ki liy nan anvwaye kòd nan? 668 00:29:40,095 --> 00:29:40,970 ODYANS: [fèbl] 669 00:29:40,970 --> 00:29:43,060 DAVID J. Malan: Si pwen pandan y ap konsèy se pa egal a nil. 670 00:29:43,060 --> 00:29:44,900 Nan kèk pwen nan dwèt mwen yo pral montre nan nil 671 00:29:44,900 --> 00:29:47,070 ak mwen pral reyalize sa a, se nan fen lis sa a. 672 00:29:47,070 --> 00:29:48,910 Koulye a, sa a se yon ti kras manti blan pou senplisite. 673 00:29:48,910 --> 00:29:51,580 Li sanble ke menm si nou jis te aprann sa a notasyon dot 674 00:29:51,580 --> 00:29:55,220 pou estrikti, konsèy se pa yon konstri. 675 00:29:55,220 --> 00:29:56,580 ptr se ki sa? 676 00:29:56,580 --> 00:29:58,350 Jis yo dwe plis nitpicky. 677 00:29:58,350 --> 00:29:59,720 678 00:29:59,720 --> 00:30:01,360 Li se yon konsèy nan yon ne. 679 00:30:01,360 --> 00:30:03,120 Li pa yon ne tèt li. 680 00:30:03,120 --> 00:30:06,650 Si m 'pa te gen okenn zetwal isit la, konsèy absolutely-- li nan yon ne. 681 00:30:06,650 --> 00:30:08,650 Sa a se tankou semèn youn deklarasyon nan yon varyab, 682 00:30:08,650 --> 00:30:10,120 menm si mo "ne" se nouvo. 683 00:30:10,120 --> 00:30:13,860 >> Men, le pli vit ke nou prezante yon etwal, li la kounye a yon konsèy nan yon ne. 684 00:30:13,860 --> 00:30:17,960 Ak malerezman ou pa kapab itilize notasyon an dot pou yon konsèy. 685 00:30:17,960 --> 00:30:21,070 Ou gen yo sèvi ak flèch la notasyon, ki, fason frapan, 686 00:30:21,070 --> 00:30:23,470 se premye fwa a nenpòt moso pyès nan sentaks sanble entwisyon. 687 00:30:23,470 --> 00:30:25,245 Sa a literalman sanble yon flèch. 688 00:30:25,245 --> 00:30:26,370 Se konsa, sa a, se yon bon bagay. 689 00:30:26,370 --> 00:30:28,995 , Li desann isit la literalman sanble yon flèch. 690 00:30:28,995 --> 00:30:31,870 Se konsa, mwen panse ke sa ka la-- a mwen pa fè sa panse mwen sou-komèt here-- mwen 691 00:30:31,870 --> 00:30:34,120 panse ke sa ka pase a moso nan nouvo nan sentaks nou ap ale nan wè. 692 00:30:34,120 --> 00:30:36,500 Ak Erezman, li la tout bon yon ti kras plis entwisyon. 693 00:30:36,500 --> 00:30:40,090 >> Koulye a, pou moun nan nou ki ta ka prefere wout la fin vye granmoun, 694 00:30:40,090 --> 00:30:42,550 ou ka toujou itilize notasyon a dot. 695 00:30:42,550 --> 00:30:45,380 Men, tankou pou chak Lendi a konvèsasyon, nou premye 696 00:30:45,380 --> 00:30:50,530 bezwen ale a, ale nan ki adrès, ak Lè sa a, jwenn aksè nan jaden an. 697 00:30:50,530 --> 00:30:51,897 Se konsa, sa a se tou kòrèk. 698 00:30:51,897 --> 00:30:53,730 Ak franchman, sa a se yon ti kras pi plis pedant. 699 00:30:53,730 --> 00:30:56,530 W ap literalman di, dèreferans konsèy la ak ale la. 700 00:30:56,530 --> 00:30:59,320 Lè sa a, gen tan pwan .n, jaden an te rele n. 701 00:30:59,320 --> 00:31:01,370 Men, franchman, pesonn pa vle tape oswa li sa a. 702 00:31:01,370 --> 00:31:03,620 Se konsa, mond lan envante notasyon a flèch, ki 703 00:31:03,620 --> 00:31:06,980 ki ekivalan, ki idantik, li nan jis sik Massachusetts Institute of Technology. 704 00:31:06,980 --> 00:31:10,570 Se konsa, yon fason anpenpan nan di sa a sanble pi bon, oswa sanble pi senp. 705 00:31:10,570 --> 00:31:12,296 >> Se konsa, koulye a, mwen mwen pral fè yon lòt bagay. 706 00:31:12,296 --> 00:31:15,420 Mwen pral di "kraze" yon fwa mwen te jwenn li se konsa mwen pa kenbe kap chèche li. 707 00:31:15,420 --> 00:31:17,620 Men, sa a se esansyèl la nan yon fonksyon rechèch. 708 00:31:17,620 --> 00:31:21,710 Men, li la yon anpil pi fasil, an nan fen, pa mache nan kòd la. 709 00:31:21,710 --> 00:31:25,570 Sa a se tout bon aplikasyon an fòmèl nan rechèch nan kòd distribisyon a jodi a. 710 00:31:25,570 --> 00:31:30,530 Mwen bay gabèl di ke insert se pa patikilyèman plezi yo mache nan 711 00:31:30,530 --> 00:31:33,180 vizyèlman, ni se efase, menm menm si nan fen an nan jounen an 712 00:31:33,180 --> 00:31:35,460 yo bouyi desann nan san patipri eristik senp. 713 00:31:35,460 --> 00:31:36,330 >> Se konsa, kite a fè sa. 714 00:31:36,330 --> 00:31:39,250 Si ou pral imè m 'isit la, mwen te fè pote yon pakèt moun sou voye boul estrès. 715 00:31:39,250 --> 00:31:40,620 Mwen te fè yon pakèt moun nan nimewo. 716 00:31:40,620 --> 00:31:46,562 Epi li ka nou jwenn jis yon kèk volontè ki reprezante 9, 17, 20, 22, 29, ak 34? 717 00:31:46,562 --> 00:31:48,270 Se konsa, esansyèlman tout moun ki moun ki nan isit la jodi a. 718 00:31:48,270 --> 00:31:50,170 719 00:31:50,170 --> 00:31:52,760 Sa ki te yon sèl, de, twa, kat, senk, sis moun. 720 00:31:52,760 --> 00:31:55,740 Apre sa, mwen ve yo te mande yo go-- wè, pa gen okenn youn nan do a ogmante men yo. 721 00:31:55,740 --> 00:32:01,910 OK, yonn, de, twa, kat, five-- kite m 'chaje balance-- sis. 722 00:32:01,910 --> 00:32:03,051 OK, ou sis vini sou yo. 723 00:32:03,051 --> 00:32:04,050 Nou pral bezwen lòt moun. 724 00:32:04,050 --> 00:32:05,460 Nou pote l 'voye boul estrès siplemantè. 725 00:32:05,460 --> 00:32:08,200 Men, si ou te kapab, pou jis yon, liy moman sa 726 00:32:08,200 --> 00:32:10,490 nou moute jis tankou foto sa a isit la. 727 00:32:10,490 --> 00:32:15,200 728 00:32:15,200 --> 00:32:15,959 >> Tout dwa. 729 00:32:15,959 --> 00:32:17,125 Ann wè, ki sa nan non ou? 730 00:32:17,125 --> 00:32:17,550 >> ODYANS: Andre. 731 00:32:17,550 --> 00:32:18,800 >> DAVID J. Malan: Andre, ou se nimewo 9. 732 00:32:18,800 --> 00:32:19,540 Nice al kontre ou. 733 00:32:19,540 --> 00:32:20,400 Isit la ou ale. 734 00:32:20,400 --> 00:32:21,593 735 00:32:21,593 --> 00:32:22,176 ODYANS: Jen. 736 00:32:22,176 --> 00:32:22,662 DAVID J. Malan: Jen. 737 00:32:22,662 --> 00:32:23,162 David. 738 00:32:23,162 --> 00:32:23,765 Nimewo 17. 739 00:32:23,765 --> 00:32:24,950 740 00:32:24,950 --> 00:32:25,450 Wi? 741 00:32:25,450 --> 00:32:26,400 >> ODYANS: mwen se Julia. 742 00:32:26,400 --> 00:32:26,980 >> DAVID J. Malan: Jili, David. 743 00:32:26,980 --> 00:32:27,545 Nimewo 20. 744 00:32:27,545 --> 00:32:28,507 745 00:32:28,507 --> 00:32:29,340 ODYANS: kretyen. 746 00:32:29,340 --> 00:32:30,715 DAVID J. Malan: kretyen, David. 747 00:32:30,715 --> 00:32:31,541 Nimewo 22. 748 00:32:31,541 --> 00:32:32,040 Epi? 749 00:32:32,040 --> 00:32:32,649 >> ODYANS: JP. 750 00:32:32,649 --> 00:32:33,440 DAVID J. Malan: JP. 751 00:32:33,440 --> 00:32:34,880 Nimewo 29. 752 00:32:34,880 --> 00:32:37,080 Se konsa, ale pi devan epi pou yo jwenn in-- Uh oh. 753 00:32:37,080 --> 00:32:38,486 754 00:32:38,486 --> 00:32:38,985 Uh oh. 755 00:32:38,985 --> 00:32:39,650 756 00:32:39,650 --> 00:32:40,150 Sibstiti an. 757 00:32:40,150 --> 00:32:41,360 758 00:32:41,360 --> 00:32:42,390 20. 759 00:32:42,390 --> 00:32:43,682 nenpòt moun ki gen yon makè? 760 00:32:43,682 --> 00:32:44,890 ODYANS: Mwen te gen yon sharpie. 761 00:32:44,890 --> 00:32:45,660 DAVID J. Malan: Ou te resevwa yon sharpie? 762 00:32:45,660 --> 00:32:46,159 OK. 763 00:32:46,159 --> 00:32:47,577 764 00:32:47,577 --> 00:32:49,160 Epi nenpòt moun ki gen yon moso papye? 765 00:32:49,160 --> 00:32:51,562 766 00:32:51,562 --> 00:32:52,270 Save konferans la. 767 00:32:52,270 --> 00:32:53,810 768 00:32:53,810 --> 00:32:55,362 Vini non sou. 769 00:32:55,362 --> 00:32:56,320 ODYANS: Nou te gen li. 770 00:32:56,320 --> 00:32:57,600 DAVID J. Malan: Nou te resevwa li? 771 00:32:57,600 --> 00:32:58,577 Tout dwa, di ou mèsi. 772 00:32:58,577 --> 00:33:01,380 773 00:33:01,380 --> 00:33:02,520 Isit la nou ale. 774 00:33:02,520 --> 00:33:03,582 Te sa a nan men ou? 775 00:33:03,582 --> 00:33:04,540 Ou jis sove jou a. 776 00:33:04,540 --> 00:33:05,670 777 00:33:05,670 --> 00:33:07,220 Se konsa, 29. 778 00:33:07,220 --> 00:33:10,510 779 00:33:10,510 --> 00:33:11,110 Tout dwa. 780 00:33:11,110 --> 00:33:13,360 781 00:33:13,360 --> 00:33:14,890 Mwen mal ekri 29, men OK. 782 00:33:14,890 --> 00:33:15,720 Ale pi devan. 783 00:33:15,720 --> 00:33:18,114 Tout dwa, Mwen pral ba w plim ou tounen ti tan. 784 00:33:18,114 --> 00:33:19,280 Se konsa, nou gen sa yo jan isit la. 785 00:33:19,280 --> 00:33:20,330 Se pou nou gen yon sèl lòt. 786 00:33:20,330 --> 00:33:23,750 Gabe, ou vle jwe eleman nan premye isit la? 787 00:33:23,750 --> 00:33:25,705 Nou pral bezwen ou nan pwen nan jan amann sa yo. 788 00:33:25,705 --> 00:33:26,930 789 00:33:26,930 --> 00:33:31,030 Se konsa, 9, 17, 20, 22, sòt nan 29, ak Lè sa a, 34. 790 00:33:31,030 --> 00:33:32,160 791 00:33:32,160 --> 00:33:33,325 Èske nou pèdi yon moun? 792 00:33:33,325 --> 00:33:33,950 Mwen fè gen yon 34. 793 00:33:33,950 --> 00:33:36,730 Ki kote did-- OK, ki moun ki vle gen 34? 794 00:33:36,730 --> 00:33:37,605 OK, vini sou yo, 34. 795 00:33:37,605 --> 00:33:39,280 796 00:33:39,280 --> 00:33:41,220 Tout dwa, sa a pral byen vo Pi gwo pwen an. 797 00:33:41,220 --> 00:33:41,550 Ki sa ki nan non ou? 798 00:33:41,550 --> 00:33:42,040 >> ODYANS: Pyè. 799 00:33:42,040 --> 00:33:43,456 >> DAVID J. Malan: Pyè, vini sou yo. 800 00:33:43,456 --> 00:33:46,810 Tout dwa, se konsa isit la nan yon pakèt antye nan nœuds. 801 00:33:46,810 --> 00:33:49,060 Chak nan ou nèg reprezante youn nan rektang sa yo. 802 00:33:49,060 --> 00:33:51,930 Epi Gabe, yon ti kras enpè nan nonm soti, reprezante premye. 803 00:33:51,930 --> 00:33:54,850 Se konsa, konsèy l 'yo se yon ti kras pi piti sou ekran an pase tout lòt moun. 804 00:33:54,850 --> 00:33:58,120 Ak nan ka sa a, chak nan ou kite men ki pral swa pwen desann, 805 00:33:58,120 --> 00:34:01,085 kidonk reprezante nil, se konsa jis absans la nan yon konsèy, 806 00:34:01,085 --> 00:34:03,210 oswa li a pral yo dwe montre nan yon ne kap vini jwenn ou. 807 00:34:03,210 --> 00:34:05,440 >> Se konsa, kounye a si ou dekore nou tankou foto a 808 00:34:05,440 --> 00:34:07,585 isit la, ale pi devan epi pwen nan chak lòt, ak Gabe 809 00:34:07,585 --> 00:34:11,030 nan montre patikilye nan Nimewo 9 a reprezante lis la. 810 00:34:11,030 --> 00:34:14,050 OK, ak nimewo 34, men gòch ou ta dwe jis dwe montre nan etaj la. 811 00:34:14,050 --> 00:34:15,750 >> OK, se konsa sa a se lis la lye. 812 00:34:15,750 --> 00:34:17,580 Se konsa, sa a se senaryo a nan kesyon an. 813 00:34:17,580 --> 00:34:20,210 Ak tout bon, sa a se reprezantan nan yon klas nan pwoblèm 814 00:34:20,210 --> 00:34:21,929 ke ou ta ka eseye rezoud ak kòd. 815 00:34:21,929 --> 00:34:25,020 Ou vle finalman insert yon eleman nouvo nan lis la. 816 00:34:25,020 --> 00:34:27,494 Nan ka sa a, nou ap ale nan eseye mete nimewo a 55. 817 00:34:27,494 --> 00:34:28,500 818 00:34:28,500 --> 00:34:30,860 Men, gen nan pral fè ka diferan nan konsidere. 819 00:34:30,860 --> 00:34:34,409 Ak tout bon, sa a se pral yo dwe youn nan gwo-foto a takeaways isit la, se, 820 00:34:34,409 --> 00:34:35,659 ki sa yo diferan ka yo. 821 00:34:35,659 --> 00:34:39,120 Ki sa ki diferan nan si kondisyon oswa branch ki pwogram ou an ta ka genyen? 822 00:34:39,120 --> 00:34:42,024 >> Oke, nimewo a ou ap eseye insert, ki nou konnen kounye a yo dwe 55, 823 00:34:42,024 --> 00:34:44,650 men si ou pa t 'konnen nan avanse, mwen daresay 824 00:34:44,650 --> 00:34:47,840 tonbe nan omwen twa sitiyasyon posib. 825 00:34:47,840 --> 00:34:49,717 Ki kote yon eleman nouvo ta ka? 826 00:34:49,717 --> 00:34:51,050 ODYANS: Lè fen a oswa presegondè. 827 00:34:51,050 --> 00:34:54,150 DAVID J. Malan: Nan fen a, nan mitan an, oswa nan konmansman an. 828 00:34:54,150 --> 00:34:56,650 Se konsa, mwen fè reklamasyon gen nan omwen twa pwoblèm nou bezwen rezoud. 829 00:34:56,650 --> 00:34:58,691 Se pou yo chwazi sa ki nan petèt joui pi senp la 830 00:34:58,691 --> 00:35:01,090 yon sèl, kote eleman nan nouvo ki dwe nan kòmansman an. 831 00:35:01,090 --> 00:35:04,040 Se konsa, mwen ale nan gen Kòd byen tankou rechèch, ki mwen jis te ekri. 832 00:35:04,040 --> 00:35:07,670 Men, mwen pral gen ptr, ki Mwen pral reprezante isit la ak dwèt mwen, 833 00:35:07,670 --> 00:35:08,370 kòm dabitid. 834 00:35:08,370 --> 00:35:12,430 >> Epi sonje, sa ki valè t 'nou inisyalize ptr? 835 00:35:12,430 --> 00:35:15,300 Se konsa, nou initialisé li a nil okòmansman. 836 00:35:15,300 --> 00:35:16,410 837 00:35:16,410 --> 00:35:19,770 Men, Lè sa a, nou sa nou te fè yon fwa nou yo te andedan fonksyon rechèch nou an? 838 00:35:19,770 --> 00:35:20,940 839 00:35:20,940 --> 00:35:24,870 Nou mete l 'egal a an premye, ki pa vle di fè sa. 840 00:35:24,870 --> 00:35:25,890 841 00:35:25,890 --> 00:35:30,570 Si m 'mete ptr egal a an premye, sa ki ta dwe men m 'vrèman dwe montre nan? 842 00:35:30,570 --> 00:35:31,070 Dwa. 843 00:35:31,070 --> 00:35:33,290 Se konsa, si Gabe ak mwen yo pral yo dwe valè egal isit la, 844 00:35:33,290 --> 00:35:34,760 nou bezwen tou de pwen nan nimewo 9. 845 00:35:34,760 --> 00:35:36,420 >> Se konsa, sa a te nan konmansman an nan istwa nou an. 846 00:35:36,420 --> 00:35:38,700 Epi, koulye a sa a se jis dwat, menm si sentaks la se nouvo. 847 00:35:38,700 --> 00:35:40,580 Concept sa a se jis rechèch lineyè. 848 00:35:40,580 --> 00:35:42,750 Se 55 egal a 9? 849 00:35:42,750 --> 00:35:45,559 Oswa olye, kite a di mwens pase 9. 850 00:35:45,559 --> 00:35:47,600 Paske mwen ap eseye konnen ki kote yo mete 55. 851 00:35:47,600 --> 00:35:51,270 Mwens pase 9, mwens pase 17, mwens pase 20, mwens pase 22, mwens pase 29, 852 00:35:51,270 --> 00:35:52,510 mwens pase 34, pa gen okenn. 853 00:35:52,510 --> 00:35:55,080 Se konsa, kounye a nou ap nan ka youn nan omwen twa. 854 00:35:55,080 --> 00:35:59,910 >> Si m 'vle insert 55 sou isit la, sa ki liy nan kòd bezwen jwenn egzekite? 855 00:35:59,910 --> 00:36:01,890 Kijan foto sa a nan moun bezwen chanje? 856 00:36:01,890 --> 00:36:03,181 Kisa pou mwen fè ak men gòch mwen an? 857 00:36:03,181 --> 00:36:04,530 858 00:36:04,530 --> 00:36:07,360 Sa a ta dwe nil okòmansman, paske mwen se nan fen nan lis la. 859 00:36:07,360 --> 00:36:09,318 Ak sa ki ta dwe rive isit la ak Pyè, li te ye? 860 00:36:09,318 --> 00:36:10,520 861 00:36:10,520 --> 00:36:12,430 Li te evidamman ale nan lonje dwèt sou mwen. 862 00:36:12,430 --> 00:36:15,580 Se konsa, mwen fè reklamasyon gen nan omwen de liy nan kòd nan kòd la echantiyon soti nan jodi a 863 00:36:15,580 --> 00:36:18,570 ki nan ale nan aplike sa a senaryo nan ajoute 55 nan ke la. 864 00:36:18,570 --> 00:36:20,950 Epi li ka Mwen gen yon moun hop moute ak jis reprezante 55? 865 00:36:20,950 --> 00:36:22,200 Tout dwa, ou se nouvo 55 an. 866 00:36:22,200 --> 00:36:23,580 867 00:36:23,580 --> 00:36:27,054 >> Se konsa, kounye sa ki si pwochen an senaryo vini ansanm, 868 00:36:27,054 --> 00:36:29,720 epi nou vle insert nan la kòmanse oswa tèt la nan lis sa a? 869 00:36:29,720 --> 00:36:31,100 Ak sa ki nan non ou, nimewo 55? 870 00:36:31,100 --> 00:36:31,420 >> ODYANS: Jack. 871 00:36:31,420 --> 00:36:32,295 >> DAVID J. Malan: Jack? 872 00:36:32,295 --> 00:36:33,585 OK, bèl al kontre ou. 873 00:36:33,585 --> 00:36:34,210 Byenveni abò. 874 00:36:34,210 --> 00:36:36,640 Se konsa, kounye a nou ap ale nan insert, di, nimewo a 5. 875 00:36:36,640 --> 00:36:39,840 Isit la nan ka, dezyèm lan a nan twa nou te vini ak anvan. 876 00:36:39,840 --> 00:36:43,050 Se konsa, si 5 ki dwe nan kòmansman an, kite a wè ki jan nou jwenn ke deyò. 877 00:36:43,050 --> 00:36:46,310 Mwen inisyalize ptr mwen konsèy nan nimewo 9 ankò. 878 00:36:46,310 --> 00:36:49,140 Apre sa, mwen reyalize, oh, 5 se mwens pase 9. 879 00:36:49,140 --> 00:36:50,880 Se konsa, ranje foto sa a pou nou. 880 00:36:50,880 --> 00:36:54,820 Ki gen men, Gabe a oswa David la or-- sa ki nan non nimewo 9 la? 881 00:36:54,820 --> 00:36:55,740 >> ODYANS: Jen. 882 00:36:55,740 --> 00:36:58,406 >> DAVID J. Malan: hands-- Jen an ki nan men nou an bezwen chanje? 883 00:36:58,406 --> 00:36:58,905 884 00:36:58,905 --> 00:37:00,970 OK, se konsa Gabe pwen nan sa ki kounye a? 885 00:37:00,970 --> 00:37:01,640 Nan m '. 886 00:37:01,640 --> 00:37:02,750 Se mwen menm ki ne la nouvo. 887 00:37:02,750 --> 00:37:04,870 Se konsa mwen pral jis kalite mouvman la a yo wè li vizyèlman. 888 00:37:04,870 --> 00:37:06,435 Ak pandan se tan sa m 'pwen sa? 889 00:37:06,435 --> 00:37:07,910 890 00:37:07,910 --> 00:37:09,020 Toujou kote mwen lonje dwèt. 891 00:37:09,020 --> 00:37:10,000 Se konsa, ki nan li. 892 00:37:10,000 --> 00:37:13,717 Se konsa, jis reyèlman yon sèl liy nan Kòd fikse pwoblèm sa a an patikilye, li ta sanble. 893 00:37:13,717 --> 00:37:14,800 Tout dwa, kidonk sa a, se bon. 894 00:37:14,800 --> 00:37:17,580 Epi yo ka yon moun gen yon kontneur pou 5? 895 00:37:17,580 --> 00:37:18,080 Vini non sou yo. 896 00:37:18,080 --> 00:37:20,270 897 00:37:20,270 --> 00:37:21,320 Nou pral fè ou jwenn pwochen fwa. 898 00:37:21,320 --> 00:37:24,280 >> Tout dwa, kidonk now-- ak kòm yon sou kote, non yo 899 00:37:24,280 --> 00:37:28,510 Mwen pa fè eksplisit mansyone nan dwa kounye a, pred konsèy, predesesè konsèy 900 00:37:28,510 --> 00:37:31,260 ak nouvo konsèy, sa a, se jis non yo bay 901 00:37:31,260 --> 00:37:35,280 nan echantiyon kòd la endikasyon yo oswa men m 'ki nan kalite montre alantou. 902 00:37:35,280 --> 00:37:36,060 Ki sa ki nan non ou? 903 00:37:36,060 --> 00:37:36,700 >> ODYANS: Christine. 904 00:37:36,700 --> 00:37:37,100 >> DAVID J. Malan: Christine. 905 00:37:37,100 --> 00:37:38,090 Byenveni abò. 906 00:37:38,090 --> 00:37:42,180 Tout dwa, kidonk kite a konsidere kounye a yon senaryo yon ti kras plis anmèdan, 907 00:37:42,180 --> 00:37:46,350 kijan mwen vle insert yon bagay tankou 26 an sa a. 908 00:37:46,350 --> 00:37:47,090 20? 909 00:37:47,090 --> 00:37:47,590 Ki sa? 910 00:37:47,590 --> 00:37:50,510 Sa yo are-- bon bagay nou gen plim sa a. 911 00:37:50,510 --> 00:37:51,955 Tout dwa, 20. 912 00:37:51,955 --> 00:37:53,640 913 00:37:53,640 --> 00:37:57,570 Si yon moun te kapab jwenn yon lòt moso nan papye ki pare, jis nan case-- tout dwa. 914 00:37:57,570 --> 00:37:58,370 Oh, ki enteresan. 915 00:37:58,370 --> 00:37:59,760 916 00:37:59,760 --> 00:38:02,390 Oke sa a se yon egzanp nan yon ensèk konferans. 917 00:38:02,390 --> 00:38:03,894 OK Se konsa, sa nan non ou ankò? 918 00:38:03,894 --> 00:38:04,560 ODYANS: Julia. 919 00:38:04,560 --> 00:38:07,559 DAVID J. Malan: Julia, ka ou pòp soti ak pretann ou te pa janm genyen? 920 00:38:07,559 --> 00:38:09,040 OK, sa a pa janm rive. 921 00:38:09,040 --> 00:38:09,680 Mèsi poutèt ou. 922 00:38:09,680 --> 00:38:12,180 Se konsa, ta kwè nou vle insert Julia nan lis sa a lye. 923 00:38:12,180 --> 00:38:13,780 Li se nimewo a 20. 924 00:38:13,780 --> 00:38:15,530 Ak nan kou li nan ale nan apatni a an 925 00:38:15,530 --> 00:38:17,521 begin-- pa pwen nan anyen ankò. 926 00:38:17,521 --> 00:38:20,020 Se konsa, men ou kapab kalite gen desann nil oswa kèk valè fatra. 927 00:38:20,020 --> 00:38:21,210 Se pou yo rakonte istwa a rapid. 928 00:38:21,210 --> 00:38:22,980 Mwen lonje dwèt nan nimewo 5 moman sa a. 929 00:38:22,980 --> 00:38:23,880 Lè sa a, mwen tcheke 9. 930 00:38:23,880 --> 00:38:25,130 Lè sa a, mwen tcheke 17. 931 00:38:25,130 --> 00:38:26,247 Lè sa a, mwen tcheke 22. 932 00:38:26,247 --> 00:38:27,650 933 00:38:27,650 --> 00:38:32,485 Apre sa, mwen reyalize, Ooh, Julia bezwen ale anvan 22. 934 00:38:32,485 --> 00:38:33,580 935 00:38:33,580 --> 00:38:34,660 Se konsa, sa bezwen yo rive? 936 00:38:34,660 --> 00:38:35,786 937 00:38:35,786 --> 00:38:36,910 Ki gen men bezwen chanje? 938 00:38:36,910 --> 00:38:38,360 Julia a, min, or-- sa ki nan non ou ankò? 939 00:38:38,360 --> 00:38:39,230 >> ODYANS: kretyen. 940 00:38:39,230 --> 00:38:40,060 >> DAVID J. Malan: kretyen oswa? 941 00:38:40,060 --> 00:38:40,560 >> ODYANS: Andy. 942 00:38:40,560 --> 00:38:40,905 >> DAVID J. Malan: Andy. 943 00:38:40,905 --> 00:38:41,654 Kretyen oswa Andy? 944 00:38:41,654 --> 00:38:44,280 945 00:38:44,280 --> 00:38:45,690 Andy bezwen nan pwen nan? 946 00:38:45,690 --> 00:38:46,780 947 00:38:46,780 --> 00:38:47,341 Julia. 948 00:38:47,341 --> 00:38:47,840 Tout dwa. 949 00:38:47,840 --> 00:38:48,960 Se konsa, Andy, ou vle nan pwen nan Julia? 950 00:38:48,960 --> 00:38:50,120 Men, tann yon minit. 951 00:38:50,120 --> 00:38:53,260 Nan istwa a konsa byen lwen, Mwen se sòt nan nan yon sèl 952 00:38:53,260 --> 00:38:56,800 an chaj, nan sans ke konsèy se bagay ki sa a, se 953 00:38:56,800 --> 00:38:57,850 k ap deplase nan lis la. 954 00:38:57,850 --> 00:39:00,800 Nou ta ka gen yon non pou Andy, men gen nan pa gen varyab rele Andy. 955 00:39:00,800 --> 00:39:04,320 Sèlman lòt varyab la nou genyen se premye, moun ki nan reprezante pa Gabe. 956 00:39:04,320 --> 00:39:07,690 >> Se konsa, sa a se aktyèlman poukisa konsa byen lwen nou pa te nesesè sa a. 957 00:39:07,690 --> 00:39:10,846 Men koulye a, sou ekran an gen mansyone ankò nan pred konsèy. 958 00:39:10,846 --> 00:39:11,970 Se konsa, kite m 'gen plis eksplisit. 959 00:39:11,970 --> 00:39:14,820 Si sa a se konsèy, mwen te pi bon jwenn yon ti kras plis entelijan 960 00:39:14,820 --> 00:39:15,950 sou iteration mwen. 961 00:39:15,950 --> 00:39:19,580 Si ou pa lide m 'ale atravè tout isit la ankò, montre isit la yo, montre isit la. 962 00:39:19,580 --> 00:39:22,500 Men, kite m 'gen yon konsèy pred, predesesè konsèy, sa a, se 963 00:39:22,500 --> 00:39:24,740 kalite montre nan nan eleman Mwen te jis nan. 964 00:39:24,740 --> 00:39:27,330 Se konsa, lè m 'ale isit la, kounye a dènye kite men mwen. 965 00:39:27,330 --> 00:39:29,370 Lè m 'ale isit la dènye enfòmasyon gòch men mwen. 966 00:39:29,370 --> 00:39:33,090 Epi, koulye a mwen gen pa sèlman yon konsèy nan eleman an ki ale apre Jili, 967 00:39:33,090 --> 00:39:36,300 Mwen toujou gen yon konsèy nan Andy, eleman nan anvan. 968 00:39:36,300 --> 00:39:39,430 Se konsa, ou gen aksè, esansyèlman, pen, si ou vle, 969 00:39:39,430 --> 00:39:41,500 nan tout nan pwent yo voulu. 970 00:39:41,500 --> 00:39:43,710 >> Se konsa, si mwen montre nan Andy ak mwen tou lonje dwèt 971 00:39:43,710 --> 00:39:47,105 nan kretyen, ki gen men ta dwe kounye a dwe pwente yon lòt kote? 972 00:39:47,105 --> 00:39:48,770 973 00:39:48,770 --> 00:39:51,960 Se konsa, Andy kapab kounye a pwen nan Julia. 974 00:39:51,960 --> 00:39:54,460 Julia kapab kounye a pwen nan kretyen. 975 00:39:54,460 --> 00:39:56,950 Paske li ka kopye mwen konsèy men dwat la. 976 00:39:56,950 --> 00:40:00,044 Epi sa efektivman mete ou tounen nan kote sa a isit la. 977 00:40:00,044 --> 00:40:02,460 Se konsa, nan kout, menm si sa a ap pran nou kalite pou tout tan 978 00:40:02,460 --> 00:40:04,510 yo aktyèlman mete ajou yon lye lis, reyalize 979 00:40:04,510 --> 00:40:06,580 ki operasyon yo yo se relativman senp. 980 00:40:06,580 --> 00:40:10,030 Li nan nan yon sèl, de, twa liy nan kòd finalman. 981 00:40:10,030 --> 00:40:12,780 Men, mare nan ren moun liy nan kòd prezimableman 982 00:40:12,780 --> 00:40:16,350 se yon ti jan nan lojik ki efektivman mande kesyon an, kote nou ye? 983 00:40:16,350 --> 00:40:18,970 Eske nou kwè nou nan kòmansman an, mitan an, oswa nan fen a? 984 00:40:18,970 --> 00:40:21,890 >> Koulye a, gen sètènman kèk lòt operasyon nou ta ka aplike. 985 00:40:21,890 --> 00:40:24,880 Ak foto sa yo isit la jis dekri sa nou jis te fè ak moun. 986 00:40:24,880 --> 00:40:26,080 Ki sa ki sou retire elèv? 987 00:40:26,080 --> 00:40:30,650 Si m 'vle, pou egzanp, retire nimewo a 34 oswa 55, 988 00:40:30,650 --> 00:40:34,680 Mwen ta ka gen kalite a menm nan kòd, men mwen m 'ale nan bezwen youn oubyen de etap. 989 00:40:34,680 --> 00:40:36,110 Paske sa ki nouvo? 990 00:40:36,110 --> 00:40:40,460 Si mwen retire yon moun nan fen a, tankou nimewo 55 ak Lè sa a, 34, 991 00:40:40,460 --> 00:40:42,995 sa tou te gen yo chanje jan mwen fè sa? 992 00:40:42,995 --> 00:40:44,870 Mwen gen pa evict-- sa ki nan non ou ankò? 993 00:40:44,870 --> 00:40:45,380 >> ODYANS: Jack. 994 00:40:45,380 --> 00:40:46,255 >> DAVID J. Malan: Jack. 995 00:40:46,255 --> 00:40:49,770 Mwen gen pa sèlman evict-- gratis Jack, se konsa literalman rele gratis Jack, oswa omwen 996 00:40:49,770 --> 00:40:53,530 konsèy la gen twò, men kounye a sa ki bezwen yo chanje avèk Pyè? 997 00:40:53,530 --> 00:40:55,510 Men l 'pi bon kòmanse lonje dwèt desann. 998 00:40:55,510 --> 00:40:59,300 Paske le pli vit ke mwen rele gratis sou Jack, si Pyè a toujou montre nan Jack 999 00:40:59,300 --> 00:41:02,530 ak mwen poutèt sa kenbe Travelers lis la ak aksè konsèy sa a, 1000 00:41:02,530 --> 00:41:05,650 ki nan lè zanmi segmentation fin vye granmoun nou fòt ta ka aktyèlman choute nan. 1001 00:41:05,650 --> 00:41:07,860 Paske nou te bay la tounen memwa Jack. 1002 00:41:07,860 --> 00:41:10,760 >> Ou ka rete la malabiyman sèlman pou moman yon. 1003 00:41:10,760 --> 00:41:13,410 Paske nou gen jis yon koup operasyon final nan konsidere. 1004 00:41:13,410 --> 00:41:15,600 Retire tèt la nan lis la, oswa beginning-- a ak yon sèl sa a nan 1005 00:41:15,600 --> 00:41:16,349 yon ti kras anmèdan. 1006 00:41:16,349 --> 00:41:19,640 Paske nou gen konnen ke Gabe se kalite espesyal nan pwogram sa a. 1007 00:41:19,640 --> 00:41:21,440 Paske tout bon, li te gen konsèy pwòp tèt li. 1008 00:41:21,440 --> 00:41:24,860 Li pa nan jis yo te pwente nan, kòm se prèske tout lòt moun isit la. 1009 00:41:24,860 --> 00:41:28,112 >> Se konsa, lè tèt la nan lis la se retire, ki gen men bezwen chanje kounye a? 1010 00:41:28,112 --> 00:41:29,070 Ki sa ki nan non ou ankò? 1011 00:41:29,070 --> 00:41:29,450 >> ODYANS: Christine. 1012 00:41:29,450 --> 00:41:31,408 >> DAVID J. Malan: mwen se terib nan non, aparamman. 1013 00:41:31,408 --> 00:41:34,011 Se konsa, Christine ak Gabe, ki gen men bezwen chanje 1014 00:41:34,011 --> 00:41:36,510 lè nou eseye retire Christine, nimewo 5, ki soti nan foto a? 1015 00:41:36,510 --> 00:41:37,550 1016 00:41:37,550 --> 00:41:38,820 OK, se konsa se pou yo fè Gabe. 1017 00:41:38,820 --> 00:41:40,950 Gabe k ap pase nan pwen, prezimableman, nan nimewo 9. 1018 00:41:40,950 --> 00:41:42,230 1019 00:41:42,230 --> 00:41:44,642 Men, sa ki pwochen ta dwe rive? 1020 00:41:44,642 --> 00:41:46,600 ODYANS: Christine ta dwe pral nil [fèbl]. 1021 00:41:46,600 --> 00:41:50,244 DAVID J. Malan: OK, nou ta dwe pwobableman make-- Mwen tande "nil" yon kote. 1022 00:41:50,244 --> 00:41:51,410 ODYANS: Null ak gratis l '. 1023 00:41:51,410 --> 00:41:51,855 DAVID J. Malan: nil ki sa? 1024 00:41:51,855 --> 00:41:53,074 ODYANS: Null ak gratis l '. 1025 00:41:53,074 --> 00:41:54,490 DAVID J. Malan: Null ak gratis l '. 1026 00:41:54,490 --> 00:41:55,422 Se konsa, sa a se trè fasil. 1027 00:41:55,422 --> 00:41:58,380 Lè li nan pafè ke w ap kounye a sòt nan kanpe la, pa sa ki. 1028 00:41:58,380 --> 00:42:00,430 Paske ou ve yo te découplé nan lis la. 1029 00:42:00,430 --> 00:42:02,820 Ou te efektivman te òfelen nan lis la. 1030 00:42:02,820 --> 00:42:07,770 Se konsa, nou te gen pi bon rele gratis kounye a sou Christine bay ki memwa tounen. 1031 00:42:07,770 --> 00:42:10,240 Sinon chak fwa nou efase yon ne nan lis la 1032 00:42:10,240 --> 00:42:14,230 nou kapab fè lis la pi kout, men se pa aktyèlman diminye 1033 00:42:14,230 --> 00:42:15,096 gwosè a nan memwa. 1034 00:42:15,096 --> 00:42:17,720 Se konsa, si nou kenbe ajoute ak pandan l ajoute, pandan l ajoute bagay sa yo nan lis la, 1035 00:42:17,720 --> 00:42:19,280 òdinatè mwen ta ka jwenn pi dousman ak pi dousman ak pi dousman, 1036 00:42:19,280 --> 00:42:21,740 paske mwen m 'kouri soti nan memwa, menm si mwen pa aktyèlman 1037 00:42:21,740 --> 00:42:25,580 lè l sèvi avèk bytes Christine a nan memwa ankò. 1038 00:42:25,580 --> 00:42:28,500 >> Se konsa, nan fen a, gen lòt senaryo, nan retire course-- 1039 00:42:28,500 --> 00:42:30,640 nan mitan, pou retire elèv la nan fen a, kòm nou te wè. 1040 00:42:30,640 --> 00:42:32,348 Men, plis enteresan an defi kounye a se 1041 00:42:32,348 --> 00:42:34,770 pral fè yo konsidere egzakteman ki lè an kouri se. 1042 00:42:34,770 --> 00:42:36,640 Se konsa, pa sèlman ou ka kenbe ou moso papye, si, Gabe, 1043 00:42:36,640 --> 00:42:38,640 ou pa ta lide bay tout moun yon boul estrès. 1044 00:42:38,640 --> 00:42:42,100 Mèsi poutèt ou tèlman yo lis lye nou an nan volontè isit la, si ou te kapab. 1045 00:42:42,100 --> 00:42:45,320 >> [Aplodisman] 1046 00:42:45,320 --> 00:42:46,700 >> DAVID J. Malan: Tout dwa. 1047 00:42:46,700 --> 00:42:51,110 Se konsa, yon koup la analyse kesyon Lè sa a,, si mwen te kapab. 1048 00:42:51,110 --> 00:42:59,670 Nou te wè notasyon sa a anvan, gwo O ak Omega, limit anwo 1049 00:42:59,670 --> 00:43:02,520 ak pi ba limit sou la kouri tan nan kèk algorithm. 1050 00:43:02,520 --> 00:43:04,950 Se konsa, kite a konsidere jis yon koup nan kesyon. 1051 00:43:04,950 --> 00:43:07,090 >> Youn, epi nou di li anvan, sa ki nan kouri a 1052 00:43:07,090 --> 00:43:10,647 lè nan rechèch pou yon lis an tèm de gwo O? 1053 00:43:10,647 --> 00:43:13,480 Ki sa ki nan yon limit siperyè sou kouri a tan nan chèche yon lis lye 1054 00:43:13,480 --> 00:43:16,340 kòm aplike pa volontè nou isit la? 1055 00:43:16,340 --> 00:43:17,820 Li nan gwo O n, lineyè. 1056 00:43:17,820 --> 00:43:20,630 Paske nan ka ki pi mal, eleman nan, tankou 55, 1057 00:43:20,630 --> 00:43:23,830 nou ta ka kap pou ta kapab ki kote Jack te, tout wout la nan fen an. 1058 00:43:23,830 --> 00:43:28,250 Ak malerezman, kontrèman ak yon etalaj nou pa ka jwenn anpenpan tan sa a. 1059 00:43:28,250 --> 00:43:31,820 Menm si tout nan moun nou yo te ranje soti nan eleman piti, 5, 1060 00:43:31,820 --> 00:43:35,900 tout wout la jiska eleman nan pi gwo, 55, ki nan anjeneral yon bon bagay. 1061 00:43:35,900 --> 00:43:38,815 Men, sa ki fè sa sipozisyon pa gen okenn ankò pèmèt nou fè? 1062 00:43:38,815 --> 00:43:39,775 1063 00:43:39,775 --> 00:43:40,650 ODYANS: [fèbl] 1064 00:43:40,650 --> 00:43:40,920 DAVID J. Malan: Di ankò? 1065 00:43:40,920 --> 00:43:41,800 ODYANS: Random aksè. 1066 00:43:41,800 --> 00:43:43,049 DAVID J. Malan: Random aksè. 1067 00:43:43,049 --> 00:43:46,330 Ak nan vire sa vle di nou kapab pa gen okenn sèvi ankò ak zewo fèb, entwisyon, 1068 00:43:46,330 --> 00:43:49,365 ak evid a lè l sèvi avèk binè rechèch ak divize ak konkeri. 1069 00:43:49,365 --> 00:43:51,240 Paske menm si nou moun te kapab evidamman 1070 00:43:51,240 --> 00:43:54,610 wè ke Andy oswa kretyen yo te apeprè nan mitan an nan lis la, 1071 00:43:54,610 --> 00:43:57,670 nou ka konnen sèlman ke kòm yon òdinatè pa ekremaj lis la 1072 00:43:57,670 --> 00:43:59,029 depi nan konmansman an anpil. 1073 00:43:59,029 --> 00:44:00,570 Se konsa, nou te bay moute ke aksè o aza. 1074 00:44:00,570 --> 00:44:04,380 >> Se konsa, gwo O n kounye a se anwo a mare sou tan rechèch nou an. 1075 00:44:04,380 --> 00:44:07,920 Ki sa ki sou omega nan rechèch nou an? 1076 00:44:07,920 --> 00:44:11,535 Ki sa ki nan pi ba a mare sou chèche pou kèk nimewo nan lis sa a? 1077 00:44:11,535 --> 00:44:12,410 ODYANS: [fèbl] 1078 00:44:12,410 --> 00:44:13,040 DAVID J. Malan: Di ankò? 1079 00:44:13,040 --> 00:44:13,420 ODYANS: Yon. 1080 00:44:13,420 --> 00:44:13,800 DAVID J. Malan: Yon. 1081 00:44:13,800 --> 00:44:14,760 Se konsa, konstan tan. 1082 00:44:14,760 --> 00:44:17,020 Nan ka ki pi bon, Christine se tout bon nan kòmansman an nan lis la. 1083 00:44:17,020 --> 00:44:19,020 Epi nou ap chèche pou nimewo 5, se konsa nou jwenn l '. 1084 00:44:19,020 --> 00:44:19,787 Se konsa, pa gen okenn kontra gwo. 1085 00:44:19,787 --> 00:44:22,370 Men, li te nan te resevwa yo dwe nan a kòmanse nan lis la nan ka sa a. 1086 00:44:22,370 --> 00:44:23,745 Ki sa ki sou yon bagay tankou efase? 1087 00:44:23,745 --> 00:44:24,717 1088 00:44:24,717 --> 00:44:26,300 E si ou vle efase yon eleman? 1089 00:44:26,300 --> 00:44:29,200 Ki sa ki nan mare a anwo ak pi ba mare sou efase yon bagay ki soti nan yon lye 1090 00:44:29,200 --> 00:44:29,699 lis? 1091 00:44:29,699 --> 00:44:35,195 1092 00:44:35,195 --> 00:44:36,070 ODYANS: [fèbl] 1093 00:44:36,070 --> 00:44:36,420 DAVID J. Malan: Di ankò? 1094 00:44:36,420 --> 00:44:37,067 ODYANS: n. 1095 00:44:37,067 --> 00:44:38,900 DAVID J. Malan: n se tout bon anwo a mare. 1096 00:44:38,900 --> 00:44:41,700 Paske nan ka ki pi mal nou eseye efase Jack, tankou nou jis te fè. 1097 00:44:41,700 --> 00:44:43,050 Li nan tout wout la nan fen an. 1098 00:44:43,050 --> 00:44:45,419 Pran nou pou tout tan, oswa n etap sa yo jwenn li. 1099 00:44:45,419 --> 00:44:46,460 Se konsa, se yon limit siperyè. 1100 00:44:46,460 --> 00:44:47,430 Sa a lineyè, asire w. 1101 00:44:47,430 --> 00:44:50,970 Epi ka-a pi bon kouri tan, oswa limit ki pi ba nan ka a pi bon 1102 00:44:50,970 --> 00:44:51,975 ta dwe tan konstan. 1103 00:44:51,975 --> 00:44:54,600 Paske petèt nou eseye efase Christine, epi nou jis jwenn chans 1104 00:44:54,600 --> 00:44:55,558 li la nan kòmansman an. 1105 00:44:55,558 --> 00:44:56,350 Koulye a, rete tann yon minit. 1106 00:44:56,350 --> 00:44:59,370 Gabe te tou nan kòmansman an, ak nou menm tou te gen yo mete ajou Gabe. 1107 00:44:59,370 --> 00:45:01,150 Se konsa, sa ki te pa jis yon sèl etap. 1108 00:45:01,150 --> 00:45:04,210 Se konsa, li tout bon konstan tan, nan ka a pi bon, 1109 00:45:04,210 --> 00:45:06,345 yo retire eleman ki pi piti? 1110 00:45:06,345 --> 00:45:07,360 1111 00:45:07,360 --> 00:45:10,960 Li se, menm si li ta ka de, twa, oswa menm 100 liy nan kòd, 1112 00:45:10,960 --> 00:45:14,000 si li nan menm kantite liy, pa nan kèk riban, 1113 00:45:14,000 --> 00:45:16,577 ak endepandan nan gwosè a nan lis la, absoliman. 1114 00:45:16,577 --> 00:45:18,660 Efase eleman an nan nan konmansman an nan lis la, 1115 00:45:18,660 --> 00:45:21,940 menm si nou gen fè fas ak Gabe, se toujou tan konstan. 1116 00:45:21,940 --> 00:45:24,220 >> Se konsa, sa sanble tankou yon masiv etap bak. 1117 00:45:24,220 --> 00:45:27,000 Ak sa ki yon fatra nan tan si, nan semèn yon sèl ak semèn 1118 00:45:27,000 --> 00:45:30,250 zewo nou te gen pa sèlman Kòd pseudocode men Kòd aktyèl 1119 00:45:30,250 --> 00:45:35,780 aplike yon bagay ki nan boutèy demi lit baz n, oswa ale, olye, nan n, baz 2, 1120 00:45:35,780 --> 00:45:37,150 an tèm de tan kouri li yo. 1121 00:45:37,150 --> 00:45:40,710 Se konsa, poukisa èk an nou ta vle kòmanse lè l sèvi avèk yon bagay tankou yon lis lye? 1122 00:45:40,710 --> 00:45:41,517 Yeah. 1123 00:45:41,517 --> 00:45:44,022 >> ODYANS: Se konsa, ou kapab ajoute eleman etalaj la. 1124 00:45:44,022 --> 00:45:46,230 DAVID J. Malan: Se konsa, ou kapab ajoute eleman etalaj la. 1125 00:45:46,230 --> 00:45:47,550 Lè sa a tou se tematik. 1126 00:45:47,550 --> 00:45:49,740 Epitou, n ap kontinye wè sa a, sa a komès-off, anpil 1127 00:45:49,740 --> 00:45:51,573 tankou nou te wè yon komès-off ak sòt unifye. 1128 00:45:51,573 --> 00:45:54,606 Nou te ka reyèlman pi vit rechèch oswa klasman, olye, 1129 00:45:54,606 --> 00:45:57,480 si nou depanse yon espas ti jan pi plis ak gen yon ti moso anplis nan yon memwa 1130 00:45:57,480 --> 00:45:58,760 oswa yon etalaj pou rantre sòt. 1131 00:45:58,760 --> 00:46:01,270 Men, nou pase plis espas, men nou ekonomize tan. 1132 00:46:01,270 --> 00:46:04,820 Nan ka sa a, nou ap bay moute tan, men nou ap 1133 00:46:04,820 --> 00:46:08,170 pran fleksibilite, dynamism si ou pral, 1134 00:46:08,170 --> 00:46:10,280 ki se joui yon karakteristik ki pozitif. 1135 00:46:10,280 --> 00:46:11,520 >> Nou ap tou depans espas. 1136 00:46:11,520 --> 00:46:13,710 Nan ki sans se yon lye lis pi chè 1137 00:46:13,710 --> 00:46:15,700 an tèm de espas pase yon etalaj? 1138 00:46:15,700 --> 00:46:18,379 1139 00:46:18,379 --> 00:46:19,920 Ki kote espas ki la siplemantè vini soti nan? 1140 00:46:19,920 --> 00:46:20,460 Yeah? 1141 00:46:20,460 --> 00:46:21,800 >> ODYANS: [fèbl] konsèy. 1142 00:46:21,800 --> 00:46:23,310 >> DAVID J. Malan: Yeah, nou yo te genyen tou konsèy la. 1143 00:46:23,310 --> 00:46:25,560 Se konsa, sa a se minorly anmèdan nan ki pa gen okenn ankò menm 1144 00:46:25,560 --> 00:46:27,780 Mwen estoke jis yon int ki reprezante yon Int. 1145 00:46:27,780 --> 00:46:30,990 Mwen estoke yon int ak yon konsèy, ki se tou 32 miyèt moso. 1146 00:46:30,990 --> 00:46:33,470 Se konsa, mwen literalman double kantite lajan an nan espas ki enplike. 1147 00:46:33,470 --> 00:46:36,040 Se konsa, ki se yon komès-off, men sa a, se nan ka a nan Int. 1148 00:46:36,040 --> 00:46:39,580 Sipoze ke ou pa ap estoke Int, men ta kwè chak nan rektang sa yo 1149 00:46:39,580 --> 00:46:43,290 oswa chak nan moun sa yo te reprezante yon mo, yon mo angle ki 1150 00:46:43,290 --> 00:46:46,430 ta ka senk karaktè, 10 karaktè, petèt menm plis. 1151 00:46:46,430 --> 00:46:49,940 Lè sa a, pandan l ajoute jis 32 plis Bits ta ka mwens nan yon kontra gwo. 1152 00:46:49,940 --> 00:46:52,160 >> E si chak nan elèv yo nan demonstrasyon an 1153 00:46:52,160 --> 00:46:55,107 yo te literalman strukt elèv ki gen non ak kay e petèt 1154 00:46:55,107 --> 00:46:57,065 nimewo telefòn ak Twitter manch ak renmen an. 1155 00:46:57,065 --> 00:46:59,564 Se konsa, tout nan jaden yo nou te kòmanse ap pale de lòt jou a, 1156 00:46:59,564 --> 00:47:02,410 anpil mwens nan yon kontra gwo kòm nœuds nou jwenn plis enteresan 1157 00:47:02,410 --> 00:47:05,972 ak gwo yo ap depanse, eh, yon lòt konsèy jis fè rapò ant yo ansanm. 1158 00:47:05,972 --> 00:47:07,180 Men, tout bon, li nan yon komès-off. 1159 00:47:07,180 --> 00:47:09,560 Ak tout bon, kòd la se pi konplèks, jan ou pral 1160 00:47:09,560 --> 00:47:11,770 wè pa ekremaj a ki egzanp patikilye. 1161 00:47:11,770 --> 00:47:14,302 Men, sa ki si te gen kèk grail apa pou Bondye isit la. 1162 00:47:14,302 --> 00:47:17,010 E si nou pa pran yon etap bak men yon etap masiv pou pi devan 1163 00:47:17,010 --> 00:47:19,180 epi aplike yon done estrikti via ki nou 1164 00:47:19,180 --> 00:47:22,870 ka jwenn eleman tankou Jack oswa Christine oswa nenpòt lòt eleman 1165 00:47:22,870 --> 00:47:25,870 nan sa a etalaj nan vrè tan konstan? 1166 00:47:25,870 --> 00:47:26,920 Search se konstan. 1167 00:47:26,920 --> 00:47:28,320 Efase se konstan. 1168 00:47:28,320 --> 00:47:29,570 Antre se konstan. 1169 00:47:29,570 --> 00:47:32,260 Tout moun nan operasyon sa yo, se konstan. 1170 00:47:32,260 --> 00:47:33,750 Ki ta ka grail apa pou Bondye nou an. 1171 00:47:33,750 --> 00:47:36,690 E ke se kote nou ap ranmase pwochen fwa. 1172 00:47:36,690 --> 00:47:38,600 Al gade nan ou lè sa a. 1173 00:47:38,600 --> 00:47:39,371