[Hudba hrát] Reproduktor 1: Dobře, všichni. Vítejte ve své poslední části se mnou. Je to už docela semestr. Nemůžu uvěřit, že to je, jako, týden 12 nebo 11, něco takového. Ale protože je to náš poslední část, máme spoustu cukroví. A budu se snažit a přípravka vás stejně jako já může pro vaši kvíz ve středu. Takže asi není nejlepší způsob, jak, jako, koncový úsek s kvíz přezkumu. Ale budeme snažit, aby to legrace. A je tu pořád cukroví. Tak doufejme, že to dělat lépe. Váš kvíz bude dost totéž jako Kvíz Zero. Je to bude stejný formát, stejné délky. Budete v pokojích rozptýlených přes akademické půdě, protože tam se blíží 900 z vás, a my nemůžeme všichni držet vás v místnostech, jako je tento. Tak se určitě podívat se na všechny One dokumentace Quiz on-line na cs50.harvard.edu dnes v noci nebo zítra v noci. Ujistěte se, že víte, kde jste jde to, co budete potřebovat, aby. Opravdu, stačí, aby se a tužku, a vy byste měli být v pořádku. Tyto otázky budou velmi podobně. Tam bude pravděpodobně pár multiple choice, pár krátká odpověď, někteří kódování, možná nějaký true / false, odpovídající řadu věcí. Takže byste neměli být příliš překvapen formátu. Co může být překvapivé, je délka, která v minulých letech, bylo mnohem déle. V mém roce, nemám jedinou přítele Vzpomínám si, že dokončení zkoušky. Tam byly jako násobek Stránky prázdné. Takže délka může být druh matoucí jen proto, že v některých letech, to má Byl mnohem déle, než Quiz One. Nemám ponětí, co to je bude jako tento rok, ale je to něco, co být vědomi. Kromě toho, difficulty-- lidé mají tendenci najít Kvíz One mnohem více obtížnější, než Kvíz Zero. Opět platí, že víte, je-li jste druh chůze se cítil trochu nesvůj z následujících důvodů jste neudělali, stejně jako jste si mysleli byste, nebo máte pocit, že ne dělat, stejně jako ty na Quiz One, nezapomeňte, že tam jsou asi spousta dalších lidí se cítí tímto způsobem. Byla jsem určitě jeden z těch lidí. Kvíz jeden, stejně jako, hodil mě na smyčku. A moji přátelé mají tento skvělý obraz z nich v JP Licks druh s nimi obrovský poháry, je rád, Quiz One, a díval se, jako by to v slzách. Takže je to všeobecný pocit. Je to těžký test, je to těžké kvíz. Je zřejmé, že pokud se vyjít ven a vy pocit, že to otřáslo, ideální pro vás. Ale vím, že jste pravděpodobně ne-- můžete si být téměř zcela určitě ne sám, pokud budete chodit ven pocit, eh, pravděpodobně mohl dostat lepší. Je to tuhé. Mm-hm. Diváků: Kolik je to stojí za to ve vztahu k [neslyšitelné]? Reproduktor 1: Stojí to samé. Jo. Ale opět, je to také bude ovlivněna jak zbytek třídy dělá, jak se váš oddíl dělá, Jak jste se zlepšil v průběhu času. Třídění je trochu z černé skříňky. Takže to, co je skutečný počet nebo procento dostanete není nutně líbit přímo koreluje se stupněm budete dostat. Je tu spousta faktory, které jdou do toho. Takže s tím, že budeme projít nějaké recenze kvíz. Já jsem prostě jít na spuštění tohoto jako minule pro vás. Mám všechny odpovědi na Kvíz Jeden z loňského roku. Takže pokud vy chcete vytáhnout že se na svých vlastních počítačích, pokud jste si vzít tuto zkoušku Před a máte nějaké dotazy, Myslel jsem, že bychom mohli jen projít některé z těch obtížných ty na to. Tak jsme si o tom promluvit, možná si trochu větší vhled Do intuice za některé Tyto otázky, jak k nim přistupovat. Stejně tak, jako minule, Mám 100 prezentaci palubu že má v podstatě všechny ze snímků, které jsem Připravili pro předchozí oddíly od vaší poslední quiz-- I mají v tomto balíčku. Takže můžeme projít cokoliv že jsme mluvili o předem, že možná vás Chcete něco víc o vyjasnění. Mohli bychom to udělat jako první. Ale jinak, že jsem super šťastní, že druh práce přes tyto problémy s vámi. A já jsem opravdu zde zaměřit se na to, co vy na to Bylo by velmi důležité zaměřit se na. Jako, samozřejmě, všichni tohle je důležité. Zvlášť když jsme se projít Quiz One, Určitě poukázat na věci jako: oh, mohlo by to být něco, co opravdu chcete vědět nebo chcete-li mít na svém tahák. Budu vám vyprávět, co jak jsme trochu projít. Takže v takovém případě, jsou tam nějaké věci že kluci chtěli projít? Také v případě, nemám to v mém palubu, můžeme vytáhnout něco na webu, nebo můžeme zkusit a udělat up příklad za chodu. Ale všechny pojmy, které vám kluci jsou trochu rozmazaný dál. [? Brian,?] Jste have-- Publikum: Oh, to je kumulativní? Stejně jako je věci na Quiz Zero bude tady? Reproduktor 1: To je kumulativní, ale je to mnohem víc o důraz na věci od vašeho posledního testu. Tak samozřejmě, vy kluci mají se dozvěděl o proměnných, a smyček, a podmiňovací způsob. A to není jako ty, jen jít pryč, protože jsou samozřejmě vlastní na všechno ještě že jsme se naučili teď. Je možné, že otázka na druhy, nebo tam může být otázka na různých vyhledávání. Nebo že by mohlo být pár Otázky týkající se možná něco, co jste mají co do činění s sestavování nebo různé chyby. Ale pokud jste se podíval na Kvíz Jeden z loňského roku, zjistíte, že to je Velmi hodně zaměřil na věci které se stalo od posledního testu. Proč se ty dveře stále zamčené? To mě opravdu trápí. Protože jsem se vždy snaží projít. Tak to je docela hodně Jak test bude. Takže nějaké pojmy, které kluci chtěli projít? Nebo můžeme skočit přímo do Jen při pohledu na Quiz One od loňského roku a druh děje přes otázky praxi. Můžeme také přepínat tam a zpět. To není jednorázový podobně. Nějaké otázky? Ano. Diváků: Mohl bych požádat otázka o another-- Reproduktor 1: Další? Diváků: To je od další rok. Reproduktor 1: Jo. Můžeme také udělat další rok. Diváků: OK. Tak v roce 2011. Reproduktor 1: 2011. Ooh, že byl rok přede mnou. Dovolte mi, abych to vytáhnout nahoru. Diváků: Myslím si, že. Reproduktor 1: Tento aspekt poměr hází mě. Diváků: 11 a 12. Reproduktor 1: 11 a 12. OK. No, tady, tak proč ne my to? Jste guys-- všichni jen vzít pár minut prohlédnout vyslýchá. A budeme sestavovat seznam. A pak půjdeme přes ně. V pořádku? I když jsem si spoustu této věci nastavit. OK. Já jsem prostě jít psát věci na papír. 2011, 11, a 12? Já jsem prostě jít ke změně tohoto zobrazení. OK. To už je lepší. Tento konec. Dobrá. Každý, kdo jiný má všechny, které by chtěl začít? Také zapomněl říct, chcete-li více Parta lidí, mluví se na vás a jen tak vám crack Samozřejmě, v posledních šesti týdnech utíkáme recenzi relace z 07:00 do 08:30 večer v severozápadním B103, který také náhodou Naposledy tam, kde to bude být já, Hannah, Daven, s Gabe a Rob druh pomoci od okraj jen tak házet všechny informace, které by vás mohly Chcete mít na svém tahák, lomítko, vím, obecně tam. Diváků: To je také on-line, je to tak? Reproduktor 1: Je to také on-line. Takže si můžete také nepleť se do toho fuj počasí, přejděte na koleji, a live-stream to, pokud budete chtít. Jsem si jistý, že mnoho people-- vím, že bych se dělat, že kdybych byl na vašem místě. OK. Tak proč nezačneme with-- při guys-- doufejme, díváte skrz. Pokud ne, mohl bych jen začít pracovat prostřednictvím různých věcí na Quiz One z minulého roku, pokud mají konkrétní otázky. Začneme s tím Otázkou o komíny. Takže to všichni pamatovat druh, co je zásobník? Jak máme tendenci to-- může někdo jen tak me obecný popis komína? Druh datové struktury. OK. Takže to je jedna z datové struktury, které jsme Očekávám, že se seznámili with-- jako komíny, pole, fronty, atd. Ano. Diváků: Jako první V, vydržet, něco. Reproduktor 1: Je to First In, Last Out. Přesně tak. Takže stack je přesně to, co máme tendenci si myslet o tom, kdy si myslíme, že na hromadu věcí. Takže stoh desek. První deska dáte dolů bude na dně, a to bude poslední ten, který jste odstranit na konci. Vzhledem k tomu, že vyrovnat. A budete mít jeden ze dna, obvykle, věci zhroucení a zlomit. Takže komíny si můžete myslet stejně jako hromadu desek. Nebo příklad vždy chtěli použít je v D halách, máte zásobníky, jsou všichni tísní, a budete mít z vrcholu. Takže poslední v je první ven. OK. Takže v tomto případě, my viz jsme have-- Zajímalo by mě, jestli můžu skutečně přiblížit trochu. Takže máme Tato struktura zde. Je to tak? Takže máte nějaké struct, který má některé int množství kapacity. Takže to, co si myslíme si, že představuje? To je pole s kapacitou velikosti. Takže to opravdu znamená náš stack obecně. Naše stack je opravdu jen pole s nějakou nastavenou že je jeho maximální, to znamená, že jeho kapacita. A pak máme nějaké velikost int, což bude sledovat velikost zásobníku našeho v dalším průběhu když jsme ji používáte. OK? V tomto případě je právě zde, můžeme říci, že naše Velikost zásobníku byla inicializována na 0. Takže máme prázdný zásobník právě teď. A pak chceme dokončit implementace popu tak, že se vrací int v horní části. A pak, pokud je to prázdný, vrátí negativní 1. OK? Takže chci vy jen přemýšlet o tom, co by mohlo dělat. Co by mohlo být jedním z prvních věci, které jsme chtěli zkontrolovat? Je tu skvělá věc tady. Kdykoliv says--, jestli je vůbec nějaký Pokud se tvrzení, stejně jako: "Pokud stack je prázdný," nebo "Pokud se to vrátí null," nebo "Pokud je to, co" - sorry. Diváků: Napište příkazu IF. Reproduktor 1: Right. Dalo by se napsat příkaz If. A to je pravděpodobně jeden z První věcí, kterou chcete zkontrolovat. OK. Kdykoliv se vám něco jako rohového případu takhle, to je typicky jeden z prvních věcí budete kontrolovat v kódu. Také něco uznávají kvízu je, pokud máte neefektivní způsob něco udělat, napište to dolů. Protože nejsme třídění jste na design, my jsme třídění vás správnost na kvízy. Takže i když víte, že je to super špatný způsob, jak něco udělat, ale funguje to, napsat to, OK? Doslova jsem viděl děti poslední rok-- když se podíváte na loňské jeden, jsou rádi, dělat Mario pyramidu. A doslova udělal "tisk, hash, tisk, hash, hash, tisk, hash, hash, hash. " Ale je to správné. To, co se nám to řečeno, takže si nemůžete vzít body off. Pokud jste až do drát, vás samozřejmě, Chcete získat více elegantní řešení, a více elegantní řešení bude pravděpodobně být méně kódu, který vás znamená pravděpodobně mají větší šanci, že jsou v pořádku. Ale pokud jste jako, víš co, no, já nemám čas, já že to je řešení, to není nejlepší, napište to. A dokonce můžete psát na side, vím, že je to hrozné, ale já vím, že to funguje. Takže jen heads-up. OK. Tak samozřejmě, první věc, kterou je toto prohlášení If. Takže to, co si myslíme, že to, pokud prohlášení bude? A skutečně, dovolte mi, abych open up mé velké Sublime editor. Chystám se kód to a pak se ukázat vám kluci, když se to dělá. Tak int pop. OK. Takže pokud máme to int pop void-- tak samozřejmě, To je nějaká funkce, která bere v nic a vrátí celé číslo, ne? Takže to jen tak mluvit o tento stack, že jsme vytvořili. Takže jen překlady tato poslední věta "pokud stack je prázdný, pop by se měly vrátit negativní 1, "jak můžeme dělat, že? Takže jestli to, co? Jak víme, že zásobník je prázdný? Je to jen velikost se rovná 0. Stack.size rovná 0. Také jsem trochu psát sem slepý. Takže pokud udělám některý typos-- oh, také zapomněl zmínit. Minulý týden jsem se totálně přišel na to, co náš problém byl s JavaScriptem. Nenechte vydělávat I a D. Měli byste pouze vydělávat I a dostat se element Id. A to byl celý chybě. Takže pokud vy vrátit a skutečně listovat mém kódu, Pokud jste právě udělat všechno malá písmena d, "zapomenout element Id," to bude fungovat. Tak jak jsem slíbil, jsem byl velmi blízko. Jen jsem vydělával něco Nebyl jsem měl, což Jsem si jistý, že vy jste měl v poslední pset. Takže pokud naše velikost se rovná 0, Co máme dělat? Diváků: Návrat negativní 1. Reproduktor 1: Návrat negativní 1. Super. Tak co teď budeme dělat? Chceme pop něco off. Teď to je případ kde máme něco. Naše velikost je větší než 1 nebo větší než 0, je to tak? Vlastně jsme se tam něco. Takže to, co chceme udělat, je, že jsme Chcete se vrátit právě zde. Chystáme se, že chceme vrátit vrchol zásobníku. OK? Tak jak můžeme udělat, že? Jak se vrátit na vrchol stohu? Pamatujte si, že náš stack je jen pole, ne? To má nějakou kapacitu že jsme ho dal. Jak jsme dát věci on-- nebo skutečně, budeme psát "tlačit", po tomto. Pokud věci jsou v there-- Možná, že snímek pomůže. Hm, mám rád velké křídy lépe. Tak if-- a můžete jen myslet na to, jak naše zásobníku. Tak to je 0, 1, 2. Já nevím, proč je můj boxy jsou stále menší. Ale tam. OK. Tak tohle je nějaký stack s kapacitou 5. A řekněme, že máme něco tady a máme tady něco. Takže v tomto okamžiku, naše velikost odpovídá, co? 2. A chceme-li pop něco pryč z toho, to znamená, že se chceme dostat zbavit toho tady. OK? Jak bychom se vrátit tuto hodnotu? Diváků: Velikost minus 1. Reproduktor 1: Right. Takže velikost minus 1, nebo mohl udělat velikosti minus minus. Ale nemůžeme prostě velikost. Je to uvnitř struct, že jo? Tak stack.struct. nebo stack.size. To je náš index právě tam. OK? A pak když se podíváme zpět na naši struct tady, jsme si všimli, že pro ve skutečnosti přístup pole, musíme udělat stack.numbers ve skutečnosti přístup, že pole. Tak, že se vrátí na vrchol zásobníku. Ale něco that--, jestli vy vypadat Na odpověď klíč, to je všechno, co dát. Tak to je ono. Ale mohl bych tvrdit, že jsou miss-- ooh, ne to, co jsem chtěl. Mohl bych tvrdit, že jsou něco chybí, protože-- ano. Diváků: zmenšení velikosti. Reproduktor 1: Right. Musíme snížit naši velikost teď. Takže to, co je složité o to je opět vrátíte něco, vaše funkce je bude výstup, ne? Takže to, co bychom mohli udělat, je ve skutečnosti zmenšit první naši velikost. A pak můžeme prostě stack.size. Můžeme jen používat stack.size jako náš index, nemohli jsme se? Vzhledem k tomu, pokud stack.size 2, to decrement my. A tak je to 1, který je náš aktuální Indice. Poté, co jsme se zbavit toho, jsme vlastně mají jen jednu věc v našem poli. Tak to dělá obojí. Diváků: [neslyšitelné]? Reproduktor 1: No, v tomto případě, jsme se právě vrátil prvek Na vrcholu, který je v našem formát, který je na vrcholu. Ale my jsme neudělali nic Velikost poté, co odstraní tento prvek. To se nezměnilo svou velikost dosud. To dělá vlastně neodmyslitelně změnit naše velikost. Ale aby to trochu jasnější, jsi to mohl udělat stack.size minus minus. Pro mě to dělá to, já nevím, trochu jasnější that-- ah, že jste skutečně mění, velikost a vrácením. Druhým způsobem bylo v pořádku, protože jste se mění a vrací ve stejnou dobu. Ale to je jen další způsob, jak psát to, že jsem chtěl ukázat vám kluci. Dává to smysl? Stohy, myslím, že jsou mnohem jednodušší, než front. [Smích] OK. Měla jste nějaké konkrétní otázky asi 11 a 12, nebo jen-- Diváků: Myslím, že to bylo stack. Reproduktor 1: Velikost zásobníku? Diváků: Ano. Reproduktor 1: Mám tě. OK. Jo, jsi to mohl udělat v jeden z těchto dvou způsobů. OK. Takže teď máme druhou. To je opravdu divné, stejně jako nemá to na mé obrazovce. Takže pokud se podíváme tady, teď chceme dokončení implementace Push, který vlastně dává něco jde a vloží něco, co do naší fronty, nebo do našeho komína. OK? Takže pokud jsme si všimli, my mají pár věcí. Máme great-- když vše ostatní, vždy, když máme jeden z nich, Měli byste aspoň polovina bod, protože vše, co musíte udělat, je změnit toto do C a oni vám polovinu. Takže ", pokud je zásobník plný nebo je negativní, zatlačte by se měl vrátit false. " OK? Takže my jen chceme pozitivní celá čísla, že je na naší zásobníku. V pořádku? A to bude buď return true nebo false. Takže jsme měli [neslyšitelné] bool. OK. Tak překlady. Diváků: [neslyšitelné]. Reproduktor 1: Oh, díky. Jo. To je důvod, proč jsem se vás kluci. Int n. Perfect. Vzhledem k tomu, že jsme uvedení něco, co se k naší zásobníku. My skutečně potřebují nějaké číslo. OK. Takže jen aby takový poslední řádek, který oni nám dali, náš druh rohových případů, Co si myslíte, že tady máme? Je zřejmé, že budeme mít nějaký IF. OK. Tak jsme si řekli, Je-li náš stack je plný nebo pokud n je negativní. Takže asi nejjednodušší začít s, takže pokud n je menší než 0 nebo-- vzpomenout na své pěkné AND a OR operátory tam. Jak bychom zkontrolovat, zjistit, jestli náš stack je plná? Co se stane? Diváků: Velikost stejnou kapacitou. Reproduktor 1: Přesně tak. Perfect. OK. A to, co chceme, aby tam dělat? Diváků: return false. Reproduktor 1: return false. Perfect. Takže v půli cesty, ne? Přinejmenším, vy bude mít polovina tohoto. Takže pojďme si o tom myslíte. Tak tohle je zásobník začneme. Snažíme se dát nějaký element tady. Máme velikost, která je roven 2 právě teď. Máme kapacitu, která se rovná až 5. A řekněme, že máme některé n, které je rovno 3. Proto musíme vstupu 3 do tohoto prostoru. A musíme vložit ji do indexu 2. Je to tak? Tak jak můžeme udělat? Snažím se assign-- my chcete přístup k naší nabídku. Tak stack.numbers. Ale na to, co by Indice chceme, aby to bylo? Diváků: [neslyšitelné]. Reproduktor 1: Jo. Stack.size. A my chceme, aby na rovné n, ne? Diváků: [neslyšitelné]. Reproduktor 1: Byl jsem vlastně jen při pohledu na to. Myslím si, že je v pořádku. Diváků: Nechceš Prostor kolem aktuální velikosti? Reproduktor 1: No, podíváme-li se zde, Naše velikost v tomto bodě je 2. Chceme, aby to jít do indexu 2, protože to je vrchol naší zásobníku. Takže bych řekl, že to by měla být stack.size, a pak by se zvýšila stack.size. Má všichni souhlasí s tím? Myslím, že s tím souhlasím. Vy můžete argumentovat se mnou, jestli chcete. Nebo ne hádat, ale můžeme diskutovat. Diváků: [neslyšitelné]. Reproduktor 1: Mm-hm, je místo, kde je to otevřít, protože nulové indexování. Takže zatímco v první části, Myslel jsem, že se mýlili, a oni byli vlastně pravdu, tohle část, Vlastně si myslím, že se mýlí. Řekl bych, že jste měl Rozhodně vstup zde. Myslím, že se všichni shodneme máme velikost 2. To je přesně tam, kde jsme aby naše nové číslo jít. Tak stack.numbers na stack.size by se měla rovnat n. A pak bychom zvýšíte stack.size. ++. A pak to, co chceme dělat? Je tu ještě jedna poslední věc, musíme dělat, když jsme úspěšně vložen to? Návrat pravda. A teď máte hotovo. Tak jsem pocit, jako by to byl celý minus minus stack.size a stack.size ++, že demolovat věci. Fuj. I keep-- Mám reflexivní tendence vždy zasáhnout Control, S, protože jsem nikdy nechci ztratit některé z mé práce. Ale nemusí to udělat teď. OK. Tak to byl stack. Super. Je tam něco? Věděli jste, kluci najít žádné další otázky, které byste chtěl jít z předchozích kvízy? Pokud ne, můžeme trochu začít mluvit přes Quiz Jeden z loňského roku. Ano. Diváků: Pro první část, já jsem opravdu porozumět tomu, jak jste smazali číslo. Není to ještě? Reproduktor 1: Číslo je to tam pořád. Ale co se stane, je, že proto, že jste Řekl to, že v horní části zásobníku je tady, když jdete na něco přidat do zásobníku, bude to prostě nahradit. Publikum: Oh, OK. Reproduktor 1: Jo. Takže je to, jako by zapomněl, a je to tam typ, co, i když je to tam. Diváků: [Neslyšitelné], nebo něco? Reproduktor 1: Ne. Vzhledem k tomu, že jsme v pole, nemáte se bát about-- budete jen přepsat, když ji budete potřebovat. Dobrá. Nějaké další otázky? Pokud ne, jsme jen tak začít pracovat prostřednictvím. Jo. Publikum: No, tohle je na 2013, ale právě prochází SQL věci. Reproduktor 1: SQL? OK. Tak to je 26 až 29. Diváků: Ano. Reproduktor 1: OK. Lovely. Pojďme vytáhnout ty nahoru. Oh, podívejte se. Už jste nyní Steve Ballmer mluví, mimochodem? Bylo to docela legrační, podle mého názoru. Jsem rád, že pokaždé, když jsem se vychovávat CS50'S webové stránky během úseku, je to jako, oh, sledujte sekce. A já jsem rád, mm. Diváků: Můžeme to udělat? Reproduktor 1: Uděláme to na konci. Jak to? Vzhledem k tomu, znám tě kluci vždy chtěli. Tak to uděláme na konci. Jeden otázky. Diváků: [neslyšitelné]. Reproduktor 1: Bude to meta sekce. Diváků: Je to jako 5 sekund. Diváků: Opravdu? Diváků: Je to jako 20 sekund. [Vložením hlasy] [SMÍCH] Reproduktor 1: Líbí se mi, že jste již udělali to, což je to, co mě šťastnější. OK. 26. OK. Vlastně jsme jen tak zrcadlo to teď, protože já nemůžu. To je nepříjemné. OK. Teď vidím všechno. Lovely. OK. Tak samozřejmě, mělo by to přinést zpět skvělé vzpomínky z [? CSG?] Finance. Polovina z vás asi mají svůj nyní třídí. Druhá polovina se dostanu do velmi, velmi brzy, slibuju. Takže máme nějakou SQL tabulky to je tady účty. Asi podobně jako uživatelské tabulky vašich obchůdky. A máme určitý počet že byl primární klíč a představuje Číslo účtu 12místné. A bilance je, kolik peněz mají. A výchozí hodnota je 100. A oni jim 100 dolarů jakýkoli čas, aby otevřít účet. Přál bych si, můj bankovní udělal. OK. Takže chceme dokončit schémat upřesní se vedle čísla v rovnováze příslušný typ SQL. Tak co vy myslíte, že by bylo něco jako vaší reflexivní reakci pro typy pro tyto dva? Diváků: Int. Reproduktor 1: int. OK. A pak se o rovnováhu? Desetinné. OK. Takže hned desetinných má. Int je blízko. Druh velké věci, je to zdůraznila, 12-místné číslo účtu. Kdykoli máme něco to je větší než osm číslic, chtějí použít big int, což myslím, že je-- Diváků: Je to prostě SQL? Reproduktor 1: Je to jediný případ, kdy jsem slyšel to je SQL-- například použití velké int. Je to jen na vás, aby trochu více přesnosti, ujistěte se, že nejste Přeplněný typ věc. Ve vší upřímnosti, myslím, že to je určitě jeden z těch, kde je to jako, oh, Je určen pro lidi kteří mají trochu více znalostí jazyka SQL. Nikdy jsme hovořili o Velké ints ve vašem pset. Takže je to něco jako jsem si jistá, pokud dáte int, to bylo napůl úvěr. A jak už jsem říkal, že jdou být některé otázky, které jsou právě chtěl, aby vás nachytat, tak že ne každý dostane 100. Vzhledem k tomu, samozřejmě, tam jsou někteří lidé v CS50 kteří dělali to pro obdobné osm let a jste jako, Co to děláš? Ale jo. Desetinné rovnováhy byl zřejmý. A pak velký int na číslo jen proto, že z toho, stejně jako, zdůraznila 12místný. Kdykoli něco je tučně, nebo je to zdůraznila, stejně jako, dávejte pozor na to. Neděláme to jen proto, že. OK. Takže "Předpokládejme, že banka účtuje 20 dolarů měsíčně za poplatek na všech účtech. S tím, co dotazu by banka odečíst 20 dolarů z každého účtu i když to vyplývá z některé negativní váhy? " Tak začněme jednoduché. Máme čtyři základní příkazy pro SQL, které jsou? Myslíte si kluci vzpomenout na čtyři ty velké, že jsem řekl? UPDATE, DELETE, SELECT a INSERT. Perfect. Mám to. Takže to, co si myslíme, že moc být velmi užitečné pro tohle? My are-- UPDATE. Přesně tak. Takže UPDATE, protože se díváme na účty, které již existují. Takže pamatujte naše všeobecné něco takového je aktualizace. A co pak přijde po aktualizaci? Máme nějakou tabulku že jsme odkazování. Takže když jsem se vytáhnout vznešený again-- UPDATE. Tak to je obecný formát. Takže máme Aktualizace tabulky. A co pak je to další věc, kterou máme? Můžete to udělat WHERE. A pak máme nějaké kvalifikátor zde. A pak to, co máme dál? Máme nějaké SET-- něco rovný k něčemu. Blah rovná bla. Aktualizováno bla. Je to tak? Tak to je jako obecný idea nějaké aktualizace. OK? Tak začněme vyplnění do toho, co by to mělo být. Takže to, co tabulka, mluvíme? Účty. A pak se v tomto případě, co je opravdu v pohodě Je tu mluvíme o specifických uživatelé v náš účet, nebo se bavíme o všem uživatelům? Mluvíme o všem uživatelům. Takže v tomto případě můžeme jen smazat WHERE kvalifikátor. Kde je pouze v případě, že chcete omezit to, co jste mění. Chcete-li změnit celý stůl, stačí kapka, že. OK. Takže teď jsme v našem souboru součásti. Co chceme změnit? Diváků: Balance. Reproduktor 1: Balance. A budeme to-- jak se budeme měnit rovnováhu? Máme 20 dolarů poplatek, ne? Minus 20. A oni řekli, že je to v pořádku, pokud máme záporné zůstatky. Takže v tomto případě nepotřebujete k tomu žádné další kontrolu chyb. OK? To je doslova vše, co musíte udělat. Pohodě? OK. Takže pojďme projít další. "S tím, co SQL dotaz mohl banka získat čísla účtů z jeho nejbohatších zákazníků s vyrovnává větší než 1000 dolar? " Je-li vaše banka a vaše nejbohatší zákazníky jsou jen ty s více než 1000 dolarů, Mám pocit, že jste dělá něco špatného. Stejně jako, jak se banka přežít na to? Stejně jako, že úroky, ne dost. OK. Při takové věci, co dělat myslíš, z našich čtyř funkcí, myslíš, že budeme používat? SELECT. Perfect. SELECT. OK. Takže jsme výběrem některé Identifikátor Z tabulky. A pak WHERE podmínka. Tak jak jsme se projít ty, já jsem prostě jít aby vám kluci obecný opakovací o všeobecné úpravě všech těchto. Takže jsme výběrem nějaké ze dne [? věc. ?] V tomto případě, to bude typicky nějaký sloupec. Takže v našem případě máme číslo, rovnováhu. V případě, že váš kluci ', možná to bylo ID, jméno, heslo. Některý z těchto sloupců, to je obvykle to, co jsme výběru. Takže v tomto případě, která sem druh kolony, co identifikátor jsme tahání z našeho stolu? Co to zeptejte se nás na? To nás žádá o naše čísla, ne? Čísla účtů. Takže pamatujte, jen čísla v tomto případě. Pokud se vy někdy měli chybu, že oranžová box by přijít. A bylo to jako neočekávaný řádku v, jako, cokoliv. Je to proto, že jste volal váš stůl špatně, ne? Takže buďte jisti, že jste volání správně sloupec. Takže z tabulky, náš stůl je tzv účty. Opět, ujistěte se, že jste přihlášení správně tabulku. A co pak je tu náš stav? To, co hledáme? Chceme, aby naše bohaté lidi. Ano. Takže vyvážit větší než 1,000. Tady to je. To je váš dotaz. Není to tak zlé, že jo? OK. Takže teď pro náš poslední. S tím, že jsme breezing přes. OK. Takže teď "s tím, co by mohlo dotaz banka zavřít, to znamená odstranit "- ne máte rádi, jak se Jen ti dal DELETE-- "Každý účet, který má bilanci 0?" Myslím, že se všichni shodneme, že jsme pravděpodobně bude používat DELETE. Jsem vítán, aby se některý diskuse kolem toho. Ale myslím, že je to dost bezpečné říkají, že bychom mohli použít DELETE. Takže budeme odstranit některé uživatelů z tabulky, kde stavu. Takže stejný druh věc jako SELECT. Takže v tomto case-- oh, promiň. Měl bych DELETE FROM. Vzhledem k tomu, Delete smazat celý řádek. Takže nemusíme mluvit o tom, které konkrétní věci, o uživatele kterém jsme mazání. Budeme-li odstranit uživatele, my jsme mazání všechno o nich. Takže v tomto případě, jen je třeba vyplňte náš, kde a náš stav. Takže naše tabulka je jen naše účty stůl, jak jsme dělali. A co pak je tu náš stav? Diváků: Balance. Reproduktor 1: Bilance se rovná 0. Správně. Všechny dobré. Ano. Diváků: [neslyšitelné]. Reproduktor 1: Takže DELETE neodmyslitelně odstraní všechno. A tak zatímco se SELECT, SELECT se v některé sloupce, které chcete vrátit. Pokud byste chtěli všechno o uživatel vrátil, můžete použít hvězda. Hvězda říká, návrat ke mně vše od tohoto uživatele. Nebo pokud dáte WHERE hvězdu, která znamená dej mi všechno. Ale DELETE neodmyslitelně má to. Takže pokud jste řekl, DELETE z účty, kde rovnováha se rovná 0, bude to projít. A všude tam, kde je rovnováha rovno 0, je ve své podstatě dělá. Bude-li odstranit všechno. Hvězda je for-- s SELECT nebo aktualizovat, to mluví více o jednotlivce pole odpovídá jednomu uživateli. Takže když si SELECT hvězda z stolu, kde ID se rovná 1, který se vrací k vám vše o uživatele s ID 1. Pokud byste měli udělat výběr čísla nebo SELECT ID názvu čárku od uživatelů WHERE ID roven 1, že Jen vrátí jejich počet nebo jejich ID a jejich jméno. OK? Tak jsme se použít hvězdu v tomto případě na nám vše o uživateli. A DELETE neodmyslitelně dělá. To není jen odstranit ID, nebo jen název, nebo cokoliv jiného. Jo, no. Je to jen vymaže celý uživatele. Takže jsme se nemusíte bát o tam hvězdy. Pokud byste chtěli smazat vše, co byste mohli udělat, a to bude jen kapka všechno. Ale obvykle ti, nechtějí dělat. Ale pokud jste někdy chtěli smazat všechno, jsi to mohl udělat. OK. Už jste kluci našel nějaké další otázky? Ano. Diváků: Mohl byste udělat 26? Reproduktor 1: 26 jsme právě udělali. Publikum: Oh, 25, promiň. Reproduktor 1: 25. OK. 25. Oh. Dělají JavaScript. Oh, nemůžu tomu uvěřit. Chystám se nepořádek nás znovu, kluci. OK. Dostali jsme to. Budeme dělat tuto práci. Ah, jQuery. Fun. OK. Tak jsme se jít do dokončení implementace webové stránky takovým způsobem, že v případě, že navštívit, vstup jejich jméno, a odeslat formulář, mají tento skvělý upozornění okno, které bude vypadat. Takže cokoliv se upozornění, my víme, že budeme muset použít JavaScript. Yay, JavaScript. A pokud se jim nepodaří Vstup A název před odesláním formuláře, by se měly objevit žádná výstraha. Takže můžete použít jQuery, ale vy nemusíte. Takže budu vám kluci pracovat Na to jen na pár minut. Přemýšlejte o tom. A pak budeme kódovat to. Slash se budu snažit a myslet Nejlepší způsob, jak vysvětlit tuto odpověď na vás. Dobrá. Budeme si to nastavit. OK. Takže jsme jen tak projít to, protože vím, že jQuery je trochu matoucí. JavaScript. Je to trochu mimo tam. Takže to, co budeme dělat, je [Neslyšitelné] vlastně vyřešen tento problém s jQuery. Takže pokud si vzpomenete, jQuery je jen knihovna to je jen postavený na JavaScriptu. Je to chtěl, aby vaše život trochu jednodušší. Určitě bych, pokud budete mít čas, podívejte se trochu dokumentace pro jQuery. Ale je to velmi podobné JavaScript. Má to podobné paradigmata, kde na vás použijte tento dot operátor volání funkce na objekty, které máte. Takže to, co tu máme, je pro jQuery, měli byste mít vždy tento druh z obalu, což je Funkce $ (document) .ready (funkce) v závorkách zde. OK. Tak tohle by mohlo být něco Chcete na svém tahák. Vzhledem k tomu, přinejmenším, můžete mají obal pro váš jQuery. A to bude aspoň můžete rozloučit cesty tam. Tak stejným způsobem, který jsme hodně mluvili o JavaScriptu a my bychom začít tím, že hledá na to, co se snažíme upravit nebo to, co se snažíme změnit. A to by obvykle První věc, kterou bychom dát. Takže v tomto případě, pokud se vrátíme k tomu tady a my se podíváme na náš formulář zde, máme tento vstupy, pravdu, tohle id vstupů. A my víme, že na základě Na naši otázku, my jsou buď bude hodit chyba, pokud je to prázdný, nebo budeme klást to do záznamu, že jo? Takže asi říci, že jsme bude zabývat vstupy zde. jQuery je velmi podobná v tom, že v případě my Vzpomeňte si na CSS, cokoliv s ID se podíváme na s hash. Cokoliv s třídě jsme Podíval se na s tečkou, ne? Takže stejně tady, co mluvíme jen o vstupy. Viděli jsme, že vstupy jsou ID v naší formě. Takže budeme odkazovat se na to jako takový. Vstupy. OK? Takže v případě pochybností, a to i Máte-li nikde, pokud jste opravdu jisti, o tom, jak tento přístup, A, mají tento obal. Takže tam se začít wrapper pro jQuery. B, ujistěte se, že víte, Co se mění. A v případě pochybností, dal, že v něčem, a dělat tečka, co si myslíte, že je třeba dělat s ním. Diváků: Co je obal? Reproduktor 1: wrapper je to první řádek. Tak to říká, počkejte, dokud Můj Dokument je připraven. Pak začněte hrát s věcmi. OK? Takže víme, že jsme probírat s vstupy. Takže jsme rádi, OK, vstupy je naše forma. To je naše ID. Tak to je to, co jsme bude hledat. A my chceme vidět, co se stane při odeslání tohoto formuláře, že jo? Tak, jak jsme si mohli myslet, máme nějaké .submit. Takže .submit jen říká, OK, tato forma že jsme odkazované s hash vstupy, když je předložena, vykonat něco jiného. Takže budeme mít nějakou funkci. Všimněte si, máme anonymní funkce zde. Máme anonymní funkci zde. Ano. Diváků: Bude to být vždy .submit, nebo je to jen proto, že v HTML, jsme typ tlačítko Odeslat? Reproduktor 1: Je třeba .submit, protože je to nějaký formulář, který předkládáme. Protože tento .submit nemusí nutně odpovídají tomu, co tlačítko je jako zavolat. Ale skutečnost, že je to tvořit, že jsme odesláním formuláře. OK. Tak si všimnout anonymní zde funkce, která says-- Diváků: Já opravdu nemám porozumět anonymní funkce. Reproduktor 1: Takže anonymní funkce, jsou jen funkce, které nemají jméno. Takže místo toho, aby nějakou hlavní funkci že calls-- bychom mohli říci, Je-li dokument ready, pak bychom nazvali vstupy. A pak, pokud jsou předloženy, call-- jako, Pokud ano-a-tak předložena, bychom zavolat nějakou jinou funkci. Anonymní funkce prostě nemá jméno, a to bude jen spustit v rámci těchto řadu věcí. Takže v tomto případě je, co to říká Je-li náš dokument je připraven, spustit tuto funkci. Tato funkce se skládá všechno v rámci zde. A pak další vrstva, je v pořádku, je-li vstupy předložena, spustit to. Je to jen způsob, jak označující co by mělo být provedeno při. Je to doslova funkce, která není mají název, takže mají tendenci být vnořené do sebe, protože nemůžete volat jménem. OK? Doslova, anonymní funkce je jen funkce bez názvu. To je všechno. Jen způsob, jak zapouzdřit různé věci že chceme provedený v určitých časech. Diváků: [neslyšitelné]. Reproduktor 1: otvor? Kde? Diváků: V závorce za funkci? Reproduktor 1: Po funkcí. Který z nich? Diváků: obojí. Vložíte-li, stejně jako, událost, nebo-li dáte argument tam, by to bylo špatně? Reproduktor 1: V tomto případě, myslím, že byste mohli dát argument tam. Ale protože my nepotřebujeme Argument, že by neměla být. Stejně jako, to je celé, podobně, měli byste jen mají věci, které jsou třeba něco takového. Stejným způsobem, že pokud bychom měli jakýkoli funkce, která má int main void-- jako: s int main prázdnotě, vy mohl dělat int arg v, cokoliv. Ale pokud nepotřebujete ty, ty by neměli mít je tam. Stejná věc. Emma, ​​to máte nějakou otázku? OK. Super. OK. Takže to, co zatím máme, je-li naše Dokument je připraven, spustit to. Teď se díváme na když je předložen. Takže teď máme skutečně sort masa naší věci. Takže potřebujeme získat hodnotu, uživatel předloženy, ať už je to název nebo prázdný. A pak musíme buď vrátit Tato výstraha nebo hodit chybu. Ať tak či onak. Tak jak jsme se prohlásit proměnná v jazyce JavaScript? Var. Tak řekněme, název var equals-- nebo vlastně, budeme dělat hodnotu protože si myslím, že je to jméno. OK. Takže máme nějakou hodnotu, tady to my chtějí vytáhnout z naší vstupy formuláře. Tak stejným způsobem, který jsme trochu udělali vstupů, může mi někdo říct, co jsme mohou být volání v rámci zde Pokud bychom chtěli získat název z formy? A podíváme-li se na náš formulář zde, jsme si všimli, že máme ID jména. Diváků: [neslyšitelné]. Reproduktor 1: Nemáte myslet na to, jako pole. Nemusíte se starat o to. Takže jsme prostě nějaký název. A pak, protože JavaScript a věci jsou divný, nemůžeme prostě "jméno." Vlastně jsme se zavolat některé funkce, která nám dává, jako je hodnota tohoto identifikátoru. OK? Takže to je prostě .val. Diváků: [neslyšitelné]. Reproduktor 1: OK. Tak s JavaScriptem, tento druh co tady právě prochází. A můžete myslet na to, že je to as-- jako téměř v getElementById, kde getElementById by vlastně vrátit plnou věc pro vás. $ ("# Jméno"), je jako, OK, mám to, můžu přistupovat, ale pokud opravdu chcete ho vrátit hodnotu you-- Diváků: Je to jako ukazatel? Reproduktor 1: Je to něco jako ukazatel. Dalo by se myslet na to, jak Něco jako ukazatel. Stejně jako se říká, OK, já vědět, jak se tam dostat, ale ve skutečnosti získat hodnotu mimo to, o ni budete muset požádat. A bohužel, samozřejmě, my ne dělat příliš mnoho se JavaScriptu a jQuery. Takže to přijde na to, jak moc ty guys-- co se stalo, že víte, to, co se stalo, že jste viděli, a co můžete trochu logicky hádat. Protože některé z těchto věcí, budete by pravděpodobně dostanete v půli cesty. Ale aby se to úplně v pořádku, Myslím si, že tento problém pravděpodobně měl jeden z nejnižších skóre. Publikum: Jako, například, pro [neslyšitelné] vstupy, proč si dát val tam? Reproduktor 1: U tohohle? Diváků: Ano. Reproduktor 1: Jo. Protože se jedná o druh of rádi, jak jsme řekli, nějaký ukazatel, a to jsem já odkazující to a vlastně nám dostat hodnotu. Diváků: vzhledem k tomu, [neslyšitelné]? Reproduktor 1: U vstupů, vstupy je jen some-- je to, jako bychom byli jenom při pohledu na to jako celek, a to .submit říká nám to, co potřebujeme vědět. jQuery a JavaScript je divný. Já vím. Já vím, chlapi. Já vím. Existuje důvod, proč se mi nelíbí dělat webové programování. Dělám si srandu. Neměl jsem dost expozici k němu. Diváků: [Neslyšitelné] CSS. [SMÍCH] Reproduktor 1: OK, to je CSS. CSS je stejně, jako, aby se věci dost, to není jako pojďme řešit s daty. Je tam rozdíl. OK. Takže teď doufejme, že to part-- i pro problém takhle, kde nesmíte znát syntaxi, můžeš být rád, OK, mohli byste mít nějakou hodnotu, var a to jako, Předpokládám, že dostal hodnotu správně. A pak by pravděpodobně mohlo napsat tento další díl. Tato další část bude pravděpodobně Zdá se mnohem jednodušší, nebo by to dělat logické smysl pro vás kluci. Vzhledem k tomu, co psali jsme tak daleko, Vím, že by to jako, ehm, jo, Já nevím, že na kvíz. Můžete zcela psát psuedocode a pak se proniknout do reálného kódu když you-- je to trochu jako matematika. Pokud jste někdy měli nějaké Problém vícedílná, kde nevíte, jak se dostat přes prvním kroku, ale všechno ostatní se opírá o první krok, stačí říct, jako, převzít x rovná 4. A pak se spustit s tím, že jo? Můžete udělat totéž s kódem. Takže by se dalo říct, předpokládat, Mám správnou hodnotu. Pak se to udělat další díl zde. Vzhledem k tomu, tato část se ve skutečnosti by mělo být docela logické. Proto musíme zkontrolovat pokud naše hodnota je prázdná. Nebo jestli je to nějaký název, skutečně dát upozornění. Takže to, co bychom mohli chtít zkontrolovat? Chceme mít nějaké If. Co si myslíte, že naše Pokud bude? Musíme zkontrolovat, zda hodnota je-- pokud to není prázdný řetězec. Perfect. Přesně tak. OK. Takže pokud je tomu tak, to, co chceme dělat? Chceme hodit nějaké upozornění, že jo? Takže je to jen ve střehu. A pak, co chceme dovnitř. Takže to, co jsme měli mít v našem upozornit? Diváků: "Dobrý den." Reproduktor 1: Comma. A pak si kluci Vzpomínám si, jak se spojit? Diváků: Plus. Reproduktor 1: Plus. Takže chceme mít znaménko plus. A pak musíme další plus pro naše vykřičníkem. Super. OK. Jinak to, co můžeme dělat? Nechceme nic dělat, je to tak? Tak jsme se prostě vrátí false. Ne to, co chci dělat. OK. A pak ty, na course--, co je důležité je pamatovat uzavřít Vaše anonymní funkce. Takže pokud si všimnete, máme nějaké Funkce tady, že zde končí. Proto musíme uzavřít tuto První a přidejte středník. A pak se to člověk tady musí dělat s touto anonymní funkce, tak jsme to tam zavřít. To automatickou reakci spoření. Ano. Diváků: Je nějaký důvod, that-- Jen ve všech příkladech v JavaScriptu že jsem viděl, máme první složené závorky na stejné lince jako funkce? Reproduktor 1: To je stylová. Jo. A skutečně, pokud budete mít 61, my dělat všechny naše složené závorky tímto způsobem. Huh? Diváků: Když jsme dělat na pset, je to špatné pro styl? Reproduktor 1: Ne. Výslovně Řekli jsme vy to udělat. Ale ve skutečnosti, to je druh z dominující úmluvy v mnoha tříd C a JavaScript a jQuery. Tak samozřejmě, že jsem sure-- a skutečně, když jsem se k tomu tento problém zcela slepý, aniž by se na to díval, je pravděpodobně velmi málo způsoby, jak bych dostal to. Možná jsem byl rád, OK, možná bych je třeba dát něco, co je vstup. A myslím, že s poznání, které, stejně jako, OK, pokud chci, aby si něco z formuláře, který má ID, Mám na mysli to tímto způsobem, Asi bych si to. Mohl bych si to. Ale opravdu, jediná věc, která si myslím, Já bych opravdu je to tady. Takže je to docela důležité, aby Víte, jak s nějakou obtížnou zkouškou, tak nějak si vybrat své bitvy, ne? Pokud víte, že nejste dostane že první část pro jQuery, jak jsem řekl, Předpokládejme, že máte tuto hodnotu a dělat to, co můžete s ním. A pokud budete mít čas, vrátit se a pokusit se vyplnit kusů. Ale nenechte takovou otázku to opravdu bažina vás. Vzhledem k tomu, co? To byla jedna otázka jQuery z celé zkoušky. Takže ano, to by bylo skvělé, kdyby ji dostal. Diváků: [neslyšitelné] vás mají k dispozici jQuery. Reproduktor 1: Jste vítejte na použití jQuery. Diváků: OK. [Neslyšitelné]. Reproduktor 1: Jak byste ji použít? Musel bych se podívat up všech mých JavaScript. To je ve skutečnosti mnohem jednodušší, Myslím, že k použití jQuery, protože jQuery skutečně snižuje Množství JavaScript píšete pravděpodobně by, stejně jako, napůl. Takže náš kód by pravděpodobně dvakrát tak dlouho, aniž by to. Takže pokud máte recognize-- největší to, aby se od tohoto problému jsou vzory. Pokud máte přístup něco z formuláře, budete používat citace, hash, ať se snažíte získat přístup. Pokud je to být předložena, chcete- použít něco jako .submit. Vy jste pravděpodobně bude používat anonymní funkce tam. Pokud opravdu potřebujete hodnotu něco, budete dělat citace, hash, co to pole, .val. A rozpoznání vzorců jako se děje být mnohem užitečnější než opravdu znát natvrdlý odvážný. Ano. Diváků: Takže pokud Uživatel zadá své jméno a to projde tohoto prohlášení, bude to jít dolů a vrátit false po tomto? Reproduktor 1: Ne, protože záznamu, si můžete myslet na to jako návrat. Jo. Takže to bude ukončit. Jo. Diváků: Mohl byste [? místo?] závorky o předložit závorky, co? Reproduktor 1: já, věřím. Tohle je zavřený tady. A pak se to dostane jeden uzavřený tady dole. Publikum: Oh, tam. Dobrá. Reproduktor 1: Samozřejmě, malý, málo syntaktické věci jako to, že budeme pravděpodobně jen kroužit a že bude rád, nezapomeňte si závorky. Ale jo. OK. Máme ještě jeden že bychom chtěli dělat? Věděli jste Chlapi binární strom jeden? Chceme jít přes to jedno? Mám pocit, že binární stromy a Domové by měly být body že vy dostanete docela snadno. Nechtěl bych vás ztratit body na to. OK. Pojďme to udělat DOM zde. Přál jsem Povrch, tak jsem mohl jen kreslit na obrazovce. To je to, co jsem k tomu v loňském roce. OK. Tak, jak jsem již zmínil, jsme si povídali o DOM, Document Object Model. Nejspíš bude vám někteří trochu z úryvku takhle a požádá vás o vytvoření strom pro něj. A to všechno jen má co do činění s běh přes tagy. Takže pojďme se pokusit to udělat. Také, podle obvyklé, pokud vy dělat tyto kvízy, jak jsem vysoce Doporučujeme, abyste dělat, co praxe, některé z nich, které jste jako, Opravdu nechápu, co je tu děje, prostě, samozřejmě, pošlete mi e-mail s dotazem, a já vám vysvětlí, jak nejlépe umím. OK. Máme nějaký dokument, a máme HTML. OK. Takže jsme prostě analyzovat tagy tady, ne? Takže to, co vidíme, jaké jsou comes-- dvě podpoložky pod HTML? Zvláště proto, že zda jsou správně odsazeny? Hlava a tělo. Ah. Hlava a tělo. Lovely. Takže začněme tu s hlavou. Co je pod hlavu? Jaký je náš další tag? Název. A pak se v titulu, kvíz. OK. Takže doslova, je to jen procházce značek, OK? Takže pokud máme tělo, jak jsme projít, Tělo má tři věci uvnitř, že? Má to tři divy. Každý div dostane svou vlastní malou krabičku. A co je v prvním div? [Neslyšitelné] A pak další, kdo je střední, který jsem jen tak zkrátit. A pak poslední z nich je dole. Takže opravdu, je to jen prochází. A protože budeme dávat you HTML, který je správně členité, můžete doslova jen projít a to jako, OK, tady je HTML. Tak tohle je vnější roh, nebo nejdále vlevo, tak, že musí být vlastní věc. Ty jsou na stejné odsazení. Takže víme, že hlava je třeba být na stejné úrovni jako subjektu, ale pod HTML. To je to, co tu máme. Hlava a tělo jsou sourozenci, ale jsou v HTML. A pak jsme se prostě jít do každého z nich. Takže hlava má název, který má kvíz, jak vidíme zde. A pak se v tomto případě máme orgán, který má tyto tři řádky. Tak to jsou všechny sourozenci vše pod tělem. OK? Takže doufejme, že když vidíte něco takového, jste jako, ano, jen jsem si nakreslit strom. Bude to skvělé. OK. Proto chtěl, aby se ujistil vy věděl. Tak proč nejdeme do 32 s naší binárním stromem? Vzhledem k tomu, jakmile pochopíte, binární vyhledávací strom, je to opravdu není tak špatné. Takže Everett, můžu erase-- I znamenat, to všechno jsou online, taky. Takže pokud máte nějaké dotazy. Ztracené málo místa tam, ale to je v pořádku. Takže binární vyhledávací strom je jen způsob, jak uspořádat dat není v poli, kde kořen je vždy vyšší než levá dítě a kořen je vždy menší než pravé dítě. OK. Takže máme tento skvělý vyhledávací strom zde. Máme tato čísla 34, 59, 20, 106, 36, a 52. A musíme uspořádat je tak tak, že kořen je větší než všechno na levé straně a to je méně než vše na pravé straně. A obvykle, co tě chci udělat, je pokusit se najít něco uprostřed. S binární vyhledávací stromy, můžete mít pohrát trochu s ním. Ale v tomto případě, řekněme Předpokládám, že víme, že tento první. Takže 36 je náš první, kdo zde. Obvykle bych zkusit a vybrat něco o uprostřed, které vám pravděpodobně přinesou nejlepší výsledky. Takže teď víme, že všechno na tato strana musí být menší než 36. Ale také to, co jste mohli vidět, je že máme dva body více než tady. Takže pokud víme, že potřebujeme dva Čísla, která jsou menší než kořen, pak byste mohli jen, aby tito a vyberte si třetí číslo. OK. Tak proč ne my začínáme této straně? Takže pokud víme, že všechno, co na tato strana musí být menší než 36-- ale pokud se podíváme na tohle, víme, že toto číslo musí být menší než toto číslo, že? Protože toto číslo zde je na pravé straně. A pamatujte si, stejně jako v naší větší strom, vše na pravé straně musí být větší než root. Tímto způsobem, my víme, že co je v této potřeby být větší než co je tady. OK? Takže máme dvě možnosti pro tyto dvě bublinky. Máme 32 a 34-- nebo líto. 20 a 34. Tak jak si myslíte, můžeme dát je do? Je-li tento jeden musí být větší, než je tento, to znamená, že chceme, aby mají 20 zde a 34 zde. OK. Takže stejným způsobem, se podíváme V tomto druhu podstromu. A my říkáme, OK, nemáme 36. Máme 106, 52 a 59. Je to tak? V tomto případě je tady, my vědí, že tento člověk potřebuje na jednu věc, která je větší než to a jedna věc, která je menší než to. Je to tak? Takže pokud dáme je do pořádku, je to jen o zjištění, že střední hodnoty znovu. Takže naše střední hodnota je 59. Takže říkáme, OK, co je méně než 59 let? No, to je 52. A co je větší než 59? No, to je 106. OK? Takže je to jen trochu jako puzzle. To typicky pomáhá, zejména v malé stromy, jako je tento, pokud jste jen, aby to, pokud máte vědět, kolik je na levé straně a kolik je na pravdu, že může jen vám umožní vybrat si, co by měla být kořenového adresáře. A pak můžete druh práce odtamtud. Mm-hm. 33? Jistě. OK. Proto chceme vytvořit uzel nebo binární vyhledávací strom. A pojďme se podívat na to, co by mohlo být v něm. A myslím, že to bude ve skutečnosti být naše poslední problém. Ah. OK. OK. To je jako to, co můžeme myslet jako uzel, ne? Máme nějakou hodnotu, a my vím, že to bude buď opustili a právo dětí. Binární vyhledávání tree--, že prostředky že má nanejvýš dvě děti. OK? Přemýšlejme o tom, jak jsme se definoval propojeného seznamu, je to tak? Měli jsme nějaké int, že představovalo hodnotu. Měli jsme nějaký ukazatel, který představoval co to bude příště. Binární vyhledávací strom je velmi podobná. Máme ještě nějakou hodnotu, n, že dáme to, že jo? A pak jsem čerpal tyto velmi výslovně se šipkami, proto, že jsou skutečně ukazatele. OK? Takže n je obvykle to, co? Je to nějaká hodnota. Co typicky označit ji jako? Int. Takže máme nějaké int n, nebo int hodnota, nebo co byste chtěli, aby to nazvat. A pak máme vlevo dítě a právo dítě. Je to tak? A my víme, že to, co jsou point--, co se jim ukazuje to? Jsou směřující do jiných uzlů, že jo? Tak jak bychom prohlásit ukazatel uzlu? Diváků: [neslyšitelné]. Reproduktor 1: Mm-hm. A budeme mít dva z nich, že jo? A pak se můžeme doslova se vlevo pro levou dítě a přímo na pravé dítě. Actually-- líto. Vzhledem k tomu, potřebujeme struct. Takže struct je, že jsme ne dokončil vyhlášení uzel dosud. Uzel, takže je v zde. Je to něco jako rekurzivní definice, že jo? Takže když jsme v rámci tato definice, my neskončil vyhlášení Uzel jako struktura, takže musíme udělat struct uzel jen říct, ano, jsme ve skutečnosti na mysli zpět k sobě samému typu věc. Že stejně jako kdysi, že je to vytvořen, bude to v pořádku. Tak, jak velký si kluci myslíte, že to je? Jaká je velikost této struktury? 12. Proč? Přesně tak. A ve skutečnosti, jeden z první otázky jeden Quiz One je o velikosti, což je důvod, proč jsem se ptal. Dobrá. Jedeme do konce, protože DCE bude křičet na mě, pokud to neuděláme. Ale pokud vy máte nějaké dotazy, Samozřejmě, napište mi, dejte mi vědět. Vy se chystáte zatřeste. Jsem super nadšený. Vy bude provedeno tak, jak středy, a poté dostanete pracovat na své finále projekty, a to bude úžasné. Budu tady příště týden od 4:00 do 04:30 pokud vy chcete přijít vyzvednout své kvízy. Pokud chcete, aby mi najít nějaký jiný čas nebo jen koordinovat jiný čas, neváhejte a dejte mi vědět. V opačném případě, je to naše poslední úsek. Tak to bylo skvělé, že tě vidím lidi. Věnujte více bonbóny. A hodně štěstí na vaší kvíz.