1 00:00:00,000 --> 00:00:02,520 [Powered by Google Translate] [Semèn 6, Kontinye] 2 00:00:02,520 --> 00:00:04,160 [David J. Malan] [Inivèsite Harvard] 3 00:00:04,160 --> 00:00:08,720 [Sa a se CS50.] [CS50.TV] 4 00:00:08,720 --> 00:00:12,970 Sa a se CS50 ak sa a se nan fen semèn 6. 5 00:00:12,970 --> 00:00:17,970 Se konsa, CS50x, youn nan kou premye Harvard la ki enplike nan èdo inisyativ sa a 6 00:00:17,970 --> 00:00:20,590 tout bon debut sa a Lendi sot pase yo. 7 00:00:20,590 --> 00:00:23,460 Si ou ta renmen yo ka resevwa yon aperçu nan ki sa lòt moun sou entènèt la 8 00:00:23,460 --> 00:00:27,180 yo kounye a se swiv ansanm ak, ou ka tèt a x.cs50.net. 9 00:00:27,180 --> 00:00:30,350 Ki pral redireksyon ou nan plas la apwopriye sou edx.org, 10 00:00:30,350 --> 00:00:34,160 ki te kote sa a ak lòt kou soti nan MIT ak Berkeley viv koulye a. 11 00:00:34,160 --> 00:00:38,140 Ou ap gen pou enskri pou yon kont, ou ap jwenn ki materyèl la se lajman menm bagay la tou 12 00:00:38,140 --> 00:00:42,170 menm jan ou te gen sa a semès, byen yon kèk semèn reta, menm jan nou jwenn tout bagay pare. 13 00:00:42,170 --> 00:00:46,930 Men, sa ki elèv ki nan CS50x pral wè koulye a se yon koòdone byen tankou sa youn. 14 00:00:46,930 --> 00:00:50,040 Sa a, pou egzanp, se Zamyla ki mennen solisyon pou ansanm pwoblèm 0. 15 00:00:50,040 --> 00:00:54,230 Lè li antre nan edx.org, yon elèv CS50x wè kalite ki nan bagay sa yo 16 00:00:54,230 --> 00:00:57,170 ou ta espere wè nan yon kou: konferans la pou Lendi a, 17 00:00:57,170 --> 00:01:01,650 konferans pou Mèkredi, bout pantalon divès kalite, ansanm sa yo, pwoblèm, valktroug yo, pdf. 18 00:01:01,650 --> 00:01:04,459 Anplis de sa, kòm ou wè la a, machin tradiksyon 19 00:01:04,459 --> 00:01:08,390 nan relve nòt angle nan Chinwa, Japonè, Espayòl, Italyen, 20 00:01:08,390 --> 00:01:12,810 ak yon pakèt antye nan lòt lang yo ki pral sètènman se enpafè 21 00:01:12,810 --> 00:01:15,840 jan nou woule yo soti kite programatik lè l sèvi avèk yon bagay yo rele yon API, 22 00:01:15,840 --> 00:01:18,360 oswa aplikasyon pwogram koòdone, ki soti nan Google 23 00:01:18,360 --> 00:01:21,360 ki pèmèt nou konvèti angle sa yo lòt lang yo. 24 00:01:21,360 --> 00:01:24,100 Men, gras a Lespri Bondye a bèl bagay nan kèk volontè san-plis, 25 00:01:24,100 --> 00:01:26,940 moun o aza sou Entènèt la ki te byen avè yo ofri patisipe 26 00:01:26,940 --> 00:01:30,180 nan pwojè sa a, nou pral piti piti pou amelyore bon jan kalite a nan moun ki tradiksyon 27 00:01:30,180 --> 00:01:35,790 pa gen moun korije erè sa yo ke òdinatè nou yo te fè fè yo. 28 00:01:35,790 --> 00:01:42,330 >> Se konsa, li vire soti nou te yon tijan plis elèv montre moute nan Lendi pase nou okòmansman atann. 29 00:01:42,330 --> 00:01:48,980 An reyalite, kounye a CS50x gen 100,000 moun swiv ansanm nan kay la. 30 00:01:48,980 --> 00:01:54,430 Se konsa, reyalize ou se tout yon pati nan klas sa a inogirasyon nan fè kou sa a nan syans òdinatè 31 00:01:54,430 --> 00:01:57,370 edikasyon plis jeneralman, plis lajman, ki aksesib. 32 00:01:57,370 --> 00:02:00,130 Ak reyalite a se kounye a, ak kèk nan kou sa yo masiv sou entènèt, 33 00:02:00,130 --> 00:02:04,070 yo tout kòmanse ak nimewo sa yo wo anpil, kòm nou yo sanble yo te fè isit la. 34 00:02:04,070 --> 00:02:08,759 Men, objektif la, finalman, pou CS50x se reyèlman jwenn moun kòm anpil nan liy lan fini ke posib. 35 00:02:08,759 --> 00:02:12,000 By konsepsyon, CS50x yo pral ofri sa a soti nan sot pase Lendi 36 00:02:12,000 --> 00:02:17,430 tout wout la nan, 15 avril 2013, se konsa ke jan ki gen angajman lekòl yon lòt kote, 37 00:02:17,430 --> 00:02:20,990 travay, fanmi, konfli ak lòt tankou an, gen yon ti jan pi plis fleksibilite 38 00:02:20,990 --> 00:02:23,640 ak ki plonje nan kou sa a, ki, sufi li vle di, 39 00:02:23,640 --> 00:02:30,540 se byen Ambisyon fè si sèlman sou kou nan de twa jis mwa pandan yon semès dabitid. 40 00:02:30,540 --> 00:02:34,190 Men, sa yo elèv yo ap fèt abòde ansanm sa yo, pwoblèm menm, gade kontni an menm, 41 00:02:34,190 --> 00:02:36,350 gen aksè a bout pantalon yo menm ak tankou la. 42 00:02:36,350 --> 00:02:38,990 Se konsa, reyalize ke nou tout nou vrèman nan sa a yo ansanm. 43 00:02:38,990 --> 00:02:42,360 Ak youn nan objektif yo nan fen CS50x se pa sèlman yo ka resevwa jan kòm anpil 44 00:02:42,360 --> 00:02:45,720 nan liy lan fini, e bay yo sa a konpreyansyon newfound nan syans òdinatè 45 00:02:45,720 --> 00:02:49,000 ak pwogramasyon, men tou yo fè yo gen eksperyans sa a pataje. 46 00:02:49,000 --> 00:02:52,010 Youn nan karakteristik sa yo defini nan 50 sou lakou lekòl la, nou espere, 47 00:02:52,010 --> 00:02:56,260 te gen sa a sòt de eksperyans kominotè, pou pi bon oswa pou pi mal, pafwa, 48 00:02:56,260 --> 00:02:59,480 men gen moun sa yo ale nan a gòch la ak sou bò dwat la, 49 00:02:59,480 --> 00:03:01,830 ak biwo èd tan ak hackathon la ak kèmès la. 50 00:03:01,830 --> 00:03:04,560 Li se yon ti kras pi difisil fè sa nan moun ki gen jan sou entènèt, 51 00:03:04,560 --> 00:03:10,580 men CS50x ap detèmine nan mwa avril ak premye tout tan Ekspozisyon an CS50, 52 00:03:10,580 --> 00:03:13,630 ki pral yon adaptasyon sou entènèt nan lide nou an jis nan 53 00:03:13,630 --> 00:03:18,250 kote sa yo dè milye de elèv yo tout pral envite yo soumèt yon 1 - a 2-minit videyo, 54 00:03:18,250 --> 00:03:22,480 swa yon skreankast nan pwojè final yo oswa videyo nan yo leve alo 55 00:03:22,480 --> 00:03:24,490 ak pale sou pwojè yo epi yo demoing li, 56 00:03:24,490 --> 00:03:27,610 anpil tankou chèf anvan ou te fè isit la sou kanpis lekòl-la jis la, 57 00:03:27,610 --> 00:03:31,400 pou ke nan fen semès la, se espwa a se gen yon egzibisyon mondyal 58 00:03:31,400 --> 00:03:37,080 nan pwojè final elèv yo CS50x ', anpil tankou sa ki ap tann nou isit la sou sa a desanm kanpis lekòl la. 59 00:03:37,080 --> 00:03:39,680 Se konsa, plis sou sa nan mwa ki ap vini yo. 60 00:03:39,680 --> 00:03:43,640 >> Avèk 100,000 elèv yo, menm si, vini yon bezwen pou yon sèrtifikasyon kèk plis. 61 00:03:43,640 --> 00:03:47,590 Sitiyasyon ou Etandone ke ou nèg yo ap flanm santye an isit la epi si w pran CS50 62 00:03:47,590 --> 00:03:51,630 plizyè semèn nan avanse, ki se lage materyèl sa a nan jan yo sou èdo, 63 00:03:51,630 --> 00:03:55,330 reyalize nou ta renmen gen pou wè ak kòm anpil nan elèv yo pwòp nou ke posib nan inisyativ sa a, 64 00:03:55,330 --> 00:03:58,720 ni pandan semès la kòm byen ke sezon fredi sa a ak sa a sezon prentan vini yo. 65 00:03:58,720 --> 00:04:01,620 Se konsa, si ou ta renmen patisipe nan CS50x, 66 00:04:01,620 --> 00:04:07,450 patikilyèman rantre nan nan sou CS50x diskite, vèsyon an èdo nan CS50 diskite, 67 00:04:07,450 --> 00:04:10,140 ki anpil nan nou yo te lè l sèvi avèk nan kanpis la, tablo afichaj sou entènèt, 68 00:04:10,140 --> 00:04:13,040 tanpri fè tèt ak sa yo ki URL, fè nou konnen ki moun ou ye, 69 00:04:13,040 --> 00:04:16,450 paske nou ta renmen bati yon ekip nan elèv ak anplwaye lekòl ak pwofesè yo sanble 70 00:04:16,450 --> 00:04:19,630 sou lakou lekòl la ki yo se tou senpleman ap jwe ansanm epi ede deyò. 71 00:04:19,630 --> 00:04:21,720 Epi lè yo wè yon kesyon ki nan abitye yo: 72 00:04:21,720 --> 00:04:25,320 ou tande yon elèv rapòte kèk ensèk yon kote yo deyò nan kèk peyi sou Entènèt la, 73 00:04:25,320 --> 00:04:27,450 ak ke bag yon klòch paske ou twò te gen pwoblèm sa menm 74 00:04:27,450 --> 00:04:32,620 nan sal d-ou kèk tan de sa, èspere ke Lè sa a, ou ka sone nan epi pataje eksperyans pwòp ou yo. 75 00:04:32,620 --> 00:04:37,300 Se konsa, tanpri patisipe si ou ta renmen. 76 00:04:37,300 --> 00:04:39,360 >> Kou syans Odinatè nan Harvard gen yon ti jan nan yon tradisyon, 77 00:04:39,360 --> 00:04:44,730 CS50 nan mitan yo, pou yo gen kèk rad, kèk rad sou li, ke ou ka mete ak fyète 78 00:04:44,730 --> 00:04:49,090 nan fen semès la, yo di byen ak fyète ke ou fini CS50 79 00:04:49,090 --> 00:04:51,830 , li pran CS50 ak renmen an, epi nou toujou eseye enplike elèv yo 80 00:04:51,830 --> 00:04:54,540 nan pwosesis sa a kòm anpil ke posib, annakò ak sa nou envite, 81 00:04:54,540 --> 00:04:56,900 alantou tan sa a nan semès la, elèv yo soumèt desen 82 00:04:56,900 --> 00:04:59,330 lè l sèvi avèk fotoschop, oswa kèlkeswa sa zouti nan chwa ou ta renmen itilize 83 00:04:59,330 --> 00:05:02,330 si ou se yon designer, yo soumèt desen pou mayo-yo ak swetè mayo 84 00:05:02,330 --> 00:05:06,100 ak parapli ak foula ti kras pou chen nou genyen kounye a ak renmen an. 85 00:05:06,100 --> 00:05:09,370 Ak tout bagay se lè sa a - ganyan yo chak ane yo Lè sa a, ekspoze 86 00:05:09,370 --> 00:05:12,700 sou sit entènèt kou a nan store.cs50.net. 87 00:05:12,700 --> 00:05:15,790 Tout bagay se vann nan pri a, men sou sit wèb la jis kouri tèt li 88 00:05:15,790 --> 00:05:18,330 ak pèmèt moun yo chwazi koulè yo ak desen yo ke yo renmen. 89 00:05:18,330 --> 00:05:20,420 Se konsa, mwen te panse nou ta jis pataje kèk nan desen ane pase a 90 00:05:20,420 --> 00:05:25,130 ki te sou sit entènèt la san konte yon sèl sa a isit la, ki se yon tradisyon chak ane. 91 00:05:25,130 --> 00:05:29,410 "Chak Jou mwen segman Faultn" se te youn nan observation yo ane pase a, 92 00:05:29,410 --> 00:05:32,290 ki se toujou disponib la pou ansyen elèv. 93 00:05:32,290 --> 00:05:35,820 Nou te gen yon sèl sa a, "CS50, Etabli 1989." 94 00:05:35,820 --> 00:05:39,010 Youn nan Bowdens nou an, Rob, te trè popilè ane pase a. 95 00:05:39,010 --> 00:05:43,480 "Ekip Bowden" te fèt, sa a te konsepsyon soumèt, nan mitan vandè an tèt yo. 96 00:05:43,480 --> 00:05:49,040 Kòm te yon sèl sa a isit la. Anpil moun te gen "Bowden Lafyèv" selon bwa nan lavant yo. 97 00:05:49,040 --> 00:05:52,650 Reyalize ke ki ta kapab kounye a gen konsepsyon ou gen, moute sou entènèt la. 98 00:05:52,650 --> 00:05:57,510 Plis detay sou sa nan pwoblèm nan pwochen kouche ap vini yo. 99 00:05:57,510 --> 00:06:00,330 >> Youn nan pi plis zouti: ou te te gen kèk ekspoze ak èspere ke kounye a 100 00:06:00,330 --> 00:06:02,350 yon ti eksperyans men-sou ak gdb, 101 00:06:02,350 --> 00:06:04,570 ki se, nan kou, yon debugjeur ak pèmèt ou manipile 102 00:06:04,570 --> 00:06:09,500 pwogram ou an nan yon nivo san patipri ki ba, ap fè sa kalite bagay? 103 00:06:09,500 --> 00:06:13,030 Ki sa ki gdb kite ou fè? 104 00:06:13,030 --> 00:06:15,030 Yeah? Ban m 'yon bagay. [Repons elèv, enkonpreansibl] 105 00:06:15,030 --> 00:06:18,120 Bon. Etap nan fonksyon, pou w pa jis gen nan tape kouri 106 00:06:18,120 --> 00:06:22,310 epi yo gen kou pwogram nan atravè nèt, enprime soti bagay sa yo nan pwodiksyon estanda. 107 00:06:22,310 --> 00:06:25,190 Olye de sa, ou ka etap atravè li liy pa liy, swa ou tape pwochen 108 00:06:25,190 --> 00:06:30,300 ale liy pa liy pa liy oswa etap plonje nan yon fonksyon, tipikman yon sèl ke ou te ekri. 109 00:06:30,300 --> 00:06:35,240 Ki lòt bagay gdb kite ou fè? Yeah? [Repons elèv, enkonpreansibl] 110 00:06:35,240 --> 00:06:38,100 Ekri an lèt detache varyab. Se konsa, si ou vle fè yon antre anndan nanm nou ti kras andedan nan pwogram ou an 111 00:06:38,100 --> 00:06:41,500 san yo pa gen Resort ekri deklarasyon printf sou tout plas la, 112 00:06:41,500 --> 00:06:44,600 ou ka jis enprime yon varyab oswa montre yon varyab. 113 00:06:44,600 --> 00:06:46,710 Ki lòt bagay ou ka fè ak yon debugjeur tankou gdb? 114 00:06:46,710 --> 00:06:49,170 [Repons elèv, enkonpreansibl] 115 00:06:49,170 --> 00:06:52,080 Egzakteman. Ou ka mete breakpoints; ou ka di ekzekisyon repo 116 00:06:52,080 --> 00:06:54,020 nan fonksyon prensipal oswa fonksyon nan foo. 117 00:06:54,020 --> 00:06:56,800 Ou ka di ekzekisyon repo nan liy 123. 118 00:06:56,800 --> 00:06:58,950 Ak breakpoints yo se yon teknik vrèman pwisan 119 00:06:58,950 --> 00:07:01,110 paske si w gen yon sans jeneral nan kote pwoblèm ou 120 00:07:01,110 --> 00:07:05,360 pwobableman se, ou pa bezwen gaspiye tan kite atravè antye pwogram nan. 121 00:07:05,360 --> 00:07:08,250 Ou ka esansyèlman so dwa gen ak Lè sa a, kòmanse sezisman - 122 00:07:08,250 --> 00:07:10,970 kite nan l 'ak etap oswa pwochen oswa tankou an. 123 00:07:10,970 --> 00:07:14,340 Men, trape an ak yon bagay tankou gdb se ke li ede ou, moun lan, 124 00:07:14,340 --> 00:07:16,940 jwenn pwoblèm ou epi jwenn pinèz ou a. 125 00:07:16,940 --> 00:07:19,470 Li pa nesesèman jwenn yo tèlman pou ou. 126 00:07:19,470 --> 00:07:23,070 >> Se konsa, nou prezante style50 a lòt jou, ki se yon lòd zouti kout liy 127 00:07:23,070 --> 00:07:27,500 ki ap eseye stilize kòd ou yon ti jan ti kras pi plis propr pase ou, moun lan, ta ka gen fè. 128 00:07:27,500 --> 00:07:29,530 Men, ki, tou, se reyèlman jis yon bagay ayestetik. 129 00:07:29,530 --> 00:07:34,110 Men, li vire soti gen nan zouti sa a lòt te rele Valgrind ki se yon ti kras pi plis Esoteric yo itilize. 130 00:07:34,110 --> 00:07:36,860 Pwodiksyon li se atrociously skre nan zye premye. 131 00:07:36,860 --> 00:07:39,420 Men, li la bèl bagay ki itil, espesyalman kounye a ke nou ap nan pati nan tèm nan 132 00:07:39,420 --> 00:07:43,080 ki kote ou kòmanse itilize malok ak dinamik alokasyon memwa. 133 00:07:43,080 --> 00:07:45,420 Bagay sa yo ka ale reyèlman, reyèlman mal byen vit. 134 00:07:45,420 --> 00:07:49,320 Paske si ou bliye libere memwa ou, oswa ou dèreferans kèk konsèy nil, 135 00:07:49,320 --> 00:07:55,770 oswa ou dèreferans kèk konsèy fatra, ki sa ki tipikman sentòm a ki rezilta? 136 00:07:55,770 --> 00:07:59,470 Segman fay. Epi ou jwenn sa a ranpli debaz nan kèk kantite kilookte oswa megabit 137 00:07:59,470 --> 00:08:02,990 ki reprezante eta a nan memwa pwogram ou an lè li te fè aksidan, 138 00:08:02,990 --> 00:08:05,730 men pwogram ou an finalman segman fot, fòt segmentation, 139 00:08:05,730 --> 00:08:08,450 ki vle di yon move bagay ki te pase prèske toujou ki gen rapò 140 00:08:08,450 --> 00:08:11,750 nan yon erè memwa ki gen rapò ak ke ou te fè kèk kote. 141 00:08:11,750 --> 00:08:14,100 Se konsa, Valgrind ap ede w jwenn bagay sa yo tankou sa a. 142 00:08:14,100 --> 00:08:17,720 Li se yon zouti ki ou kouri, tankou gdb, apre ou te konpile pwogram ou an, 143 00:08:17,720 --> 00:08:20,330 men olye ke kouri pwogram ou an dirèkteman, ou kouri Valgrind 144 00:08:20,330 --> 00:08:23,960 epi ou pase sou li pwogram ou an, jis tankou ou fè ak gdb. 145 00:08:23,960 --> 00:08:26,220 Koulye a, l 'a, yo ka resevwa kalite a pi bon nan pwodiksyon, 146 00:08:26,220 --> 00:08:30,410 se yon ti kras tan, se konsa dwa gen anlè nan ekran an ou pral wè Valgrind-V. 147 00:08:30,410 --> 00:08:35,350 "-V" prèske inivèsèl vle di sil lè w ap sèvi ak pwogram sou yon òdinatè Linux. 148 00:08:35,350 --> 00:08:38,770 Se konsa, sa vle di li krache soti plis done pase ou ka pa default. 149 00:08:38,770 --> 00:08:45,510 "- Fuit radyasyon-tcheke = plen." Sa a se jis di chèk pou tout fwit memwa sa posib, 150 00:08:45,510 --> 00:08:49,430 erè ke mwen te ka te fè fè yo. Sa a, tou, se yon paradigm komen avèk pwogram Linux. 151 00:08:49,430 --> 00:08:52,710 Anjeneral, si w gen yon agiman liy lòd sa a, se yon "switch", 152 00:08:52,710 --> 00:08:55,830 ki nan sipoze chanje konpòtman pwogram nan, ak li nan yon lèt yon sèl, 153 00:08:55,830 --> 00:09:00,310 li nan-V, men si ki nan commuté, jis pa konsepsyon nan pwogramè a, 154 00:09:00,310 --> 00:09:05,150 se yon mo plen oswa seri de mo, agiman an liy lòd kòmanse ak -. 155 00:09:05,150 --> 00:09:08,190 Sa yo se sèlman konvansyon moun, men ou pral wè yo de pli zan pli. 156 00:09:08,190 --> 00:09:12,410 Lè sa a,, finalman, "a.out" se non yo abitrè pou pwogram lan nan egzanp sa a an patikilye. 157 00:09:12,410 --> 00:09:14,640 Ak isit la a kèk pwodiksyon reprezantan. 158 00:09:14,640 --> 00:09:22,890 >> Anvan nou gade nan ki sa sa kapab vle di, kite m 'ale sou nan yon brib nan kòd sou isit la. 159 00:09:22,890 --> 00:09:26,390 Ak kite m 'deplase sa a soti nan wout la, vini byento, 160 00:09:26,390 --> 00:09:32,120 ak kite a pran yon gade nan memory.c, ki se egzanp sa a kout isit la. 161 00:09:32,120 --> 00:09:36,290 Se konsa, nan pwogram sa a, kite m 'rale nan sou fonksyon yo ak kesyon yo. 162 00:09:36,290 --> 00:09:39,430 Nou gen yon fonksyon prensipal ki mande yon fonksyon, f, 163 00:09:39,430 --> 00:09:45,590 ak Lè sa a, ki sa f kontinye nan fè sa, nan lang angle yon ti kras teknik? 164 00:09:45,590 --> 00:09:49,760 Ki sa ki f kontinye nan? 165 00:09:49,760 --> 00:09:53,680 Kouman sou mwen pral kòmanse avèk liy 20, ak kote etwal nan pa gen pwoblèm, 166 00:09:53,680 --> 00:09:56,720 men m ap jis dwe konsistan isit la ak konferans dènye. 167 00:09:56,720 --> 00:09:59,910 Ki sa ki nan liy 20 pou nou? Sou bò men gòch. Nou pral kraze li desann pi lwen. 168 00:09:59,910 --> 00:10:02,410 Int * x: ki sa sa fè? 169 00:10:02,410 --> 00:10:04,940 Oke. Li nan deklare yon konsèy, ak kounye a kite a gen menm plis teknik. 170 00:10:04,940 --> 00:10:10,230 Kisa sa vle di, trè konkrètman, deklare yon konsèy? Yon lòt moun? 171 00:10:10,230 --> 00:10:15,050 Yeah? [Repons elèv, enkonpreansibl] twò lwen. 172 00:10:15,050 --> 00:10:17,060 Se konsa, ou ap li bò lanmè a men dwat-ou nan siy ki egal. 173 00:10:17,060 --> 00:10:20,290 Se pou nou konsantre jis sou bò gòch la, jis sou int x *. 174 00:10:20,290 --> 00:10:24,700 Sa a "deklare" yon konsèy, men kounye a nan kite l 'plonje nan pi fon ak sa yo ki definisyon. 175 00:10:24,700 --> 00:10:28,330 Ki sa sa konkrètman, teknikman vle di? Yeah? 176 00:10:28,330 --> 00:10:31,940 [Repons elèv, enkonpreansibl] 177 00:10:31,940 --> 00:10:35,090 Oke. Li nan prepare pou konsève pou yon adrès nan memwa. 178 00:10:35,090 --> 00:10:40,680 Bon. Ak kite a pran etap sa a yon sèl pli lwen; li a deklare yon varyab, x, ki nan 32 Bits. 179 00:10:40,680 --> 00:10:44,440 Apre sa, mwen konnen li nan 32 Bits paske -? 180 00:10:44,440 --> 00:10:47,390 Li pa paske li nan yon int, paske li nan yon konsèy nan ka sa a. 181 00:10:47,390 --> 00:10:49,650 Konyensidans ke li nan yon sèl ak menm bagay la ak yon int, 182 00:10:49,650 --> 00:10:51,970 men lefèt ke gen nan zetwal la gen vle di sa a se yon konsèy 183 00:10:51,970 --> 00:10:57,300 ak nan aparèy la, menm jan ak òdinatè anpil, men se pa tout, endikasyon yo se 32 miyèt moso. 184 00:10:57,300 --> 00:11:01,850 Sou plis kenkayri modèn yo tankou Macs dènye yo, PC yo dènye yo, ou ka gen endikasyon 64-ti jan, 185 00:11:01,850 --> 00:11:04,160 men nan aparèy la, bagay sa yo se 32 miyèt moso. 186 00:11:04,160 --> 00:11:08,380 Se konsa, nou pral estandadize sou sa. Plis konkrètman, istwa an ale jan sa a: 187 00:11:08,380 --> 00:11:10,820 Nou "deklare" yon konsèy; ki sa sa vle di? 188 00:11:10,820 --> 00:11:12,810 Nou prepare nan magazen yon adrès memwa. 189 00:11:12,810 --> 00:11:15,530 Kisa sa vle di? 190 00:11:15,530 --> 00:11:19,810 Nou kreye yon varyab x rele ki pran moute 32 Bits 191 00:11:19,810 --> 00:11:23,810 ki pral byento sere adrès ki nan yon nonb antye relatif. 192 00:11:23,810 --> 00:11:26,470 Epi sa a, pwobableman sou kòm egzak kòm nou ka jwenn. 193 00:11:26,470 --> 00:11:31,810 Li nan amann deplase pou pi devan pou senplifye mond lan ak jis di deklare yon konsèy rele x. 194 00:11:31,810 --> 00:11:35,380 Deklare yon konsèy, men mwen reyalize ak konprann sa ki aktyèlman pral sou 195 00:11:35,380 --> 00:11:38,490 menm nan jis sa yo characters kèk. 196 00:11:38,490 --> 00:11:42,040 >> Koulye a, yon sèl sa a nan prèske yon ti kras pi fasil, menm si li nan yon ekspresyon pi long lan. 197 00:11:42,040 --> 00:11:48,160 Se konsa, sa sa a ap fè, ki nan make kounye a: "malok (10 * sizof (Int));" Yeah? 198 00:11:48,160 --> 00:11:52,350 [Repons elèv, enkonpreansibl] 199 00:11:52,350 --> 00:11:58,250 Bon. Apre sa, m'a pran l la. Li nan allocation yon ti moso nan memwa pou dis nonm antye relatif. 200 00:11:58,250 --> 00:12:02,190 Ak kounye a kite a plonje nan yon ti kras pi fon; li nan allocation yon ti moso nan memwa pou dis nonm antye relatif. 201 00:12:02,190 --> 00:12:05,390 Ki sa ki malok Lè sa a, retounen? 202 00:12:05,390 --> 00:12:10,390 Adrès postal la nan ki moso, oswa, plis konkrètman, adrès la nan multiple an premye nan ki moso. 203 00:12:10,390 --> 00:12:14,080 Ki jan Lè sa a, mwen ye menm pwogramè a, yo konnen kote ki ti moso nan dènye bout memwa? 204 00:12:14,080 --> 00:12:18,340 Mwen konnen ke li nan contiguous. Malok, pa definisyon, pral ba ou yon moso contiguous nan memwa. 205 00:12:18,340 --> 00:12:21,240 Pa gen twou vid ki genyen nan li. Ou gen aksè a tout multiple nan ki moso, 206 00:12:21,240 --> 00:12:26,760 tounen nan fè bak nan do, men ki jan mwen konnen ki kote nan fen sa a ti moso nan memwa se? 207 00:12:26,760 --> 00:12:28,850 Lè ou sèvi ak malok? [Repons elèv, enkonpreansibl] Bon. 208 00:12:28,850 --> 00:12:30,670 Ou pa fè sa. Ou gen sonje. 209 00:12:30,670 --> 00:12:35,960 Mwen gen sonje ke mwen te itilize valè a 10, epi mwen pa menm sanble yo te fè ki isit la. 210 00:12:35,960 --> 00:12:41,000 Men, apartyin a se antyèman sou m '. Strlèn, ki nou te vin yon ti kras reliant sou pou strings, 211 00:12:41,000 --> 00:12:45,860 travay sèlman paske sa a konvansyon ki gen \ 0 212 00:12:45,860 --> 00:12:48,840 oswa sa a espesyal karaktè nul, nul, nan fen yon kòd. 213 00:12:48,840 --> 00:12:51,740 Ki pa kenbe pou jis sègman abitrè nan memwa. 214 00:12:51,740 --> 00:12:58,590 Li a jiska ou. Se konsa, liy 20, lè sa a, repati yon ti moso nan memwa 215 00:12:58,590 --> 00:13:02,590 ki ka magazen dis nonm antye yo, epi li estoke adrès ki nan multiple nan premye 216 00:13:02,590 --> 00:13:05,610 nan ki ti moso nan memwa nan x la varyab rele. 217 00:13:05,610 --> 00:13:11,140 Èrgo, ki se yon konsèy. Se konsa, liy 21, malerezman, se te yon erè. 218 00:13:11,140 --> 00:13:16,110 Men, an premye, ki sa ki li ap fè? Li nan di magazen an, 10 kote 0 Catalogue, 219 00:13:16,110 --> 00:13:19,480 nan moso nan memwa rele x 0 a valè. 220 00:13:19,480 --> 00:13:21,510 >> Se konsa, remake yon koup la bagay yo ap mache sou. 221 00:13:21,510 --> 00:13:25,420 Menm si x ki se yon konsèy, sonje ki sòti nan yon semèn koup Anons sa pibliye depi 222 00:13:25,420 --> 00:13:29,440 ki ou ka toujou itilize kare etalaj-style notasyon a bracket. 223 00:13:29,440 --> 00:13:36,180 Paske sa a, se aktyèlman kout-men notasyon pou aritmetik a konsèy plis skre-ap chèche. 224 00:13:36,180 --> 00:13:40,320 kote nou ta fè yon bagay tankou sa a: Pran x la adrès, deplase 10 tach sou, 225 00:13:40,320 --> 00:13:44,550 Lè sa a, ale la kèlkeswa adrès la ki estoke nan ki kote. 226 00:13:44,550 --> 00:13:48,090 Men, franchman, sa a se jis atròs li epi pou yo jwenn alèz avèk li. 227 00:13:48,090 --> 00:13:52,900 Se konsa, mond lan tipikman itilize parantèz yo kare jis paske li nan anpil plis moun-zanmitay li. 228 00:13:52,900 --> 00:13:55,140 Men, se sa ki nan reyèlman ale sou anba kapo a; 229 00:13:55,140 --> 00:13:58,190 x se yon adrès, pa yon etalaj, se pou chak. 230 00:13:58,190 --> 00:14:02,410 Se konsa, sa a se estoke 0 nan kote 10 nan x. 231 00:14:02,410 --> 00:14:06,120 Poukisa se sa a move? Yeah? 232 00:14:06,120 --> 00:14:17,370 [Repons elèv, enkonpreansibl] Egzakteman. 233 00:14:17,370 --> 00:14:21,100 Nou sèlman afekte dis antye, men nou konsidere ki ant 0 lè pwogramasyon nan C, 234 00:14:21,100 --> 00:14:25,690 konsa ou gen aksè a 0 10 1 2 3 4 5 6 7 8 9, men se pa. 235 00:14:25,690 --> 00:14:30,270 Se konsa, swa pwogram nan ki pral fòt segman oswa li pa. 236 00:14:30,270 --> 00:14:32,900 Men nou pa vrèman konnen; sa a se sòt de yon konpòtman nondeterministic. 237 00:14:32,900 --> 00:14:35,600 Li reyèlman depann de si wi ou non nou jwenn chans. 238 00:14:35,600 --> 00:14:40,650 Si li sanble ke sistèm nan fonksyone pa lide si mwen itilize ki multiple siplemantè, 239 00:14:40,650 --> 00:14:43,360 menm si li pa te bay li nan m ', pwogram mwen pa ta ka aksidan. 240 00:14:43,360 --> 00:14:46,780 Li nan kri, li nan buggy, men ou pa ta ka wè ke sentòm, 241 00:14:46,780 --> 00:14:48,960 oswa ou ta ka wè l 'yon sèl fwa nan yon ti tan. 242 00:14:48,960 --> 00:14:51,230 Men, reyalite a se sa pinèz la se, an reyalite, la. 243 00:14:51,230 --> 00:14:54,320 Epitou, se vrèman pwoblèm si ou te ekri yon pwogram ki ou vle yo ki kòrèk, 244 00:14:54,320 --> 00:14:58,840 ke ou te vann pwogram nan ke gen moun ki ap itilize ke chak yon fwa nan yon pandan y ap kolizyon 245 00:14:58,840 --> 00:15:02,450 paske, nan kou, sa a se pa bon. An reyalite, si ou genyen yon telefòn android oswa iPhone yon 246 00:15:02,450 --> 00:15:05,550 epi ou download apps jou sa yo, si ou janm genyen yon app jis kite fimen, 247 00:15:05,550 --> 00:15:10,040 tout nan yon toudenkou li disparèt, sa se prèske toujou rezilta a nan kèk pwoblèm memwa ki gen rapò ak, 248 00:15:10,040 --> 00:15:12,830 kote pwogramè a vise leve, li dereferenced yon konsèy 249 00:15:12,830 --> 00:15:18,670 ke li pa ta dwe genyen, epi rezilta a nan yo oswa android se jis touye pwogram nan tout ansanm 250 00:15:18,670 --> 00:15:23,080 olye pase risk konpòtman endefini oswa kèk kalite konpwomi sekirite. 251 00:15:23,080 --> 00:15:25,950 >> Genyen yon bug lòt nan pwogram sa a san konte sa a youn. 252 00:15:25,950 --> 00:15:30,180 Ki lòt bagay mwen te vise moute nan pwogram sa a? 253 00:15:30,180 --> 00:15:32,740 Mwen pa te pratike sa mwen te anonse bon nouvèl. Yeah? 254 00:15:32,740 --> 00:15:34,760 [Repons elèv, enkonpreansibl] Bon. 255 00:15:34,760 --> 00:15:36,880 Mwen pa janm te libere memwa a. Se konsa, règ la nan gwo pous kounye a 256 00:15:36,880 --> 00:15:43,150 gen yo dwe nenpòt ki lè ou rele malok, ou dwe rele gratis lè w ap fè lè l sèvi avèk ki memwa. 257 00:15:43,150 --> 00:15:45,610 Koulye a, lè ta mwen vle libere sa a memwa? 258 00:15:45,610 --> 00:15:49,780 Pwobableman, an konsideran liy sa a premye te kòrèk, mwen ta vle fè li isit la. 259 00:15:49,780 --> 00:15:55,710 Paske mwen pa t 'kapab, pou egzanp, fè li desann isit la. Poukisa? 260 00:15:55,710 --> 00:15:57,860 Jis soti nan dimansyon. Se konsa, menm si n ap pale endikasyon, 261 00:15:57,860 --> 00:16:04,830 sa a se yon semèn 2 oubyen 3 pwoblèm, kote x se sèlman nan dimansyon andedan aparèy òtopedik yo Curly kote li te deklare. 262 00:16:04,830 --> 00:16:11,000 Se konsa, ou definitivman pa ka libere li a. Chans sèlman mwen nan libere li se apeprè apre liy 21. 263 00:16:11,000 --> 00:16:15,170 Sa a se yon pwogram san patipri senp; li te jistis fasil yon fwa ou kalite vlope tèt ou 264 00:16:15,170 --> 00:16:17,870 alantou sa pwogram lan ap fè, ki kote erè sa yo te ye. 265 00:16:17,870 --> 00:16:20,500 Ak menm si ou pa t 'wè li an premye, èspere ke li nan yon ti kras evidan kounye a 266 00:16:20,500 --> 00:16:23,870 ki sa yo erè yo trè fasil rezoud ak byen fasil fè fè yo. 267 00:16:23,870 --> 00:16:28,720 Men, lè yon pwogram se plis pase 12 liy long, li nan 50 liy long, 100 liy long, 268 00:16:28,720 --> 00:16:31,150 mache nan liy kòd ou a pa liy, panse atravè li lojikman, 269 00:16:31,150 --> 00:16:35,110 se posib, men se pa patikilyèman plezi bagay yo fè, toujou ap chèche pou pinèz, 270 00:16:35,110 --> 00:16:38,340 ak li la tou difisil yo fè, ak sa a, se poukisa yon zouti tankou Valgrind egziste. 271 00:16:38,340 --> 00:16:40,900 Kite m 'ale pi devan epi fè sa: kite m' louvri fenèt tèminal m 'yo, 272 00:16:40,900 --> 00:16:45,400 ak kite m 'pa sèlman kouri memwa, paske memwa sanble ap amann. 273 00:16:45,400 --> 00:16:49,180 Mwen ap resevwa chans. Ale nan ki multiple adisyonèl nan fen etalaj la 274 00:16:49,180 --> 00:16:51,060 pa sanble yo dwe twò Pwoblematik. 275 00:16:51,060 --> 00:16:56,370 Men, se pou m ', Alòske, fè yon chèk saniti, ki jis vle di yo tcheke 276 00:16:56,370 --> 00:16:58,320 si ou pa sa a se aktyèlman kòrèk. 277 00:16:58,320 --> 00:17:04,690 >> Se konsa, kite a fè valgrind-V - fuit radyasyon-tcheke = plen, 278 00:17:04,690 --> 00:17:07,520 ak Lè sa a, non an nan pwogram nan nan ka sa a se memwa, pa a.out. 279 00:17:07,520 --> 00:17:10,760 Se konsa, kite m 'ale pi devan epi fè sa. Frape Antre nan. 280 00:17:10,760 --> 00:17:14,109 Chè Bondye. Sa a se pwodiksyon li, e sa se ki sa mwen mansyone pi bonè. 281 00:17:14,109 --> 00:17:17,550 Men, si w aprann li atravè tout sou istwa san sans la isit la, 282 00:17:17,550 --> 00:17:20,760 pi fò nan sa a se jis pwodiksyon dyagnostik sa a, se pa sa ki enteresan. 283 00:17:20,760 --> 00:17:24,829 Ki sa ki je ou reyèlman vle yo dwe chèche pou se nenpòt mansyone nan erè oswa valab. 284 00:17:24,829 --> 00:17:26,800 Mo ki sijere pwoblèm. 285 00:17:26,800 --> 00:17:29,340 Ak tout bon, se pou yo wè sa k ap pase sa ki mal desann isit la. 286 00:17:29,340 --> 00:17:35,230 Mwen gen yon rezime de kèk sòt, "ap itilize nan sòti:. 40 bytes nan 1 blòk" 287 00:17:35,230 --> 00:17:38,750 Mwen pa reyèlman asire ki sa yon blòk se ankò, men 40 bytes 288 00:17:38,750 --> 00:17:41,260 aktyèlman santi l tankou mwen te ka konnen ki kote ki nan vini soti nan. 289 00:17:41,260 --> 00:17:45,030 40 bytes. Pou ki sa yo 40 bytes ap itilize nan sòti? 290 00:17:45,030 --> 00:17:48,780 Ak plis espesyalman, si nou desann isit la, 291 00:17:48,780 --> 00:17:54,520 poukisa m 'definitivman pèdi 40 bytes? Yeah? 292 00:17:54,520 --> 00:17:59,520 [Repons elèv, enkonpreansibl] pafè. Yeah, egzakteman. 293 00:17:59,520 --> 00:18:03,540 Te gen dis nonm antye yo, epi chak moun sa yo se gwosè nan 4, oswa 32 Bits, 294 00:18:03,540 --> 00:18:08,300 Se konsa, mwen pèdi jisteman 40 bytes paske, jan ou pwopoze, mwen pa te rele gratis. 295 00:18:08,300 --> 00:18:13,460 Se youn ensèk, ak kounye a kite a gade desann yon ti kras pi lwen ak al gade nan pwochen sa a, 296 00:18:13,460 --> 00:18:16,900 "Envalid ekri nan gwosè 4." Kounye a ki sa sa a ye? 297 00:18:16,900 --> 00:18:21,150 Sa a se adrès eksprime sa ki notasyon baz, aparamman? 298 00:18:21,150 --> 00:18:23,640 Sa a se ekzadesimal, ak nenpòt ki lè ou wè yon nimewo kòmanse avèk 0x, 299 00:18:23,640 --> 00:18:29,410 sa vle di li ekzadesimal, ki nou te fè sa chemen tounen nan, mwen panse, seksyon pset 0 a nan kesyon, 300 00:18:29,410 --> 00:18:34,090 ki te jis fè yon egzèsis rechofman, konvèti desimal nan Egzagòn binè ak pou fè. 301 00:18:34,090 --> 00:18:39,220 Ekzadesimal, jis pa konvansyon imen, se anjeneral itilize reprezante endikasyon 302 00:18:39,220 --> 00:18:41,570 oswa, pi plis jeneralman, adrese. Se jis nan yon konvansyon, 303 00:18:41,570 --> 00:18:45,340 paske li nan yon ti kras pi fasil li, li nan yon ti kras plis kontra enfòmèl ant pase yon bagay tankou desimal, 304 00:18:45,340 --> 00:18:47,720 ak binè se initil pou pifò moun yo itilize. 305 00:18:47,720 --> 00:18:50,840 Se konsa, kounye a ki sa sa a vle di? Oke, li sanble gen nan yon ekri envalid 306 00:18:50,840 --> 00:18:54,480 nan gwosè 4 sou liy 21 nan memory.c. 307 00:18:54,480 --> 00:18:59,180 Se konsa, kite a tounen nan liy 21, ak tout bon, isit la se ke ekri valab. 308 00:18:59,180 --> 00:19:02,640 Se konsa, Valgrind pa pral konplètman kenbe men m ', di m' sa ranje a se, 309 00:19:02,640 --> 00:19:05,520 men li se detekte ke mwen fè yon ekri valab. 310 00:19:05,520 --> 00:19:08,800 Mwen manyen 4 bytes ke mwen pa ta dwe, ak aparamman sa a, se paske, 311 00:19:08,800 --> 00:19:13,960 menm jan ou vize deyò, mwen fè [10] olye pou yo [9] omaksimòm 312 00:19:13,960 --> 00:19:16,660 oswa [0] oswa yon bagay nan ant. 313 00:19:16,660 --> 00:19:19,690 Avèk Valgrind, reyalize nenpòt ki lè w ap kounye a ekri yon pwogram 314 00:19:19,690 --> 00:19:24,190 ki sèvi ak endikasyon epi li sèvi ak memwa, ak malok plis espesyalman, 315 00:19:24,190 --> 00:19:27,080 definitivman jwenn nan abitid la nan kouri sa a long 316 00:19:27,080 --> 00:19:30,890 men trè fasil kopye ak kole lòd nan Valgrind 317 00:19:30,890 --> 00:19:32,650 yo wè si gen nan kèk erè nan la. 318 00:19:32,650 --> 00:19:34,820 Epi li pral akablan chak fwa ou wè pwodiksyon an, 319 00:19:34,820 --> 00:19:39,430 men jis analizan nan vizyèlman tout nan pwodiksyon an ak wè si ou wè mansyone nan erè 320 00:19:39,430 --> 00:19:43,190 oswa avètisman oswa envalid oswa pèdi. 321 00:19:43,190 --> 00:19:46,200 Nenpòt mo ki son tankou ou vise moute kèk kote. 322 00:19:46,200 --> 00:19:48,580 Se konsa, reyalize ke se yon nouvo zouti nan bwat zouti ou a. 323 00:19:48,580 --> 00:19:51,270 >> Koulye a, nan Lendi, nou te gen yon pakèt antye nan jan vini isit la 324 00:19:51,270 --> 00:19:53,150 epi yo reprezante nosyon de yon lis lye. 325 00:19:53,150 --> 00:20:00,970 E nou prezante lis la lye kòm yon solisyon a sa pwoblèm? 326 00:20:00,970 --> 00:20:04,590 Yeah? [Repons elèv, enkonpreansibl] Bon. 327 00:20:04,590 --> 00:20:06,530 Matris pa ka gen memwa ajoute nan yo. 328 00:20:06,530 --> 00:20:09,440 Si ou asiyen yon etalaj de gwosè 10, ki nan tout sa ou jwenn. 329 00:20:09,440 --> 00:20:13,690 Ou ka rele yon fonksyon tankou realloc si ou initially rele malok, 330 00:20:13,690 --> 00:20:17,580 e ki kapab eseye grandi etalaj la si gen espas nan direksyon nan fen li 331 00:20:17,580 --> 00:20:21,610 ki pa gen yon lòt la lè l sèvi avèk, epi si gen nan pa, li pral jis jwenn ou yon moso pi gwo yon lòt kote. 332 00:20:21,610 --> 00:20:25,040 Men, Lè sa a, li pral kopye tout moun ki bytes nan etalaj nan nouvo. 333 00:20:25,040 --> 00:20:28,310 Sa a son tankou yon solisyon trè kòrèk. 334 00:20:28,310 --> 00:20:34,790 Poukisa se sa a dézagréabl? 335 00:20:34,790 --> 00:20:36,940 Mwen vle di li ap travay, moun te ka rezoud pwoblèm sa a. 336 00:20:36,940 --> 00:20:40,710 Poukisa nou bezwen rezoud li nan Lendi ak lye lis? Yeah? 337 00:20:40,710 --> 00:20:44,060 [Repons elèv, enkonpreansibl] Li kapab pran yon tan long. 338 00:20:44,060 --> 00:20:49,260 An reyalite, nenpòt ki lè w ap rele malok oswa realloc oswa calloc, ki se ankò yon lòt yon sèl, 339 00:20:49,260 --> 00:20:52,470 nenpòt moman ou, pwogram nan, ap pale ak sistèm nan fonksyone, 340 00:20:52,470 --> 00:20:54,310 ou gen tandans ralanti pwogram nan desann. 341 00:20:54,310 --> 00:20:57,470 Men, si ou ap fè sa yo kalite bagay sa yo nan pasan, w ap reyèlman ralentissement bagay sa yo desann. 342 00:20:57,470 --> 00:21:00,740 Ou pa ap ale nan avi sa a pou pi senp lan nan pwogram "mond alo" kalite, 343 00:21:00,740 --> 00:21:04,300 men nan pi gwo pwogram, mande sistèm nan fonksyone ankò e ankò pou memwa 344 00:21:04,300 --> 00:21:07,520 oswa bay li tounen ankò e ankò gen tandans pa yo dwe yon bon bagay. 345 00:21:07,520 --> 00:21:11,210 Plus, li jis sòt de entelektyèl - li nan yon fatra konplè sou tan. 346 00:21:11,210 --> 00:21:16,490 Poukisa asiyen pi plis ak plis memwa, risk kopye tout bagay nan etalaj nan nouvo, 347 00:21:16,490 --> 00:21:21,980 si ou gen yon altènatif ki pèmèt ou asiyen memwa sèlman otan ke ou aktyèlman bezwen? 348 00:21:21,980 --> 00:21:24,130 Se konsa, gen nan pluses ak minuses nan isit la. 349 00:21:24,130 --> 00:21:26,730 Youn nan pluses yo kounye a se ke nou gen dynamism. 350 00:21:26,730 --> 00:21:29,100 pa gen pwoblèm ki kote sègman yo nan memwa yo se ke yo gratis, 351 00:21:29,100 --> 00:21:32,070 Mwen ka jis sòt nan kreye sa yo ti kal pen pen via endikasyon 352 00:21:32,070 --> 00:21:34,470 fisèl antye mwen lye lis yo ansanm. 353 00:21:34,470 --> 00:21:36,470 Men, mwen peye omwen yon pri. 354 00:21:36,470 --> 00:21:40,060 >> Ki sa mwen gen bay yo nan pran lye lis? 355 00:21:40,060 --> 00:21:42,470 Yeah? [Repons elèv, enkonpreansibl] Bon. 356 00:21:42,470 --> 00:21:45,650 Ou bezwen plis memwa. Koulye a, mwen bezwen espas pou sa yo endikasyon, 357 00:21:45,650 --> 00:21:47,900 ak nan ka sa a super lis ki senp lye 358 00:21:47,900 --> 00:21:51,410 ke se sèlman ap eseye nan magazen nonm antye relatif yo, ki se 4 bytes, nou kenbe li di 359 00:21:51,410 --> 00:21:54,240 byen, yon konsèy se 4 bytes sa, koulye a mwen te literalman double 360 00:21:54,240 --> 00:21:57,290 kantite lajan an nan memwa mwen bezwen jis nan magazen lis sa a. 361 00:21:57,290 --> 00:21:59,680 Men ankò, sa a se yon konpwomi konstan nan syans konpitè 362 00:21:59,680 --> 00:22:03,440 ant tan ak espas ak devlopman, efò ak lòt resous. 363 00:22:03,440 --> 00:22:06,630 Ki sa ki nan yon lòt inconvénient nan lè l sèvi avèk yon lis lye? Yeah? 364 00:22:06,630 --> 00:22:10,150 [Repons elèv, enkonpreansibl] 365 00:22:10,150 --> 00:22:12,600 Bon. Pa tankou fasil jwenn aksè nan. Nou pap kapab kontinye ogmante 366 00:22:12,600 --> 00:22:15,530 semèn 0 prensip tankou separe ak konkeri. 367 00:22:15,530 --> 00:22:18,220 Ak plis espesyalman, binè rechèch. Paske menm si nou moun 368 00:22:18,220 --> 00:22:20,400 ka wè apeprè kote mitan an nan lis sa a se, 369 00:22:20,400 --> 00:22:25,840 òdinatè a sèlman konnen ke lis sa a lye kòmanse nan adrès rele an premye. 370 00:22:25,840 --> 00:22:28,250 Epi sa a, 0x123 oswa yon bagay tankou sa. 371 00:22:28,250 --> 00:22:30,990 Ak wout la sèlman pwogram nan kapab jwenn eleman nan mitan 372 00:22:30,990 --> 00:22:33,350 se aktyèlman rechèch lis la tout antye. 373 00:22:33,350 --> 00:22:35,500 E menm si sa, li literalman gen nan rechèch lis la tout antye paske 374 00:22:35,500 --> 00:22:38,950 menm yon fwa ou rive nan eleman nan mitan pa swiv endikasyon yo, 375 00:22:38,950 --> 00:22:42,380 ou, pwogram nan, pa gen okenn lide konbyen tan lis sa a se, potansyèlman, 376 00:22:42,380 --> 00:22:45,250 jiskaske ou frape nan fen li, epi ki jan ou konnen programatik 377 00:22:45,250 --> 00:22:48,600 ke ou se nan fen yon lis lye? 378 00:22:48,600 --> 00:22:51,120 Genyen nan yon konsèy espesyal nil, se konsa ankò, yon konvansyon. 379 00:22:51,120 --> 00:22:53,870 Olye de itilize sa a konsèy, nou definitivman pa vle li nan dwe gen kèk valè fatra 380 00:22:53,870 --> 00:22:57,750 lonje dwèt sou sèn yon kote; nou vle li nan dwe men desann, nil, 381 00:22:57,750 --> 00:23:01,530 pou ke nou gen sa a tèminal nan estrikti sa a done pou nou konnen ki kote li fini. 382 00:23:01,530 --> 00:23:03,410 >> Ki sa ki si nou vle manipile sa a? 383 00:23:03,410 --> 00:23:05,980 Nou te fè pi fò nan sa a vizyèlman, epi ak moun, 384 00:23:05,980 --> 00:23:07,630 men ki sa si nou vle fè yon ensèsyon? 385 00:23:07,630 --> 00:23:12,360 Se konsa, lis orijinal la te 9, 17, 20, 22, 29, 34. 386 00:23:12,360 --> 00:23:16,730 E si nou Lè sa a, te vle espas malok pou yon nimewo pou 55, yon ne pou li, 387 00:23:16,730 --> 00:23:20,730 ak Lè sa a, nou vle insert 55 nan lis la jis tankou nou te fè nan Lendi? 388 00:23:20,730 --> 00:23:23,690 Ki jan nou fè sa? Oke, Anita li moute soti deyò epi li esansyèlman te mache lis la. 389 00:23:23,690 --> 00:23:27,500 Li te kòmanse nan eleman a an premye, Lè sa a, pwochen an, pwochen an, pwochen an, pwochen an, pwochen an. 390 00:23:27,500 --> 00:23:29,500 Finalman frape bò gòch la tout wout la a desann 391 00:23:29,500 --> 00:23:34,480 e yo reyalize oh, sa a se nil. Se konsa, sa manipilasyon konsèy ki nesesè ki dwe fèt? 392 00:23:34,480 --> 00:23:37,980 Moun nan ki moun ki te sou fen a, nimewo 34, bezwen pla men gòch li leve soti vivan 393 00:23:37,980 --> 00:23:46,220 nan pwen nan 55, 55 nesesè bra gòch yo lonje dwèt desann yo dwe nouvo nil Terminator a. Fè. 394 00:23:46,220 --> 00:23:49,540 Trè fasil a insert 55 nan yon lis Ranje. 395 00:23:49,540 --> 00:23:51,800 Ak ki jan ta ka sa a gade? 396 00:23:51,800 --> 00:23:55,690 >> Kite m 'ale pi devan epi louvri moute kèk egzanp kòd isit la. 397 00:23:55,690 --> 00:23:58,120 Mwen pral louvri moute jdi, ak kite m 'louvri moute de dosye premye. 398 00:23:58,120 --> 00:24:02,050 Youn nan se list1.h, ak kite m 'jis raple ke sa a te moso nan kòd 399 00:24:02,050 --> 00:24:04,920 ke nou itilize yo reprezante yon ne. 400 00:24:04,920 --> 00:24:13,040 Yon ne gen tou de yon int rele n ak konsèy yon rele pwochen ki jis pwen bagay la pwochen nan lis la. 401 00:24:13,040 --> 00:24:15,450 Sa a se kounye a nan yon. Dosye h. Poukisa? 402 00:24:15,450 --> 00:24:19,090 Genyen nan sa a konvansyon, epi nou pa te pran avantaj de sa a yon kantite lajan gwo tèt nou, 403 00:24:19,090 --> 00:24:22,220 men moun ki te ekri fonksyon printf ak lòt 404 00:24:22,220 --> 00:24:27,150 te bay kòm yon kado nan mond lan tout moun ki fonksyon pa ekri yon dosye rele stdio.h. 405 00:24:27,150 --> 00:24:30,950 Lè sa a, gen nan string.h, ak Lè sa a, gen nan map.h, ak gen nan tout bagay sa yo h dosye 406 00:24:30,950 --> 00:24:34,410 ke ou ta ka gen pou wè oswa itilize nan tèm nan ekri pa lòt moun. 407 00:24:34,410 --> 00:24:38,470 Tipikman nan sa yo. Dosye h yo se bagay sèlman tankou typedefs 408 00:24:38,470 --> 00:24:42,310 oswa deklarasyon kalite koutim oswa deklarasyon nan konstan. 409 00:24:42,310 --> 00:24:47,890 Ou pa mete en fonksyon yo nan dosye header. 410 00:24:47,890 --> 00:24:50,570 Ou mete, olye de sa, jis prototip yo. 411 00:24:50,570 --> 00:24:53,050 Ou mete bagay sa yo ou vle pataje avèk mond lan sa yo bezwen 412 00:24:53,050 --> 00:24:55,640 yo nan lòd yo konpile kòd yo. Se konsa, jis jwenn nan sa a abitid, 413 00:24:55,640 --> 00:24:59,110 nou deside fè menm bagay la. Genyen nan pa anpil nan list1.h, 414 00:24:59,110 --> 00:25:02,070 men nou te mete yon bagay ki ta ka nan enterè moun nan mond lan 415 00:25:02,070 --> 00:25:05,030 ki ta vle itilize aplikasyon lye lis nou an. 416 00:25:05,030 --> 00:25:08,040 Koulye a, nan list1.c, mwen pa pwal ale travèse bagay sa a tout antye 417 00:25:08,040 --> 00:25:11,390 paske li nan yon ti jan long, pwogram sa a, men kite a kouri li reyèl byen vit nan èd memwa a. 418 00:25:11,390 --> 00:25:15,720 Kite m 'konpile list1, kite m' Lè sa a, kouri list1, e ki sa ou pral wè a 419 00:25:15,720 --> 00:25:18,070 Nou te fo yon senp pwogram ti kras isit la 420 00:25:18,070 --> 00:25:20,990 ki k ap pase pou pou pèmèt mwen ajoute epi retire nimewo nan yon lis. 421 00:25:20,990 --> 00:25:24,310 Se konsa, kite m 'ale pi devan epi tape 3 pou 3 a opsyon meni. 422 00:25:24,310 --> 00:25:27,880 Mwen vle insert nimewo a - kite a fè nimewo a an premye, ki te 9, 423 00:25:27,880 --> 00:25:30,550 e kounye a, mwen te di a lis la se kounye a 9. 424 00:25:30,550 --> 00:25:33,760 Kite m 'ale pi devan epi fè yon lòt ensèsyon, se konsa mwen frape opsyon meni 3. 425 00:25:33,760 --> 00:25:36,760 Ki nonb ki mwen vle insert? 17. 426 00:25:36,760 --> 00:25:39,220 Antre. Apre sa, mwen pral fè jis youn plis. 427 00:25:39,220 --> 00:25:41,720 Kite m 'insert nimewo a 22. 428 00:25:41,720 --> 00:25:45,850 Se konsa, nou gen kòmanse yo nan lis la lye ke nou te nan fòm glise yon ti moman de sa. 429 00:25:45,850 --> 00:25:48,740 Kijan sa a ensèsyon aktyèlman rive? 430 00:25:48,740 --> 00:25:52,000 Vreman vre, yo 22 se kounye a nan fen lis la. 431 00:25:52,000 --> 00:25:55,050 Se konsa, istwa a te di nou sou sèn nan Lendi e recapped jis kounye a 432 00:25:55,050 --> 00:25:57,460 dwe aktyèlman ap pase nan kòd. 433 00:25:57,460 --> 00:25:59,700 Se pou nou pran yon gade. Kite m 'desann nan sa a dosye. 434 00:25:59,700 --> 00:26:01,720 Nou pral enteprete sou kèk nan fonksyon yo, 435 00:26:01,720 --> 00:26:05,630 men nou pwal desann nan, di, fonksyon an insert. 436 00:26:05,630 --> 00:26:11,720 >> Ann gade pou wè ki jan nou ale sou yo mete yon ne nouvo nan lis sa a lye. 437 00:26:11,720 --> 00:26:14,550 Ki kote se lis la te deklare? Oke, kite la woulo liv tout wout la moute nan tèt la, 438 00:26:14,550 --> 00:26:19,970 ak avi ke se lis lye mwen esansyèlman te deklare kòm yon konsèy sèl sa a, se okòmansman nil. 439 00:26:19,970 --> 00:26:23,180 Se konsa, mwen sèvi ak yon varyab mondyal isit la, ki an jeneral nou te anonse bon nouvèl kont 440 00:26:23,180 --> 00:26:25,280 paske li fè kòd ou a yon sal ti kras yo kenbe, 441 00:26:25,280 --> 00:26:29,080 li nan sòt de parese anjeneral,, men li pa parese epi li pa mal epi li pa move 442 00:26:29,080 --> 00:26:33,660 si objektif sèl pwogram ou a nan lavi a se simule yon sèl lye lis la. 443 00:26:33,660 --> 00:26:35,460 Ki se ekzakteman ki sa nou ap fè. 444 00:26:35,460 --> 00:26:39,100 Se konsa, olye ke deklare sa a nan prensipal ak Lè sa a, dwe pase l 'bay chak fonksyon 445 00:26:39,100 --> 00:26:42,640 nou te ekri nan pwogram sa a, nou olye reyalize oh, kite la jis fè li mondyal 446 00:26:42,640 --> 00:26:47,060 , paske objektif an antye nan pwogram sa a se yo demontre yon sèl ak sèlman yon sèl lye lis la. 447 00:26:47,060 --> 00:26:50,700 Se konsa, ki santi l oke. Isit la yo se prototip mwen an, epi nou pa pral ale nan tout sa yo, 448 00:26:50,700 --> 00:26:55,800 men mwen te ekri yon fonksyon efase, yon fonksyon jwenn, yon fonksyon insert, ak yon fonksyon Traverse. 449 00:26:55,800 --> 00:26:59,080 Men, se pou a kounye a ale tounen desann nan fonksyon an insert 450 00:26:59,080 --> 00:27:01,490 ak wè kòman yon sèl sa a ap travay isit la. 451 00:27:01,490 --> 00:27:09,940 Mete se sou liy - isit la nou ale. 452 00:27:09,940 --> 00:27:12,850 Antre. Se konsa, li pa pran okenn agiman, paske nou ap ale nan mande 453 00:27:12,850 --> 00:27:15,930 andedan nan itilizatè sa a fonksyon pou yon nimewo pou la yo vle insert. 454 00:27:15,930 --> 00:27:19,410 Men, anvan, nou prepare ba yo kèk espas. 455 00:27:19,410 --> 00:27:22,050 Sa a se sòt de kopi ak keratin nan egzanp lan ak lòt. 456 00:27:22,050 --> 00:27:25,110 Nan ka sa a, nou te allocation yon int; tan sa a nou ap allocation yon ne. 457 00:27:25,110 --> 00:27:27,910 Mwen pa reyèlman sonje konbyen bytes yon ne se, men sa a amann. 458 00:27:27,910 --> 00:27:30,460 Sizof kapab konnen ki soti pou mwen. 459 00:27:30,460 --> 00:27:33,340 Epi poukisa mwen tcheke pou nil nan liy 120? 460 00:27:33,340 --> 00:27:37,530 Kisa ki ta kapab ale mal nan liy 119? Yeah? 461 00:27:37,530 --> 00:27:40,530 [Repons elèv, enkonpreansibl] 462 00:27:40,530 --> 00:27:43,440 Bon. Jis te kapab ka a ke mwen te mande pou memwa twòp 463 00:27:43,440 --> 00:27:47,020 oswa yon bagay nan sa ki mal ak sistèm nan fonksyone pa gen bytes ase yo ban m ', 464 00:27:47,020 --> 00:27:50,640 se konsa li siyal kòm anpil ki te retounen nil, ak si mwen pa tcheke pou ki 465 00:27:50,640 --> 00:27:54,710 epi mwen jis je fèmen kontinye nan sèvi ak adrès la tounen, li ka nil. 466 00:27:54,710 --> 00:27:58,400 Li ta ka gen kèk valè sèks, pa yon bon bagay sof si mwen - 467 00:27:58,400 --> 00:28:00,590 aktyèlman pa pral yon valè sèks. Li ta ka nil, se konsa mwen pa vle 468 00:28:00,590 --> 00:28:02,550 abize l ', li riske dereferencing li. 469 00:28:02,550 --> 00:28:07,410 Si sa ta rive, mwen jis retounen epi n ap pretann tankou mwen pa t 'jwenn tounen nenpòt memwa nan tout. 470 00:28:07,410 --> 00:28:12,270 >> Sinon, m'ap di itilizatè a ban m 'yon nonm a insert, mwen rele GetInt fin vye granmoun zanmi nou an, 471 00:28:12,270 --> 00:28:15,530 ak Lè sa a, sa a te sentaks nan nouvo nou prezante nan Lendi. 472 00:28:15,530 --> 00:28:20,320 'Newptr-> n' vle di pran adrès la ke ou te bay nan malok 473 00:28:20,320 --> 00:28:23,490 ki reprezante multiple an premye nan yon objè ki ne nouvo, 474 00:28:23,490 --> 00:28:26,860 ak Lè sa a, ale nan jaden an te rele n. 475 00:28:26,860 --> 00:28:35,270 Yon ti kras kesyon Trivia: Sa a se ekivalan a sa ki liy nan kòd plis skre? 476 00:28:35,270 --> 00:28:38,110 Konbyen lòt bagay te kapab mwen te ekri sa a? Vle pran yon koud? 477 00:28:38,110 --> 00:28:41,480 [Repons elèv, enkonpreansibl] 478 00:28:41,480 --> 00:28:44,870 Bon. Lè l sèvi avèk n nan., Men li la pa byen kòm senp tankou sa a. 479 00:28:44,870 --> 00:28:47,090 Ki sa mwen premye bezwen? [Repons elèv, enkonpreansibl] 480 00:28:47,090 --> 00:28:52,730 Bon. Mwen bezwen fè * newptr.n. 481 00:28:52,730 --> 00:28:55,610 Se konsa, sa a ap di konsèy nouvo nan evidamman yon adrès. Poukisa? 482 00:28:55,610 --> 00:28:59,520 Paske li te tounen pa malok. Newptr a * li di: "ale la," 483 00:28:59,520 --> 00:29:02,970 ak Lè sa a, yon fwa w ap la, Lè sa a, ou ka itilize plis yo konnen yo. N a, 484 00:29:02,970 --> 00:29:05,730 men sa a jis sanble yon ti kras lèd, espesyalman si nou moun yo ale nan 485 00:29:05,730 --> 00:29:10,360 trase endikasyon ak flèch tout tan tout tan an; mond la genyen yon ofisyèl sa a sou notasyon flèch, 486 00:29:10,360 --> 00:29:12,320 ki fè sa ki egzakteman menm bagay la. 487 00:29:12,320 --> 00:29:16,070 Se konsa, ou sèlman itilize -> notasyon a lè bagay la sou bò gòch la se yon konsèy. 488 00:29:16,070 --> 00:29:18,790 Sinon, si li nan yon struct aktyèl, itilize n a.. 489 00:29:18,790 --> 00:29:25,800 Lè sa a, sa a: Poukisa mwen inisyalize newptr-> akote nil? 490 00:29:25,800 --> 00:29:28,610 Nou pa vle yon pendants men gòch koupe nan nan fen sèn nan. 491 00:29:28,610 --> 00:29:31,630 Nou vle li lonje dwèt tou dwat desann, ki vle di nan fen lis sa a 492 00:29:31,630 --> 00:29:34,980 te kapab potansyèlman kapab nan sa a ne, konsa nou pi bon asire w ke li se nil. 493 00:29:34,980 --> 00:29:38,460 Epi, an jeneral, inisyalizin varyab ou oswa manm done ou yo ak strukt 494 00:29:38,460 --> 00:29:40,470 a yon bagay se jis bon pratik. 495 00:29:40,470 --> 00:29:45,170 Jis kite fatra egziste yo e yo kontinye egziste jeneralman vin ou nan pwoblèm 496 00:29:45,170 --> 00:29:48,650 si ou bliye fè yon bagay pita sou. 497 00:29:48,650 --> 00:29:51,590 >> Isit la nan kèk ka. Sa a, ankò, se fonksyon an insert, 498 00:29:51,590 --> 00:29:54,930 ak bagay la premye fwa mwen tcheke pou se si varyab la rele an premye, 499 00:29:54,930 --> 00:29:58,240 varyab sa a mondyal se nil, sa vle di pa gen okenn lis lye. 500 00:29:58,240 --> 00:30:02,460 Nou pa t 'antre nenpòt ki nimewo, kidonk li a trivial insert nan nimewo sa a kounye a 501 00:30:02,460 --> 00:30:05,240 nan lis la, paske li jis ki dwe nan kòmansman lis la. 502 00:30:05,240 --> 00:30:08,100 Se konsa, sa a se te lè Anita te jis kanpe isit la pou kont li, samblan 503 00:30:08,100 --> 00:30:11,390 pa gen yon lòt te moute isit la sou sèn jiskaske nou resevwa lajan yon ne, 504 00:30:11,390 --> 00:30:13,940 Lè sa a, li te kapab leve men l 'la pou premye fwa, 505 00:30:13,940 --> 00:30:17,420 si te tout lòt moun moute vin sou sèn nan dèyè l 'nan Lendi. 506 00:30:17,420 --> 00:30:22,900 Koulye a isit la, sa a se yon chèk ti kras kote mwen te vle di si valè ne nan nouvo nan n 507 00:30:22,900 --> 00:30:27,370 se 00:30:29,930 sa vle di gen yon lis lye ki nan kòmanse. 509 00:30:29,930 --> 00:30:32,330 Genyen omwen yon ne nan lis la, men sa a Guy nouvo 510 00:30:32,330 --> 00:30:37,230 ki dwe anvan li, konsa nou bezwen pou avanse pou pi bagay sa yo alantou. 511 00:30:37,230 --> 00:30:43,450 Nan lòt mo, si lis la te kòmanse avèk jis, se pou yo di, 512 00:30:43,450 --> 00:30:48,100 jis nimewo a 17, sa a, se la - aktyèlman, nou ka fè sa plis byen klè. 513 00:30:48,100 --> 00:30:56,010 Si nou kòmanse istwa nou an avèk yon konsèy isit la yo rele an premye, 514 00:30:56,010 --> 00:30:59,870 ak okòmansman li nan nil, epi nou insert nimewo a 9, 515 00:30:59,870 --> 00:31:02,510 nimewo a 9 klèman ki dwe nan kòmansman lis la. 516 00:31:02,510 --> 00:31:07,400 Se konsa, kite a pretann nou jis malloced adrès oswa nan nimewo a 9 ak mete l 'isit la. 517 00:31:07,400 --> 00:31:13,170 Si premye se 9 pa default, senaryo a premye nou diskite jis vle di pwen kite l 'nan sa a Guy isit la, 518 00:31:13,170 --> 00:31:15,790 kite sa-a kòm nil; kounye a nou gen nimewo a 9. 519 00:31:15,790 --> 00:31:18,280 Nimewo nan pwochen nou vle insert se 17. 520 00:31:18,280 --> 00:31:22,420 17 ki dwe sou isit la, se konsa nou ap pral fè yo fè kèk ranforsi ki lojik nan sa. 521 00:31:22,420 --> 00:31:26,060 Se konsa, kite a olye de sa, anvan nou fè sa, kite la pretann ke nou te vle insert nimewo a 8. 522 00:31:26,060 --> 00:31:28,650 >> Se konsa, jis pou dedomajman pou konvenyans a, mwen pral trase isit la. 523 00:31:28,650 --> 00:31:30,760 Men, sonje, malok ka mete l 'pi nenpòt kote. 524 00:31:30,760 --> 00:31:33,460 Men, pou dedomajman pou desen an, m ap mete l 'isit la. 525 00:31:33,460 --> 00:31:38,440 Se konsa, fè kòm si Mwen te jis afekte yon ne pou yon nimewo pou la 8; sa a se nil pa defo. 526 00:31:38,440 --> 00:31:42,800 Ki sa ki kounye a gen rive? Yon koup la bagay sa yo. 527 00:31:42,800 --> 00:31:47,090 Nou te fè sa a erè sou sèn nan Lendi kote nou mete ajou yon konsèy tankou sa a, 528 00:31:47,090 --> 00:31:51,890 Lè sa a, te fè sa, ak Lè sa a, nou te reklame - nou òfelen tout lòt moun sou sèn. 529 00:31:51,890 --> 00:31:54,350 Paske ou can't - lòd operasyon isit la se enpòtan, 530 00:31:54,350 --> 00:31:58,760 paske kounye a nou ve 'pèdi sa a 9 ne sa se sèlman sòt de k ap flote nan espas. 531 00:31:58,760 --> 00:32:01,150 Se konsa, sa a pa t 'apwòch an dwa nan Lendi. 532 00:32:01,150 --> 00:32:03,330 Nou premye gen fè yon lòt bagay. 533 00:32:03,330 --> 00:32:06,280 Eta a nan mond lan sanble tankou sa a. Okòmansman, 8 ki te afekte. 534 00:32:06,280 --> 00:32:10,550 Ki sa ki ta dwe yon pi bon fason nan yo mete 8? 535 00:32:10,550 --> 00:32:14,720 Olye pou yo mete ajou sa a konsèy premye, jis mete ajou yon sèl sa a isit la pito. 536 00:32:14,720 --> 00:32:17,720 Se konsa, nou bezwen yon liy nan kòd ki nan pral vire sa a karaktè nil 537 00:32:17,720 --> 00:32:22,020 nan yon konsèy aktyèl ki nan lonje dwèt nan ne 9, 538 00:32:22,020 --> 00:32:27,970 ak Lè sa a, nou ka san danje chanje premye nan pwen nan sa a Guy isit la. 539 00:32:27,970 --> 00:32:31,330 Koulye a, nou gen yon lis, yon lis lye, nan de eleman. 540 00:32:31,330 --> 00:32:33,580 Ak sa ki sa sa a aktyèlman sanble isit la? 541 00:32:33,580 --> 00:32:36,900 Si nou gade nan kòd la, avi ke Mwen te fè egzakteman sa. 542 00:32:36,900 --> 00:32:41,970 Mwen te di newptr, ak nan istwa sa a, newptr te lonje dwèt nan sa a Guy. 543 00:32:41,970 --> 00:32:45,520 >> Se konsa, kite m 'desine yon pi plis bagay, epi m' ta dwe te kite yon ti kras plis chanm yo pou sa. 544 00:32:45,520 --> 00:32:48,540 Se konsa, padonnen ti desen an ti kras. 545 00:32:48,540 --> 00:32:52,140 Sa a se nèg yo rele newptr. 546 00:32:52,140 --> 00:32:57,940 Sa a se varyab la nou deklare yon liy kèk pi bonè, nan liy - jis anwo a 25. 547 00:32:57,940 --> 00:33:03,430 Epi li lonje dwèt a 8. Se konsa, lè m 'di newptr-> denmen, ki vle di ale nan struct la 548 00:33:03,430 --> 00:33:07,910 ki k ap pwente nan pa newptr, se konsa isit la nou ye a, ale la. 549 00:33:07,910 --> 00:33:13,990 Lè sa a, flèch la ap di jwenn jaden an kap vini an, ak Lè sa a, = a ap di sa ki mete valè a? 550 00:33:13,990 --> 00:33:17,280 Valè a sa ki te nan premye; sa ki valè te nan an premye? 551 00:33:17,280 --> 00:33:21,930 Premye te lonje dwèt nan nivo sa a ne, se konsa sa vle di sa a ta dwe kounye a nan pwen sa a nan ne. 552 00:33:21,930 --> 00:33:25,660 Nan lòt mo, sa ki sanble byen yon dezòd ridikil ak ekriti m 'yo, 553 00:33:25,660 --> 00:33:28,620 sa ki nan yon lide ki senp pou yo jis k ap deplase sa yo flèch alantou 554 00:33:28,620 --> 00:33:31,560 tradui nan kòd ak jis revètman yon sèl sa a. 555 00:33:31,560 --> 00:33:38,110 Estoke ki sa ki nan premye nan jaden nan pwochen ak Lè sa a, mete ajou sa ki premye aktyèlman se. 556 00:33:38,110 --> 00:33:40,900 Se pou nou ale pi devan epi vit-pou pi devan nan kèk nan sa a, 557 00:33:40,900 --> 00:33:44,220 epi gade sèlman nan nivo sa a ensèsyon ke pou kounye a. 558 00:33:44,220 --> 00:33:51,210 Sipoze mwen jwenn nan pwen kote mwen jwenn ke jaden an pwochen nan kèk ne se nil. 559 00:33:51,210 --> 00:33:53,410 Ak nan pwen sa a nan istwa a, yon detay ke mwen glossing sou 560 00:33:53,410 --> 00:33:58,170 se ke mwen te entwodwi yon lòt konsèy moute isit la nan, 142 liy konsèy predesesè. 561 00:33:58,170 --> 00:34:01,320 Esansyèlman, nan pwen sa a nan istwa a, yon fwa lis la vin long, 562 00:34:01,320 --> 00:34:04,800 Mwen kalite bezwen mache l 'ak de dwèt paske si m' ale twò lwen, 563 00:34:04,800 --> 00:34:08,219 sonje ki nan yon lis sèl-longè, ou pa kapab ale bak. 564 00:34:08,219 --> 00:34:13,659 Se konsa, ide sa a nan predptr se dwèt bò gòch mwen an, epi newptr - pa newptr. 565 00:34:13,659 --> 00:34:17,199 Yon lòt konsèy sa a, se isit la se dwèt lòt m 'yo, epi mwen jis kalite mache lis la. 566 00:34:17,199 --> 00:34:22,179 Se poutèt sa ki egziste. Men, kite a sèlman konsidere youn nan ka yo ki pi senp isit la. 567 00:34:22,179 --> 00:34:26,620 Si jaden pwochen ke konsèy la se nil, sa ki nan enplikasyon a ki lojik? 568 00:34:26,620 --> 00:34:30,840 Si w ap travèse lis sa a epi ou frape yon konsèy nil? 569 00:34:30,840 --> 00:34:35,780 Ou se nan fen lis la, epi konsa kòd la Lè sa a, tache yon sèl sa a adisyonèl eleman 570 00:34:35,780 --> 00:34:41,230 se sòt de entwisyon la ap pran ki ne ki gen pwochen konsèy se nil, 571 00:34:41,230 --> 00:34:46,120 kidonk sa a se kounye a nil, ak chanje li, menm si, yo dwe adrès ki nan ne nan nouvo. 572 00:34:46,120 --> 00:34:52,260 Se konsa, nou jis ap fè desen nan kòd flèch la ke nou te trase sou sèn yo si nou ogmante bò gòch yon moun. 573 00:34:52,260 --> 00:34:54,070 >> Epi ka-a ke mwen ap balanse men m 'nan pou kounye a, 574 00:34:54,070 --> 00:34:58,020 jis paske mwen panse ke li fasil jwenn pèdi lè nou fè l 'nan sa a sòt de anviwònman, 575 00:34:58,020 --> 00:35:00,600 se tcheke pou ensèsyon nan mitan lis la la. 576 00:35:00,600 --> 00:35:03,220 Men, jis intuitivement, ki sa ki bezwen rive si ou vle konnen ki 577 00:35:03,220 --> 00:35:06,600 kote kèk nonb ki dwe nan mitan an se ou gen nan mache li 578 00:35:06,600 --> 00:35:09,510 ki gen plis pase yon dwèt, plis pase yon konsèy, 579 00:35:09,510 --> 00:35:12,920 konnen ki kote li fè pati pa w tcheke se eleman ki 00:35:15,450 > Aktyèl yon sèl la, epi yon fwa ou jwenn kote sa a, 581 00:35:15,450 --> 00:35:20,400 Lè sa a, sa ou dwe fè sa a sòt de jwèt koki kote ou deplase bagèt yo ozalantou anpil atansyon. 582 00:35:20,400 --> 00:35:23,850 E ke repons lan, si ou ta renmen rezon nan sa a nan kay sou pwòp ou a, 583 00:35:23,850 --> 00:35:28,340 klou desann jis liy sa yo de nan kòd, men lòd la nan sa yo liy se super enpòtan. 584 00:35:28,340 --> 00:35:31,390 Paske si ou lage men yon moun ak ogmante yon lòt moun nan yo nan lòd la sa ki mal, 585 00:35:31,390 --> 00:35:34,580 ankò, ou te kapab fini orphaning lis la. 586 00:35:34,580 --> 00:35:39,500 Pou rezime plis Concept, ensèsyon an nan ke a se relativman senp. 587 00:35:39,500 --> 00:35:42,940 Ensèsyon an nan plas tèt la tou se relativman senp, 588 00:35:42,940 --> 00:35:45,580 men ou bezwen mete yon konsèy plis tan sa a 589 00:35:45,580 --> 00:35:47,930 peze nimewo 5 nan lis la isit la, 590 00:35:47,930 --> 00:35:51,560 ak Lè sa a, ensèsyon an nan mitan enplike nan efò menm plis, 591 00:35:51,560 --> 00:35:56,130 avèk anpil atansyon insert nimewo a 20 nan kote kòrèk li yo, 592 00:35:56,130 --> 00:35:58,350 ki se ant 17 ak 22. 593 00:35:58,350 --> 00:36:02,700 Se konsa, ou bezwen fè yon bagay tankou gen ne nouvo 20 pwen nan 22, 594 00:36:02,700 --> 00:36:08,470 ak lè sa a, konsèy ki ne a bezwen yo dwe mete ajou sot pase a? 595 00:36:08,470 --> 00:36:10,630 Li nan 17, nan aktyèlman insert li. 596 00:36:10,630 --> 00:36:14,080 Se konsa, ankò, m ap ranvwaye kòd la aktyèl pou sa aplikasyon an patikilye. 597 00:36:14,080 --> 00:36:17,280 >> Nan zye premye, li nan yon ti kras boulvèsan, men li vrèman jis yon riban enfini 598 00:36:17,280 --> 00:36:21,770 ki nan loupin, loupin, loupin, loupin, ak kraze le pli vit ke ou frape konsèy la nil, 599 00:36:21,770 --> 00:36:24,590 nan ki pwen ou ka fè ensèsyon an voulu. 600 00:36:24,590 --> 00:36:30,960 Sa a, lè sa a, se kòd reprezantan lye ensèsyon lis la. 601 00:36:30,960 --> 00:36:34,590 Sa yo ki te kalite yon anpil, epi li santi l tankou nou te rezoud yon pwoblèm, 602 00:36:34,590 --> 00:36:36,940 men nou te entwodwi yon antye youn ak lòt. Franchman, nou te depanse tout tan sa a 603 00:36:36,940 --> 00:36:40,540 sou gwo O ak Ω ak kouri tan, ap eseye rezoud pwoblèm pi vit, 604 00:36:40,540 --> 00:36:43,270 ak isit la nou yo ap pran yon gwo etap bak, li santi l. 605 00:36:43,270 --> 00:36:45,380 E ankò, si objektif la se nan magazen done, 606 00:36:45,380 --> 00:36:48,010 li santi l tankou Sentespri Grail a, kòm nou te di nan Lendi, ta reyèlman dwe 607 00:36:48,010 --> 00:36:50,470 nan magazen bagay sa yo imedyatman. 608 00:36:50,470 --> 00:36:53,930 >> An reyalite, sipoze ke nou te fè sa mete lis sou kote lye pou yon moman 609 00:36:53,930 --> 00:36:56,000 epi nou olye introduced nosyon de yon tab. 610 00:36:56,000 --> 00:36:59,110 Li kite yo jis panse a yon tab pou yon moman kòm yon etalaj. 611 00:36:59,110 --> 00:37:03,790 Sa a etalaj ak ka sa a isit la gen kèk 26 eleman, 0 a 25, 612 00:37:03,790 --> 00:37:07,940 ak ta kwè ke ou bezwen kèk ti moso nan depo pou non: 613 00:37:07,940 --> 00:37:10,350 Alice ak Bob ak Charlie ak renmen an. 614 00:37:10,350 --> 00:37:12,880 Epi ou bezwen kèk estrikti done nan magazen sa yo non. 615 00:37:12,880 --> 00:37:15,000 Oke, ou ta ka itilize yon bagay tankou yon lis lye 616 00:37:15,000 --> 00:37:20,260 epi ou te kapab mache a lis la yo mete Alice anvan Bob ak Charlie apre Bob ak pou fè. 617 00:37:20,260 --> 00:37:23,850 Epi, an reyalite, si ou vle wè kòd tankou sa kòm yon sou kote, 618 00:37:23,850 --> 00:37:27,230 konnen ke nan list2.h, nou fè egzakteman sa. 619 00:37:27,230 --> 00:37:30,610 Nou pa pwal ale travèse sa a kòd, men sa a se yon Variant nan premye egzanp lan 620 00:37:30,610 --> 00:37:34,640 ki entwodui yon sèl struct lòt nou te wè anvan elèv yo rele, 621 00:37:34,640 --> 00:37:40,330 ak Lè sa a, ki sa li aktyèlman estoke nan lis la lye se yon konsèy nan yon estrikti elèv 622 00:37:40,330 --> 00:37:44,520 olye ke yon senp nonb antye relatif ti kras, n. 623 00:37:44,520 --> 00:37:46,900 Se konsa, reyalize gen nan kòd la ki enplike nan strings reyèl, 624 00:37:46,900 --> 00:37:49,940 Men, si objektif la nan men li vrèman kounye a se nan adrès pwoblèm nan efikasite a, 625 00:37:49,940 --> 00:37:53,380 pa t 'vle bon pou li si n ap bay yon objè rele Alice, 626 00:37:53,380 --> 00:37:56,020 nou vle mete l 'nan kote a dwa nan yon estrikti done, 627 00:37:56,020 --> 00:37:58,860 li santi l tankou li ka d 'reyèlman bon jis mete Alice, 628 00:37:58,860 --> 00:38:01,180 ki gen non kòmanse ak A, nan kote a an premye. 629 00:38:01,180 --> 00:38:05,270 Ak Bob, ki gen non kòmanse ak B, nan kote, dezyèm lan. 630 00:38:05,270 --> 00:38:09,580 Avèk yon etalaj, oswa kite la kòmanse rele li yon tab, yon tab regle nan sa, 631 00:38:09,580 --> 00:38:13,650 nou ka fè egzakteman sa. Si nou ap bay yon non tankou Alice, 632 00:38:13,650 --> 00:38:16,700 yon kòd tankou Alice, kote ou te mete A-L-m-c-e? 633 00:38:16,700 --> 00:38:20,540 Nou bezwen yon hueristic. Nou bezwen yon fonksyon pran kèk D 'tankou Alice 634 00:38:20,540 --> 00:38:24,610 epi retounen yon repons, "Mete Alice nan sa a kote." 635 00:38:24,610 --> 00:38:28,720 Lè sa a fonksyon, bwat sa a nwa, yo pral rele yon fonksyon regle. 636 00:38:28,720 --> 00:38:32,330 >> Yon fonksyon regle se yon bagay ki pran yon D ', tankou "Alice", 637 00:38:32,330 --> 00:38:38,080 epi retounen ba ou, anjeneral, ki kote nimerik nan kèk estrikti done kote Alice ki dwe. 638 00:38:38,080 --> 00:38:40,830 Nan ka sa a, fonksyon regle nou ta dwe relativman senp. 639 00:38:40,830 --> 00:38:47,510 Fonksyon regle nou ta dwe di, si w ap bay "Alice", ki karaktè mwen ta dwe pran swen sou? 640 00:38:47,510 --> 00:38:55,660 Yon sèl la an premye. Se konsa, mwen gade nan [0], ak Lè sa a, mwen di si [0] karaktè se A, retounen nimewo a 0. 641 00:38:55,660 --> 00:39:01,130 Si li nan B, retounen 1. Si C li a, tounen 2, ak pou fè. 642 00:39:01,130 --> 00:39:05,940 Tout endèks 0, epi ki ta pèmèt m 'nan insert Alice ak Lè sa a, Bob ak Lè sa a, Charlie ak pou fè 643 00:39:05,940 --> 00:39:10,960 nan estrikti sa a done. Men, gen nan yon pwoblèm. 644 00:39:10,960 --> 00:39:13,060 E si Anita vini ansanm ankò? 645 00:39:13,060 --> 00:39:17,510 Ki kote nou mete Anita? Non li, tou, kòmanse ak lèt ​​la A, 646 00:39:17,510 --> 00:39:20,330 epi li santi l tankou nou te fè yon dezòd menm pi gwo nan pwoblèm sa a. 647 00:39:20,330 --> 00:39:24,380 Nou kounye a gen imedya ensèsyon, konstan ensèsyon tan, nan yon estrikti done 648 00:39:24,380 --> 00:39:27,100 olye ke vin pi mal ka-lineyè, 649 00:39:27,100 --> 00:39:29,510 men ki sa nou ka fè ak Anita nan ka sa a? 650 00:39:29,510 --> 00:39:34,110 Ki chwa nou genyen de, reyèlman? Yeah? 651 00:39:34,110 --> 00:39:37,410 [Repons elèv, enkonpreansibl] Oke, kidonk nou te ka gen yon lòt dimansyon. 652 00:39:37,410 --> 00:39:42,320 Sa a se bon. Se konsa, nou kapab bati bagay sa yo deyò nan 3D tankou nou te pale de vèbalman nan Lendi. 653 00:39:42,320 --> 00:39:46,700 Nou te ka ajoute yon lòt aksè isit la, men ta kwè ke pa gen okenn, mwen ap eseye kenbe sa a ki senp. 654 00:39:46,700 --> 00:39:50,160 Objektif la an antye isit la se yo gen imedya aksè konstan-tan, 655 00:39:50,160 --> 00:39:52,170 pou ki nan ajoute konpleksite twòp. 656 00:39:52,170 --> 00:39:55,970 Ki lòt opsyon ki lè w ap eseye insert Anita nan estrikti sa a done? Yeah? 657 00:39:55,970 --> 00:39:58,610 [Repons elèv, enkonpreansibl] Bon. Se konsa, nou te ka deplase tout lòt moun desann, 658 00:39:58,610 --> 00:40:03,040 tankou Charlie nudges desann Bob ak Alice, ak Lè sa a, nou mete Anita kote li te vrèman vle fè. 659 00:40:03,040 --> 00:40:05,660 >> Natirèlman, kounye a, gen nan yon efè segondè sa a. 660 00:40:05,660 --> 00:40:09,000 Estrikti sa a done se pwobableman itil pa paske nou vle insert moun yon fwa 661 00:40:09,000 --> 00:40:11,250 men se paske nou vle tcheke si yo ap gen pi ta 662 00:40:11,250 --> 00:40:13,600 si nou vle enprime soti tout nan non yo nan estrikti a done. 663 00:40:13,600 --> 00:40:15,850 Nou pwal fè yon bagay ak sa a done evantyèlman. 664 00:40:15,850 --> 00:40:20,810 Se konsa, kounye a nou te kalite vise sou Alice, ki moun ki nan pa gen pi long kote li te sipoze ye. 665 00:40:20,810 --> 00:40:23,880 Ni se Bob, ni se Charlie. 666 00:40:23,880 --> 00:40:26,060 Se konsa, petèt sa a se pa tankou yon bon lide. 667 00:40:26,060 --> 00:40:28,830 Men, tout bon, sa a se yon sèl opsyon. Nou te ka chanje tout moun desann, 668 00:40:28,830 --> 00:40:32,240 oswa èk, Anita te vin anreta nan jwèt la, poukisa pa nou jis mete Anita 669 00:40:32,240 --> 00:40:35,870 pa isit la, pa isit la, pa isit la, kite yo jis mete l 'yon ti kras pi ba nan lis la. 670 00:40:35,870 --> 00:40:38,680 Men, Lè sa a, pwoblèm sa a kòmanse transfere ankò. 671 00:40:38,680 --> 00:40:41,630 Ou ta ka kapab jwenn Alice imedyatman, ki baze sou premye non li. 672 00:40:41,630 --> 00:40:44,320 Ak Bob imedyatman, ak Charlie. Men, Lè sa a, ou gade pou Anita, 673 00:40:44,320 --> 00:40:46,360 epi ou wè la a, hmm, Alice se nan chemen an. 674 00:40:46,360 --> 00:40:48,770 Oke, kite m 'tcheke anba a Alice. Bob se pa Anita. 675 00:40:48,770 --> 00:40:51,850 Charlie se pa Anita. Oh, gen Anita. 676 00:40:51,850 --> 00:40:54,720 Men, si ou kontinye ke tren nan lojik tout wout la, 677 00:40:54,720 --> 00:41:00,690 sa ki nan pi move-ka tan an kouri pou jwenn pou yo mete Anita nan estrikti sa a done nouvo? 678 00:41:00,690 --> 00:41:03,280 Li nan O (n), dwa? 679 00:41:03,280 --> 00:41:06,280 Paske nan ka ki pi mal la, gen nan Alice, Bob, Charlie. . . 680 00:41:06,280 --> 00:41:10,150 tout wout la desann nan yon moun yo te rele "Y", se konsa gen nan sèlman yon sèl plas kite. 681 00:41:10,150 --> 00:41:13,950 Erezman, nou pa gen okenn yon sèl rele "Z", se konsa nou mete Anita nan pati anba a anpil. 682 00:41:13,950 --> 00:41:16,040 >> Nou pa t 'reyèlman te rezoud pwoblèm sa a. 683 00:41:16,040 --> 00:41:19,890 Se konsa, petèt nou bezwen prezante sa a dimansyon twazyèm. 684 00:41:19,890 --> 00:41:22,230 Epi li vire soti, si nou prezante sa a dimansyon twazyèm, 685 00:41:22,230 --> 00:41:25,240 nou pa kapab fè sa a parfe, men Grail Bondye a yo pral resevwa 686 00:41:25,240 --> 00:41:28,370 konstan-fwa ensèsyon ak parusyon dinamik pou ke 687 00:41:28,370 --> 00:41:30,960 nou pa oblije difisil-kòd yon etalaj de gwosè 26. 688 00:41:30,960 --> 00:41:34,400 Nou ka insert kòm yo anpil non jan nou vle, men kite a pran repo-5 minit nou yo isit la 689 00:41:34,400 --> 00:41:38,790 ak Lè sa a, fè sa byen. 690 00:41:38,790 --> 00:41:46,020 Tout dwa. Mwen mete istwa a moute bèl atifisyèlman gen 691 00:41:46,020 --> 00:41:48,670 pa chwazi Alice ak Lè sa a, Bob ak Lè sa a, Charlie ak Lè sa a, Anita, 692 00:41:48,670 --> 00:41:51,000 ki gen non te evidamman pral fè kolizyon avèk Alice. 693 00:41:51,000 --> 00:41:54,120 Men, kesyon an nou te fini nan Lendi ak se jis ki jan pwobab se li 694 00:41:54,120 --> 00:41:56,370 ke ou ta jwenn sa yo kalite kolizyon? Nan lòt mo, 695 00:41:56,370 --> 00:42:00,490 si nou kòmanse sèvi avèk estrikti sa a tabulaire, ki se vrèman jis yon etalaj, 696 00:42:00,490 --> 00:42:02,460 nan ka sa a nan 26 lokasyon, 697 00:42:02,460 --> 00:42:05,740 ki sa si entrées nou yo ap olye egzakteman menm jan distribye? 698 00:42:05,740 --> 00:42:09,620 Li pa atifisyèlman Alice ak Bob ak Charlie ak David ak pou fè lòd avèk lèt ​​alfabè, 699 00:42:09,620 --> 00:42:12,380 li nan egzakteman menm jan distribye plis pase A jiska Z. 700 00:42:12,380 --> 00:42:15,220 >> Petèt nou pral jis jwenn chans epi nou pa ap ale nan gen de A oswa de nan B 701 00:42:15,220 --> 00:42:17,640 ak pwobabilite wo anpil, men kòm yon moun pwente soti, 702 00:42:17,640 --> 00:42:20,730 si nou jeneralize pwoblèm sa a epi nou pa fè 0 a 25 703 00:42:20,730 --> 00:42:26,060 men, di, 0 a 364 oswa 65, souvan ki kantite jou nan yon ane tipik, 704 00:42:26,060 --> 00:42:31,170 epi li te mande kesyon an, "Ki sa ki nan pwobabilite ki genyen pou de nan nou nan sal sa a gen menm jou fèt?" 705 00:42:31,170 --> 00:42:34,600 Mete li yon lòt fason sa a, sa ki nan pwobabilite ki genyen pou de nan nou gen yon non kòmanse avèk A? 706 00:42:34,600 --> 00:42:37,190 Sòt nan nan kesyon se menm bagay la, men espas sa a adrès, 707 00:42:37,190 --> 00:42:39,940 espas sa a rechèch, se pi gwo nan ka a nan dat nesans, 708 00:42:39,940 --> 00:42:42,820 paske nou gen anpil plis jou nan ane a pase lèt nan alfabè an. 709 00:42:42,820 --> 00:42:44,910 Ki sa ki nan pwobabilite ki genyen pou yon kolizyon? 710 00:42:44,910 --> 00:42:48,410 Bon, nou ka panse a sa a pa n ap kalkile konnen matematik nan fason opoze a. 711 00:42:48,410 --> 00:42:50,580 Ki sa ki nan pwobabilite ki genyen pou pa gen okenn kolizyon? 712 00:42:50,580 --> 00:42:53,970 Bon, sa a ekspresyon isit la di ke sa ki nan pwobabilite a 713 00:42:53,970 --> 00:42:58,770 si gen nan jis yon sèl moun nan sal sa a, ke yo gen yon anivèsè nesans inik? 714 00:42:58,770 --> 00:43:01,190 Li nan 100%. Paske si gen nan yon sèl moun nan sal la, 715 00:43:01,190 --> 00:43:03,940 li oswa anivèsè nesans li kapab gen nenpòt ki jou yo 365 soti nan ane a. 716 00:43:03,940 --> 00:43:08,650 Se konsa, 365/365 opsyon ki ban m 'yon valè de 1. 717 00:43:08,650 --> 00:43:11,250 Se konsa, pwobabilite a nan kesyon nan moman an se jis 1. 718 00:43:11,250 --> 00:43:13,270 Men, si gen nan yon moun ki dezyèm nan sal la, 719 00:43:13,270 --> 00:43:16,490 sa ki nan pwobabilite ki genyen pou anivèsè nesans yo se diferan? 720 00:43:16,490 --> 00:43:20,680 Genyen sèlman 364 jou sa posib, inyore ane kwasans, 721 00:43:20,680 --> 00:43:23,580 pou anivèsè nesans yo, yo pa fè kolizyon avèk moun ki lòt. 722 00:43:23,580 --> 00:43:31,920 Se konsa, 364/365. Si yon moun twazyèm vini nan, li nan 363/365, ak pou fè. 723 00:43:31,920 --> 00:43:35,790 Se konsa, nou kenbe miltipliye ansanm sa yo fraksyon, ki ap resevwa pi piti ak pi piti, 724 00:43:35,790 --> 00:43:40,720 konnen sa ki se pwobabilite ki genyen pou tout moun nan nou gen anivèsè nesans inik? 725 00:43:40,720 --> 00:43:43,570 Men, Lè sa a, nou ka, nan kou, jis pran ki repons ak baskile l 'nan 726 00:43:43,570 --> 00:43:47,210 epi fè 1 mwens nan tout sa, yon ekspresyon n ap pètèt jwenn 727 00:43:47,210 --> 00:43:51,250 si ou sonje do a nan liv matematik ou a, li sanble yon ti kras yon bagay tankou sa a, 728 00:43:51,250 --> 00:43:54,590 ki se pi plis fasil entèprete grafik. 729 00:43:54,590 --> 00:43:57,820 Lè sa a grafik isit la gen sou aks ki x kantite dat nesans, 730 00:43:57,820 --> 00:44:02,030 oswa kantite moun ki gen dat nesans, ak sou aks y pwobabilite ki genyen pou yon match. 731 00:44:02,030 --> 00:44:06,060 Ak sa ki sa a ap di se ke si ou gen, kite la di, menm, 732 00:44:06,060 --> 00:44:10,860 kite a chwazi yon bagay tankou 22 23,. 733 00:44:10,860 --> 00:44:13,160 Si gen nan 22 oswa 23 moun ki nan sal la, 734 00:44:13,160 --> 00:44:17,100 pwobabilite ki genyen pou de nan moun sa yo trè kèk yo ale nan gen menm jou fèt 735 00:44:17,100 --> 00:44:19,560 se aktyèlman segondè Super, combinatorially. 736 00:44:19,560 --> 00:44:23,450 50 akwochaj% ki nan yon klas nan jis 22 moun, yon seminè-a, pratikman, 737 00:44:23,450 --> 00:44:25,790 2 nan moun sa yo yo ale nan gen menm jou fèt. 738 00:44:25,790 --> 00:44:28,520 Paske gen nan anpil nan ki fason ou ka gen anivèsè nesans la menm. 739 00:44:28,520 --> 00:44:31,110 Menm pi mal, si w gade nan bò kote men dwat-ou nan tablo a, 740 00:44:31,110 --> 00:44:34,040 pa tan an ou gen yon klas avèk 58 elèv yo nan li, 741 00:44:34,040 --> 00:44:39,270 pwobabilite ki genyen pou 2 moun ki gen yon anivèsè nesans se super, gwo super, prèske 100%. 742 00:44:39,270 --> 00:44:41,880 Koulye a, sa a, se sòt de yon reyalite plezi sou lavi reyèl. 743 00:44:41,880 --> 00:44:45,850 >> Men, enplikasyon yo, koulye a, pou estrikti done epi estoke enfòmasyon 744 00:44:45,850 --> 00:44:51,100 vle di ke jis asepte ou gen yon bèl, pwòp, inifòm distribisyon done 745 00:44:51,100 --> 00:44:53,650 epi ou gen yon gwo etalaj ase anfòm yon pakèt moun sou bagay sa yo 746 00:44:53,650 --> 00:44:59,360 sa pa vle di w ap ale nan jwenn moun ki nan kote inik. 747 00:44:59,360 --> 00:45:03,810 W ap ale nan gen kolizyon. Se konsa, sa a nosyon nan achin, kòm sa yo rele, 748 00:45:03,810 --> 00:45:07,450 w ap pran yon D 'tankou "Alice" ak masaj li nan kèk fason 749 00:45:07,450 --> 00:45:10,190 ak Lè sa a, vin tounen yon repons tankou 0 oswa 1 oswa 2. 750 00:45:10,190 --> 00:45:17,500 Vin tounen kèk pwodiksyon de sa fonksyon an gwo malè tonbe sou sa a pwobabilite nan kolizyon. 751 00:45:17,500 --> 00:45:19,530 Se konsa, ki jan nou ka okipe sa yo kolizyon? 752 00:45:19,530 --> 00:45:21,940 Oke, sou ka a yon sèl, nou ka pran lide nan ki te sijere. 753 00:45:21,940 --> 00:45:25,100 Nou ka jis chanje tout moun desann, oswa petèt, yon ti kras pi plis tou senpleman, 754 00:45:25,100 --> 00:45:29,870 olye ke tout moun deplase lòt bagay, kite yo jis deplase Anita nan fon plas nan disponib. 755 00:45:29,870 --> 00:45:32,810 Se konsa, si Alice se nan 0, Bob se nan 1, Charlie se nan 2, 756 00:45:32,810 --> 00:45:35,260 nou pral jis mete Anita nan kote 3. 757 00:45:35,260 --> 00:45:38,860 Ak sa a se yon teknik nan estrikti done rele lineyè sonde. 758 00:45:38,860 --> 00:45:41,310 Lineyè paske w ap sèlman mache liy sa a, epi w ap sòt de sonde 759 00:45:41,310 --> 00:45:43,640 pou tach ki disponib nan estrikti nan done. 760 00:45:43,640 --> 00:45:46,210 Natirèlman, sa a devolu nan O (n). 761 00:45:46,210 --> 00:45:49,590 Si estrikti nan done se vrèman plen, gen nan 25 moun ki nan li deja, 762 00:45:49,590 --> 00:45:54,120 ak Lè sa a, Anita vini ansanm, li fini moute nan sa ki ta Z kote, ak sa a, se amann. 763 00:45:54,120 --> 00:45:56,540 Li ap toujou adapte, epi nou ka jwenn li pi ta. 764 00:45:56,540 --> 00:46:00,100 >> Men, sa a te kontrè nan objektif la nan eksè vitès sou bagay yo. 765 00:46:00,100 --> 00:46:02,530 Se konsa, sa si nou olye introduced sa a dimansyon twazyèm? 766 00:46:02,530 --> 00:46:06,400 Sa teknik se jeneralman yo rele separe Anchènman, oswa gen ti chenn. 767 00:46:06,400 --> 00:46:10,030 Ak sa ki yon tab regle kounye a se, estrikti sa a tabulaire, 768 00:46:10,030 --> 00:46:13,450 tab ou se jis yon etalaj de pwent. 769 00:46:13,450 --> 00:46:18,230 Men, sa ki sa yo endikasyon lonje dwèt sou se devine kisa? 770 00:46:18,230 --> 00:46:21,970 Yon lis lye. Se konsa, sa si nou pran pi bon nan tou de nan sa yo mond? 771 00:46:21,970 --> 00:46:26,500 Nou itilize ranje pou endèks yo premye 772 00:46:26,500 --> 00:46:32,070 nan estrikti nan done pou nou ka imedyatman ale nan [0] [1], [30] oswa pou fè, 773 00:46:32,070 --> 00:46:36,480 men se konsa ke nou gen kèk fleksibilite ak nou ka anfòm Anita ak Alice ak Adan 774 00:46:36,480 --> 00:46:38,630 ak nenpòt lòt Yon non, 775 00:46:38,630 --> 00:46:43,470 nou olye kite aks nan lòt grandi abitrèman. 776 00:46:43,470 --> 00:46:47,340 E nou finalman, kòm nan Lendi, gen sa kapasite espresif ak lis lye. 777 00:46:47,340 --> 00:46:49,530 Nou ka grandi yon estrikti done abitrèman. 778 00:46:49,530 --> 00:46:52,450 Altènativman, nou te ka jis fè yon gwo etalaj 2 dimansyon, 779 00:46:52,450 --> 00:46:57,190 men sa k ap pase yo dwe genyen yon sitiyasyon terib si youn nan ranje yo nan yon etalaj 2-dimansyon 780 00:46:57,190 --> 00:47:01,280 se pa gwo ase pou moun nan adisyonèl ki gen non k ap pase nan kòmanse ak A. 781 00:47:01,280 --> 00:47:04,200 Mande Bondye padon! Nou dwe aloue yon gwo estrikti 2-dimansyon 782 00:47:04,200 --> 00:47:06,600 jis paske gen nan pou anpil moun yo te rele A, 783 00:47:06,600 --> 00:47:09,480 espesyalman lè gen nan sa kèk moun yo te rele Z yon bagay. 784 00:47:09,480 --> 00:47:12,170 Li nan jis ale nan yon trè rar done estrikti. 785 00:47:12,170 --> 00:47:15,400 Se konsa, li pa pafè pa nenpòt vle di, men kounye a nou nan omwen gen kapasite pou 786 00:47:15,400 --> 00:47:19,090 imedyatman jwenn kote Alice oswa Anita ki dwe, 787 00:47:19,090 --> 00:47:21,090 omwen an tèm de aks vètikal la, 788 00:47:21,090 --> 00:47:25,850 ak Lè sa a, nou jis gen deside ki kote yo mete Anita oswa Alice nan lis sa a lye. 789 00:47:25,850 --> 00:47:32,480 Si nou pa pran swen sou Fouye bagay sa yo, ki jan byen vit nou ta ka insert Alice nan yon estrikti tankou sa a? 790 00:47:32,480 --> 00:47:35,370 Li lè konstan. Nou endèks nan [0], epi si gen pa gen yon an, 791 00:47:35,370 --> 00:47:37,550 Alice ale nan kòmansman ke lis lye. 792 00:47:37,550 --> 00:47:40,000 Men se pa sèlman yon kontra gwo. Paske si Anita Lè sa a, vini ansanm 793 00:47:40,000 --> 00:47:42,160 kèk nimewo nan etap pita, kote Anita apatni? 794 00:47:42,160 --> 00:47:45,140 Oke, [0]. Op. Alice se deja nan lis ki lye. 795 00:47:45,140 --> 00:47:47,760 >> Men, si nou pa pran swen sou klasman sa yo non, 796 00:47:47,760 --> 00:47:53,580 nou ka jis deplase Alice sou, insert Anita, men menm ki se tan konstan. 797 00:47:53,580 --> 00:47:57,010 Menm si gen nan Alice ak Adan ak tout bagay sa yo lòt Yon non, 798 00:47:57,010 --> 00:47:59,410 li pa vrèman déplacement yo fizikman. Poukisa? 799 00:47:59,410 --> 00:48:04,090 Paske nou jis te fè isit la ak lye lis, moun ki konnen yo te sa yo nœuds yo se de tout fason? 800 00:48:04,090 --> 00:48:06,550 Tout sa ou dwe fè se deplase ti kal pen yo pen. 801 00:48:06,550 --> 00:48:10,930 Deplase flèch yo otou; ou pa bezwen fizikman deplase nenpòt done alantou. 802 00:48:10,930 --> 00:48:14,610 Se konsa, nou ka insert Anita, nan ka sa a, imedyatman. Constant tan. 803 00:48:14,610 --> 00:48:20,250 Se konsa, nou gen Passage konstan-tan, ak konstan-fwa ensèsyon nan yon moun tankou Anita. 804 00:48:20,250 --> 00:48:22,740 Men, kalite oversimplifying mond lan. 805 00:48:22,740 --> 00:48:28,510 E si nou pita vle jwenn Alice? 806 00:48:28,510 --> 00:48:31,050 E si nou pita vle jwenn Alice? 807 00:48:31,050 --> 00:48:35,690 Konbyen etap se ke pral pran? 808 00:48:35,690 --> 00:48:37,850 [Repons elèv, enkonpreansibl] 809 00:48:37,850 --> 00:48:40,950 Egzakteman. Kantite moun ki anvan Alice nan lis la lye. 810 00:48:40,950 --> 00:48:45,420 Se konsa, li pa byen pafè, paske estrikti done nou an, ankò, gen sa a aksè vètikal 811 00:48:45,420 --> 00:48:50,240 ak Lè sa a, li gen sa yo bay lis lye pandye - aktyèlman, se pou yo pa rale l 'yon etalaj yon. 812 00:48:50,240 --> 00:48:56,020 Li te gen sa yo bay lis lye pandye koupe nan li ki sanble yon ti kras yon bagay tankou sa a. 813 00:48:56,020 --> 00:48:59,110 Men, pwoblèm lan se si Alice ak Adan ak tout bagay sa yo lòt non Yon 814 00:48:59,110 --> 00:49:01,720 fini pi plis ak plis lòt bò a, 815 00:49:01,720 --> 00:49:04,810 jwenn yon moun te kapab fini pran yon pakèt moun sou etap, 816 00:49:04,810 --> 00:49:06,670 bcause ou gen Traverse lis la lye, 817 00:49:06,670 --> 00:49:08,090 ki se yon operasyon lineyè. 818 00:49:08,090 --> 00:49:14,270 Se konsa, reyèlman, lè sa a, tan an ensèsyon finalman se O (n), kote n se nimewo a nan eleman nan lis la. 819 00:49:14,270 --> 00:49:21,780 Divize pa, kite la abitrèman rele li m, kote m se nimewo a nan lis lye 820 00:49:21,780 --> 00:49:24,500 ke nou gen nan sa a aks vètikal. 821 00:49:24,500 --> 00:49:27,180 Nan lòt mo, si nou vrèman asime yon distribisyon inifòm nan non, 822 00:49:27,180 --> 00:49:30,150 totalman ireyèl. Genyen nan evidamman plis nan kèk lèt ​​pase lòt moun. 823 00:49:30,150 --> 00:49:32,580 >> Men, si nou sipoze pou moman an yon distribisyon inifòm, 824 00:49:32,580 --> 00:49:37,350 epi nou te n moun total, ak m chenn total 825 00:49:37,350 --> 00:49:40,630 disponib nan nou, Lè sa a, longè a nan chak nan sa yo chenn 826 00:49:40,630 --> 00:49:44,380 jistis tou senpleman a pwal total la, n divize pa kantite a nan ti chenn. 827 00:49:44,380 --> 00:49:48,900 Se konsa, n / m. Men, isit la nan kote nou ka tout matematik entelijan. 828 00:49:48,900 --> 00:49:53,030 m se yon konstan, paske gen yon nimewo fiks nan sa yo. 829 00:49:53,030 --> 00:49:54,620 W ap ale nan deklare etalaj ou nan kòmansman an, 830 00:49:54,620 --> 00:49:58,450 ak nou pa rèsizin aks vètikal la. Pa definisyon, ki rete fiks yo. 831 00:49:58,450 --> 00:50:01,220 Li nan sèlman aks orizontal la, se konsa pale, ki nan chanje. 832 00:50:01,220 --> 00:50:04,760 Se konsa, teknikman, sa a se yon konstan. Se konsa, koulye a, ensèsyon tan an 833 00:50:04,760 --> 00:50:09,700 se bèl anpil O (n). 834 00:50:09,700 --> 00:50:12,410 Se konsa, ke pa santi tout sa ki pi bon. 835 00:50:12,410 --> 00:50:14,940 Men, sa ki nan sa a verite a isit la? Oke, tout tan sa a, pou de semèn, 836 00:50:14,940 --> 00:50:20,640 nou ve yo te di O (n ²). O (n), 2 x n ², - n, divize pa 2. . . me. 837 00:50:20,640 --> 00:50:23,580 Se jis ² n. Men, koulye a, nan pati sa a nan semès la, 838 00:50:23,580 --> 00:50:25,560 nou ka kòmanse pale osijè mond reyèl la ankò. 839 00:50:25,560 --> 00:50:31,520 Ak n / m se absoliman pi vit pase jis n pou kont li. 840 00:50:31,520 --> 00:50:35,170 Si ou gen yon non mil, epi ou kraze yo moute nan bokit miltip 841 00:50:35,170 --> 00:50:37,820 pou ke ou gen sèlman dis non nan chak nan sa yo chenn, 842 00:50:37,820 --> 00:50:41,670 absoliman chèche dis bagay a pwal pi vit pase yon mil bagay sa yo. 843 00:50:41,670 --> 00:50:43,740 Se konsa, youn nan ansanm sa yo, pwoblèm kap vini ki pral defi ou 844 00:50:43,740 --> 00:50:46,100 panse sou egzakteman ki menm si, yeah, 845 00:50:46,100 --> 00:50:49,520 asenptotik ak matematik, sa a se toujou jis lineyè, 846 00:50:49,520 --> 00:50:51,700 ki suk an jeneral lè w ap eseye jwenn bagay sa yo. 847 00:50:51,700 --> 00:50:54,530 An reyalite, li pral yo dwe pi vit pase sa 848 00:50:54,530 --> 00:50:56,520 paske nan sa divizè. 849 00:50:56,520 --> 00:50:58,310 Se konsa, gen nan ankò pral fè sa a komès-off 850 00:50:58,310 --> 00:51:01,390 ak sa a konfli ant teyori ak reyalite, 851 00:51:01,390 --> 00:51:03,550 ak youn nan bouton yo ap kòmanse kap vire nan pwen sa a nan semès la 852 00:51:03,550 --> 00:51:07,510 se pi plis nan reyalite a yon sèl jan nou sòt de prepare pou fen semster a, 853 00:51:07,510 --> 00:51:09,280 jan nou prezante mond lan nan pwogram entènèt, 854 00:51:09,280 --> 00:51:11,530 kote reyèlman, pèfòmans ki pral konte paske itilizatè ou yo ale nan 855 00:51:11,530 --> 00:51:14,880 kòmanse santi ak apresye desizyon konsepsyon pòv yo. 856 00:51:14,880 --> 00:51:19,950 >> Se konsa, kouman ou ale sou mete sou pye yon lye - yon tab regle ak 31 eleman? 857 00:51:19,950 --> 00:51:22,600 E nan egzanp ki anvan te abitrèman sou anivèsè. 858 00:51:22,600 --> 00:51:26,190 Si yon moun gen yon anivèsè nesans nan janvye 1 oswa Fevriye 1, nou pral mete yo nan sa a ki gen bokit. 859 00:51:26,190 --> 00:51:28,960 Si li la, 2 janvye, 2 Fevriye Mas 2, nou pral mete yo nan sa a ki gen bokit. 860 00:51:28,960 --> 00:51:32,220 Se poutèt sa li te 31. Ki jan ou fè deklare yon tab regle? 861 00:51:32,220 --> 00:51:37,480 Li kapab trè senp, tab ne * se non abitrè mwen an pou li, [31]. 862 00:51:37,480 --> 00:51:42,400 Sa a ba m '31 endikasyon nœuds, 863 00:51:42,400 --> 00:51:45,370 ak ki pèmèt m 'nan gen 31 endikasyon lye lis 864 00:51:45,370 --> 00:51:48,800 menm si sa yo chenn yo se okòmansman nil. 865 00:51:48,800 --> 00:51:54,860 Ki sa mwen vle mete si mwen vle nan magazen "Alice", "Bob", "Charlie"? 866 00:51:54,860 --> 00:51:57,010 Oke, nou bezwen vlope bagay sa yo nan yon estrikti 867 00:51:57,010 --> 00:52:00,530 paske nou bezwen Alice nan pwen Bob, nan pwen Charlie a, ak pou fè. 868 00:52:00,530 --> 00:52:04,940 Nou pa ka jis gen non yo pou kont yo, konsa mwen te kapab kreye yon estrikti nouvo rele ne isit la. 869 00:52:04,940 --> 00:52:08,310 >> Ki sa ki yon ne aktyèl? Ki sa ki se yon ne nan lis sa a nouvo lye? 870 00:52:08,310 --> 00:52:11,840 Premye bagay, ki rele mo, se pou non moun nan an. 871 00:52:11,840 --> 00:52:14,340 Longè, prezimableman, gen rapò ak longè a maksimòm de non yon moun nan, 872 00:52:14,340 --> 00:52:18,210 kèlkeswa sa ki se, 20, 30, 40 karaktè nan ka kwen fou, 873 00:52:18,210 --> 00:52:22,680 ak +1 se pou ki sa? Se jis nan pèsonaj la nil siplemantè, \ 0. 874 00:52:22,680 --> 00:52:27,410 Se konsa, sa a ne ap vlope "yon bagay" andedan nan tèt li, 875 00:52:27,410 --> 00:52:29,640 men tou li deklare yon konsèy rele pwochen 876 00:52:29,640 --> 00:52:32,580 pou nou ka chèn Alice Bob Charlie ak pou fè. 877 00:52:32,580 --> 00:52:36,700 Èske pral nil, men se pa nesesèman gen yo dwe. 878 00:52:36,700 --> 00:52:40,110 Nenpòt kesyon sou tab sa yo regle? Yeah? 879 00:52:40,110 --> 00:52:46,190 [Elèv mande kesyon, enkonpreansibl] Yon etalaj - bon kesyon. 880 00:52:46,190 --> 00:52:50,120 Poukisa se pawòl sa a Char nan yon etalaj olye ke sèlman * Char? 881 00:52:50,120 --> 00:52:53,830 Nan egzanp sa a yon ti jan abitrè, mwen pa t 'vle gen Resort 882 00:52:53,830 --> 00:52:56,190 malok pou chak nan non yo orijinal yo. 883 00:52:56,190 --> 00:52:59,530 Mwen te vle deklare yon kantite lajan maksimòm nan memwa pou fisèl la 884 00:52:59,530 --> 00:53:06,020 pou ke mwen te ka kopye nan estrikti nan Alice \ 0 epi yo pa gen fè fas ak malok ak gratis epi yo tankou la. 885 00:53:06,020 --> 00:53:11,710 Men, mwen ta ka fè ke si mwen te vle gen plis konsyan de itilize espas. Bon kesyon. 886 00:53:11,710 --> 00:53:14,780 Se konsa, kite a eseye jeneralizasyon lwen sa a soti nan 887 00:53:14,780 --> 00:53:18,350 epi konsantre rès tan ki rete nan jounen jodi a sou estrikti done plis jeneralman 888 00:53:18,350 --> 00:53:21,170 ak lòt pwoblèm ke nou ka rezoud lè l sèvi avèk eleman fondamantal yo menm 889 00:53:21,170 --> 00:53:24,590 menm si estrikti yo done tèt yo ta ka diferan nan Nap yo. 890 00:53:24,590 --> 00:53:27,910 >> Se konsa, li vire soti nan syans konpitè, pye bwa yo se trè komen. 891 00:53:27,910 --> 00:53:29,760 Epi ou ka panse a yon sòt pyebwa ki nan tankou yon pyebwa fanmi yo, 892 00:53:29,760 --> 00:53:31,830 kote gen nan kèk rasin, kèk matron oswa patriyach, 893 00:53:31,830 --> 00:53:34,540 granmè oswa granpapa oswa pi bonè tounen, 894 00:53:34,540 --> 00:53:38,880 anba ki se manman ak yon papa oswa frè ak sè divès oswa renmen an. 895 00:53:38,880 --> 00:53:42,500 Se konsa, yon estrikti pye bwa gen nœuds ak li gen timoun, 896 00:53:42,500 --> 00:53:45,260 anjeneral 0 oubyen plis timoun pou chak ne. 897 00:53:45,260 --> 00:53:47,320 Ak kèk nan jagon la ke ou wè nan foto sa a isit la 898 00:53:47,320 --> 00:53:50,630 se nenpòt nan timoun yo ti kras oswa ki grandkids sou bor yo 899 00:53:50,630 --> 00:53:52,330 ki pa gen okenn flèch pemanan nan yo, 900 00:53:52,330 --> 00:53:55,070 sa yo se fèy yo sa yo rele, epi nenpòt moun ki sou anndan an 901 00:53:55,070 --> 00:53:58,790 se yon ne anndan; ou ka rele li anyen ansanm liy sa yo. 902 00:53:58,790 --> 00:54:01,430 Men, estrikti sa a se trè komen. Yon sèl sa a nan yon ti kras abitrè. 903 00:54:01,430 --> 00:54:04,930 Nou gen yon sèl pitit sou bò gòch la, nou gen twa timoun sou bò dwat la, 904 00:54:04,930 --> 00:54:06,830 de timoun sou anba a kite. 905 00:54:06,830 --> 00:54:10,740 Se konsa, nou ka gen pye bwa diferan ki menm gwosè ak, men si nou kòmanse estandadize bagay sa yo, 906 00:54:10,740 --> 00:54:15,330 epi ou ta ka sonje sa a soti nan videyo Patrick a sou rechèch binè ki sòti nan yon kout anvan 907 00:54:15,330 --> 00:54:19,490 sou entènèt, binè rechèch pa bezwen aplike avèk yon etalaj 908 00:54:19,490 --> 00:54:21,410 oswa moso papye sou yon tablo. 909 00:54:21,410 --> 00:54:25,490 Sipoze ke ou te vle nan magazen nimewo ou a nan yon estrikti pi plis sofistike done. 910 00:54:25,490 --> 00:54:27,680 Ou te kapab kreye yon pye bwa tankou sa a. 911 00:54:27,680 --> 00:54:35,290 Ou te kapab gen yon ne te deklare nan C, ak ki ne ka gen omwen de eleman andedan nan li. 912 00:54:35,290 --> 00:54:39,470 Youn nan se nimewo a ou vle nan magazen, ak lòt la se - byen, nou bezwen yon sèl plis. 913 00:54:39,470 --> 00:54:41,540 Lòt la se timoun li yo. 914 00:54:41,540 --> 00:54:45,150 Se konsa, isit la nan yon lòt estrikti done. Tan sa a, se yon ne defini kòm estoke yon nimewo n 915 00:54:45,150 --> 00:54:49,060 ak Lè sa a, de pwent; gòch pitit ak pitit dwat. 916 00:54:49,060 --> 00:54:52,100 Apre sa, yo se pa abitrè. Ki sa ki nan enteresan sou pye bwa sa a? 917 00:54:52,100 --> 00:55:00,550 >> Ki sa ki nan modèl ki nan ki jan nou te mete sa a soti oswa ki jan Patrick mete l 'deyò nan videyo l'? 918 00:55:00,550 --> 00:55:02,790 Li nan kalite evidan ke gen nan kèk klasman ale sou isit la, 919 00:55:02,790 --> 00:55:04,460 men sa ki nan règ la senp? Yeah? 920 00:55:04,460 --> 00:55:08,350 [Repons elèv, enkonpreansibl] 921 00:55:08,350 --> 00:55:12,040 Pafè. Si ou gade nan sa a, ou wè nimewo yo ti sou bò gòch la, 922 00:55:12,040 --> 00:55:14,690 nimewo gwo sou bò gòch la, men sa a vre pou chak ne. 923 00:55:14,690 --> 00:55:20,370 Pou chak ne, pitit gòch li yo pi piti pase li, ak pitit dwa li pi gran pase li. 924 00:55:20,370 --> 00:55:25,210 Ki sa sa vle di kounye a se si mwen vle nan rechèch estrikti sa a done pou li a, di, nimewo a 44, 925 00:55:25,210 --> 00:55:29,320 Mwen dwe kòmanse nan rasin lan, paske menm jan ak tout moun sa yo estrikti pi konplèks done, koulye a, 926 00:55:29,320 --> 00:55:31,910 nou sèlman gen yon konsèy nan yon sèl bagay, nan konmansman an. 927 00:55:31,910 --> 00:55:35,010 Ak nan ka sa a, nan konmansman an se rasin lan. Li pa nan fen agoch, 928 00:55:35,010 --> 00:55:39,530 li nan rasin nan estrikti sa a. Se konsa, mwen wè isit la nan 55, ak mwen kap chèche 44. 929 00:55:39,530 --> 00:55:41,430 Ki direksyon Mwen vle ale? 930 00:55:41,430 --> 00:55:45,680 Oke, mwen vle pou yo ale nan bò gòch la, paske evidamman, sou bò dwat la a pwal twò gwo. 931 00:55:45,680 --> 00:55:49,050 Se konsa, remake isit la, ou se sòt de teori découper pye bwa a nan mwatye 932 00:55:49,050 --> 00:55:51,700 paske ou pa janm ap pral desann nan bò nan men dwat-ou. 933 00:55:51,700 --> 00:55:55,410 Se konsa, koulye a, mwen ale nan 55 a 33 an. Li nan twò piti nan yon nimewo. 934 00:55:55,410 --> 00:56:01,590 Mwen kap chèche 44, men kounye a pou mwen konnen si 44 se nan pye bwa sa a, mwen ka ale evidamman a dwat la. 935 00:56:01,590 --> 00:56:04,460 Se konsa, ankò, mwen koupe pye bwa a nan mwatye. 936 00:56:04,460 --> 00:56:06,780 Li nan bèl anpil ki idantik concept nan liv telefòn nan. 937 00:56:06,780 --> 00:56:09,510 Li nan ki idantik ak sa nou te fè ak papye yo sou tablo a, 938 00:56:09,510 --> 00:56:13,940 men li la yon estrikti pi plis sofistike ki pèmèt nou aktyèlman fè 939 00:56:13,940 --> 00:56:16,880 sa a separe ak konkeri nan konsepsyon nan algorithm a, 940 00:56:16,880 --> 00:56:19,420 ak an reyalite, Travelers yon estrikti tankou sa a - whoops. 941 00:56:19,420 --> 00:56:22,870 Travelers yon estrikti tankou sa a, kote li a sèlman "ale nan fason sa a oswa ale fason sa a," 942 00:56:22,870 --> 00:56:26,870 vle di tout sa ki kòd ki Bent lide ou nan premye lè mete ann aplikasyon li nan seksyon 943 00:56:26,870 --> 00:56:31,270 oswa mache atravè li nan kay la, pou rechèch binè, lè l sèvi avèk rkursyon oswa iterasyon, 944 00:56:31,270 --> 00:56:35,060 li nan yon doulè nan kou an. Jwenn eleman nan mitan, lè sa a fè awondi ou monte oswa desann. 945 00:56:35,060 --> 00:56:39,230 >> Genyen nan yon bote sa a paske nou kapab kounye a itilize rkursyon ankò, 946 00:56:39,230 --> 00:56:43,760 men pi plis propr. Vreman vre, si ou se nan nimewo ki 55 ak ou vle jwenn 44, 947 00:56:43,760 --> 00:56:48,450 ou ale rete nan ka sa a, Lè sa a, kisa w fè? Ou kouri egzak algorithm a menm. 948 00:56:48,450 --> 00:56:51,560 Ou tcheke valè a nan ne an, Lè sa a, ou ale agoch ​​oswa adwat. 949 00:56:51,560 --> 00:56:53,670 Lè sa a, ou tcheke valè a nan ne an, ale agoch ​​oswa adwat. 950 00:56:53,670 --> 00:56:56,710 Sa a se parfe ki ale ak rkursyon. 951 00:56:56,710 --> 00:57:00,920 Se konsa, menm si nan tan lontan an nou te fè kèk egzanp jistis abitrè ki enplike rkursyon 952 00:57:00,920 --> 00:57:03,430 ki pa t 'bezwen yo dwe repetitif, ak stuctures done, 953 00:57:03,430 --> 00:57:07,820 espesyalman pye bwa, li nan yon aplikasyon pou pafè nan ide sa a pou yo pran yon pwoblèm, 954 00:57:07,820 --> 00:57:12,920 ratresi l ', li Lè sa a, pou rezoud menm kalite, men ki pi piti pwogram nan,. 955 00:57:12,920 --> 00:57:14,590 >> Se konsa, gen nan yon lòt estrikti done ke nou ka prezante. 956 00:57:14,590 --> 00:57:18,760 Sa a se yon sèl ki fèt nan zye premye yo gade skre, men yon sèl sa a nan dwòl. 957 00:57:18,760 --> 00:57:25,090 Se konsa, sa a se yon estrikti done yo te rele yon trye, trye, ki se eritye de reaparisyon nan mo, 958 00:57:25,090 --> 00:57:30,210 ki pa pwononse re-TRY-Val, men se sa ki mond lan rele bagay sa yo. Ap eseye. T-r-m-e. 959 00:57:30,210 --> 00:57:35,190 Li se yon estrikti pyebwa ki nan kèk sòt, men chak nan nœuds yo nan yon trye 960 00:57:35,190 --> 00:57:41,280 parèt gen ki sa? Ak sa a se yon ti jan ki twonpe paske li nan kalite abreje. 961 00:57:41,280 --> 00:57:45,960 Men, li sanble chak ne sa a nan trye se aktyèlman yon etalaj. 962 00:57:45,960 --> 00:57:48,840 E menm si otè a nan dyagram sa a pa te montre li, 963 00:57:48,840 --> 00:57:54,130 nan ka sa a, sa a trye se yon estrikti done ki gen objektif nan lavi se nan magazen mo 964 00:57:54,130 --> 00:57:57,330 tankou A-L-m-c e-oswa B-o-b. 965 00:57:57,330 --> 00:58:02,480 Ak fason an nan ki sa a done magazen Alice ak Bob ak Charlie ak Anita ak pou fè 966 00:58:02,480 --> 00:58:06,970 se li itilize yon etalaj kote nan magazen Alice nan yon trye, 967 00:58:06,970 --> 00:58:09,820 nou kòmanse nan ne an rasin ki sanble yon etalaj, 968 00:58:09,820 --> 00:58:12,080 ak li a te ekri an notasyon steno. 969 00:58:12,080 --> 00:58:15,070 Otè ki manke abcdefg paske pa te gen okenn non ak sa. 970 00:58:15,070 --> 00:58:19,150 Yo sèlman te montre M ak P ak T, men nan ka sa a, 971 00:58:19,150 --> 00:58:22,780 kite yo deplase lwen Alice ak Bob ak Charlie nan kèk non ki isit la. 972 00:58:22,780 --> 00:58:25,670 Maxwell se aktyèlman nan dyagram sa a. 973 00:58:25,670 --> 00:58:29,570 Se konsa, kouman fè magazen an otè M-yon-x-w-e-L-l? 974 00:58:29,570 --> 00:58:36,990 Li te oswa li te kòmanse nan ne an rasin, l 'al jwenn [M], se konsa apeprè 13, ki kote 13th nan etalaj la. 975 00:58:36,990 --> 00:58:40,750 Lè sa a, apati de la, gen nan yon konsèy. 976 00:58:40,750 --> 00:58:42,760 Yon konsèy ki mennen ale nan yon lòt pozisyon. 977 00:58:42,760 --> 00:58:47,880 Soti nan gen otè a Catalogue nan ki etalaj nan pozisyon A, kòm repwezante gen sou bò gòch tèt, 978 00:58:47,880 --> 00:58:52,250 ak Lè sa a, li oswa li swiv ki konsèy nan yon lòt pozisyon, 979 00:58:52,250 --> 00:58:55,460 l 'al jwenn konsèy la nan kote X. 980 00:58:55,460 --> 00:58:59,840 Lè sa a, nan pwochen W la kote etalaj, E, L, L, ak pou fè, 981 00:58:59,840 --> 00:59:03,090 epi finalman, kite a aktyèlman eseye mete yon foto sa a. 982 00:59:03,090 --> 00:59:05,380 Ki sa yon gade ne tankou nan kòd? 983 00:59:05,380 --> 00:59:11,820 Yon ne nan yon trye gen yon etalaj de pwent nan plis nœuds. 984 00:59:11,820 --> 00:59:16,090 Men, gen la tou gen yo dwe kèk kalite valè Boolean, omwen nan sa a aplikasyon. 985 00:59:16,090 --> 00:59:18,770 Mwen rive rele li is_word. Poukisa? 986 00:59:18,770 --> 00:59:22,670 Paske lè w ap mete Maxwell, ou pa ap mete 987 00:59:22,670 --> 00:59:25,300 anyen nan estrikti sa a done. 988 00:59:25,300 --> 00:59:27,480 Ou pa ap ekri M. Ou pa ap ekri X. 989 00:59:27,480 --> 00:59:30,240 Tout sa ou ap fè se swiv endikasyon. 990 00:59:30,240 --> 00:59:33,360 Konsèy la ki reprezante M, Lè sa a, konsèy la ki reprezante A, 991 00:59:33,360 --> 00:59:36,310 Lè sa a, konsèy la ki reprezante X, Lè sa a, W, E, L, L, 992 00:59:36,310 --> 00:59:41,950 men ki sa ou bezwen fè nan fen an se sòt de ale, tcheke, mwen te rive nan sa a kote. 993 00:59:41,950 --> 00:59:45,560 Vwala se te yon mo ki fini isit la nan estrikti nan done. 994 00:59:45,560 --> 00:59:48,190 >> Se konsa, sa se yon trye vrèman ki te ranpli avèk ak otè a te chwazi yo reprezante 995 00:59:48,190 --> 00:59:51,880 sa yo terminuses ak triyang ti kras. 996 00:59:51,880 --> 00:59:56,470 Sa a jis vle di ke reyalite a nan triyang sa a isit la, sa a valè Boolean nan vre 997 00:59:56,470 --> 00:59:59,200 vle di si ou ale bak nan pyebwa a, 998 00:59:59,200 --> 01:00:02,420 sa vle di yon mo rele Maxwell se nan sa a. 999 01:00:02,420 --> 01:00:04,870 Men, pawòl foo a, pou egzanp, 1000 01:00:04,870 --> 01:00:07,970 se pa nan pyebwa a, paske si mwen kòmanse nan ne an rasin moute isit la nan tèt, 1001 01:00:07,970 --> 01:00:14,030 Gen nan pa gen konsèy f, pa gen okenn konsèy o, pa gen okenn konsèy o. Man se pa yon non yo nan sa a diksyonè. 1002 01:00:14,030 --> 01:00:22,460 Men, pa kontra, Turing, T-u-r-m-n-g. Yon fwa ankò, mwen pa t 'sere t oswa u oswa r oswa mwen oswa n oswa g. 1003 01:00:22,460 --> 01:00:29,820 Men, mwen te fè magazen nan estrikti sa a done yon valè de fason vre desann isit la nan sa a ne - nan pye bwa a 1004 01:00:29,820 --> 01:00:33,030 pa mete sa a valè Boolean nan is_word vre. 1005 01:00:33,030 --> 01:00:35,740 Se konsa, yon trye se kalite estrikti sa a meta trè enteresan, 1006 01:00:35,740 --> 01:00:39,810 kote ou pa ap reyèlman estoke mo sa yo tèt yo pou sa a kalite diksyonè. 1007 01:00:39,810 --> 01:00:45,100 Pou yo kapab klè, w ap sèlman estoke wi oswa non, gen yon mo ki fini isit la. 1008 01:00:45,100 --> 01:00:46,430 >> Koulye a, sa ki nan enplikasyon la? 1009 01:00:46,430 --> 01:00:51,120 Si ou gen 150,000 mo nan yon diksyonè ki w ap eseye nan magazen nan memwa 1010 01:00:51,120 --> 01:00:53,400 lè l sèvi avèk yon bagay tankou yon lis lye, 1011 01:00:53,400 --> 01:00:56,870 ou yo ale nan gen 150,000 nœuds nan lye lis ou an. 1012 01:00:56,870 --> 01:01:00,250 Ak jwenn youn nan mo sa yo lòd avèk lèt ​​alfabè kapab pran O (n) tan. 1013 01:01:00,250 --> 01:01:04,370 Lineyè tan. Men, nan ka a isit la nan yon trye, 1014 01:01:04,370 --> 01:01:09,210 sa ki nan lè a kouri pou jwenn yon mo? 1015 01:01:09,210 --> 01:01:17,390 Li vire soti bote a isit la se ke menm si w gen 149.999 mo ki deja nan sa a diksyonè, diksyonè 1016 01:01:17,390 --> 01:01:20,170 kòm aplike ak estrikti sa a done, 1017 01:01:20,170 --> 01:01:25,560 konbyen tan li pran pou chache oswa pou insert yon sèl plis moun nan ki, tankou Alice, Alice? 1018 01:01:25,560 --> 01:01:30,640 Oke, li nan sèlman 5, petèt 6 etap pou pèsonaj la fin. 1019 01:01:30,640 --> 01:01:32,880 Paske pwezans nan lòt non nan estrikti a 1020 01:01:32,880 --> 01:01:35,340 pa jwenn nan fason a nan mete Alice. 1021 01:01:35,340 --> 01:01:39,640 Anplis, jwenn Alice yon fwa gen 150,000 mo sa a nan diksyonè 1022 01:01:39,640 --> 01:01:41,960 pa jwenn nan fason ou nan jwenn Alice nan tout, 1023 01:01:41,960 --> 01:01:46,880 paske Alice se. . . . . isit la, paske mwen te jwenn yon valè Boolean. 1024 01:01:46,880 --> 01:01:50,920 Men, si pa gen okenn Boolean vre, Lè sa a, Alice se pa nan estrikti sa a done nan mo yo. 1025 01:01:50,920 --> 01:01:56,220 Nan lòt mo, tan an ap kouri pou jwenn bagay sa yo ak inséré bagay sa yo nan sa a nouvo 1026 01:01:56,220 --> 01:02:01,920 done estrikti nan trye se O nan - li pa n. 1027 01:02:01,920 --> 01:02:05,730 Paske pwezans nan 150,000 moun pa gen okenn efè sou Alice, li sanble. 1028 01:02:05,730 --> 01:02:11,560 Se konsa, kite a rele l 'k, kote k se longè a maksimòm nan yon mo nan lang angle 1029 01:02:11,560 --> 01:02:14,050 ki se tipikman pa gen okenn plis pase 20-yon bagay karaktè. 1030 01:02:14,050 --> 01:02:17,940 Se konsa, k se yon konstan. Se konsa, Grail nan Sentespri nou yo sanble yo te jwenn kounye a 1031 01:02:17,940 --> 01:02:26,000 se sa yo ki an yon trye, tan konstan pou mete anndan, pou rchèrch, pou reyur. 1032 01:02:26,000 --> 01:02:29,170 Paske nimewo a de bagay sa yo deja nan estrikti a, 1033 01:02:29,170 --> 01:02:32,600 ki fè yo pa menm fizikman la. Yon fwa ankò, yo ap jis sòt de tcheke koupe, wi oswa non, 1034 01:02:32,600 --> 01:02:35,050 pa gen okenn enpak sou tan pwochen li kouri. 1035 01:02:35,050 --> 01:02:37,940 >> Men, gen a te rive nan gen yon trape, otreman nou pa ta gaspiye tan tèlman 1036 01:02:37,940 --> 01:02:41,460 sou tout bagay sa yo estrikti lòt done jis finalman jwenn nan yon sèl la sekrè ki nan dwòl. 1037 01:02:41,460 --> 01:02:46,410 Se konsa, sa pri yo nou peye reyalize sa a Grandè isit la? Espas. 1038 01:02:46,410 --> 01:02:49,010 Bagay sa a se masiv. Ak rezon ki fè otè a 1039 01:02:49,010 --> 01:02:52,400 pa t 'prezante l isit la, avi ke tout nan bagay sa yo ki sanble ranje, 1040 01:02:52,400 --> 01:02:55,400 li pa t 'trase rès pyebwa a, rès la nan trye a, 1041 01:02:55,400 --> 01:02:58,060 paske yo ap jis pa ki gen rapò ak istwa a. 1042 01:02:58,060 --> 01:03:01,870 Men, tout moun sa yo nœuds yo se super nan lajè, ak chak ne nan pye bwa a pran moute 1043 01:03:01,870 --> 01:03:07,780 26 oswa aktyèlman, ta ka 27 karaktè paske nan ka sa a mwen te ki gen ladan espas pou apostwòf la 1044 01:03:07,780 --> 01:03:09,980 pou nou te kapab menm ki gen pawòl apostrophized. 1045 01:03:09,980 --> 01:03:14,450 Nan ka sa a, sa yo se ranje nan lajè. Se konsa, menm si yo pa ap picutured, 1046 01:03:14,450 --> 01:03:18,190 sa a pran moute yon kantite lajan masiv nan RAM. 1047 01:03:18,190 --> 01:03:20,670 Ki ta ka amann, especilly nan kenkayri modèn, 1048 01:03:20,670 --> 01:03:25,650 men sa a arbitraj la. Nou jwenn mwens tan pa depanse plis espas. 1049 01:03:25,650 --> 01:03:28,580 Se konsa, kote sa a se tout prale? 1050 01:03:28,580 --> 01:03:32,640 Oke, kite la fè - kite a wè isit la. 1051 01:03:32,640 --> 01:03:39,510 Se pou nou fè yon so sa a nèg isit la. 1052 01:03:39,510 --> 01:03:43,450 >> Kwè li oswa pa, kòm anpil plezi kòm C ki te pou kèk tan kounye a, 1053 01:03:43,450 --> 01:03:48,130 n ap rive nan pwen an nan semès la kote li lè pou tranzisyon nan bagay ki pi modèn. 1054 01:03:48,130 --> 01:03:50,950 Bagay sa yo sou yon nivo ki pi wo. E menm si pou koup la pwochen de semèn 1055 01:03:50,950 --> 01:03:54,580 nou pral toujou kontinye bay plonje tèt nou nan mond lan nan pwent ak jesyon memwa 1056 01:03:54,580 --> 01:03:57,210 jwenn ki konfò ak ki nou ka Lè sa a, bati sou li a, 1057 01:03:57,210 --> 01:04:01,270 jwèt la fen se alafen prezante, iwonilman, pa lang sa a. 1058 01:04:01,270 --> 01:04:03,330 Nou pral pase, tankou 10 minit ap pale de HTML. 1059 01:04:03,330 --> 01:04:05,950 Tout HTML se se yon lang baliz, e ki sa yon lang baliz se 1060 01:04:05,950 --> 01:04:10,220 se sa yo seri de parantèz louvri, epi parantèz ki fèmen di 'fè sa-a fonse' 1061 01:04:10,220 --> 01:04:12,000 'Fè sa-a italik' 'fè sa-a santre. 1062 01:04:12,000 --> 01:04:14,250 Li pa tout sa ki entelektyèlman enteresan, men li la super itil. 1063 01:04:14,250 --> 01:04:16,650 Epitou, se sètènman omniprezan jou sa yo. 1064 01:04:16,650 --> 01:04:19,450 Men, sa ki nan pwisan sou mond lan nan HTML, ak pwogramasyon wèb plis jeneralman, 1065 01:04:19,450 --> 01:04:25,910 ap konstwi bagay sa yo dinamik; ekri kòd nan lang tankou PHP oswa Piton oswa Ruby oswa Java oswa C #. 1066 01:04:25,910 --> 01:04:30,360 Reyèlman, kèlkeswa lang ou nan chwa se, ak génération HTML dynamique. 1067 01:04:30,360 --> 01:04:32,960 Génération yon bagay yo rele CSS dynamique. 1068 01:04:32,960 --> 01:04:35,810 Kaskad style dra, ki se tou sou estetik. 1069 01:04:35,810 --> 01:04:41,360 Se konsa, menm si, jodi a, si mwen ale nan kèk sit entènèt tankou Google.com a yo konnen yo, 1070 01:04:41,360 --> 01:04:46,100 ak m 'ale nan wè, pwomotè, sous vi, ki petèt ou te fè anvan, 1071 01:04:46,100 --> 01:04:49,800 men pral wè sous, bagay sa a pwobableman sanble trè skre. 1072 01:04:49,800 --> 01:04:55,320 Men, sa a se kòd la siyalen ki aplike Google.com. 1073 01:04:55,320 --> 01:04:57,940 Sou fen a devan. Ak aktyèlman tout sa a se an gonfle estetik bagay. 1074 01:04:57,940 --> 01:05:01,740 Sa a se CSS moute isit la. Si m 'kenbe defile desann nou pral jwenn kèk bagay koulè-kode. 1075 01:05:01,740 --> 01:05:06,890 Sa a se HTML. Kòd Google an sanble yon dezòd, men si mwen aktyèlman louvri moute yon fenèt diferan, 1076 01:05:06,890 --> 01:05:09,380 nou ka wè kèk estrikti sa a. 1077 01:05:09,380 --> 01:05:12,640 Si m 'ouvè sa a leve, avi isit la, li nan yon ti kras plis lizib. 1078 01:05:12,640 --> 01:05:16,850 Nou pwal wè anvan lontan sa a tag, [mo] se yon tag, 1079 01:05:16,850 --> 01:05:23,520 HTML, tèt, kò, div, script, zòn tèks, span, santre, DIV. 1080 01:05:23,520 --> 01:05:26,770 Ak sa a se tou sòt de skre ap chèche-a zye premye, 1081 01:05:26,770 --> 01:05:30,890 men tout nan dezòd sa a swiv modèl sèten, ak modèl repekte, 1082 01:05:30,890 --> 01:05:33,850 pou ke yon fwa nou jwenn Basics yo desann, ou pral kapab ekri kòd tankou sa a 1083 01:05:33,850 --> 01:05:37,550 ak Lè sa a, manipile kòd tankou sa a lè l sèvi avèk ankò yon lòt lang, rele JavaScript. 1084 01:05:37,550 --> 01:05:40,440 Ak JavaScript se yon lang ki kouri andedan yon navigatè 1085 01:05:40,440 --> 01:05:44,380 jodi a ke nou itilize sou Harvard pou kou yo, pou zouti nan fè makèt kou ki sèvi ak kat Google 1086 01:05:44,380 --> 01:05:48,660 ba w yon pakèt antye nan dynamism, Facebook ba ou yo montre nouvèl enstantane, 1087 01:05:48,660 --> 01:05:51,430 Twitter sèvi ak li nan montre w tweets imedyatman. 1088 01:05:51,430 --> 01:05:53,820 Tout sa nou a pral kòmanse bay tèt nou plonje pous 1089 01:05:53,820 --> 01:05:57,190 Men, sa yo rive,, nou bezwen konprann yon bagay sou ti entènèt la. 1090 01:05:57,190 --> 01:06:01,130 Sa a clip isit la se jis yon minit long, e kite yo pran pou kounye a sa a se, an reyalite, 1091 01:06:01,130 --> 01:06:08,380 kouman entènèt la travay kòm yon kol pou sa a sou ap vini yo. M 'ba ou "gèrye nan Net la." 1092 01:06:08,380 --> 01:06:14,720 >> [♫ Ralanti koral mizik ♫] 1093 01:06:14,720 --> 01:06:20,450 [Gason konteur] Li te vini ak yon mesaj. 1094 01:06:20,450 --> 01:06:23,770 Ak yon pwotokòl tout pwòp li. 1095 01:06:23,770 --> 01:06:37,270 [♫ rapid mizik elektwonik ♫] 1096 01:06:37,270 --> 01:06:41,330 Li vin nan yon mond nan firewall fre, uncaring routeurs, 1097 01:06:41,330 --> 01:06:45,690 ak danje lwen pi mal pase lanmò. 1098 01:06:45,690 --> 01:06:55,400 Li nan vit. Li se fò. Li se tchp / IP, ak li te leve adrès ou. 1099 01:06:55,400 --> 01:06:59,250 Gèrye nan Net la. 1100 01:06:59,250 --> 01:07:05,290 [Malan] Next semèn, lè sa a. Entènèt la. Pwogramasyon entènèt. Sa a se CS50. 1101 01:07:05,290 --> 01:07:08,290 [CS50.TV]