[Jwe mizik] Oratè 1: Tout dwa. Tout moun akeyi tounen nan seksyon. Mwen espere ou tout yo avèk siksè refè soti nan egzamen ou an soti nan semèn pase a. Mwen konnen li nan yon ti jan fou nan fwa. Kòm mwen te di anvan, si w ap ki nan devyasyon estanda a, pa reyèlman enkyete sou li, espesyalman pou yon seksyon mwens konfòtab. Sa a sou kote ou ta dwe. Si ou te fè gwo, Lè sa a, pè. Kudos nan ou. Men, si ou santi ou tankou ou bezwen yon ti kras plis èd, tanpri santi yo lib yo rive jwenn soti nan nenpòt nan TFs yo. Nou tout nou se isit la ede.
Se poutèt sa nou ap anseye yo. Se poutèt sa mwen isit la chak Lendi pou ou mesye ak nan biwo èdtan sou jedi. Se konsa, tanpri santi yo lib yo kite m 'konnen si w ap enkyete w sou anyen oswa si gen nan anyen sou egzamen an ke ou ta reyèlman renmen adrese.
Se konsa, ajanda a pou jodi a se tout sou done estrikti. Gen kèk nan sa yo se jis pral fè jis jwenn ou familyarize ak sa yo. Ou ka pa janm aplike yo nan klas sa a. Kèk nan yo ou pral, tankou pou pset ortograf ou yo.
Ou ap gen chwa ou ant tab regle ak ap eseye. Se konsa, nou pral definitivman dwe ale sou sa yo. Li nan pral fè definitivman plis nan kalite nan yon seksyon wo nivo jodi a, menm si, paske gen yon anpil nan yo, epi si nou te ale nan detay yo aplikasyon sou tout moun sa yo, nou pa ta menm jwenn nan lis lye e petèt yon ti kras nan tab hash.
Se konsa, pote avè m '. Nou pa ap ale nan dwe ap fè kòm anpil kodaj tan sa a. Si w gen nenpòt kesyon sou li oswa ou vle wè li aplike oswa eseye li pou tèt ou, Mwen definitivman rekòmande ale nan study.cs50.net, ki gen egzanp sou tout moun sa yo. Li pral gen PowerPoints mwen avèk nòt sa yo ke nou gen tandans sèvi ak kòm byen ke kèk pwogram egzèsis, espesyalman pou bagay sa yo tankou lis lye ak binè pyebwa pil ak siyal. Plis konsa ti kras wo nivo, ki ta kapab bèl pou ou guys.
Se konsa, avèk sa, nou pral jwenn te kòmanse. Epi tou, ti tès yes--. Mwen panse ke pi fò nan ou ki nan seksyon m 'gen ti tès ou, men nenpòt moun ki vini nan oswa kèk rezon ou pa fè sa, yo ap dwa isit la nan devan an.
Se konsa, lye lis. Mwen konnen sa a kalite ale nan do anvan egzamen ou yo. Sa ki te semèn la anvan ke nou te aprann enfòmasyon sou sa a. Men, nan ka sa a, nou pral jis ale yon ti jan ti kras pi plis nan pwofondè.
Se konsa, poukisa nou ta ka chwazi yon lye lis sou yon etalaj? Ki sa ki fè distenksyon yo? Wi?
ODYANS: Ou ka elaji yon lye lis kont fiks gwosè yon etalaj la. Oratè 1: Dwa. Yon etalaj fiks gwosè tandiske yon lis lye gen yon gwosè varyab. Se konsa, si nou pa konnen ki jan lajan nou vle nan magazen, yon lis lye ba nou yon gwo fason fè sa paske nou ka jis ajoute sou yon lòt ne epi ajoute sou yon lòt ne epi ajoute sou yon lòt ne. Men, sa ki ta kapab yon komès-off? nenpòt moun ki sonje komès-off nan ant ranje e li bay lis lye? Mmhmm?
ODYANS: Ou gen ale nan tout wout la nan lis la lye jwenn yon eleman nan yon lis. Nan yon etalaj, ou kapab jis jwenn yon eleman.
Oratè 1: Dwa. Se konsa, avèk arrays--
ODYANS: [fèbl].
Oratè 1: Avèk ranje, nou gen sa ki rele gen aksè o aza. Vle di ke si nou vle ki sa ki tout tan tout tan pwen an senkyèm nan yon lis oswa pwen nan senkyèm nan nou an etalaj, nou ka jis gen tan pwan li. Si li nan yon lis lye, nou gen repekte nan, dwa? Se konsa, gen aksè nan yon eleman nan yon etalaj se tan konstan, Lè nou konsidere ke ak yon lis lye li ta gen plis chans gen tan lineyè paske petèt eleman nou an, se tout wout la nan fen an. Nou gen nan rechèch nan tout bagay. Se konsa, avèk tout done sa yo estrikti nou ap ale yo dwe depanse yon ti kras plis tan sou li a, ki sa yo pluses yo ak negatif. Lè nou ta ka vle sèvi ak yon sèl sou lòt la? Epi sa a, kalite la pi gwo bagay yo pran lwen.
Se konsa, nou gen isit la nan definisyon nan yon ne. Se tankou yon sèl eleman nan lis lye nou an, dwa? Se konsa, nou ap tout abitye ak strukt tipedèf nou an, ki nou te ale sou nan revizyon dènye fwa. Li te fondamantalman jis kreye yon lòt kalite done ke nou te kapab itilize.
Ak nan ka sa a, li nan kèk ne ki pral kenbe kèk nonb antye relatif nan. Lè sa a, sa ki nan dezyèm pati a isit la? Nenpòt moun ki?
Oratè 1: Yeah. Li se yon konsèy ne nan pwochen an. Se konsa, sa a ta dwe aktyèlman ap moute isit la. Sa a se yon konsèy nan kalite ne bagay la pwochen. Epi sa a, ki sa yo englobe ne nou an. Fre.
Tout dwa, se konsa ak rechèch, kòm nou te jis di anvan men, si w ap ale nan rechèch nan, ou gen aktyèlman repekte nan lis lye ou yo. Se konsa, si nou ap chèche pou nimewo a 9, nou ta kòmanse nan tèt nou e ke pwen nou premye jou a nan lis lye nou an, dwa? Epi nou di, OK, fè bagay sa a ne gen ladan nimewo a 9? Pa gen?
Tout dwa, ale nan youn nan pwochen. Swiv li. li gen ladan nimewo a 9? No Swiv youn nan pwochen.
Se konsa, nou gen aktyèlman repekte nan lis lye nou an. Nou pa ka jis ale dirèkteman nan ki kote 9 se. Men, si ou nèg aktyèlman vle wè kèk pseudo-Kòd moute a. Nou gen kèk fonksyon rechèch isit la ki pran in-- sa li pran nan? Ki sa ou panse? Se konsa, fasil yon sèl. Ki sa ki se sa a? ODYANS: [fèbl]. Oratè 1: Nimewo a nou ap chèche pou. Dwa? Ak sa ki ta sa a koresponn ak? Li se yon konsèy nan?
ODYANS: Yon ne.
Oratè 1: Yon ne nan lis la ke nou ap chèche a, dwa? Se konsa, nou gen kèk nœuds yo se konsèy isit la. Sa se yon pwen ki nan ale nan aktyèlman repekte nan lis nou an. Nou mete l 'egal a lis paske sa se sèlman mete li egal a la kòmanse nan lis lye nou an.
Epi pandan ke y li pa nil, pandan y ap nou toujou gen bagay sa yo nan lis nou an, tcheke yo wè si ki ne gen nimewo a nou ap chèche pou. Retounen vre. Sinon, mete li, dwa?
Si li se nil, nou sòti nou an pandan y ap riban ak retounen fo paske sa vle di nou pa jwenn li. tout moun jwenn ki jan ki travay? OK.
Se konsa, avèk ensèsyon, ou gen twa fason diferan. Ou ka prepan, ou ka kole epi ou ka insert nan asòti. Nan ka sa a, nou ap pral fè yon prepan. nenpòt moun ki konnen ki jan moun ki twa ka ta ka diferan?
Se konsa, prepan vle di ke ou mete li an de sou devan lis ou a. Se konsa, ki ta vle di ke pa gen pwoblèm sa ne ou a se, pa gen pwoblèm sa ki valè a se, w ap ale yo mete l 'isit la nan devan, OK? Li nan ale nan dwe premye a eleman nan lis ou a.
Si ou kole li, li k ap pase pou yo ale nan do a nan lis ou a. Epi insert nan asòti vle di w ap pral mete aktyèlman nan plas la kote li kenbe lis lye ou Ranje. Yon fwa ankò, jan ou sèvi ak sa yo ak lè ou sèvi ak yo ap varye depann sou ka w la. Si li pa bezwen dwe klase, prepan gen tandans yo dwe ki sa pifò moun sèvi ak paske ou pa fè sa gen yo ale nan lis la tout antye jwenn fen a ajoute li sou li a, dwa? Ou ka jis bwa li dwa nan.
Se konsa, nou pral ale nan yon ensèsyon 1 kounye a. Se konsa, yon sèl bagay ki mwen pral trè rekòmande sou sa a pset se trase bagay sa yo soti, tankou toujou. Li trè enpòtan ke ou aktyalizasyon endikasyon ou yo nan lòd ki kòrèk la paske si ou mete ajou yo yon ti kras soti nan lòd, w ap ale nan fini pèdi pati nan lis ou a.
Se konsa, pou egzanp, nan ka sa a, nou ap di tèt la nan jis pwen nan 1. Si nou jis fè sa san yo pa ekonomize sa a 1, nou pa gen okenn lide ki sa 1 ta dwe lonje dwèt sou kounye a paske nou te pèdi sa tèt la pwente nan. Se konsa, yon sèl bagay yo sonje lè w ap fè yon prepan se pou konsève pou sa ki la pwen tèt nan premye, Lè sa a, mute li, ak Lè sa aktyalizasyon sa ne nouvo ou a ta dwe lonje dwèt sou. Nan ka sa a, sa a se yon fason fè li.
Se konsa, si nou te fè li fason sa a kote nou jis plase tèt, nou pèdi fondamantalman nou an tout lis, dwa? Youn nan fason yo fè li se genyen 1 pwen pwochen, ak Lè sa a gen pwen tèt nan 1. Oswa ou kapab fè kalite tankou nan depo tanporè, ki mwen te pale osijè de.
Men, reafèktasyon ou endikasyon nan lòd ki kòrèk a pwal trè, trè enpòtan pou sa a pset. Sinon, w ap ale nan gen yon regle tab oswa yon eseye ki nan jis pral fè sèlman yon pati nan mo sa yo ke ou vle ak Lè sa a, mmhmm you're--? ODYANS: Ki sa ki te pou yon ti tan nan Bagay depo ou te ap pale de? Oratè 1: Depo a tanporè. Se konsa, fondamantalman yon lòt fason ou ta ka fè sa a se magazen tèt la nan yon bagay, tankou magazen li varyab la tanporè. Bay li nan 1 ak Lè sa a, mete ajou nan pwen 1 mèt fè tout sa tèt itilize yo lonje dwèt sou. Fason sa a se evidamman plis elegant paske ou pa bezwen yon valè pou yon ti tan, men jis ofri yon lòt fason yo fè li. Apre sa, nou aktyèlman fè gen kèk kòd pou sa a. Se konsa, pou lis lye, nou gen aktyèlman kèk kòd. Se konsa, isit la Insert, sa a se prepending. Se konsa, sa antre nan li nan tèt la.
Se konsa, premye bagay, ou bezwen kreye nouvo ne ou, nan kou, epi tcheke pou nil. Toujou bon. Lè sa a, ou bezwen yo asiyen valè yo. Chak fwa ou kreye yon nouvo ne, ou pa konnen ki sa li nan lonje dwèt nan pwochen, konsa ou vle inisyalize li nan nil. Si li fini montre nan yon bagay lòt moun, li vin plase ak li a amann. Si li nan premye bagay la nan lis la, li bezwen nan pwen nan nil paske sa a, se nan fen lis la.
Se konsa, Lè sa a, insert li, nou wè isit la nou yo plase valè nan pwochen nan ne nou an yo dwe tou sa tèt se, ki se sa ki nou te gen isit la. Sa a ki sa nou jis te fè. Lè sa a, nou ap plase tèt nan pwen ne nouvo nou an, paske sonje, nouvo se kèk konsèy nan yon ne, e ke sa a ekzakteman ki sa tèt se. Sa se egzakteman poukisa nou gen sa a akseseur flèch. Cool? Mmhmm?
ODYANS: Èske nou dwe inisyalize nouvo akote nil an premye, oswa nou ka jis inisyalize li nan tèt?
Oratè 1: New pwochen bezwen yo dwe nil yo kòmanse paske ou pa konnen kote li k ap pase yo dwe. Epitou, sa a se kalite jis tankou yon paradigm. Ou mete l 'egal a nil jis fè asire w ke tout baz ou yo tout yo kouvri anvan ou fè nenpòt ki transfè pou ke ou toujou ap garanti ke li pral dwe montre nan se yon valè espesifik kont tankou yon valè fatra. Paske, yeah, nou bay nouvo pwochen otomatikman, men li la plis jis tankou yon bon pratik inisyalize li nan fason sa a ak Lè sa a mute.
OK, se konsa doubl lye lis kounye a. Ki sa nou panse? Ki sa ki nan diferan ak doubl lye lis?
Se konsa, nan lye lis nou an, nou kapab sèlman deplase nan yon direksyon, dwa? Nou sèlman gen kap vini an. Nou kapab sèlman ale pi devan.
Avèk yon lis doubl lye, nou ka tou deplase bak. Se konsa, nou gen pa sèlman nan Nimewo ke nou vle nan magazen, nou gen kote li lonje dwèt nan pwochen ak ki kote nou jis te soti nan. Se konsa, sa pèmèt pou kèk pi bon parcourt.
Nœuds Se konsa, doubl lye, trè menm jan, dwa? Diferans sèlman se kounye a nou gen yon pwochen ak yon anvan yo. Li nan diferans la sèlman.
Se konsa, si nou te prepan oswa append-- nou pa gen okenn kòd pou sa a moute isit lan-- men si ou te eseye ak insert l ', bagay la enpòtan se ou bezwen fè w ke ou ap plase tou de anvan yo ou ak ou pwochen konsèy kòrèkteman. Se konsa, nan ka sa a, ou ta pa sèlman inisyalize pwochen, ou inisyalize anvan yo. Si nou ap nan tèt la nan lis la, nou ta pa sèlman fè tèt egal nouvo, men nouvo anvan nou ta dwe lonje dwèt sou tèt la, dwa?
Sa a diferans la sèlman. Men, si ou vle plis pratik ak sa yo ak lye lis, ak yo mete, ak efase, ak insert nan yon lis asòti, tanpri tcheke soti study.cs50.net. Genyen nan yon pakèt moun sou egzèsis gwo. Mwen trè rekòmande yo. Mwen swete nou te gen tan yo ale nan yo men gen nan yon anpil nan estrikti done jwenn nan.
OK, se konsa tab regle. Sa a se pwobableman pi plis nan ti jan itil pou pset ou isit la paske w ap ale nan gen mete ann aplikasyon youn nan sa yo, oswa yon eseye. Mwen vrèman renmen tab regle. Yo ap trè fre.
Se konsa, fondamantalman sa k ap pase se yon tab regle se lè nou vrèman bezwen rapid ensèsyon, sipresyon, ak Passage. Moun sa yo se bagay sa yo ke nou ap priyorite nan yon tab regle. Yo ka jwenn bèl gwo, men kòm nou pral wè ak ap eseye, gen bagay ki pi gwo anpil.
Men, fondamantalman, tout yon regle tab la se yon fonksyon regle ki di ou ki bokit yo mete chak nan done ou a, chak nan eleman ou nan. Yon fason ki senp nan panse a yon tab regle se ke li nan jis bokit nan bagay sa yo, dwa? Se konsa, lè w ap Fouye bagay sa yo pa tankou premye lèt nan non yo, sa a, se kalite tankou yon tab regle.
Se konsa, si m 'te nan gwoup ou nèg se an gwoup nan moun ki va Non a kòmanse ak Yon sou isit la, oswa moun ki va la anivèsè nesans se nan mwa janvye, fevriye, mas, tou sa, se sa ki efektivman kreye yon tab regle. Li nan jis kreye bokit ki ou sòt eleman ou nan pou ke ou ka jwenn yo pi fasil. Se konsa, fason sa a lè mwen bezwen jwenn youn nan nou, Mwen pa gen nan rechèch nan chak nan non ou. Mwen ka dwe tankou, oh, mwen konnen ke Anivèsè nesans Danielle a se in-- ODYANS: --April. Oratè 1: avril. Se konsa, mwen gade nan mwa avril mwen bokit, ak avèk okenn chans, li pral fè yon sèl la sèlman nan gen ak tan mwen te konstan nan sans sa, Lè nou konsidere ke si mwen gen yo gade atravè yon pakèt antye nan moun, li nan pral pran pi lontan ankò. Se konsa, tab regle yo se reyèlman jis bokit. Fason fasil yo panse nan yo.
Se konsa, yon bagay trè enpòtan sou yon tab regle se yon fonksyon regle. Se konsa, bagay sa yo mwen jis te pale osijè de, tankou lèt premye ou nan premye non ou oswa mwa anivèsè nesans ou, sa yo, se ide ki reyèlman correspond nan yon fonksyon regle. Se jis yon fason pou w ap deside ki bokit ou eleman e ale nan, OK? Se konsa, pou sa a pset, ou ka gade moute bèl anpil nenpòt fonksyon regle ou vle.
pa gen yo dwe pwòp ou yo. Gen kèk moun vrèman fre soti deyò ki fè tout kalite fou matematik. Men, si ou vle fè ou spellchecker super vit, Mwen ta definitivman gade nan youn nan moun ki.
Men, gen tou nan yo menm ki senp, tankou compute sòm total la nan mo sa yo, tankou chak lèt ​​gen yon nimewo. Kalkile sòm total la. Ki detèmine bokit la. Yo gen tou yo menm ki fasil ki yo se jis tankou tout moun nan nan la Yon isit la, tout nan B a nan isit la. Nenpòt youn nan moun ki.
Fondamantalman, li jis di ou ki endèks etalaj eleman ou ta dwe ale nan. Jis deside bucket-- la li nan tout yon fonksyon regle se. Se konsa, isit la nou gen yon egzanp ki se jis premye lèt nan fisèl la ke mwen te jis ap pale de.
Se konsa, ou gen kèk regle sa se sèlman nan premye lèt nan fisèl ou mwens A, ki pral ba ou kèk nimewo ant 0 ak 25. Ak ki sa ou vle fè se asire w ke sa a reprezante gwosè a nan regle ou table-- ki jan anpil bokit gen. Avèk anpil nan sa yo fonksyon regle, yo ap ale nan dwe retounen valè ki ta ka dwe byen lwen pi wo a nimewo a nan bokit ke ou gen aktyèlman nan tab regle ou, se konsa ou bezwen fè asire w ak Mod pa sa yo. Sinon, li k ap pase yo di, oh, li ta dwe nan bokit 5,000 men ou gen 30 sèlman bokit nan tab regle ou. Ak nan kou, nou tout konnen sa a, se ale nan rezilta nan kèk erè fou. Se konsa, asire w ke w Mod pa la gwosè nan tab regle ou. Fre. Se konsa, kolizyon. Èske tout moun bon byen lwen tèlman? Mmhmm?
ODYANS: Poukisa ta li retounen tankou yon valè masiv?
Oratè 1: Tou depan de algorithm a ki fonksyon regle ou a itilize. Kèk nan yo pral fè fou miltiplikasyon. Ak li nan tout sou kesyon pran yon menm distribisyon, Se konsa, yo fè kèk reyèlman bagay sa yo fou pafwa. Sa a tout. Nenpòt lòt bagay? OK.
Se konsa, kolizyon. Fondamantalman, jan mwen te di pi bonè, nan senaryo a ka pi bon, nenpòt ki bokit mwen gade nan se ale nan gen yon sèl bagay, Se konsa, mwen pa gen gade nan tout, dwa? Mwen swa konnen li nan gen oswa li nan pa, epi se sa ki nou reyèlman vle. Men, si nou gen dè dizèn de dè milye de pwen done ak mwens pase ladan nimewo nan bokit, nou ap ale nan gen kolizyon ki kote evantyèlman yon bagay ki pral gen fini nan yon bokit ki deja gen yon eleman.
Se konsa, kesyon an se, ki sa ki nou fè nan ka sa a? Ki sa nou fè? Nou deja gen yon bagay la? nou jis jete l 'soti?
No Nou dwe kenbe tou de nan yo. Se konsa, fason a ke nou tipikman fè sa se ki sa? Ki sa ki se estrikti nan done nou jis te pale osijè de? ODYANS: lis lye. Oratè 1: Yon lis lye. Se konsa, kounye a, olye pou yo chak nan sa yo bokit jis gen yon sèl eleman, li a pral gen yon lis lye nan eleman yo ki te ache nan li. OK, tout moun kalite jwenn lide sa a? Paske nou pa t 'kapab gen yon etalaj paske nou pa konnen ki jan anpil bagay yo pral yo dwe an la. Yon lis lye pèmèt nou gen jis kantite egzak la ki yo ache nan ki bokit, dwa?
Se konsa, lineyè sonde se fondamantalman sa a idea-- li nan yon sèl fason fè fas ak yon kolizyon. Kisa w ka fè se si, nan ka sa ka, Berry te ache nan 1 epi nou te deja genyen yon bagay la, ou jis kenbe prale desann jouk ou jwenn yon plas vid. Sa a yon sèl fason yo okipe li. Nan lòt fason yo okipe li se ak sa nou jis called-- lye nan Se lis rele Anchènman.
Se konsa, lide sa a ap travay si tab regle ou, ou panse se pi gwo pase done ou mete oswa si ou vle eseye epi minimize chans pou Anchènman jouk li a absoliman nesesè. Se konsa, yon bagay se lineyè sonde evidamman vle di ki fonksyon regle ou se pa byen kòm itil paske w ap ale nan fini lè l sèvi avèk fonksyon regle ou, ap resevwa nan yon pwen, ou lineyè pwofonde desann nan kèk kote ki disponib. Men koulye a,, nan kou, anyen lòt bagay ki fini moute gen, w ap ale nan gen yo rechèch menm pi lwen desann.
Apre sa, nan yon anpil plis depans rechèch ki ale nan Anthrax yon eleman nan tab regle ou an kounye a, dwa? Epi, koulye a lè ou ale epi eseye epi jwenn Berry ankò, w ap ale nan Hash li, ak li a pral di, oh, gade nan bokit 1, e li pa nan pral fè nan bokit 1, se konsa w ap pral fè yo Traverse nan rès la nan sa yo. Se konsa, li pafwa itil, men nan pifò ka yo, nou ap ale nan di ke Anchènman se ki sa ou vle fè.
Se konsa, nou te pale osijè de sa a pi bonè. Mwen te resevwa yon ti kras devan yo nan tèt mwen. Men, Anchènman se fondamantalman ki chak bokit nan tablo regle ou se jis yon lis lye.
Se konsa, yon lòt fason, oswa plis teknik fason sa a, panse a yon tab regle se ke li nan jis yon etalaj nan lis lye, ki lè w ap ekri diksyonè nou ak w ap eseye chaje li, panse a li kòm yon etalaj de lye lis pral fè li pi fasil pou ou pou w inisyalize.
ODYANS: Se konsa tab regle gen yon gwosè Predetermined, tankou yon [fèbl] a bokit?
Oratè 1: Dwa. Se konsa, li gen yon nimewo seri bokit ke ou determine-- ki ou nèg ta dwe santi yo lib yo jwe avèk. Li kapab trè fre yo wè sa ki k ap pase jan ou chanje nimewo ou nan bokit. Men, yeah, li gen yon mete kantite bokit. Ki sa ki pèmèt ou nan anfòm kòm anpil eleman jan ou bezwen se sa a Anchènman separe kote ou te lye lis nan chak bokit. Sa vle di tab regle ou pral egzakteman gwosè a ke ou bezwen li nan dwe, dwa? Sa a pwen an antye nan lis lye. Fre.
Se konsa, tout moun OK genyen? Tout dwa. Ah. Ki sa ki jis ki te pase? Vrèman kounye a. Devine yon moun nan touye m '.
OK nou ap ale nan ale nan ap eseye yo, ki se yon ti kras fou. Mwen renmen tab regle. Mwen panse ke yo ap vrèman fre. Ap eseye se fre, tou.
Se konsa, nenpòt moun ki sonje sa yon eseye se? Ou ta dwe te ale sou li yon ti tan nan konferans? ou sonje kalite ki jan li fonksyone? ODYANS: Mwen jis siy ke nou t 'ale sou li. Oratè 1: Nou ale sou li. OK, nou ap reyèlman ale nan ale sou li kounye a se ki sa nou ap di.
ODYANS: Se pou yon pye bwa Rekipere.
Oratè 1: Yeah. Li se yon pye bwa Rekipere. Awesome. Se konsa, yon sèl bagay yo remake isit la se ke nou ap chèche a karaktè endividyèl isit la, dwa?
Se konsa, anvan ak fonksyon regle nou yo, nou te gade nan mo sa yo kòm yon antye, e kounye a, nou ap chèche plis nan karaktè yo, dwa? Se konsa, nou gen Maxwell sou isit la ak Mendel. Se konsa, fondamantalman yon try-- yon fason yo panse sou sa a se ke chak nivo isit la se yon etalaj de lèt yo. Se konsa, sa a se ne rasin ou isit la, dwa? Sa a gen tout karaktè yo nan la alfabè pou kòmanse nan chak mo.
Ak ki sa ou vle fè se di, OK, nou gen kèk M mo. Nou pral gade pou Maxwell, se konsa nou ale nan M. Ak M pwen nan yon antye lòt yon etalaj kote chak mo, osi lontan ke gen se yon mo ki gen yon kòm dezyèm lèt la, osi lontan ke gen nan yon mo ki gen B kòm dezyèm lèt la, li pral gen yon konsèy ale nan kèk etalaj kap vini an.
Genyen pwobableman pa yon mo ki MP yon bagay, se konsa nan P pozisyon an nan sa a etalaj, li ta jis pou nil. Li ta ka di, OK, pa gen okenn mo ki te swiv pa yon M P, OK? Se konsa, si nou panse sou li, chak youn nan sa yo bagay sa yo ki pi piti se aktyèlman youn nan sa yo ranje gwo soti nan A jiska Z. Se konsa, sa ka fè yon sèl nan bagay sa yo ki se kalite yon dezavantaj nan yon eseye?
ODYANS: Yon anpil nan memwa.
Oratè 1: Li se yon tòn a memwa, dwa? Chak youn nan blòk sa yo isit la reprezante 26 espas, 26 etalaj eleman. Se konsa, ap eseye jwenn èkstrèmeman lou espas.
Men, yo trè vit. Se konsa, èkstrèmeman vit men reyèlman espas rezèvwa. Kalite gen figi konnen ki youn ou vle. Sa yo se vrèman fre pou pset ou a, men yo fè Leve kanpe, pran yon anpil nan memwa, se konsa ou komès la. Yeah?
ODYANS: Li ta dwe posib yo mete kanpe yon eseye ak Lè sa a yon fwa ou gen tout a done nan li ke ou need-- Mwen pa konnen si ki ta fè sans. Mwen te pou elimine pou nan tout la Karaktè nil, men Lè sa a, ou pa ta dwe kapab endèks them--
Oratè 1: Ou toujou bezwen yo.
ODYANS: - menm jan an chak fwa. Oratè 1: Yeah. Ou bezwen karaktè yo nil kite ou konnen si gen nan pa di yon mo la. Ben t 'ou gen yon bagay ou vle a? OK. Tout dwa, se konsa nou ap ale yo ale yon ti jan ti kras pi plis nan detay nan teknik dèyè yon eseye ak travay nan yon egzanp.
OK, se konsa sa a se menm bagay la. Lè nou konsidere ke nan yon lis lye, prensipal nou an kalite of-- sa ki nan pawòl Bondye a mwen vle? - tankou bati blòk te yon ne. Nan yon eseye, nou menm tou nou gen yon ne, men li la defini yon fason diferan.
Se konsa, nou gen kèk bouleen ki reprezante si wi ou non yon mo aktyèlman egziste nan kote sa a, epi Lè sa a, nou gen kèk etalaj isit lan-- ou pito, sa a se yon konsèy nan yon etalaj de 27 karaktè. Lè sa a se pou, nan ka sa a, sa a 27-- mwen si ke tout nan ou se tankou, rete tann, gen 26 lèt nan alfabè a. Poukisa nou bezwen gen 27?
Se konsa, tou depann de la fason ou aplike sa a, sa a se ki sòti nan yon pset ki pèmèt pou apostrof. Se konsa, sa a, poukisa yon sèl la siplemantè. Ou ap gen tou nan kèk ka Terminator a nil se enkli kòm youn nan la karaktè ke li nan pèmèt yo dwe, e ke sa a ki jan yo tcheke yo wè si li nan nan fen mo a. Si w ap enterese, tcheke deyò Videyo Kevin a sou study.cs50, kòm byen ke Wikipedia gen kèk bon resous la.
Men, nou ap ale nan ale nan jis kalite nan ki jan ou ta ka travay nan yon eseye si w ap bay yon sèl. Se konsa, nou gen yon sèl super senp isit la ke gen mo "baton an" ak "rale" nan yo. E kòm nou wè moute isit la, espas sa a ti kras isit la reprezante bouleen nou an ki di, repons lan se wi, sa a se yon mo. Lè sa a, sa a gen nou an ranje nan karaktè, dwa?
Se konsa, nou pral yo ale nan jwenn "baton" nan eseye sa a. Se konsa, kòmanse nan tèt la, dwa? E nou konnen ke b koresponn ak endèks, dezyèm lan, eleman nan dezyèm nan sa a etalaj, paske yon ak b. Se konsa, apeprè yon, dezyèm lan.
Epi li di, OK, fre, swiv ki nan etalaj la kap vini an, paske si nou sonje, li pa ki chak nan sa yo aktyèlman gen eleman an. Chak youn nan sa yo ranje gen yon konsèy, dwa? Se yon diferans enpòtan nan fè.
Mwen konnen sa a se pral be-- ap eseye yo vrèman difisil jwenn sou premye fwa, kidonk menm si sa a se nan dezyèm oswa yon twazyèm fwa ak li la toujou kalite a sanblans difisil, Mwen te pwomèt si ou ale gade kout ankò demen an, li pral pwobableman fè yon anpil plis sans. Li pran yon anpil dijere. Mwen toujou pafwa menm tankou, rete tann, ki sa ki yon eseye? Kouman pou mwen sèvi ak sa a?
Se konsa, nou gen b nan ka sa a, ki se dezyèm endèks nou an. Si nou te gen, di, c oswa d oswa nenpòt lòt lèt, nou bezwen kat jeyografik ki tounen nan endèks la nan etalaj nou an ki ki koresponn ak. Se konsa, nou ta pran tankou rchar ak nou jis fè soustraksyon sou yon nan kat jeyografik l 'nan 0 a 25. Tout moun bon jan nou kat karaktè nou an? OK.
Se konsa, nou ale nan youn nan dezyèm ak nou wè ke, repons lan se wi, li se pa nil. Nou ka deplase sou li nan sa a etalaj kap vini an. Se konsa, nou ale nan sa a etalaj pwochen isit la.
Epi nou di, OK, kounye a nou bezwen wè si yon se isit la. Èske Yon nil oswa fè li aktyèlman avanse pou pi devan? Se konsa, yon aktyèlman deplase voye nan sa a etalaj. Epi nou di, OK, t se lèt dènye nou an. Se konsa, nou ale nan t la nan endèks la. Lè sa a, nou avanse pou pi devan paske gen nan yon lòt. Lè sa a yon moun di: fondamantalman sa, repons lan se wi, li di ke gen se yon mo isit lan-- ke si ou swiv sa a chemen, ou te rive nan yon mo, ki nou konnen se "baton." Wi?
ODYANS: Èske li estanda yo gen ki kòm endèks 0 ak Lè sa a, gen yon sòt nan 1 oswa yo gen nan fen a?
Oratè 1: No Se konsa, si nou gade tounen nan nou an deklarasyon isit la, li nan yon bouleen, se konsa li a eleman pwòp li yo nan ne ou yo. Se konsa, li pa fè pati nan etalaj la. Fre. Se konsa, lè nou fini mo nou yo ak nou ap nan sa a etalaj, ki sa nou vle fè se fè yon chèk pou se sa a yon mo. Ak nan ka sa a, li ta retounen wi.
Se konsa, sou ki nòt, nou konnen ke "zou" - nou konnen kòm moun ki "zou" se yon mo, dwa? Men, yo eseye isit la ta di, pa gen okenn, li pa. Epi li ta ka di ke paske nou pa gen deziyen li kòm yon mo isit la. Menm si nou ka Traverse a la sa a etalaj, eseye sa a ta ka di ke, pa gen okenn, zou se pa nan diksyonè ou paske nou pa gen deziyen li kòm sa yo.
Se konsa, yon fason fè that-- oh, regrèt, yon sèl sa a. Se konsa, nan ka sa a, "zou" se pa yon mo, men li se nan eseye nou an. Men, nan yon sèl sa a, di nou vle li prezante pawòl Bondye a "benyen," sa k ap pase se nou swiv through-- b, yon, t. Nou ap nan sa a etalaj, ak nou ale nan rechèch pou h.
Nan ka sa a, lè nou gade nan konsèy la nan h, li nan lonje dwèt nan nil, OK? Se konsa, sof si li nan klèman montre nan yon lòt etalaj, ou asime ke tout pwent yo nan sa a etalaj yo lonje dwèt nil. Se konsa, nan ka sa a, h se lonje dwèt a nil pou nou pa ka fè anyen, se konsa li ta tou retounen fo, "beny" se pa nan isit la. Se konsa, kounye a nou ap aktyèlman pral yo ale nan ki jan nou ta aktyèlman di ke "zou" se nan eseye nou an. Ki jan nou Insert "zou" nan eseye nou an? Se konsa, nan menm fason an ke nou te kòmanse avèk lis lye nou an, nou kòmanse nan rasin lan. Lè w gen dout, kòmanse nan rasin lan nan bagay sa yo.
Epitou, n ap di, OK, z. z egziste nan sa a, epi li fè sa. Se konsa, w ap deplase sou etalaj pwochèn ou an, OK? Lè sa a, sou yon sèl kap vini an, nou di, OK, o egziste? Li fè sa ki. Sa a ankò.
Se konsa, sou yon sèl pwochen nou, nou te di: OK, "zou" deja egziste isit la. Tout sa nou bezwen fè se mete sa a egal vre, ki di ke gen yon mo a. Si ou te swiv tout bagay jiska anvan sa pwen, li nan yon mo, Se konsa, jis mete l 'egal a sa yo. Wi?
ODYANS: Se konsa Lè sa a, fè sa vle di ke "ba" se yon mo tou?
Oratè 1: No Se konsa, nan ka sa a, "ba" nou ta jwenn isit la, nou ta ka di se li yon mo, epi li ta ka pa gen okenn toujou. OK? Mmhmm?
ODYANS: Se konsa yon fwa ou se li yon mo ak ou di wi, lè sa a li pral gen pou yo ale nan m?
Oratè 1: Se konsa, sa te fè with-- w ap chaje sa a nan. Ou di "zou" se yon mo. Lè ou ale nan check-- tankou, di ou vle di, "Zou" egziste nan diksyonè sa a? W ap sèlman pral pou fè rechèch pou "zou," ak Lè sa a tcheke yo wè si li nan yon mo. Ou pa janm ap ale pou avanse pou pi a la m paske sa a pa ki sa w ap chèche pou.
Se konsa, si nou aktyèlman te vle ajoute "beny" nan eseye sa a, nou ta fè menm bagay la jan nou te fè ak "zou," eksepte nou ta renmen wè ke lè nou eseye epi pou yo jwenn h, li pa egziste. Se konsa, ou ka panse a sa a kòm ap yo ajoute yon nouvo ne nan yon lis lye, se konsa nou ta bezwen ajoute yon lòt youn nan ranje sa yo, tankou sa. Lè sa a, ki sa nou se nou jis mete h la eleman nan sa a etalaj montre nan sa a.
Lè sa a, sa ki ta nou vle fè isit la? Ajoute li egal a vre paske li nan yon mo. Fre. Mwen konnen. Ap eseye yo pa pi enteresan an. Trust m ', mwen konnen.
Se konsa, yon sèl bagay yo reyalize ak ap eseye, Mwen te di, yo ap trè efikas. Se konsa, nou te wè yo Leve kanpe, pran yon tòn espas. Yo ap kalite konfizyon. Se konsa, poukisa nou ta janm sèvi ak sa yo? Nou sèvi ak sa yo paske yo ap èkstrèmeman efikas.
Se konsa, si w ap janm kap moute yon mo, ou se sèlman bòne pa longè a nan pawòl Bondye a. Se konsa, si w ap chèche pou yon mo ki se nan longè senk, w ap sèlman janm ale nan gen fè nan pifò senk konparezon, OK? Se konsa, li fè li fondamantalman yon konstan. Menm jan ak ensèsyon ak Passage yo fondamantalman tan konstan.
Se konsa, si ou ka janm jwenn yon bagay nan tan konstan, sa a, se kòm bon jan li vin. Ou pa ka jwenn pi bon pase tan konstan pou bagay sa yo. Se konsa, ki se youn nan la gwo pluses ap eseye.
Men, li se yon anpil nan espas. Se konsa, ou kalite gen deside sa ki an plis enpòtan ba ou. Yo, epi sou òdinatè jodi a, la espas ki yon eseye ka pran jiska petèt pa afekte ou ke anpil, men petèt w ap fè fas ak yon bagay ki gen byen lwen, byen lwen plis bagay sa yo, ak yon eseye jis se pa rezonab. Wi?
ODYANS: Rete tann, kidonk, ou gen 26 lèt nan chak yon sèl?
Oratè 1: Mmhmm. Yeah, ou gen 26. Ou gen kèk se makè mo ak Lè sa a, ou gen 26 endikasyon nan chak yon sèl. Apre sa, yo ap point--
ODYANS: Ak tout 26, yo chak gen 26?
Oratè 1: Wi. Epi sa a, poukisa, menm jan ou kapab wè, li ogmante byen vit. Tout dwa. Se konsa, nou ap ale nan jwenn nan pye bwa, ki Mwen santi mwen renmen se pi fasil epi yo pral pwobableman gen yon bèl ti kras dele soti nan ap eseye a. Se konsa, èspere ke pi fò nan ou te wè yon pyebwa anvan. Pa renmen bèl la yo menm deyò, ki mwen pa konnen si nenpòt moun ki al deyò dènyèman. Mwen te ale pòm davwa fen semèn sa, ak Oh mwen bondye papa, li te bèl. Mwen pa t konnen fèy te kapab gade ki bèl.
Se konsa, sa a se jis yon pye bwa, dwa? Se jis kèk ne, epi li pwen nan yon pakèt moun sou lòt nœuds. Kòm ou wè isit la, sa a se kalite yon tèm renouvlab. Nœuds montre nœuds se kalite sans nan estrikti done anpil. Li jis depann sou ki jan nou fè yo lonje dwèt sou chak lòt ak ki jan nou Traverse nan yo ak ki jan nou Insert bagay ki detèmine diferan karakteristik yo.
Se konsa, jis kèk tèminoloji, ki mwen te itilize anvan. Se konsa, rasin se tou sa se nan tèt la anpil. li nan kote nou toujou kòmanse. Ou ka panse a li kòm tèt la tou. Men, pou pye bwa, nou gen tandans al gade nan li kòm rasin lan.
Anyen nan isit lan-- la anba a trè, trè bottom-- la yo konsidere kòm fèy bwa. Se konsa, li ale ansanm ak nan Bagay pyebwa antye, dwa? Fèy yo nan bor yo nan pye bwa ou.
Lè sa a, nou menm tou nou gen yon koup nan tèm yo pale sou nœuds nan relasyon youn ak lòt. Se konsa, nou gen paran, timoun, ak frè ak sè. Se konsa, nan ka sa a, 3 se a paran nan 5, 6, ak 7. Se konsa, paran an tou sa se yon sèl etap pi wo a tou sa ou ap refere li a, se konsa jis tankou yon pyebwa fanmi yo. Èspere ke, sa a se tout yon ti kras ti jan pi plis entwisyon pase ap eseye yo.
Frè ak Sè yo se nenpòt ki ki gen paran an menm, dwa? Yo ap sou nivo a menm isit la. Epi lè sa a, menm jan mwen te li di, timoun yo se jis tou sa se youn etap pi ba a ne nan nan kesyon, OK? Fre. Se konsa, yon pye bwa binè. Èske nenpòt moun kapab danje yon devine sou youn nan karakteristik sa yo nan pye bwa a binè?
ODYANS: Max de fèy bwa.
Oratè 1: Dwa. Se konsa, max nan de fèy bwa. Se konsa, nan yon sèl sa a anvan, nou te gen yon sèl sa a ki te gen twa, men nan yon pye bwa binè, ou gen yon max nan de timoun pou chak paran, dwa? Genyen yon lòt enteresan karakteristik. nenpòt moun ki konnen sa? Binè pyebwa.
Se konsa, yon pye bwa binè pral gen tout bagay sou the-- yon sèl sa a se pa Ranje men nan yon pyebwa binè Ranje, tout bagay sou bò dwat la gen plis pouvwa pase paran an, ak tout bagay sou bò gòch la se mwens pase paran an. Epi sa te gen yon egzamen kesyon anvan, se konsa bon konnen. Se konsa, wout la nou defini sa a, ankò, nou gen yon lòt ne. Sa a sanble trè menm jan ak ki sa? Doubl
ODYANS: Lye lis
Oratè 1: Yon lis lye doub, dwa? Se konsa, si nou ranplase sa a ak anvan ak pwochen, sa a ta ka yon lis doubl lye. Men, nan ka sa a, nou aktyèlman gen kite la ak dwa e ke sa a li. Sinon, li nan ekzakteman menm bagay la. Nou toujou gen eleman nan w ap chèche pou, ak ou jis gen de pwent ale nan tou sa ki nan pwochen. Yeah, se konsa pye bwa rechèch binè. Si nou remake, tout bagay sou la dwa isit la gen plis pouvwa than-- oswa tout bagay imedyatman a dwat a isit la gen plis pouvwa pase, tout bagay isit la se mwens pase.
Se konsa, si nou te nan rechèch nan, li ta dwe gade trè pre binè rechèch isit la, dwa? Eksepte olye pou yo kap nan mwatye etalaj la, nou ap jis gade nan swa bò gòch la bò oswa bò dwat la nan pye bwa an. Se konsa, li vin yon ti kras pi senp, mwen panse ke.
Se konsa, si rasin ou a se nil, evidamman li nan jis fo. Men, si li la a, evidamman li la vre. Si li nan mwens pase, nou fè rechèch bò gòch la. Si li nan pi gran pase, nou rechèch bò dwat la. Li nan egzakteman menm jan ak rechèch binè, jis yon diferan done estrikti ke nou ap lè l sèvi avèk. Olye pou yo yon etalaj, li nan jis yon pye bwa binè.
OK, pil. Epi tou, li sanble nou ta ka gen yon ti kras nan tan. Si nou fè sa, Mwen kontan yo ale sou nenpòt nan sa a ankò. OK, se konsa pil. nenpòt moun ki sonje sa stacks-- nenpòt ki karakteristik nan yon pil?
OK, se konsa pi fò nan nou, mwen panse, manje nan manje a halls-- kòm anpil jan nou pa ka renmen. Men, evidamman, ou ka panse a yon pil literalman jis kòm yon pil nan plato oswa yon pil nan bagay sa yo. Ak sa ki nan enpòtan reyalize se ke li nan something-- karakteristik la ke nou rele li by-- se LIFO. nenpòt moun ki konnen ki sa sa vle di pou? Mmhmm?
ODYANS: sot pase a nan, premye deyò.
Oratè 1: Dwa, dire nan, premye deyò. Se konsa, si nou konnen, si nou ap anpile bagay moute, bagay la pi fasil gen tan pwan off-- e petèt bagay la sèlman nou ka gen tan pwan koupe si chemine nou an se gwo enough-- se ke eleman tèt. Se konsa, tou sa yo te mete sou last-- jan nou wè isit la, tou sa te pouse sou pi fò nan recently-- se pral fè premye a bagay ke nou pòp nan, OK?
Se konsa, sa nou gen isit la se yon lòt struct tipedèf. Sa a se vrèman jis renmen yon aksidan kou nan estrikti done, se konsa gen nan yon anpil voye jete nan ou guys. Mwen konnen. Se konsa, ankò yon lòt struct. Ye pou estrikti.
Ak nan ka sa a, li nan kèk konsèy yon etalaj ki gen kèk kapasite. Se konsa, sa a reprezante chemine nou an isit la, tankou etalaj aktyèl nou an ki nan kenbe eleman nou an. Lè sa a, isit la nou gen kèk gwosè.
Ak tipikman, ou vle kenbe tras nan ki jan gwo pil ou a se paske sa li a pral pèmèt ou dwe fè se si ou konnen gwosè a, li pèmèt ou di, OK, mwen nan kapasite? Èske mwen ka ajoute anyen plis? Epi tou li di ou kote tèt la nan chemine ou se konsa ou konnen sa ou ka aktyèlman pran an. Epi sa a, aktyèlman ale nan gen yon ti kras pi plis klè isit la.
Se konsa, pou pouse, yon sèl bagay, si ou te tout tan tout tan aplike pouse, jan mwen te jis di, ou chemine gen yon gwosè ki limite, dwa? Etalaj nou an te gen kèk kapasite. Li nan yon etalaj. Li nan yon gwosè fiks, se konsa nou bezwen asire w ke nou pa ap mete plis nan etalaj nou an pase nou gen aktyèlman espas pou.
Se konsa, lè w ap kreye yon pouse fonksyon, premye bagay ou fè se di, OK, mwen gen espas nan chemine mwen an? Paske si mwen pa fè sa, regrèt, Mwen pa ka magazen eleman ou. Si m 'fè, lè sa a ou vle nan magazen li nan tèt la nan chemine a, dwa?
Lè sa a se rezon sa a genyen nan kenbe tras nan gwosè nou an. Si nou pa kenbe tras nan gwosè nou an, nou pa konnen ki kote yo mete li. Nou pa konnen ki jan anpil bagay se nan etalaj nou an deja. Menm jan ak evidamman gen fason ke petèt ou ta ka fè li. Ou te kapab inisyalize tout bagay sa yo nil ak Lè sa a tcheke pou nil an dènye, men yon bagay pi fasil se jis vle di, OK, kenbe tras nan gwosè. Tankou mwen konnen mwen gen kat eleman nan etalaj mwen, se konsa bagay la pwochen ke nou mete yo sou, nou ap pral nan magazen nan endèks 4. Lè sa a,, nan kou, sa vle di ke ou te avèk siksè pouse yon bagay sou chemine ou, ou vle ogmante gwosè a pou ke ou konnen ki kote ou yo, se pou ke ou ka pouse plis bagay sou.
Se konsa, si nou yo ap eseye pòp yon bagay nan chemine a, sa ki ta ka nan premye bagay ke nou vle tcheke pou? W ap ap eseye pran yon bagay nan chemine ou. Èske ou sèten gen nan yon bagay nan chemine ou a? No Se konsa, sa nou ta ka vle tcheke?
ODYANS: [fèbl]. Oratè 1: Tcheke pou gwosè a? Size. Se konsa, nou vle tcheke yo wè si gwosè nou an, se pi gran pase 0, OK? Men, si li se, Lè sa a, nou vle diminye gwosè nou an pa 0 epi retounen sa. Poukisa?
Nan yon sèl nan premye nou te pouse, nou pouse li sou gwosè ak Lè sa a, mete ajou gwosè. Nan ka sa a, nou ap decrementing gwosè ak Lè sa a pran li koupe, arrache li soti nan etalaj nou an. Poukisa nou ta ka fè sa? Se konsa, si mwen gen yon sèl bagay sou pil m 'yo, sa ki ta dwe gwosè m 'nan pwen sa a? 1.
Ak ki kote se eleman 1 ki estoke? Nan ki endèks? ODYANS: 0. Oratè 1: 0. Se konsa, nan ka sa a, nou toujou bezwen fè sure-- olye pou yo retounen gwosè mwens 1, paske nou konnen ke eleman nou an, se ale nan dwe estoke nan 1 mwens tou sa gwosè nou an se, sa a jis pran swen l '. Li se yon fason yon ti kras plis elegant. E nou jis dekrwasans nou an gwosè ak Lè sa a, retounen gwosè. Mmhmm?
ODYANS: Mwen devine jis an jeneral, poukisa ta estrikti sa a done dwe benefisye?
Oratè 1: Sa depann de kontèks ou yo. Se konsa, pou kèk nan teyori a, si w ap travay with-- OK, fè m 'wè si gen yon yon sèl benefisye ki se benefisye nan plis pase deyò nan CS. Avèk pil, nenpòt ki lè ou bezwen nan kenbe tras nan yon bagay ki se pi resamman te ajoute nan se lè w ap ale nan vle sèvi ak yon pil.
Apre sa, mwen pa ka panse a yon bon egzanp sou sa kounye a. Men, chak fwa pi resan an Bagay ki pi enpòtan ba ou, sa a, se lè yon chemine a pwal itil. Mwen ap eseye panse ke si gen nan yon yon sèl bon pou sa a. Si m 'panse a yon bon egzanp nan pwochen an 20 minit, Mwen pral definitivman di ou.
Men, an jeneral, si gen nan anyen, tankou mwen te di pi, kote ki pi resan ki pi enpòtan, ki nan kote yon chemine vin antre nan jwe. Lè nou konsidere ke ke moun kap kriye yo se kalite opoze an. Apre sa, tout chen yo ti kras. Se pa sa a gwo, dwa? Mwen santi mwen tankou mwen ta dwe jis gen yon videyo Bunny dwa nan mitan an nan seksyon pou ou nèg paske sa a se yon seksyon entans.
Se konsa, yon keu. Fondamantalman yon keu se tankou yon liy. Ou nèg mwen si ke itilize chak jou sa a, jis tankou nan koulwa manje nou yo. Se konsa, nou gen yo ale nan epi pou yo jwenn plato nou an, mwen se w ke ou gen yo rete tann nan liy glise oswa pou w jwenn manje ou.
Se konsa, diferans lan isit la se ke sa a se FIFO. Se konsa, si LIFO te dènye nan, premye soti, FIFO se premye nan, premye deyò. Se konsa, sa a se kote tou sa ou mete sou premye ki pi enpòtan ou yo. Se konsa, si ou te ap tann nan yon line-- ou ka imajine si ou te ale nan ale jwenn iPhone a nouvo epi li te yon pil ki kote nan moun pase nan liy te resevwa li an premye, moun ki ta touye youn ak lòt.
Se konsa, FIFO, nou ap tout trè abitye ak nan mond reyèl la isit la, epi li tout te fè ak aktyèlman kalite rkree liy sa a tout antye ak pase nan fè liy estrikti. Se konsa, Lè nou konsidere ke ak chemine a, nou gen pouse ak pòp. Avèk yon keu, nou gen enqueue ak dequeue. Se konsa, fondamantalman vle di enqueue mete l 'sou do a, ak vle di dequeue pran koupe soti nan devan an. Se konsa, estrikti done nou an se yon ti jan ti kras pi plis konplike. Nou gen yon bagay dezyèm nan kenbe tras nan.
Se konsa, san yo pa tèt la, sa a se egzakteman yon pil, dwa? Sa a se estrikti a menm jan ak yon pil. Bagay la sèlman diferan kounye a se nou gen sa a tèt, ki sa ou panse ki pral kenbe tras nan?
ODYANS: Yon sèl nan premye.
Oratè 1: Dwa, nan Premye bagay ke nou mete nan. Tèt la nan nat nou an. Nenpòt moun ki nan premye nan liy. Tout dwa, Se konsa, si nou fè enqueue. Yon fwa ankò, avèk nenpòt nan sa yo estrikti done, depi nou ap fè fas ak yon etalaj, nou bezwen yo tcheke si nou gen espas.
Sa a se kalite tankou m 'di ou nèg, si ou louvri yon dosye, ou bezwen yo tcheke pou nil. Avèk nenpòt nan pil sa yo ak ke moun kap kriye, ou bezwen yo wè si gen nan espas paske nou fè fas ak yon etalaj gwosè fiks, jan nou wè isit lan-- 0, 1 tout jiska 5. Se konsa, sa nou fè nan ka sa a se chèk yo wè si nou toujou gen espas. Se gwosè nou an mwens pase kapasite?
Si se konsa, nou bezwen nan magazen li nan ke a epi nou mete gwosè nou an. Se konsa, sa ta ka ke la dwe nan ka sa a? Li pa nan klèman ekri soti. Ki jan nou ta magazen li? Ki sa ki ta ke a ta dwe ye?
Se konsa, kite pou nou mache nan egzanp sa a. Se konsa, sa a se yon etalaj de gwosè 6, dwa? Epi nou gen kounye a, gwosè nou an, se 5. Men, lè nou mete l 'nan, li pral ale nan endèks la senkyèm, dwa? Se konsa, magazen an ke.
Yon lòt fason yo ekri ke ta jis gen etalaj nou an nan endèks nan gwosè, dwa? Sa a se gwosè 5. Next bagay ki pral ale nan 5. Cool? OK. Li vin yon ti kras pi plis konplike lè nou kòmanse pitye ak tèt la. Wi?
ODYANS: ki vle di ke nou ta yo te deklare yon etalaj ki te senk eleman long ak Lè sa a, nou ap ajoute sou li?
Oratè 1: No Se konsa, nan ka sa a, sa a se yon chemine. Sa a ta dwe deklare kòm yon etalaj de gwosè 6. Ak nan ka sa a, nou jis gen yon sèl bò gòch espas.
OK, se konsa yon sèl bagay se nan sa a ka, si tèt nou an, se nan 0, Lè sa a, nou jis kapab ajoute li nan gwosè. Men, li vin yon ti kras Delice paske aktyèlman, yo pa gen yon glise pou sa a, se konsa mwen pral trase yon sèl paske li pa byen sa ki senp yon fwa ou kòmanse pou elimine pou nan bagay sa yo. Se konsa, Lè nou konsidere ke ak yon chemine ou sèlman janm genyen enkyete sou sa ki gwosè a se lè w ap ajoute yon bagay sou li a, ak yon keu ou ap bezwen tou fè w ke se tèt ou matirite pou, paske yon bagay fre sou ke moun kap kriye se ke si ou pa nan kapasite, ou ka aktyèlman fè li vlope toutotou.
OK, se konsa yon sèl thing-- oh, sa a se terib lakre. Youn nan bagay yo konsidere se ka a. Nou pral jis fè senk. OK, se konsa nou ap ale nan di tèt la se isit la. Sa a se 0, 1, 2, 3, 4.
Tèt la nan la, ak tanpri gen bagay sa yo nan yo. Apre sa, nou vle ajoute yon bagay nan, dwa? Se konsa, bagay la ke nou bezwen konnen se ke tèt la se toujou ale pou avanse pou pi fason sa a ak Lè sa a, riban tounen otou, OK?
Se konsa, keu sa a gen espas, dwa? Li te gen espas nan konmansman an anpil, kalite opoze a nan sa a. Se konsa, sa nou bezwen fè se nou bezwen kalkile ke la. Si ou konnen ke ou tèt pa te deplase, ke se jis etalaj ou a endèks la nan gwosè a.
Men, an reyalite, si w ap lè l sèvi avèk yon keu, Se tèt ou pwobableman te mete ajou. Se konsa, sa ou bezwen fè se aktyèlman kalkile ke la. Se konsa, sa nou fè se sa a fòmil isit la, ki mwen pral kite ou mesye panse osijè de, ak Lè sa a, nou pral pale sou li. Se konsa, sa a se kapasite.
Se konsa, sa sa a aktyèlman pral ba ou yon fason yo fè li. Paske nan ka sa a, ki sa? Tèt nou an se nan 1, gwosè nou an, se 4. Si nou Mod ki pa 5, nou jwenn 0, ki se kote nou ta dwe D 'li.
Se konsa, Lè sa a, nan ka a kap vini an, si nou te fè sa, nou di, OK, kite a dequeue yon bagay. Nou dequeue sa a. Nou pran soti sa a eleman, dwa?
Epi, koulye a tèt nou ap montre isit la, epi nou vle ajoute nan yon lòt bagay. Sa a se fondamantalman nan tounen nan liy nou an, dwa? Ke moun kap kriye ka vlope toutotou etalaj la. Sa a youn nan diferans ki genyen prensipal la. Pil, ou pa ka fè sa.
Avèk ke moun kap kriye, ou ka paske tout sa ki zafè se ke ou konnen ki sa te pi resamman te ajoute. Depi tout bagay pral yo dwe ajoute nan direksyon leftward sa a, nan ka sa a, ak Lè sa a vlope toutotou, ou ka kontinye mete nan eleman nouvo nan devan an nan etalaj la paske li nan pa reyèlman devan nan etalaj la ankò. Ou ka panse a nan konmansman an nan la etalaj kòm kote tèt ou aktyèlman se.
Se konsa, sa a fòmil se ki jan ou kalkile ke ou. Èske sa fè sans? OK. OK, dequeue, ak Lè sa a, ou nèg gen 10 minit mande m 'nenpòt kesyon byen klè ou vle, paske mwen konnen li nan fou.
Tout dwa, se konsa nan menm way-- la Mwen pa konnen si ou nèg remake, men CS se tout sou modèl. Bagay yo bèl anpil nan menm, jis ak reglaj ti. Se konsa, menm bagay isit la. Nou bezwen tcheke yo wè si nou aktyèlman gen yon bagay nan nat nou an, dwa? Di, OK, se gwosè nou an pi gran pase 0? Fre.
Si nou fè sa, lè sa a nou deplase tèt nou an, ki se sa m 'jis demontre isit la. Nou mete ajou tèt nou yo dwe youn plis. Lè sa a, nou dekrwasans nou an gwosè epi retounen eleman an.
Gen se pi plis konkrè Kòd sou study.cs50.net, ak mwen trè rekòmande ale atravè li si ou gen tan, menm si li nan jis yon pseudo-kòd. Men, si ou nèg vle pale a ki avè m 'yon sèl sou yon sèl, tanpri kite m' konnen. Mwen ta gen kè kontan yo. Estrikti done, si ou pran CS 124, ou pral konnen ke estrikti done jwenn anpil plezi ak sa a se sèlman kòmansman.
Se konsa, mwen konnen li nan difisil. Li nan OK. Nou ki ap lite. Mwen toujou fè. Se konsa, pa enkyete twòp sou li.
Men, sa se fondamantalman ou aksidan kou nan estrikti done. Mwen konnen li nan yon anpil. Eske gen yon bagay ke nou ta renmen ale sou ankò? Nenpòt bagay nou vle pale a? Wi?
ODYANS: Pou ki egzanp, se konsa ke a nouvo se nan 0 sou sa? Oratè 1: Wi. ODYANS: OK. Se konsa, Lè sa a, ale atravè tout, ou ta gen 1 plis 4 or--
Oratè 1: Se konsa, ou te di yo: lè nou vle ale fè sa ankò? ODYANS: Yeah. Se konsa, si ou te lè n ap kalkile out-- kote yo ou kalkile ke a soti nan nan sa?
Oratè 1: Se konsa, ke a te in-- mwen chanje sa a. Se konsa, nan egzanp sa a isit la, sa a te etalaj la nou ap chèche a, OK? Se konsa, nou gen bagay sa yo nan 1, 2, 3, ak 4. Se konsa, nou gen tèt nou ki egal a 1 nan pwen sa a, ak gwosè nou an, se egal a 4 nan pwen sa a, dwa?
Ou tout dakò sa a, se ka a? Se konsa, nou fè tèt la plis gwosè a, ki ban nou 5, ak lè sa a nou Mod pa 5. Nou jwenn 0, ki di nou ke 0 se kote se ke nou an, kote nou gen espas.
ODYANS: Ki sa ki nan yon bouchon?
Oratè 1: Kapasite a. Padon. Se konsa, ki se gwosè a nan etalaj ou a. Wi?
ODYANS: [fèbl] anvan nou retounen eleman nan?
Oratè 1: Se konsa, nou deplase nan tèt oswa retounen moman sa a? Se konsa, si nou deplase yon sèl, dekrwasans gwosè a? Kenbe sou. Mwen definitivman bliye yon lòt. Pa janm tèt ou. Gen se pa yon lòt fòmil. Yeah, ou ta vle retounen tèt la ak lè sa a deplase l 'tounen.
ODYANS: OK, paske Lè sa a pwen, ki an tèt a te nan 0, ak Lè sa a ou vle retounen endèks 0 ak Lè sa a fè tèt 1?
Oratè 1: Dwa. Mwen panse ke gen nan yon lòt fòmil kalite tankou sa a. Mwen pa gen l 'sou tèt la nan tèt mwen kòm Mwen pa vle ba ou yon sèl nan sa ki mal. Men, mwen panse ke li nan parfe ki valab di, OK, magazen element-- sa a tou sa eleman tèt la is-- dekrwasans ou gwosè, deplase tèt ou sou, epi retounen kèlkeswa sa ki eleman se. Sa a parfe ki valid. OK. Mwen santi mwen tankou sa a se pa tankou most-- a ou pa ap ale nan mache soti nan isit la tankou, repons lan se wi, mwen konnen ap eseye. Mwen te resevwa li tout. Sa a OK. Mwen te pwomèt. Men, estrikti done yo se yon bagay ki li pran yo yon anpil nan tan jwenn itilize. Pwobableman youn nan pi di a bagay sa yo, mwen panse, nan kou an.
Se konsa, li definitivman pran repetisyon ak kap at-- mwen pa t 'vrèman konnen lis lye jouk tan mwen te fè byen lwen twòp ak yo, nan menm fason an ke mwen pa t ' reyèlman konprann endikasyon jouk tan mwen te gen yo anseye li pou de ane ak fè psets pwòp mwen ak li. Li pran yon anpil nan repetition ak tan. Ak evantyèlman, li pral kalite klike sou.
Men, nan entre-temps la, si ou gen kalite nan yon konpreyansyon wo nivo de sa sa yo fè, avantaj yo ak cons-- ki se sa ki nou reyèlman yo gen tandans mete aksan sou, espesyalman nan kou a Intro. Tankou, poukisa ta nou itilize yon eseye plis pase yon etalaj? Tankou, ki sa yo positifs yo ak negatif nan chak nan sa yo?
Ak konprann komès-konpwomi yo ant chak nan sa yo estrikti se sa ki nan pi plis enpòtan kounye a. Gen dwa gen yon sèl fou kesyon oswa de sa a, se pral mande w aplike pouse oswa aplike pòp oswa enqueue ak dequeue. Men, pou pati ki pi, li te gen ki pi wo nivo konpreyansyon ak plis nan yon men entwisyon se pi enpòtan pase aktyèlman ke yo te kapab aplike li.
Li ta dwe vrèman awizom si tout nan nou te kapab ale deyò epi yo ale aplike yon eseye, men nou konprann li nan pa nesesèman bagay ki pi rezonab kounye a. Men, ou kapab nan pset ou a, si ou vle , ak Lè sa ou pral jwenn pratik, ak Lè sa a petèt ou pral reyèlman konprann li. Wi?
ODYANS: OK, se konsa ki sa yo se nou vle di ke yo itilize nan pset an? Mwen bezwen sèvi ak youn nan yo? Oratè 1: Wi. Se konsa, ou gen chwa ou. Mwen devine nan ka sa a, nou kapab pale sou pset a yon ti kras paske mwen kouri nan sa yo. Se konsa, nan pset ou, ou gen ou chwa nan ap eseye oswa tab hash. Gen kèk moun ki pral eseye epi sèvi ak filtè fleri, men moun yo pa teknikman kòrèk. Poutèt nati Probabilistic yo, yo bay positifs fo pafwa. Yo ap gade fre nan, menm si. Trè rekòmande kap nan yo omwen. Men, ou gen chwa ou ant yon tab regle ak yon eseye. Epi sa k ap pase yo dwe kote ou chaje nan diksyonè ou yo.
Men, ou pral bezwen chwazi fonksyon regle ou, ou pral bezwen yo chwazi ki jan anpil bokit ou genyen, epi li pral varye. Menm jan ak si ou gen plis bokit, petèt li pral kouri pi vit. Men, petèt w ap gaspiye yon anpil nan espas fason sa a, menm si. Ou gen figi li soti. Mmhmm?
ODYANS: Ou te di anvan sa nou ka sèvi ak lòt fonksyon regle, ke nou pa gen kreye yon fonksyon regle?
Oratè 1: Wi, dwat. Se konsa, literalman pou fonksyon regle ou, tankou Google "fonksyon regle" epi gade pou kèk moun fre. Ou pa yo atann yo bati pwòp ou a fonksyon regle. Moun ap depanse yo tèz sou bagay sa yo.
Se konsa, pa enkyete sou bati pwòp ou yo. Jwenn youn sou entènèt yo kòmanse avèk yo. Kèk nan yo ou gen yo manipile yon ti jan a asire w kalite retou matche ak moute ak etajèr, se konsa nan kòmansman an, Mwen ta rekòmande pou lè l sèvi avèk yon bagay reyèlman fasil ki petèt jis achaj sou lèt la an premye. Lè sa a, yon fwa ou gen sa k ap travay, incorporant yon fonksyon regle pi fre. Mmhmm?
ODYANS: Èske yon eseye dwe oswa efikas men jis pi rèd, like--
Oratè 1: Se konsa, yon eseye, mwen panse, se entwitif difisil yo aplike men se trè vit. Sepandan, pran moute plis espas. Yon fwa ankò, ou ka optimize tou de nan moun ki nan diferan fason e gen fason to-- ODYANS: Ki jan yo se nou resevwa nòt sou sa a? li matter--
Oratè 1: Se konsa, w ap resevwa nòt fason nòmal. W ap ale nan dwe resevwa nòt sou desen. Kèlkeswa sa ki fason ou fè sa, ou vle asire w ke li nan kòm elegant kòm li kapab ak kòm efikas ke li kapab. Men, si ou chwazi pou ou yon eseye oswa regle tab, osi lontan ke li ap travay, nou ap kontan ak sa. Men, si ou sèvi ak yon bagay ki achaj sou lèt la premye, sa a, se amann, tankou petèt tankou konsepsyon-ki gen bon konprann. Nou ap tou rive la pwen nan semès sa a Mwen pa konnen si ou mesye noticed-- si w ap klas pset deperi yon ti kras paske nan konsepsyon ak etajèr, sa a, se parfe amann. Li nan ap resevwa nan yon pwen kote ou pwogram ap resevwa pi plis konplike. Gen plis kote ou ka amelyore sou.
Se konsa, li parfe nòmal. Li pa ke w ap fè pi mal sou pset ou yo. Li nan jis nou ap ke yo te pi rèd sou ou kounye a. Se konsa, tout moun nan santi li. Mwen jis resevwa nòt tout psets ou yo. Mwen konnen tout moun se santi li genyen li.
Se konsa, pa dwe enkyete sou sa. Men, si ou gen nenpòt kesyon sou psets anvan oswa fason ou kapab amelyore, Mwen eseye ak kòmantè espesifik la kote, men pafwa li nan fen ak mwen jwenn fatige. Èske gen nenpòt lòt bagay sou done estrikti? Mwen si ke ou nèg pa reyèlman vle pale de yo ankò, men si gen, mwen se kè kontan yo ale sou yo, osi byen ke anyen nan konferans sa a sot pase semenn oswa semèn pase a.
Mwen konnen semèn pase a te tout revizyon, se konsa nou te ka sote sou kèk revizyon soti nan konferans. Nenpòt lòt kesyon mwen ka reponn? OK, tout dwa. Oke, ou nèg jwenn soti 15 minit byen bonè.
Mwen espere sa a te semi-itil omwen, ak mwen pral wè ou nèg semèn pwochèn, oswa Jedi biwo èdtan. Èske gen demann pou ti goute pou semèn pwochèn, li nan bagay la? Paske mwen bliye sirèt jodi a. Lèfini, mwen fè sirèt dènye semèn, men li te Columbus Day, Se konsa, gen te tankou sis moun ki te gen kat sache nan sirèt nan tèt yo. Mwen ka pote Starbursts ankò si ou renmen. Starbursts? OK, son bon. Fè yon gwo jou, guys.