[Jwe mizik] DAVID Malan: Sa a se CS50. Lè sa a se tou de kòmansman ak nan end-- tankou literalman prèske fen a nan semèn sis. Mwen te panse mwen ta pataje yon ti kras nan yon reyalite plezi. Mwen te rale sa a moute soti nan yon done sot pase semès la mete. Ou ka sonje ke nou mande w sou chak fòm seri p si ou te ap gade sou entènèt oswa si ou te ale nan nan moun. Ak isit la se done yo. Se konsa, jodi a te anpil previzib. Men, nou te vle depanse yon ti jan nan tan avèk ou Alòske. Nenpòt moun ki ta renmen konjekti poukisa sa a graf se konsa jaggy, moute desann, moute desann, se konsa toujou? Ki sa ki fè chak nan tèt yo ak ganmèl reprezante? ODYANS: [fèbl] DAVID Malan: Vreman vre. Ak plis ankò amusant, Bondye padon, nou kenbe yon sèl konferans sou yon Vandredi nan kòmansman an nan semès la, se sa ki nou wè rive. Se konsa, jodi a, nou patisipe nan yon ti jan plis sou done estrikti. Epi ba ou plis nan yon solid modèl mantal pou pwoblèm nan senk, ki se kounye a soti. Misspellings, kote, nou pral men ou yon dosye tèks kèk 100,000 plis mo angle, ak w ap ale nan gen eseye figi konnen kouman ou kapab malen chaje yo nan memwa, nan RAM, lè l sèvi avèk kèk done estrikti nan chwa ou. Koulye a, yon sèl sa yo estrikti done te kapab dwe, men pwobableman pa ta dwe, san patipri senplist lis la lye, ki nou prezante dènye fwa. Ak yon lis lye te gen omwen yon sèl avantaj sou yon etalaj. Ki sa ki nan yon avantaj nan yon lis lye joui? ODYANS: ensèsyon. DAVID Malan: ensèsyon. Ki sa ou vle di pa sa? ODYANS: Nenpòt kote ansanm lis la [fèbl]. DAVID Malan: Bon. Se konsa, ou ka insert yon eleman tout kote ou vle nan mitan an nan lis la san yo pa gen chefeul anyen, ki nou konkli, nan klasman nou an diskisyon, se pa nesesèman yon bon bagay, paske li pran tan yo aktyèlman deplase tout moun sa yo moun agoch ​​oswa adwat. Se konsa, ak yon lis lye, ou kapab jis asiyen ak malok, yon nouvo ne, ak Lè sa a aktyalizasyon yon koup la bagèt de, twa operasyon max-- epi nou ap kapab emplacement yon moun nan nenpòt kote nan yon lis. Ki lòt bagay te avantaje sou yon lis lye? Yeah? ODYANS: [fèbl] DAVID Malan: pafè. Pafè. Li nan reyèlman dinamik. Epi sa ou pa ap komèt, an avanse, nan kèk gwosè fiks ti moso nan memwa, tankou ou ta gen ak yon etalaj, tèt la nan ki se ke ou ka asiyen nœuds sèlman sou demann lè l sèvi avèk sèlman kòm kidonk anpil espas jan ou aktyèlman bezwen. Nan kontras ak yon etalaj, ou ta ka aksidantèlman asiyen twò piti. Lè sa a, li jis ale yo dwe yon doulè nan kou a aloue yon etalaj nouvo pi gwo, kopi tout bagay sou, libere etalaj la fin vye granmoun, ak lè sa a deplase sou biznis ou. Oswa pi mal, ou ta ka asiyen fason plis memwa pase ou aktyèlman bezwen, epi konsa w ap ale nan gen yon trè fèbleman peple-etalaj, se konsa pale. Se konsa, yon lis lye ba ou sa yo avantaj ki genyen nan dynamism ak fleksiblite ak parusyon ak sipresyon. Men, siman dwe gen yon pri peye. An reyalite, youn nan tèm yo eksplore sou egzamen zewo te yon koup nan komès-konpwomi yo nou te wè konsa byen lwen. Se konsa, sa ki nan yon pri peye oswa yon inconvénient nan yon lis lye? Yeah. ODYANS: Pa gen aksè o aza. DAVID Malan: Pa gen aksè o aza. Men, moun ki gen sousi? Random aksè pa son konvenkan. ODYANS: [fèbl] DAVID Malan: Egzakteman. Si ou vle gen yon algorithm sèten ak kite m 'aktyèlman pwopoze rechèch binè an patikilye, ki se youn nou te itilize byen yon bit-- si ou pa gen aksè o aza, ou pa kapab fè sa aritmetik senp pou jwenn tankou eleman nan mitan ak sote dwat nan li. Ou olye pou yo gen yo kòmanse nan premye nan eleman ak linear rechèch soti nan bò gòch a dwat si ou vle jwenn mitan an oswa nenpòt ki lòt eleman. ODYANS: Li pwobableman pran plis memwa. DAVID Malan: Pran plis memwa. Ki kote se ke plis koute vini soti nan nan memwa? ODYANS: [fèbl] DAVID Malan: Egzakteman. Nan ka sa a isit la, nou te gen yon lis lye pou nonm antye yo, ak ankò nou ap double kantite lajan an nan memwa nou bezwen pa tou estoke endikasyon sa yo. Koulye a, mwens nan yon kontra gwo kòm strukt ou jwenn pi gwo epi ou ap estoke pa yon nimewo men petèt yon elèv oswa kèk lòt objè. Men, pwen an sètènman rete. Se konsa, yon nimewo nan operasyon yo sou lis lye te rele te gwo O n-- lineyè. Bagay sa yo tankou ensèsyon oswa rechèch oswa sipresyon nan ka yon eleman te rive yo dwe nan fen la anpil nan lis la si wi ou non li nan Ranje oswa ou pa. Pafwa ou ta ka jwenn chans ak nan se konsa pi ba limit sou operasyon sa yo ta ka tou pou tan konstan si w ap toujou gade nan eleman nan premye, pou egzanp. Men, finalman, nou te pwomèt reyalize grail a apa pou Bondye nan estrikti done, oswa kèk ladan l 'apwoksimasyon, pa fason pou tan konstan. Nou ka jwenn eleman oswa ajoute eleman oswa retire eleman nan yon lis? Nou pral wè byen byento. Epi li vire soti ke yon moun nan fòmil yo nou ap pral kòmanse yo sèvi ak jodi a, itilize chak ane nan p mete senk, se aktyèlman trè yo konnen yo. Pou egzanp, si sa a se yon pakèt moun nan liv egzamen, chak nan yo ki gen elèv yon nan premye non ak siyati sou li, ak mwen al chèche yo soti nan nan fen yon egzamen, e yo ap tout bèl anpil nan yon lòd o aza, e nou vle ale sou klasman egzamen sa yo pou ke yon fwa resevwa nòt li nan jis yon anpil pi fasil ak pi vit nan men yo tounen soti bay elèv yo lòd avèk lèt ​​alfabè. Ki sa ki ta ensten ou gen pou yon pil nan egzamen tankou sa a? Bon, si w ap tankou m ', ou ta ka wè ke sa a se m, se konsa mwen pral sòt de mete sa a nan, si sa a se tab avè m 'oswa etaj m' kote Mwen gaye bagay out-- oswa etalaj mwen really-- Mwen ta ka mete tout nan Ms a nan la. Oh. Isit la nan yon A. Se konsa, mwen ta ka mete Kòm yo sou isit la. Oh. Isit la nan yon lòt A. Mwen pral yo mete ki sou isit la. Isit la nan yon Z. Men yon lòt M. Se konsa, Mwen ta ka kòmanse fè pil tankou sa a. Lè sa a, petèt mwen ta ale nan pita ak sòt de trè nitpicky-ESOL sòt pil yo endividyèl elèv yo. Men, pwen an se mwen ta gade nan opinyon an ke mwen se men e mwen ta fè kèk kalkile desizyon ki baze sou ki opinyon. Si li kòmanse ak A, mete l 'sou la. Si li kòmanse ak Z, mete l 'sou la, ak tout bagay nan ant. Se konsa, sa a se yon teknik sa a, se jeneralman li te ye tankou hashing-- H-A-S-H-- ki jeneralman vle di pran kòm opinyon ak lè l sèvi avèk ki D 'kalkile se yon valè, jeneralman yon nimewo, epi ki Nimewo se endèks la nan yon depo veso, tankou yon etalaj. Se konsa, nan lòt mo, mwen ta ka gen yon fonksyon regle, kòm m 'fè nan tèt mwen, ke si mwen wè yon moun nan Non ki moun ki kòmanse ak A, Mwen pral kat jeyografik ki a zewo nan tèt mwen. Men, si mwen wè yon moun ki gen Z, mwen se ale nan kat jeyografik ki nan 25 nan tèt mwen ak Lè sa a mete sa nan dènye pi pil la. Koulye a, si ou panse sou pa nan sèvo mwen an men yon pwogram C, sa ki nimewo te kapab ou konte sou reyalize ke rezilta menm? Nan lòt mo, si ou te gen karaktè A ASCII, ki jan ou detèmine sa bokit yo mete l 'nan? Ou pwobableman pa vle mete l 'nan bokit 65, ki ta dwe tankou sou la pou okenn rezon bon. Ki kote ou vle mete yon an tèm de valè ASCII li yo? Ki kote ou vle pou fè pou ASCII li yo valè vini ak yon bokit pi entelijan yo mete l 'nan? ODYANS: Mwens A. DAVID Malan: Yeah. Se konsa, mwens A oswa mwens espesyalman si li nan 65 yon A. kapital Oswa 98 si li nan yon miniskil yon. Se konsa, ki ta pèmèt nou, trè tou senpleman ak anpil arithmetic, mete yon bagay nan yon bokit tankou sa. Se konsa, li vire soti nou aktyèlman fè sa a kòm byen menm avèk ti tès yo. Se konsa, ou ta ka sonje w maké ou Non ansèyman parèy la sou kouvèti a. Ak non TF a te òganize nan kolòn sa yo lòd avèk lèt ​​alfabè, byen, kwè li ou pa, lè tout 80 plis nan nou te resevwa ansanm lòt nwit la la nan klas, dènye etap la nan pwosesis bay nòt nou an se yo Hash ti tès yo nan yon gwo espas nan etaj nan [fèbl a] ak mete ti tès tout moun nan soti nan egzakteman lòd la TF a yo non sou kouvèti a, paske Lè sa a, li nan yon anpil pi fasil pou nou nan rechèch nan ki lè l sèvi avèk lineyè rechèch oswa kèk kalite intelijans pou yon TF jwenn oswa l ' ti tès elèv li '. Se konsa, ide sa a nan achin ke ou pral wè se byen pwisan se aktyèlman trè Choudrant ak anpil entwisyon, anpil tankou petèt divize ak konkeri te nan semèn zewo. Mwen vit pou pi devan pou hackathon la yon koup la ane de sa. Sa a te Zamyla ak yon koup la lòt elèv anplwaye bonjou menm jan yo te vini nan. Epi nou te gen yon pakèt antye nan plisman tab la ansanm ak Tags non. Apre sa, nou te etikèt yo Non òganize ak tankou Kòm yo sou la ak ZS la sou la. Se konsa, youn nan TFs yo trè malen te ekri sa a kòm enstriksyon yo pou jounen an. Ak nan semèn 12 nan semès la sa a tout te fè sans pafè ak tout moun te konnen sa yo dwe fè. Men, nenpòt lè ou te atant nan menm fason an, w ap mete ann aplikasyon nan menm nosyon nan yon regle. Se konsa, kite a formalizra li yon ti jan ti kras. Isit la se yon etalaj. Li nan desine sou yon gen yon ti kras lajè jis yo dekri, vizyèlman, ke nou ta ka mete strings nan yon bagay tankou sa a. Epi sa a etalaj se byen klè nan gwosè 26 manm. Epi se bagay la rele tab abitrèman. Men, sa a se jis pwononse yon atis nan nan sa ki yon tab regle ta kapab. Se konsa, yon tab regle kounye a se ale nan gen yon nivo ki pi wo estrikti done. Nan fen jou a nou ap sou yo wè ke ou ka aplike yon tab regle, ki se anpil tankou liy nan chèk-an nan yon hackathon anpil tankou sa a tab itilize pou klasman liv konkou yo. Men, yon tab regle se sòt de sa a wo nivo konsèp ki te kapab itilize yon etalaj anba kapo a aplike li, oswa li te kapab itilize yon lis longè, oswa menm petèt kèk estrikti done ak lòt. Epi, koulye a sa a, se pran an theme-- kèk nan sa yo engredyan fondamantal tankou yon etalaj ak sa a bilding bloke kounye a nan yon lis longè ak wè ki lòt bagay nou kapab bati sou tèt nan tout sa yo, tankou engredyan nan yon resèt, ki fè pi plis ak plis enteresan epi itil rezilta final la. Se konsa, avèk tablo a regle nou ta ka aplike li nan memwa pictorially tankou sa a, men ki jan ta ka li aktyèlman ap kode moute? Oke, petèt kòm tou senpleman se sa a. Si KAPASITE nan tout kaskèt, se jis kèk constant-- pou egzanp 26, pou 26 lèt yo nan alphabet-- la Mwen ta ka rele tab varyab m 'yo, , mwen ta ka reklamasyon ke mwen pral mete zetwal Char nan la, oswa fisèl. Se konsa, li kòm senp tankou sa a si ou vle aplike yon tab regle. E ankò, sa a se vrèman jis yon etalaj. Men, ankò, yon regle tab la se kounye a ki sa nou pral rele yon abstrè kalite done sa se sèlman sòt de yon stratifikasyon konseptyèl ekspresyon sou tèt nan yon bagay plis Munden kounye a renmen yon etalaj. Koulye a, ki jan nou ale sou rezoud pwoblèm? Oke, pi bonè mwen te gen liksye a ki gen espas tab ase isit la pou m 'te kapab mete an ti tès nenpòt kote mwen te vle. Se konsa, Kòm ta ka ale isit la. ZS ta ka ale isit la. Ms ta ka ale isit la. Lè sa a, mwen te gen kèk espas anplis. Men, sa a se yon ti jan nan yon dwa twonpe kounye a paske tablo sa a, si mwen reyèlman te panse a li kòm yon etalaj, se jis pral fè nan kèk gwosè fiks yo. Se konsa, teknikman, si mwen rale moute egzamen yon lòt elèv nan ak wè, o, moun sa a Non kòmanse ak yon A tou, Mwen kalite vle mete l 'la. Men, le pli vit ke mwen mete l 'la, si tablo sa a tout bon reprezante yon etalaj, Mwen pral yo dwe aksyon net oswa clobbering moun ki va egzamen elèv sa a nan se. Dwa? Si sa a se yon etalaj, sèlman yon sèl bagay kapab ale nan chak nan selil sa yo oswa eleman. Se konsa, mwen kalite gen chwazi epi chwazi. Koulye a, pi bonè mwen kalite janm pwofite sou pesonn ak te fè sa a oswa mwen jis kalite anpile yo pi wo a youn ak lòt. Men, ki pa k ap pase yo vole nan kòd. Se konsa, kote mwen te kapab mete an dezyèm elèv ki gen non se Yon si tout mwen te gen se sa a espas tab ki disponib? Apre sa, mwen te itilize twa fant epi li sanble gen nan jis yon kèk lòt moun. Ki sa ou ta ka fè? ODYANS: [fèbl] DAVID Malan: Yeah. Petèt kite yo jis kenbe li senp. Dwa? Li pa anfòm kote mwen vle mete li. Se konsa, mwen pral mete l ' teknikman kote yon B ta ale. Koulye a, nan kou, mwen kòmanse nan penti tèt mwen nan yon kwen. Si mwen jwenn yo yon elèv ki gen non se aktyèlman B, kounye a B yo pral deplase yon ti kras pou pi devan, kòm ka rive, YEP, si sa a se yon B, kounye a li gen yo ale isit la. Se konsa, sa a trè byen vit te ka vin pwoblèm, men li la yon teknik ki aktyèlman se refere yo kòm lineyè sonde, annakò ak sa ou jis konsidere ou etalaj yo dwe sou liy lan. Epi ou jis kalite pwofonde oswa enspekte chak eleman ki disponib kap chèche yon plas ki disponib. Epi kòm pli vit ke ou jwenn yon sèl, ou lage li nan la. Koulye a, ke yo te pri a peye kounye a pou sa a solisyon se ki sa? Nou gen yon etalaj gwosè fiks, epi lè mwen Insert non nan li, omwen okòmansman, sa ki nan tan an kouri nan ensèsyon pou mete elèv la ti tès nan bokit yo dwa? Big O nan ki sa? ODYANS: n. DAVID Malan: Mwen tande gwo O n. Pa vre. Men, nou pral toumante apa poukisa nan jis moman yon. Ki lòt bagay ta ka li dwe ye? ODYANS: [fèbl] DAVID Malan: Ak kite m 'fè l' vizyèlman. Se konsa, sipoze sa a se lèt la S. ODYANS: Li nan youn. DAVID Malan: Li nan yon sèl. Dwa? Sa a se yon etalaj, ki vle di nou gen aksè o aza. Men, si nou panse a sa a kòm zewo ak sa a kòm 25, epi nou reyalize ke, oh, isit la nan S D 'm' yo, Mwen kapab sètènman konvèti S, yon karaktè ASCII, nan yon kantite ki koresponn ant zewo ak 25 ak Lè sa a imedyatman mete l 'kote li fè pati. Men, nan kou, pi vit ke mwen jwenn yo nan dezyèm moun ki moun ki nan non se A oswa B oswa C evantyèlman, si mwen te itilize nan lineyè sonde kòm solisyon mwen, tan an kouri nan ensèsyon nan ka ki pi mal la se aktyèlman ale nan transfere nan ki sa? Apre sa, mwen t 'tande li isit la kòrèkteman byen bonè nan. ODYANS: [fèbl] DAVID Malan: Se konsa, li se n tout bon yon fwa ou gen yon ase gwo seri done. Se konsa, sou men nan yon sèl, si etalaj ou a se gwo ase ak done ou a se rar ase, ou jwenn sa a bèl tan konstan. Men, le pli vit ke ou kòmanse ap resevwa pi plis ak plis eleman, ak jis estatistik ou jwenn plis moun ak lèt ​​la Yon kòm non yo oswa lèt la B, li te kapab potansyèlman transfere nan yon bagay ki pi lineyè. Se konsa, pa byen pafè. Se konsa, te kapab nou fè pi byen? Oke, sa ki te nou an solisyon anvan lè nou vle gen plis dinamik pase yon bagay tankou yon etalaj pèmèt? ODYANS: [fèbl] DAVID Malan: Ki sa nou entwodui? Yeah. Se konsa, yon lis lye. Oke, kite la wè sa ki yon lye lis ta ka fè pou nou pito. Oke, kite m 'pwopoze ke nou trase foto a jan sa a. Koulye a, sa a se yon diferan foto ki soti nan yon egzanp ki sòti nan yon tèks diferan, aktyèlman, ki se aktyèlman lè l sèvi avèk yon etalaj de gwosè 31. Ak otè sa a tou senpleman deside regle strings ki pa baze sou non moun nan, men ki baze sou birthdates yo. Endepandaman de mwa a, yo kalkile si w ap fèt sou premye a nan yon mwa oswa 31 an nan yon mwa, otè a pral regle ki baze sou ki valè, konsa tankou yo gaye non yo soti yon ti jan pi plis pase jis 26 tach ta ka pèmèt. E petèt li nan yon ti kras pi plis inifòm pase ale ak lèt ​​alfabetik, paske nan kou gen la pwobableman plis moun nan mond lan ki gen non ki kòmanse avèk yon pase sètènman kèk lòt lèt nan alfabè a. Se konsa, petèt sa a se yon ti kras plis inifòm, an konsideran yon distribisyon inifòm nan ti bebe atravè yon mwa. Men,, nan kou, sa a se toujou enpafè. Dwa? Nou ap gen kolizyon. Moun miltip nan sa a estrikti done yo toujou gen dat nesans la menm omwen w ap endepandaman de mwa. Men, sa ki te otè a fè konsa? Oke, li sanble nou gen yon etalaj ki sou bò gòch-men trase vètikal, men sa a jis pwononse yon atis la. Li pa enpòtan sa direksyon ou trase yon etalaj, li la toujou yon etalaj. Ki sa ki se sa a yon etalaj de aparamman? ODYANS: lis lye. DAVID Malan: Yeah. Li sanble ke li nan yon etalaj de lis lye. Se konsa, ankò, nan pwen sa a nan sòt lè l sèvi avèk sa yo estrikti done kounye a kòm engredyan nan plis solisyon enteresan, ou ka absoliman pran yon fondamantal, tankou yon etalaj, epi li pran yon bagay ki pi enteresan tankou yon lis lye e menm konbine yo nan yon menm plis enteresan done estrikti. Ak tout bon, sa a twò ta dwe rele yon tab regle, annakò ak sa etalaj la se reyèlman tab la regle, men sa tab regle gen chenn, se konsa pale, ki ka grandi oswa retresi ki baze sou ki la kantite eleman ou vle insert. Koulye a, kòmsadwa, sa ki nan kouri nan tan kounye a? Si m 'vle insert yon moun ki gen anivèsè nesans se 31 Oktòb, kote li oswa li te ale? Tout dwa. Nan pati anba a anpil kote li di 31. Epi sa a, pafè. Sa ki te tan konstan. Men, e si nou jwenn yon lòt moun ki gen anivèsè nesans se, kite la wè, Oktòb, novanm, 31 desanm? Ki kote li oswa li te ale nan ale? Menm bagay. De etap menm si. Sa a konstan menm si se pa li? Tout dwa. Nan moman sa a li ye. Men, nan ka la an jeneral, moun yo plis nou ajoute, probabilistically, nou ap ale yo ka resevwa pi plis ak plis kolizyon. Koulye a, sa a se yon ti kras pi bon paske teknikman kounye a ti chenn mwen ta ka nan ka ki pi mal konbyen tan? Si m 'Insert n moun nan sa a plis sofistike estrikti done, n moun, nan ka ki pi mal la li nan pral fè n. Poukisa? ODYANS: Paske si tout moun gen anivèsè nesans la menm, yo pwal santi yo fè yon sèl liy. DAVID Malan: pafè. Li ta ka yon ti kras parvenus, men se vre wi: nan ka ki pi mal la, si tout moun gen anivèsè nesans la menm, bay entrain yo ou genyen, w ap ale nan gen yon twouve lontan chèn. Se konsa, ou ta ka rele li yon Hash tab, men vrèman li nan jis yon lis masiv lye avèk yon anpil tout gaspiye espas. Men, an jeneral, si nou sipoze ke omwen anivèsè nesans yo se uniform-- epi li pwobableman se pa. Mwen fè ki leve. Men, si nou sipoze, pou dedomajman pou la nan diskisyon yo ke yo ap, lè sa a nan teyori, si sa a se reprezantasyon an vètikal nan etalaj la, byen Lè sa a èspere ke w ap ale nan jwenn ti chenn ki, ou konnen, apeprè menm longè a kote chak nan sa yo reprezante yon jou nan mwa a. Koulye a, si gen nan 31 jou nan mwa a, sa vle di tan kouri mwen reyèlman se gwo O n sou 31, ki santi l pi bon pase lineyè. Men, sa ki te youn nan nou an angajman yon koup la semèn Anons sa pibliye depi chak fwa li rive eksprime tan an kouri nan yon algorithm? Jis sèlman gade nan tèm nan lòd segondè. Dwa? 31 se definitivman itil. Men, sa a se toujou gwo O n. Men, yonn nan tèm yo nan pwoblèm mete senk a pwal rekonèt ke absoliman, asenptotik, teyorikman estrikti sa a done se pa pi bon pase jis yon sèl masiv lye lis la. Ak tout bon, nan ka ki pi mal la, sa a tab regle ta ka transfere nan sa. Men, nan mond reyèl la, ak nou moun ki pwòp Macs oswa PC yo oswa kèlkeswa sa epi yo kouri mond reyèl lojisyèl sou done mond reyèl, ki algorithm ou menm ki pral pito? Yon sèl nan ki pran etap sa yo fen oswa youn ki pran n divize pa 31 etap jwenn kèk moso nan done oswa yo gade moute kèk enfòmasyon? Mwen vle di, absoliman 31 la fè yon diferans nan mond lan reyèl. Li se 31 fwa pi vit. Epi nou moun yo se sètènman ale nan apresye sa. Se konsa, reyalize dikotomi nan gen ant aktyèlman ap pale de bagay sa yo teyorikman ak asenptotik ki definitivman gen valè kòm nou te wè, men nan mond reyèl la, si ou pran swen sou jis fè a kè kontan moun pou entrain jeneral, ou ta ka trè byen vle asepte lefèt ke, repons lan se wi, sa a se lineyè, men li la 31 fwa pi vit pase lineyè ta kapab. Ak pi bon toujou, nou pa jis gen nan fè yon bagay abitrè tankou yon dat nesans, nou te ka pase yon ti plis tan ak intelijans epi reflechi sou ki sa nou ta ka fè, bay non yon moun nan e petèt dat nesans yo nan konbine sa yo engredyan yo konnen yon bagay ki se vrèman pi plis inifòm ak mwens jaggy, se konsa pale pase foto sa a kounye a sijere li ta kapab. Ki jan nou te kapab aplike sa a nan kòd? Oke, kite m 'pwopoze ke nou jis prete kèk sentaks nou te itilize yon fwa koup konsa byen lwen. Men, mwen pral defini yon ne, ki ankò se yon tèm jenerik pou sèlman kèk veso pou kèk estrikti done. Mwen pral pwopoze ke yon kòd ki pral nan la. Men, nou ap ale nan kòmanse pran moun fòmasyon wou koupe kounye a. Pa plis CS50 bibliyotèk reyèlman, sof si ou vle yo sèvi ak li pou final ou a pwojè, ki se amann, men kounye a nou ap ale nan rale tounen la rido ak di li nan jis yon etwal Char. Se konsa, pawòl Bondye a gen a pwal non moun nan nan kesyon an. Epi, koulye a mwen gen yon lyen isit la yo ne nan pwochen se konsa ke sa yo reprezante chak nan nœuds yo nan chèn lan, ki kapab, nan yon lis lye. Epi, koulye a ki jan Mwen deklare tab la regle tèt li? Kouman pou mwen deklare estrikti sa a antye? Oke, reyèlman, anpil tankou mwen itilize yon konsèy a jis eleman nan premye nan yon lis anvan, Menm jan an tou mwen ka jis di Mwen jis bezwen yon pakèt moun sou endikasyon aplike sa a tab regle tout antye. Mwen pral gen yon etalaj rele tab pou tab regle. Li nan pral fè nan kapasite gwosè. Sa a ki jan anpil eleman ka anfòm nan li. Epitou, chak nan sa yo eleman nan sa a etalaj a pwal yon etwal ne. Poukisa? Oke, pou chak foto sa a, ki sa mwen se mete ann aplikasyon tab la regle kòm efektivman depi nan konmansman an se jis sa a etalaj ke nou te trase vètikal, chak nan ki gen kare reprezante yon konsèy. Sa yo menm ki gen bar nan yo yo se jis nil. Ak sa yo ki gen flèch ale a dwat a yo se endikasyon aktyèl sou nœuds aktyèl, èrgo nan kòmansman an nan yon lis lye. Se konsa, isit la, lè sa a, se ki jan nou ta ka aplike yon tab regle ki aplike Anchènman ki apa a. Koulye a, nou ka fè pi byen? Tout dwa mwen te pwomèt dènye fwa ke nou te ka reyalize tan konstan. Apre sa, mwen te ban nou kalite konstan tan isit la, men Lè sa a pa di reyèlman tan konstan paske li la toujou depann sou manm nan kantite eleman w ap Anthrax nan estrikti a done. Men, si nou te fè sa a. Kite m 'ale tounen nan ekran an sou isit la. Kite m 'tou pwojè sa a moute isit la, klè ekran an, epi ta kwè m 'te fè sa a. Sipoze mwen te vle insert non an Daven nan nan estrikti done m 'yo. Se konsa, mwen vle insert yon kòd Daven nan estrikti a done. E si mwen pa sèvi ak yon Hash tab, men mwen sèvi ak yon bagay ki an plis pye bwa-tankou tankou yon pyebwa fanmi, kote ou gen kèk rasin nan la tèt ak Lè sa a, nœuds ak fèy ki ale anba ak deyò. Sipoze lè sa a, ke mwen vle insert Daven a nan sa ki nan kounye a yon lis vid. Mwen pral fè bagay sa a: Mwen ale nan kreye yon ne nan fanmi sa a pyebwa ki tankou estrikti done ki sanble yon ti kras tankou sa a, chak nan yo ki rektang gen, kite la di, pou kounye a 26 eleman nan li. Epitou, chak nan selil yo nan sa a etalaj ki pral ki reprezante lèt la nan yon alfabè. Espesyalman, mwen pral trete sa a se A, Lè sa a, B, Lè sa a, C, Lè sa a, D, yon sèl sa a isit la. Se konsa, sa a se pral efektivman reprezante lèt la D. Men, insert tout nan Daven a non mwen bezwen fè yon ti jan plis. Se konsa, mwen premye ale nan regle, se konsa pale. Mwen pral fè yon gade nan lèt la premye nan Daven a ki se evidamman yon D, ak mwen pral asiyen yon ne ki sanble tankou this-- yon gwo rektang gwo ase anfòm alfabè a tout antye. Koulye a, D se fè. Koulye a, A. D-A-V-E-N se objektif la. Se konsa, kounye a ki sa mwen pral fè se sa a. Le pli vit ke mwen te kòmanse D avi gen nan pa gen konsèy la. Li nan valè fatra nan moman sa a, oswa mwen ta ka inisyalize li nan nil. Men, kite m 'kenbe prale ak ide sa a pou bati yon pye bwa. Kite m 'asiyen yon lòt youn nan sa yo nœuds ki gen 26 eleman nan li. Epi ou konnen ki sa? Si sa a se jis yon ne nan memwa ki Mwen te kreye ak malok, lè l sèvi avèk yon struct menm jan nou pral byento wè, Mwen pral fè this-- Mwen pral trase yon flèch ki soti nan bagay la ki reprezante D desann ne nouvo sa a. Epi, koulye a, premye pwochen an lèt nan non Daven a, V-- D-A-V-- mwen pral ale pi devan epi trase yon lòt ne tankou sa a, annakò ak sa, eleman yo V isit la, ki nou pral trase pou whoops instance--. Nou pa pral trase la. Li nan ale nan ale isit la. Lè sa a, nou ap ale nan konsidere sa a yo dwe V. Lè sa a, desann isit la nou ap ale nan endèks desann soti nan V nan ki sa nou pral konsidere E. Lè sa a, soti isit la nou ap ale nan ale gen youn nan sa yo nœuds isit la. Epi, koulye a nou gen yon kesyon reponn kesyon an. Mwen bezwen yon jan kanmenm endike ke nou ap nan fen fisèl la Daven. Se konsa, mwen te kapab jis kite li nil. Men, sa ki si nou gen Daven a tout non tou, ki se, kòm nou te di, Davenport? Se konsa, sa si Daven se aktyèlman yon chèn, yon prefiks nan yon fisèl pi lontan ankò? Nou pa ka jis pou tout tan di pa gen anyen ki pral ale la, paske nou te kapab pa janm Insert yon mo tankou Davenport nan estrikti sa a done Se konsa, sa nou ta ka fè olye se trete chak nan eleman sa yo kòm petèt tou de eleman andedan nan yo. Youn nan se yon konsèy, tout bon, jan mwen te toujou ap fè. Se konsa, chak nan sa yo bwat se pa sèlman yon sèl selil. Men, e si tèt la one-- yon sèl la anba a pral fè nil, paske pa gen okenn Davenport jis ankò. E si yon sèl nan tèt se kèk valè espesyal? Epi li k ap pase yo dwe yon ti kras difisil yo trase li gwosè sa a. Men, si li nan jis yon mak chèk la. Tcheke. D-A-V-E-N se yon fisèl nan estrikti sa a done. Pandan se tan, si mwen te gen plis espas isit la, mwen te kapab fè P-O-R-T, ak mwen te kapab mete chèk nan ne an ki gen lèt la T nan fen an trè. Se konsa, sa a se yon twouve konplèks-kap estrikti done. Epi ekriti m sètènman pa ede. Men, si mwen te vle insert yon bagay lòt bagay, konsidere ki sa nou ta fè. Si nou te vle mete David nan, nou ta swiv lojik la menm, D-A-V, men kounye a mwen ta pwen nan pwochen an eleman pa soti nan E, men nan m 'D. Se konsa, gen nan pral fè plis nœuds nan pyebwa sa a. Nou ap ale nan gen apèl malok plis. Men, mwen pa vle fè yon konplè dezòd nan foto sa a. Se konsa, kite a olye pou gade nan yon sèl sa a te pre-formul tankou sa a ak pa dot, dot, pwen, men jis abreje ranje. Men, chak nan nœuds yo nan pye bwa sa a moute isit la reprezante menm thing-- la yon etalaj Ray nan gwosè 26. Oswa si nou vle yo reyèlman bon, koulye a, sa ki si non yon moun nan kòm yon apostwòf, se pou yo asime ke chak ne aktyèlman gen tankou 27 endis nan li, pa sèlman 26. Se konsa, sa a kounye a se pral fè yon done estrikti yo te rele yon trie-- T-R-I-E. Yon trye, ki se sipozeman istorikman yon non entelijan pou yon pye bwa ki nan optimisé pou Rekipere, ki nan kou, se eple ak yon I-E se konsa li a trye. Men sa se istwa a nan trye la. Se konsa, yon trye se done sa a pye bwa-tankou estrikti tankou yon pyebwa fanmi ki finalman konpòte li tankou sa. Ak isit la se jis yon lòt egzanp nan yon pakèt antye nan non lòt moun. Men, kesyon an kounye a nan men se sa ki gen nou te vin jwenn pa entwodwi joui yon pi plis konplike done estrikti, ak yon sèl, franchman, ki sèvi ak yon anpil nan memwa. Paske menm si, nan moman sa a, mwen se sèlman lè l sèvi avèk konsèy D's ak A ak V ak Es ak NS, Mwen gaspiye yon èk nan anpil nan memwa. Men, kote mwen pase yon sèl resous, Mwen gen tandans jwenn tounen yon lòt. Se konsa, si mwen depanse plis espas, sa ki nan pwobableman espwa a? Ke mwen depans mwens ki sa? ODYANS: Mwens tan. DAVID Malan: Tan. Koulye a, poukisa ke sa ta kapab? Oke, sa a se ensèsyon an tan, an tèm de gwo O kounye a, nan yon non tankou Daven oswa Davenport oswa David li ye? Oke, Daven te senk etap. Davenport ta dwe nèf etap, se konsa li ta dwe yon tijan plis etap. David ta dwe senk etap kòm byen. Se konsa, sa yo se konkrè nimewo, men siman gen nan yon mare anwo sou la longè nan non yon moun. Ak tout bon, nan pwoblèm nan kouche nan senk spesifikasyon, nou ap ale nan pwopoze ke li nan yon bagay sa a, se karaktè 40-kèk-enpè. Pli reyèlman, pa gen moun gen yon non enfiniman lontan, ki se yo di ke longè a nan yon non oswa longè yon fisèl nou ta ka gen sèten eta a nan estrikti se joui ki sa? Li nan konstan. Dwa? Li ta ka yon gwo konstan tankou 40-yon bagay, men li se konstan. Epi li pa gen okenn depandans sou ki jan anpil lòt non yo nan estrikti sa a done. Nan lòt mo, si mwen te vle kounye a Insert Colton oswa Gabriel oswa Rob oswa Zamyla oswa Alison oswa Belinda oswa nenpòt lòt non ki soti nan pèsonèl la nan done sa estrikti, se tan an kouri a mete lòt non pral fè nan tout afekte pa ki jan anpil lòt eleman yo nan estrikti a done deja? Li pa. Dwa? Paske nou ap efektivman lè l sèvi avèk sa a milti-kouch regle tab. Epi tan an kouri nan nenpòt nan operasyon sa yo se depann pa sou ki kantite eleman ki nan estrikti nan done oubyen ki evantyèlman ale yo dwe nan estrikti a done, men sou longè a nan sa ki espesyalman? Fisèl la ke yo te eleman, ki fè fè sa a asenptotik konstan time-- gwo O nan yon sèl. Ak franchman, jis nan mond reyèl la, sa a vle di mete non Daven a pran tankou senk etap, oswa Davenport nèf etap, oswa David senk etap. Sa a trè reprize fwa kouri piti. Epi, tout bon, sa a, se yon trè bon bagay, espesyalman lè li pa depann sou manm nan kantite eleman nan la. Se konsa, kouman nou ta ka aplike sa a kalite estrikti nan kòd? Li se yon ti kras pi plis konplèks, men yo toujou li nan jis yon aplikasyon nan blòk bilding de baz yo. Mwen pral redéfinir nou ne jan sa a: bouleen rele word-- ak sa a ta ka rele anyen. Men, bouleen a reprezante sa m 'te trase tankou yon mak chèk la. Wi. Sa a se nan fen yon kòd nan estrikti sa a done. Epi, nan kou, zetwal la ne gen refere li a timoun yo. Epi, tout bon, jis tankou yon pye bwa fanmi, ou ta konsidere nœuds yo ke yo pandye sou nan pati anba a nan kèk paran eleman yo dwe timoun. Se konsa, timoun yo ki pral gen yon etalaj de 27, yon sèl la 27th jis ke yo te pou apostwòf. Nou pral sòt nan ka espesyal sa. Se konsa, ou ka gen sèten non ak apostrof. Petèt menm tirè ta dwe antre nan peyi a, men ou pral wè nan p seri 5 nou sèlman swen sou lèt ak apostrof. Lè sa a, ki jan ou reprezante estrikti nan done tèt li? Ki jan ou fè reprezante rasin lan nan trye sa a, se konsa pale? Oke, jis tankou ak yon lis lye, ou bezwen yon konsèy nan eleman nan premye. Avèk yon trye ou jis bezwen yon sèl konsèy nan rasin lan nan trye sa a. Ak soti nan gen ou ka regle fason ou desann pi fon ak pi fon tout lòt ne nan estrikti an. Se konsa, tou senpleman ak ka sa a nou reprezante ki struct. Koulye a, Meanwhile-- Oh, kesyon. ODYANS: Ki sa ki nan pawòl Bondye bouleen? DAVID Malan: mo bouleen se jis sa a enkarnasyon C nan sa m 'dekri nan bwat sa a isit la, lè Mwen te kòmanse divize chak nan la eleman etalaj la an de moso. Youn nan se yon konsèy ne nan pwochen an. Lòt la gen yo dwe yon bagay tankou yon bwat chèk yo di repons lan se wi, gen nan yon mo Daven ki fini isit la, paske nou pa vle, nan moman sa a, Dave. Menm si Dave a pwal yon lejitim mo, li se pa nan trye a ankò. Ak D se pa yon mo. Ak D-A se pa yon mo oubyen yon yon non. Se konsa, make nan chèk endike sèlman yon fwa ou frape ne sa a se nan chemen anvan yo nan karaktè aktyèlman yon fisèl ke ou te eleman. Se konsa, ki nan tout bouleen nan gen ap fè pou nou. Nenpòt lòt kesyon sou ap eseye? Yeah. ODYANS: Ki sa ki se sipèpoze yo? Ki sa ki si ou gen yon Dave ak yon Daven? DAVID Malan: pafè. Ki sa ki si ou gen yon Dave ak yon Daven? Se konsa, si nou insert, di yon tinon, pou David-- Dave-- D-A-V-E? Sa a se aktyèlman super senp. Se konsa, nou ap sèlman pral pran kat etap. D-A-V-E. Ak sa ki mwen gen yo fè yon fwa mwen frape ki katriyèm ne? Jis ale nan chèk la. Nou ap deja bon yo ale. Fè. Kat etap. Constant tan asenptotik. Epi, koulye a nou te endike ke tou de Dave ak Daven yo strings nan estrikti an. Se konsa, pa yon pwoblèm. Ak Avi ki jan prezans nan nan Daven pa t 'fè l' pran nenpòt ki lè plis oswa mwens tan pou Dave ak vis vèrsa. Se konsa, ki lòt bagay nou ka fè kounye a? Nou te itilize metafò sa a anvan nan plato reprezante yon bagay. Men, li sanble ke yon pil nan plato se aktyèlman démonstration nan yon lòt done abstrè type-- yon nivo ki pi wo estrikti done ke nan fen a jou a se jis tankou yon etalaj oswa yon lis lye oswa yon bagay plis Munden. Men, li la yon plis enteresan konseptyèl ekspresyon konsèp. Yon chemine, tankou sa yo plato isit la nan Mather, yo jeneralman rele jis that-- yon pil. Ak nan sa a ki kalite estrikti done ou gen de operasyon ou gen yon sèl rele pouse pou ajoute yon bagay yo chemine a, tankou mete yon lòt plato do sou tèt la nan chemine a. Lè sa a, pòp, ki vle di ou pran topmost nan la plato. Men, sa ki nan kle sou yon pil se ke li nan te resevwa karakteristik sa a kirye. Kòm anplwaye a sal manje yo ranplase plato yo pou manje a kap vini an, sa k ap pase yo dwe vre sou jan elèv yo kominike avèk estrikti sa a done? ODYANS: Yo ap ale nan pòp yon sèl la. DAVID Malan: Yo ap ale nan pòp yon sèl koupe, èspere ke tèt la. Sinon li nan jis kalite estipid yo ale tout wout la nan pati anba nan. Dwa? Estrikti nan done pa reyèlman pèmèt ou gen tan pwan plato a anba omwen fasil. Se konsa, gen nan sa a kirye pwopriyete nan yon pil ki atik ki sot pase a nan se pral fè premye yon sèl soti a. Yo ak syantis yo òdinatè rele sa a LIFO-- dire nan, premye deyò. Epi li gen aktyèlman enteresan aplikasyon yo. Li pa nesesèman kòm evidan ke kèk lòt moun, men li ka, tout bon, kapab itil, epi li ka, tout bon, kapab aplike nan yon koup nan diferan fason. Se konsa, yon sèl, ak aktyèlman, se pou m mwen pa dwe plonje nan sa. Se pou nou fè sa olye. Se pou yo gade nan yon sèl sa a, se prèske la menm lide, men li la yon ti kras pi fyab. Dwa? Si w ap youn nan ti gason fanatik sa yo oswa ti fi ki vrèman renmen Apple pwodwi epi ou leve nan 3:00 AM nan liy moute nan kèk magazen yo ka resevwa iPhone a trè dènye, ou ka gen atant moute tankou sa a. Koulye a, se yon keu trè fè espre yo te rele. Li se yon liy paske gen nan kèk etidye ekite Règleman nan li. Dwa? Li ta kalite aspire si ou te te la premye nan Apple magazen an men ou se efektivman bottommost nan plato paske anplwaye yo Apple Lè sa a, pòp moun ki sot pase ki moun ki menm te rive nan liy. Se konsa, pil ak ke moun kap kriye, menm si fonksyonèl yo ap kalite same-- la li nan jis koleksyon sa a nan resous sa a, se ale nan grandi ak shrink-- gen nan sa a nan aspè etidye ekite Règleman nan li, omwen nan mond reyèl la, kote operasyon yo ou fè egzèsis yo se fondamantalman diferan. Yon stack-- yon keu rather-- se di yo fè de operasyon: n keu ak keu d. Oswa ou ka rele yo nenpòt ki kantite bagay sa yo. Men, ou jis vle pran nosyon a ki yon sèl ki ajoute ak youn se finalman soustraksyon. Koulye a, anba kapo a, tou de chemine a epi li ka yon keu kapab aplike ki jan? Nou pa pral antre nan kòd la nan li paske nivo a pi wo lide se sòt de plis evidan. Mwen vle di, ki sa moun fè? Si mwen premye moun ki nan Apple la Sere ak sa a se devan pòt la, ou konnen, mwen pral kanpe isit la. Ak moun nan pwochèn la pral kanpe isit la. Ak moun nan pwochèn la pral kanpe isit la. Se konsa, sa estrikti done Confer tèt li yon keu? ODYANS: Yon keu. DAVID Malan: Oke, yon keu. Asire w. Ki lòt bagay? ODYANS: Yon lis lye. DAVID Malan: Yon lye lis ou ta ka aplike. Ak yon lis lye se bèl paske lè sa a li ka grandi abitrèman lontan ke yo te opoze gen kèk nimewo fiks nan moun ki nan magazen an. Men, petèt yon nimewo fiks nan kote se lejitim. Paske si yo gen sèlman tankou 20 iPhones sou premye jou a, petèt yo te sèlman bezwen yon etalaj de gwosè 20 a reprezante ke keu, ki se sèlman vle di kounye a yon fwa nou kòmanse pale sou sa yo pwoblèm pi wo nivo, ou ka aplike li nan nenpòt nimewo nan fason. Apre sa, nan pwobableman jis ale nan gen yon komès koupe nan espas ak tan oswa jis nan pwòp Kòd konpleksite ou yo. Ki sa ki sou yon pil? Oke, yon pil, nou te wè twò te kapab jis pou plato sa yo. Epi ou ta ka aplike sa a yon etalaj. Men, nan kèk pwen si ou itilize yon etalaj, sa k ap pase pou rive plato yo w ap eseye mete desann? Tout dwa. W ap sèlman pral kapab ale tèlman wo. Apre sa, mwen panse ke nan Mather yo ap aktyèlman Recessed nan ki ouvèti. Se konsa, tout bon, li nan prèske tankou Mather ap itilize ap itilize yon etalaj de gwosè fiks, paske ou ka sèlman anfòm anpil plato nan ki ouvèti ki nan miray ranpa a nan desann anba a jenou moun nan. Se konsa, ke sa ta kapab di ke yo dwe yon etalaj, men nou te kapab sètènman aplike ki plis jeneralman ak yon lis lye. Oke, sa ki sou yon lòt estrikti done? Kite m 'rale moute yon lòt vizyèl isit la. Yon bagay tankou ki jan sou yon sèl sa a isit la? Poukisa li ta kapab itil nan pa gen yon bagay kòm anpenpan kòm yon trye, ki nou te wè te gen sa yo nœuds trè lajè, chak nan ki se nan yon etalaj? Men, sa ki si nou fè yon bagay ki pi tou senpleman, tankou yon fin vye granmoun pye bwa fanmi lekòl la, chak nan ki gen nœuds isit la se jis estoke yon nimewo. Olye pou yo yon non oswa yon pitit se jis estoke yon nimewo tankou sa a. Oke, jagon an nou itilize nan estrikti done se toude ap eseye ak pye bwa, kote yon trye, ankò, se jis yon sèl ki gen nœuds yo se ranje, se toujou sa ou ta ka itilize soti nan lekòl klas lè ou te fè yon fanmi fèy tree-- ak rasin lan nan pye bwa a ak timoun nan nan paran ak frè ak sè ladan l '. Apre sa, nou ta ka aplike yon pye bwa, pou egzanp, kòm tou senpleman kòm sa a. Yon pye bwa, si li kòm yon ne, youn nan sa yo ti sèk ki gen yon nimewo, li pa pral gen yon sèl konsèy, men de. Epi kòm pli vit ke ou ajoute yon dezyèm konsèy, ou ka aktyèlman kounye a fè sòt nan done ki genyen de dimansyon estrikti nan memwa. Anpil tankou yon ki genyen de dimansyon etalaj, ou kapab gen kalite ki genyen de dimansyon lye lis men yo menm ki swiv yon modèl ki kote gen nan pa gen sik. Li nan vrèman yon pye bwa ak yon sèl granparan fason moute isit la ak Lè sa a kèk paran yo ak timoun yo ak pitit pitit ak gwo-pitit pitit. ak pou fè. Men, sa ki nan vrèman byen òdone sou sa a tou, jis yo toumante ou ak yon ti jan nan kòd, sonje rkursyon soti nan yon ti moman tounen, annakò ak sa ou ekri yon fonksyon ki rele tèt li. Sa a se yon bèl opòtinite aplike yon bagay tankou rkursyon, paske konsidere sa a. Sa a se yon pye bwa. Apre sa, mwen ve yo te yon ti kras nan dèyè ak ki jan Mwen mete nonm antye relatif yo nan lari an. Se konsa, anpil pou ke li gen yon espesyal name-- yon pye bwa rechèch binè. Koulye a, nou te konn tande nan binè rechèch, men ou ka travay bak soti nan non bagay sa a la? Ki sa ki se modèl la nan ki jan mwen eleman nonm antye relatif yo nan pye bwa sa a? Li pa abitrè. Genyen kèk modèl. Yeah. ODYANS: Ki pi piti yo menm sou bò gòch la. DAVID Malan: Yeah. Moun ki pi piti yo se sou bò gòch la. Pi gwo sa yo se sou bò dwat la. Sa yo ki yon deklarasyon vre se yon paran gen plis pouvwa pase pitit gòch li yo, men mwens pase pitit dwa li yo. Epi sa pou kont li se menm yon repetitif definisyon vèbal paske ou ka aplike ki menm lojik nan chak ne epi li sèlman pla soti, yon ka baz si ou pral, lè ou frape youn nan fèy yo, se konsa pale, kote yon konje pa gen okenn timoun pi lwen. Koulye a, ki jan ta ka ou jwenn nimewo a 44? Ou ta kòmanse nan rasin lan ak di, HM. 55 se pa 44 Se konsa, fè mwen vle ale dwa oswa fè mwen vle ale kite? Oke, evidamman ou vle ale kite. Se konsa, li nan jis tankou telefòn nan egzanp liv nan rechèch binè plis jeneralman. Men, nou ap mete ann aplikasyon li kounye a yon ti kras pi plis dynamique pase yon etalaj ta ka pèmèt. Ak an reyalite, si ou vle gade nan kòd la, nan premye gade asire w. Li sanble ke yon pakèt antye nan liy yo. Men, li la trè byen senp. Si ou vle aplike yon fonksyon rele rechèch ki gen objektif nan lavi se pou fè rechèch pou yon valè tankou n, yon nonb antye relatif, ak w ap pase nan yon konsèy yon sèl yon konsèy ne nan nan rasin yo, olye, jan pyebwa ki soti nan ki ou kapab jwenn aksè tout lòt bagay, avi ki jan kareman ou ka aplike lojik la. Si pye bwa se nil, evidamman li nan pa la. Se pou nou jis retounen fo. Dwa? Si ou lage li pa gen anyen, pa gen anyen la. Lòt Bagay, si n se mwens pase flèch pyebwa n-- kounye a flèch n, sonje nou prezante super yon ti tan lòt jou a, e ke jis vle di de-referans a konsèy ak gade nan jaden an rele n. Se konsa, sa vle di ale la epi gade nan jaden an rele n. Se konsa, si n, valè nan w ap bay yo, ki pi piti a pase valè an nan nonb antye relatif la pye bwa, ki kote ou vle ale? A gòch la. Se konsa, remake rkursyon la. Mwen returning-- pa vre. Pa fo. Mwen retounen tou sa repons lan se soti nan yon rele nan tèt mwen, pase yon n ankò, ki se redondants, men sa ki nan yon ti kras diferan kounye a? Kouman mwen fè pwoblèm nan pi piti a? Mwen pase nan kòm dezyèm lan agiman, pa rasin lan nan pye bwa a, men timoun nan bò gòch nan ka sa a. Se konsa, mwen pase nan pitit gòch la. Pandan se tan, si n se pi gwo pase ne nan mwen kounye a chèche a, Mwen fè rechèch bò nan men dwat. Lòt Bagay, si pye bwa a se pa nil, ak si eleman nan a pa sou bò goch la epi li pa a dwat la, ki sa ki bèl ka a? Nou te aktyèlman te jwenn ne an nan kesyon, epi pou nou retounen vre. Se konsa, nou te jis grate sifas la kounye a kèk nan sa yo estrikti done. Nan pwoblèm mete senk ou pral eksplore sa yo ankò pi lwen, epi ou pral dwe bay desen ou chwa nan ki jan yo ale sou sa a. Ki sa mwen ta renmen yo konkli sou se jis yon dezyèm kol 30 nan sa ki ap tann semèn pwochèn ak pi lwen. Kòm nou begin-- Erezman ou ta ka think-- tranzisyon nou an tou dousman soti nan mond lan nan C ak pi ba aplikasyon nivo detay, nan yon mond nan ki nou ka pran pou yo akòde ke yon lòt moun gen finalman aplike done sa yo estrikti pou nou, epi n ap kòmanse konprann la mond reyèl vle di nan mete ann aplikasyon pwogram ki baze sou wèb ak sit plis jeneralman epi tou sekirite a trè enplikasyon ki nou te sèlman kòmanse grate sifas la nan. Isit la se sa ki ap tann nou nan jou yo ap vini yo. [Lèktur VIDEO] -Li Te vini ak yon mesaj, ak yon pwotokòl tout pwòp tèt li. Li vin nan yon mond nan mechan firewall, routeurs uncaring, ak danje lwen pi mal pase lanmò. Li nan vit. Li nan fò. Li nan tchp / IP, ak li a te gen adrès ou. "Gèrye nan Net la." [Lèktur videyo END] DAVID Malan: Vini semèn pwochèn. Nou pral wè ou lè sa a. [Lèktur VIDEO] -Apre Kounye a, "Refleksyon Deep" pa Daven Farnham. -David Toujou kòmanse konferans ak, "Tout dwa." Poukisa nou pa, "Isit la nan solisyon an semèn sa a nan seri pwoblèm " oswa "Nou ap bay tout nan nou yon A?" [Ri] [Lèktur videyo END]