[Muziciranja] SPEAKER 1: U redu, svi. Dobrodošli na svom zadnjem dijelu sa mnom. Prošlo je dosta semestar. Ne mogu vjerovati da je to, kao što je, tjedan 12 ili 11, tako nešto. No, budući da je naš zadnji poglavlje, imamo puno slatkiša. I ja ću pokušati pripremite ti kao i ja može za svoj kviz u srijedu. Pa vjerojatno nije najbolji način da se, kao što su, na kraju poglavlje u kvizu pregled. No, mi ćemo pokušati učiniti zabavno. A tu je uvijek slatkiša. Dakle, nadamo se, da ćete učiniti ga boljim. Vaš kviz će biti prilično više ista stvar kao Kviz Zero. To će biti Isti format, iste duljine. Vi ćete biti u sobama razasutih po kampusu, jer postoji blizu 900 od tebe, a mi ne možemo Sve vas držati u prostorijama kao što je ovaj. Dakle, budite sigurni da pogledate sve Kviz Jedan dokumentacija online na cs50.harvard.edu Večeras ili sutra navečer. Pobrinite se da znate gdje ste ide, ono što je potrebno donijeti. Stvarno, samo trebate da se donese i olovku, i te bi trebao biti u redu. Pitanja će biti jako puno isto. Tu će vjerojatno biti par višestruki izbor, par kratki odgovor, Neki kodiranje, možda neki točno / netočno, podudaranje svašta. Dakle, ne bi trebalo biti previše iznenadio formatu. Ono što može biti iznenađujuće je duljina, koja je u prethodnim godinama, je mnogo više. U mojoj godini, nemam jednu prijateljicu Sjećam se da je završni ispit. Bilo je kao umnožak Stranice prazna. Dakle, duljina može biti vrsta zbunjujuće Samo zato što je u nekim godinama, ima bilo mnogo više nego što Kviz One. Nemam pojma što je to će biti kao ove godine, ali to je nešto biti svjesni. Osim toga, difficulty-- ljudi skloni pronaći kviz jedan mnogo više teže nego Kviz Zero. Opet, znaš, ako ste vrsta šetnju iz osjeća malo nelagodno zbog toga što nije učinio, kao što ste mislili što bi i vi osjećate kao da nije ne kao što je učinio na kviz Jedan, sjetite se da postoje vjerojatno puno drugih ljudi osjećaju na taj način. Bio sam definitivno jedan od onih ljudi. Kviz jedan, kao što je, bacio me na petlji. I moji prijatelji su to super slika ih u JP Licks vrsta s tim ogromnim sundaes, biti poput, kviz jedan, i izgleda kao da si u suzama. Dakle, to je opći osjećaj. To je teško test, to je teško kviz. Očito, ako se i vi Osjećam se kao da ga je potresla, super za tebe. Ali znam da ste vjerojatno not-- vi ste gotovo sigurno nije Samo ako hoda osjećaj kao, eh, vjerojatno bi mogao imati stečen bolji. Ovo je tvrdo. Mm-hm. PUBLIKA: Koliko se isplati u odnosu na [nečujan]? SPEAKER 1: To vrijedi isto. Da. Ali opet, to je također će biti utjecati kako ostatak klase ne, kako se poglavlje ne, Kako ste poboljšana tijekom vremena. Ocjenjivanje je malo crne kutije. Dakle, ono što je stvarni broj ili postotak te dobiti nije nužno željeli izravno korelaciji s ocjenom ti si idući u dobiti. Postoji mnogo faktori koji idu u nju. Dakle s tim, ćemo proći kroz neki kviz pregled. Samo ću pokrenuti ovo kao i prošli put za vas momci. Imam sve odgovore na kviz Jedan od prošle godine. Dakle, ako ti dečki žele povući da se na vlastite računala, Ako ste uzeti ovaj ispit prije i imate pitanja, Razmišljao sam što smo mogli samo proći kroz neke od težih one na to. Tako možemo govoriti o tome, možda dobiti malo bolji uvid u intuiciji iza nekih od ta pitanja, kako im pristupiti. Kao što je dobro, kao i prošli put, Imam 100-slide palube koji je u osnovi sve od slajdova koje sam pripremili za prethodnu dijelovi od Vašeg posljednjeg quiz-- I. ima u ovoj palubi. Dakle, možemo proći prilično mnogo bilo što da smo razgovarali o tome unaprijed da vam možda Želite malo više pojašnjenja o. Mogli bismo to učiniti prvi. Ali inače, ja sam super sretna samo vrste posla kroz ove probleme s vama. A ja sam stvarno ovdje da usredotočiti na ono što vi mislite će biti najvažnije da se usredotočite na. Kao i, očito, sve ova stvar je važno. Pogotovo što smo proći kroz kviz Jedan, Ja definitivno ću istaknuti stvari kao što su, Oh, to bi moglo biti nešto vi stvarno želite znati ili želite imati na vašem mangupirati se plahta. Ja ću se reći vam stvari kao što smo vrsta proći. Dakle, na tom note, postoje li stvari da ti dečki bi htjeli ići preko? Isto tako, ako ja to ne postoji u mom palubi, možemo podići nešto na webu, ili možemo pokušati učiniti up primjer na letu. No, bilo pojmovi koje dečki su malo fuzzy u. [? Brian,?] Jeste li have-- PUBLIKA: Oh, to je kumulativni? Kao, je stvari na kvizu Zero će biti ovdje? SPEAKER 1: To je kumulativno, ali to je puno više od naglaskom na stvari od zadnjeg kviza. Dakle, očito, ti dečki imaju saznao varijabli i petlje, i uvjetima. I to ne kao oni jednostavno otići, jer oni su Očigledno da se sve ostalo što smo naučili danas. Tu bi moglo biti pitanje o vrstama, ili postoji Možda je pitanje na različitim pretragama. Ili bi moglo biti par Pitanja o možda nešto što ima veze s prikupljanjem ili različite pogreške. Ali, ako ste gledali na Kviz Jedan od prošle godine, primijetit ćete da je to jako usredotočeni na stvari koje se dogodilo od zadnjeg kviza. Zašto se da su vrata uvijek zaključana? To stvarno mi smeta. Zato sam se uvijek pokušati proći kroz njega. Dakle, to je uglavnom Kako kviz će biti. Dakle, postoje li pojmovi koji ti dečki bi htjeli ići preko? Ili možemo skočiti pravo u Samo gledajući kviz One od prošle godine i vrsta ide kroz praksu pitanja tamo. Također možete prebacivati. Ovo nije jednokratna takve stvari. Bilo kakva pitanja? Da. PUBLIKA: Mogu li pitati Pitanje o another-- SPEAKER 1: Još jedan? PUBLIKA: Ovo je iz još godinu dana. Zvučnik 1: Da. Također možete napraviti još jednu godinu. PUBLIKA: OK. Dakle, na 2011. Zvučnik 1: 2011. Ooh, da je godinu dana prije mene. Dopustite mi da ovo gore povucite. PUBLIKA: Mislim. SPEAKER 1: Ovaj aspekt Omjer se mene bacanje off. PUBLIKA: 11 i 12. SPEAKER 1: 11 i 12. OK. Pa, ovdje, zašto ne bismo to učinili? Vi guys-- svi samo uzeti par minuta gledati kroz kvizove. A mi ćemo sastaviti popis. A onda ćemo proći kroz njih. U redu? Dok sam se hrpa ove stvari postaviti. OK. Samo ću napisati stvari na papir. 2011. godine, 11 i 12? Samo ću se promijeniti ovaj prikaz. OK. To je bolje. To više. U redu. Bilo tko drugi imaju bilo koji oni bi željeli početi sa? Također, zaboravio reći, ako želite više od hrpa ljudi pričaju na vas i samo dajući vam pukotine Naravno, u posljednjih šest tjedana, Mi smo se izvodi pregled sjednici od 7:00 do 08:30 večeras u Northwest B103, što se dogodilo Posljednji put, gdje će biti ja, Hannah, Daven, s Gabe a Rob vrsta pomoći od marginama samo vrsta bacanje sve informacije koje ste možda želite imati na vašem mangupirati se plahta, slash, znam uopće postoji. PUBLIKA: To je također online, zar ne? SPEAKER 1: To je također online. Dakle, što se također može ostati izvan toga Icky vrijeme, idite na vašem domu, i live-streaming ga, ako želite. Siguran sam da dosta people-- znam bih se radi da ako sam bila u tvojim cipelama. OK. Pa zašto ne počnemo with-- dok guys-- nadamo se, tražiš putem. Ako ne, ja samo mogu početi raditi kroz različite stvari na kviz One od prošle godine, osim ako imate konkretna pitanja. Počet ćemo s ovim Pitanje o dimnjaka. Tako se svi sjećate vrsta što snop? Kako smo skloni to-- može netko samo dati ja opći opis stog? Vrsta strukture podataka. OK. Dakle, to je jedan od strukture podataka koje smo Očekujemo da se upoznate with-- poput hrpe, polja, redova, itd. Da. PUBLIKA: Kao prvo U, Last Out, nešto. SPEAKER 1: To je prva u, Last Out. Točno. Dakle, stog je točno ono što smo skloni misliti O, kada mislimo od hrpe stvari. Dakle snop pločica. Prva ploča koju spustiti će biti na dnu, i to će biti posljednja onaj koji ste uklonili na kraju. Jer oni stog gore. A ti uzeti jednu od dna, obično, stvari srušiti i razbiti. Dakle hrpe možete sjetiti Baš kao i hrpu ploča. Ili primjer smo uvijek željeli koristiti je u D dvoranama, imate ladice, svi ste stog gore, a što se s vrha. Dakle, posljednja u je prvi out. OK. Dakle, u slučaju tu smo vidjet ćemo have-- pitam ako ja mogu zapravo povećavanje malo. Dakle, imamo to struct ovdje. Pravo? Dakle, imate neke struct koji ima Neki int broj kapaciteta. Dakle, ono što mi mislimo da predstavlja? To je niz od veličine kapaciteta. Dakle, ovo je stvarno predstavlja naš stack u cjelini. Naš snop je zapravo samo Niz s nekim određenog broja da je njegova max, to jest, njegov kapacitet. I onda imamo neku veličinu int, koji će pratiti veličinu našeg dimnjaka tijekom trajanja kada smo ga koristite. OK? U tom slučaju se upravo ovdje, reći ćemo da je naš Veličina stack je inicijalizacije 0. Dakle, imamo prazan hrpu upravo sada. A onda želimo završiti provedba popa tako da se vraća int na vrhu. A onda, ako je prazna, vraća negativan 1. OK? Dakle, želim ti dečki samo misliti o tome što možemo učiniti tamo. Ono što bi moglo biti jedno od prva stvari koje bih htio provjeriti? Tu je velika stvar ovdje. Kad god je to says-- ako postoji ikada neki Ako izjava, poput "Ako stog prazan," ili "Ako se to vraća null," ili "Ako je to bilo" - sorry. PUBLIKA: Napišite IF izjavu. Zvučnik 1: Pravo. Ti bi mogao napisati if naredbu. I to je vjerojatno jedan od Prve stvari koje želite provjeriti. OK. Kad god vam vrsta kao kutak slučaju kao što je to, to je obično jedna od prvih stvari idete provjeriti u svom kodu. Također, nešto se prepoznati za kviz je ako imate neučinkovit način učiniti nešto, to zapisati. Budući da nismo ocjenjivanja što na dizajnu, mi smo vas ocjenjivanja na ispravnost za kvizove. Dakle, čak i ako znate da je super loš način da se nešto učiniti, ali to radi, zapisati, OK? Doslovno sam vidio djecu prošle year-- Ako pogledate na prošlogodišnjem jedan, oni su kao, to je Mario piramidu. I oni doslovno upravo učinio "print, hash, print, mljeveno meso, mljeveno meso, print, ljestve, hash, mljeveno meso. " No, to je točno. To znači ono što je rekao da, tako da se ne može uzeti bodove off. Ako ste do žice, očito vas, Želite da biste dobili elegantnije rješenje, a elegantnije rješenje će vjerojatno biti manji broj, koji Vam znači vjerojatno imaju veću šansu da budu u pravu. Ali, ako ste poput, znate ono, ne, nemam vremena, ja znam da je ovo rješenje, to nije najbolje, napisati ga. A čak možete pisati o strana, znam da je to strašno, ali znam da to radi. Dakle, samo glava-up. OK. Dakle, očito, prva stvar Ako je ovo izjava. Dakle, ono što mislimo to ako Izjava će biti? A zapravo, neka mi otvorena do mog velikog uzvišenost urednika. Idem da kod ovog, a zatim pokazati vam dečki, kada se to radi. Tako int pop. OK. Dakle, ako smo to int pop void-- tako očito, to je neka funkcija koja se u ništa i vraća cijeli broj, zar ne? Dakle, to je samo idući u pričati o tome to stack koje smo stvorili. Dakle, samo prevodio ovaj zadnji rečenica, "ako je stog prazan, pop trebao vratiti negativna 1, "Kako bismo mogli to učiniti? Dakle, ako je ono? Kako znamo da je stog prazan? To je samo veličina jednaka 0. Stack.size jednak 0. Također, ja sam vrsta pisanja slijepa ovdje. Dakle, ako ja bi bilo typos-- oh, također zaboravio spomenuti ovo. Prošli tjedan, sam potpuno shvatio što je naš problem s JavaScriptom. Ne kapitalizirati I i D. trebate samo kapitalizirati ja i dobiti elementa po ID. I to je cijela pogreške. Dakle, ako ti dečki vratiti i zapravo gledati kroz moj broj, Ako ste upravo čine sve mala d, "zaboravi elementa po ID" to će raditi. Dakle, kao što sam obećao, bio sam vrlo blizu. Upravo sam kapitaliziraju nešto Nisam trebao, što Siguran sam da ste vi imali u svom posljednjem PSET. Dakle, ako je naša veličina je jednaka 0, ono što smo trebali učiniti? PUBLIKA: Povratak negativnih 1. SPEAKER 1: Povratak negativnih 1. Cool. Pa sad što nam je činiti? Želimo pop nešto off. Sada je to slučaj gdje imamo nešto. Naša veličina je veća od 1 ili veći od 0, zar ne? Mi zapravo imamo nešto tamo. Dakle, ono što želimo učiniti je da žele se vratiti ovdje. Mi ćemo reći što želimo Za povratak na vrh dimnjaka. OK? Pa kako bismo mogli to učiniti? Kako smo se vratili na vrhu snopa? Zapamtite, naš snop samo niz, zar ne? Ona ima sposobnost da smo ga dali. Kao što smo stavili stvari on-- ili zapravo, ćemo napisati "gurati" nakon toga. Ako su stvari u there-- Možda slika će vam pomoći. Hm, volim velika kreda bolje. Dakle if-- a možete jednostavno mislim da je to što je naše stog. Dakle, to je 0, 1, 2. Ne znam zašto je moj kutije su sve manje. Ali postoji. OK. Dakle, ovo je neki stog s kapacitetom od 5. I recimo da imamo nešto ovdje i mi imamo nešto ovdje. Dakle, u ovom trenutku, naš veličina je jednaka što? 2. A ako želimo pop nešto izvan njega, to znači da želimo dobiti osloboditi od ovaj ovdje. OK? Pa kako bi se vratili tu vrijednost? PUBLIKA: Veličina minus 1. Zvučnik 1: Pravo. Dakle, veličina minus 1, ili mogao učiniti veličine minus minus. No, ne možemo samo napraviti veličinu. To je unutar STRUCT, zar ne? Tako stack.struct. ili stack.size. To je naš indeks pravo postoji. OK? A onda, ako ćemo gledati Povratak na našoj STRUCT ovdje, možemo primijetiti da se zapravo pristupiti niz, moramo učiniti stack.numbers zapravo pristupiti tu niz. Tako da se vraća na vrhu snopa. Ali nešto that-- ako ti dečki izgledaju u ključu za odgovore, to je sve što daju ti. Dakle, to je to. Ali ja mogu tvrditi da su oni miss-- Ooh, a ne ono što sam htjela. Mogao bih reći da su oni nešto nedostaje, because-- da. PUBLIKA: Smanjite veličinu. Zvučnik 1: Pravo. Moramo smanjiti našu veličinu sada. Dakle, ono što je zeznuto o tome ovo je nakon što se vrati nešto, tvoj funkcija je ide izlaz, zar ne? Dakle, ono što možemo učiniti je zapravo smanjimo veličinu prvi. I onda mi samo možemo učiniti stack.size. Mi jednostavno može koristiti stack.size kao naš indeks, ne možemo? Jer ako stack.size 2, to opadanje smo. I tako je 1, što je naša stvarna indeksom. Nakon što se možemo osloboditi toga, mi zapravo samo jednu stvar u našem polje. Dakle, to ne oboje. PUBLIKA: [nečujan]? SPEAKER 1: Pa, u tom slučaju, upravo smo se vratili element na vrhu koji je na našem Veličina koja je na vrhu. No, nismo učinili ništa Veličina nakon što smo ukloniti taj element. To se nije promijenilo naše veličine još. To se zapravo inherentno promijeniti naše veličine. No, da bi to malo jasnije, što bi mogao učiniti stack.size minus minus. Za mene, to čini, ne znam, malo jasnije that-- ah, da ste zapravo mijenja Veličina i povratka. Drugi način je u redu, jer je što se mijenja i povratku u isto vrijeme. No, to je samo još jedan način za pisanje to što sam vam htio pokazati dečki. Je li to smisla? Stacks, mislim, su mnogo lakše nego redovima. [Smijeh] OK. Jeste li imate bilo kakvih konkretnih pitanja oko 11 i 12, ili just-- PUBLIKA: Mislim da je stog. SPEAKER 1: Veličina stog? PUBLIKA: Da. Zvučnik 1: Gotcha. OK. Da, možete to učiniti u jedan od ova dva načina. OK. Tako sada imamo drugu. To je stvarno čudno, kao što su ne da to na mom ekranu. Dakle, ako ćemo gledati ovdje, sada žele dovršiti provedbu pritiskom, što zapravo stavlja nešto, ide i unosi nešto u našoj red, ili u našoj stog. OK? Dakle, ako smo najavu, ima nekoliko stvari. Mi imamo great-- ako sve ostalo, kad god imamo jedan od tih, ti dečki barem trebao dobiti polovicu točka, jer sve što morate učiniti se pretvoriti ovo u C A oni vam dati pola od toga. Dakle, "ako je stog pun ili je negativna, zatim gurnuti trebao vratiti false. " OK? Dakle, mi samo želimo pozitivno integers biti na našoj stog. U redu? A to se događa na bilo povratak istina ili laž. Tako smo trebali [nečujan] bool. OK. Tako prevođenju. PUBLIKA: [nečujan]. SPEAKER 1: Oh, hvala. Da. To je razlog zašto sam vam dečki. Int n. Savršeno. Budući da smo stavljajući nešto o našem stog. Mi zapravo treba neki broj. OK. Dakle, samo da tu posljednju liniju koja što nam je dao, naša vrsta kutnih slučajeva, Što misliš imamo ovdje? Očito, mi ćemo imati neke ako. OK. Tako smo, rekao je, ako naš snop puna ili ako je n negativna. Tako je vjerojatno najlakši za početak s, tako da, ako je n manji od 0 or-- sjetiti svoje lijepo I i ILI operateri tamo. Kako bi se provjeriti je li naša stog pun? Što se događa? PUBLIKA: Veličina jednaku sposobnost. Zvučnik 1: Točno. Savršeno. OK. A ono što ne želimo raditi tamo? PUBLIKA: Povratak lažna. SPEAKER 1: Povratak lažna. Savršeno. Pa pola puta, zar ne? U najmanju ruku, dečki će imati pola od toga. Tako ćemo razmišljati o tome. Dakle, to je stog počnemo s. Mi pokušavamo staviti neki element ovdje. Imamo veličinu koja je jednak 2 sada. Imamo kapacitet koji iznosi 5. I recimo imamo Neki n da je jednak 3. Dakle, moramo ulaz 3 u ovom prostoru. I moramo ga unijeti u indeks 2. Pravo? Pa kako bismo mogli to učiniti? Pokušaj mi assign-- žele pristup našim niz. Tako stack.numbers. No, na što bi indeksom želimo da to bude? PUBLIKA: [nečujan]. Zvučnik 1: Da. Stack.size. I želimo da to jednake n, zar ne? PUBLIKA: [nečujan]. SPEAKER 1: Bio sam zapravo samo gleda na to. Mislim da nije u redu. PUBLIKA: Ne želite Prostor pored trenutne veličine? SPEAKER 1: Pa, ako gledamo ovdje, naša veličina u ovom trenutku je 2. Želimo da se ide u indeks 2, jer ovo je vrh našeg dimnjaka. Dakle, ja bih rekao da je to treba biti stack.size, a onda će se povećati stack.size. Da li su svi suglasni? Mislim da se slažem s tim. Vi dečki mogu tvrditi sa mnom, ako želite. Ili se svađati, ali možemo o tome razgovarati. PUBLIKA: [nečujan]. SPEAKER 1: Mm-hm, gdje je otvoriti zbog nula indeksiranje. Dakle, dok je u prvom dijelu, Mislio sam da su bili u krivu, i oni su zapravo u pravu, to dio, ja zapravo mislim da su bili u krivu. Rekao bih vam trebao definitivno ga unosa ovdje. Mislim da smo svi se slažu imamo veličine 2. To je točno gdje smo Želite naš novi broj otići. Tako stack.numbers na stack.size treba biti jednak n. I onda bismo povećajte stack.size. ++. I onda ono što želimo učiniti? Postoji jedna stvar moramo učiniti ako smo uspješno umetnut to? Povratak istina. I sad ste učinili. Dakle, osjećam se kao da je cijeli minus minus stack.size i stack.size ++ da zabrljati stvari. Uh. I keep-- imam koljena kreten Tendencija je uvijek pogoditi Kontrola, S, jer nikad nisam želim izgubiti bilo koji od mog posla. Ali mi ne treba to učiniti sada. OK. Tako da je snop. Cool. Ima li išta? Jeste li vi pronašli bilo druga pitanja da bih željeli ići preko iz prethodnih kvizova? Ako ne, možemo vrsta početi govoriti kroz kviz Jedan od prošle godine. Da. PUBLIKA: Za prvi dio, zapravo nisam Razumijem kako se brišu broj. Nije li još tamo? SPEAKER 1: Broj je još uvijek tu. No, ono što se događa je da je zbog toga što ste to je rekao da je na vrhu dimnjaka je ovdje, kad idete dodati nešto na dimnjaku, to samo će ga zamijeniti. PUBLIKA: Oh, OK. Zvučnik 1: Da. Dakle, to je kao da je zaboravio i da je tamo vrsta stvar, iako je to tamo. PUBLIKA: [nečujan] ili nešto? SPEAKER 1: Ne Budući da smo u Niz, nemate brinuti about-- ćete samo nadjačati ga kada je to potrebno. U redu. Ima li još pitanja? Ako ne, samo mi ide početi raditi kroz. Da. PUBLIKA: Pa, ovo je na 2013, ali samo ide kroz SQL stvari. SPEAKER 1: SQL? OK. Dakle, to je 26 do 29 godina. PUBLIKA: Da. Zvučnik 1: OK. Lijep. Ajmo povući onima gore. Oh, izgleda. Jeste li vi uživate u Stevea Ballmer razgovor, usput? To je prilično smiješan, po mom mišljenju. Volim da svaki put kad bi se CS50-a Web stranica u poglavlju, to je kao, oh, gledati odjeljak. I ja sam kao, mm. PUBLIKA: Možemo li to učiniti? SPEAKER 1: Učinit ćemo to na kraju. Kako je to? Jer znam da dečki uvijek želio. Dakle, mi ćemo to učiniti na kraju. Jedan pitanja. PUBLIKA: [nečujan]. SPEAKER 1: To će biti meta poglavlje. PUBLIKA: To je kao 5 sekundi. PUBLIKA: Stvarno? PUBLIKA: To je kao 20 sekundi. [Ubacivanjem GLAS] [Smijeh] SPEAKER 1: Volim da ste to već učinili to, što je ono što me čini sretnijima. OK. 26. OK. Zapravo, samo smo si idući u ogledalo ovo sada, jer ja ne mogu. Ovo je neugodno. OK. Sada mogu vidjeti sve. Lijep. OK. Dakle, očito, to bi trebala vratiti velike uspomene iz [? Strateške smjernice Zajednice?] Financije. Polovica od vas o tome što tvoje ocjenjuju sada. Druga polovica ću doći do Vrlo, vrlo brzo, obećavam. Dakle, imamo neke SQL tablica to je Računi ovdje. Vjerojatno slično svoje momke "Korisnik tablice. I mi imamo neki broj da je primarni ključ i predstavlja Broj 12-znamenkasti računa. A ravnoteža koliko novca imaju. A zadana vrijednost je 100. A oni im daju 100 dolara svaki Vrijeme su otvorili račun. Želim moje banke učinio. OK. Dakle, želimo završiti shemu po navodeći uz broj u ravnoteži odgovarajuću SQL tipa. Pa što vi mislite bi vrsta kao što su koljena i oštre reakcije za vrste za ove dvije? PUBLIKA: Int. SPEAKER 1: int. OK. A onda za ravnotežu? Decimalni. OK. Dakle decimalnih je u pravu. Int je u neposrednoj blizini. Vrsta Velika je stvar što to naglasio je broj 12-znamenkasti računa. Kad god imamo nešto to je veća od osam znamenki, žele li koristiti veliki int, što mislim is-- PUBLIKA: Je li to samo SQL? SPEAKER 1: To je jedini put da sam čula to je SQL-- poput koristeći veliki int. To je samo da vam malo više preciznosti, pazeći da si ne prepun vrsta stvar. Iskreno, mislim da je to je svakako jedan od onih gdje je to, oh, to je značilo za ljude koji ima malo više znanja SQL. Mi nikada razgovarali o tome veliki Ints u vašem PSET. Dakle, to je vrsta kao što sam prilično siguran Ako ste stavili int, bilo je pola kredita. I kao što sam rekao prije, postoje ide da se neka pitanja koja su upravo značilo da vam putovanje gore, tako da da nije svatko dobiva 100. Jer, naravno, postoji su neki ljudi u CS50 koji su to radili za slično osam godina, a ti si kao, Što to radiš? No, da. Decimalni za ravnotežu je očito jedan. A onda veliki int za broj samo zato toga, kao što je, naglasio je 12-znamenkastim. Kad god je sve u podebljano ili je naglasio je, kao što je, obratite pozornost na to. Mi ne radimo to samo zato. OK. Dakle, "Pretpostavljam da je nameće banke 20 dolara mjesečne naknade na svim računima. Uz ono upita bi banke odbiti $ 20 iz svakog računa čak i ako to proizlazi iz neke negativne bilance? " Pa krenimo jednostavan. Imamo četiri glavne naredbe za SQL, koji su? Znate li vi sjetiti četiri velike one koje sam ti rekao? UPDATE, DELETE, odaberite i umetnite. Savršeno. Imam ga. Dakle, ono što mi smatramo da biti najkorisniji za ove? Mi are-- UPDATE. Točno. Dakle update, jer smo u potrazi na računima koji već postoje. Pa sjetite se naše generale Takve stvari se ažurirati. I što onda dolazi nakon ažuriranje? Imamo neku tablicu da smo pozivom. Dakle, ako sam podići uzvišeno again-- UPDATE. Dakle, to je opći format. Dakle, imamo ažurirati tablicu. I što onda je sljedeća stvar koju imamo? Možete napraviti GDJE. I onda imamo neku odrednicu ovdje. I što onda imamo sljedeći? Imamo neke SET-- nešto jednak nešto. Bla bla jednak. Ažurirano bla. Pravo? Dakle, to je kao da uopće Ideja za neke nadogradnje. OK? Pa krenimo punjenje ovo u ono što bi trebao biti. Dakle, ono što su stol govorimo? Računi. A onda je u ovom slučaju, ono što je stvarno cool je da se radi o specifičnim Korisnici unutar naš račun, ili se radi o svim korisnicima? Govorimo o svim korisnicima. Dakle, u tom slučaju, možemo jednostavno izbrisati ovaj Gdje odrednicu. Gdje je samo kada želite ograničiti ono što mijenja. Ako želite promijeniti cijeli stol, možete samo kap koja. OK. Dakle, sada smo u našoj SET dijelu. Ono što želimo promijeniti? PUBLIKA: Stanje. Zvučnik 1: Stanje. A mi ćemo to-- kako su Hoćemo li se promijeniti ravnotežu? Imamo naknadu $ 20, zar ne? Minus 20. A što je rekao da je u redu, ako imamo negativne bilance. Dakle, u ovom slučaju, ne trebate učiniti daljnje provjere pogreške. OK? To je doslovno sve što morate učiniti. Cool? OK. Tako ćemo proći kroz sljedeći. "S kojim SQL upita mogla Banka dohvatiti brojeve računa od najbogatijih kupaca s uravnotežuje veća od 1.000 dolara? " Ako banka i svoje najbogatije klijente su samo oni s više od 1.000 dolara, Osjećam se kao da si radiš nešto krivo. Kao, kako se banka opstati na to? Kao, da se kamate, nisu sasvim dovoljno. OK. S ovim stvarima, što učiniti mislite, naše četiri funkcije, Što misliš, što ćemo koristiti? SELECT. Savršeno. SELECT. OK. Tako smo odabir neke Oznaka iz tablice. A onda gdje stanje. Dakle, kao što smo proći kroz to, ja samo idem da vam dečki opći pijanka o općem obliku sve to. Tako smo odabirom nekakvu od [? stvar. ?] U ovom slučaju, to će biti obično neki stup. Dakle, u našem slučaju, mi imamo broj, ravnotežu. U slučaju da vaš momci ', možda to je ID, naziv, lozinkom. Svaka od tih stupova, koji je obično ono što smo odabira. Dakle, u ovom slučaju ovdje, što vrsta stupca, što identifikator smo povlačenjem iz naše tablice? Što nam to tražiti? On nas pita za naše brojeve, zar ne? Brojevi računa. Tako zapamtite, samo broj u ovom slučaju. Ako ti dečki ikad imao pogrešku, da jarko narančasta kutija će doći gore. I to je kao, neočekivano red u, kao što je, bez obzira. To je zato što se zove Vaš stol u krivu, zar ne? Dakle, budite sigurni da ste nazivajući stupac ispravno. Dakle, iz tablice, naš stol naziva računi. Opet, pobrinite se da ste pozivom svoj stol ispravno. I što onda je naše stanje ovdje? Ono što tražimo? Želimo naše bogate ljude. Da. Dakle ravnotežu veći od 1.000. Postoji li ići. To je vaš upit. Nije loše, zar ne? OK. Tako sada za naš posljednji. Uz to, mi smo breezing putem. OK. Tako sada "s tim što bi upit u neposrednoj blizini banke, odnosno, brisanje "- ne volite kako Samo vam je dao DELETE-- "Svaki račun koji ima ravnotežu 0?" Mislim da svi možemo složiti da smo Vjerojatno će se pomoću DELETE. Ja sam dobrodošli da se bilo Rasprava oko toga. Ali mislim da je prilično sigurno kažu da smo mogli koristiti DELETE. Tako ćemo izbrisati neke Korisnici iz tablice, gdje stanju. Dakle, ista vrsta stvar kao SELECT. Dakle, u ovom case-- oh, ispričavam se. Trebao izbrisati iz. Zbog Izbriši volje izbrisati cijeli redak. Dakle, ne trebamo razgovarati o tome što određene stvari o korisniku smo brisanja. Ako izbrišete korisnika, mi smo brisanje sve o njima. Dakle, u ovom slučaju, samo trebamo Ispunite naš Gdje i naše stanje. Dakle, naš stol je samo naši računi stol, kao što smo radili. A što je onda naše stanje ovdje? PUBLIKA: Stanje. SPEAKER 1: Stanje jednak 0. Ispravan. Sve dobro. Da. PUBLIKA: [nečujan]. SPEAKER 1: Pa DELETE inherentno briše sve. Dakle, dok Select, odaberite uzima u određene stupce koje želite vratili. Ako ste htjeli sve o Korisnik se vratio, koristite zvjezdicu. Kaže Star, vrati se meni sve od ovog korisnika. Ili, ako ste stavili u kojoj zvijezdu, koja znači samo mi dajte sve. Ali DELETE sebi ima to. Dakle, ako vi kažete, izbrisati iz Računi gdje ravnotežu jednak 0, to će proći. I svugdje, da saldo jednak 0, je sama po sebi ne radi. To će izbrisati sve. Star je više for-- Select ili ažurirati, to govori više o pojedincu polja odgovara korisniku. Pa kad ne SELECT zvijezda sa stola gdje ID jednak 1, koji se vraća na vas Sve o korisniku s ID-1. Ako ste bili napraviti odabir broja ili SELECT ID zarez ime s korisnicima GDJE ID jednak 1, koji Samo vraća njihov broj ili njihov ID i njihovo ime. OK? Tako smo koristili zvijezda u tom slučaju na daju nam sve o korisniku. I DELETE inherentno ne da. To ne samo izbrisati ID, ili samo ime, ili što god. Da, nema. To jednostavno briše cijelu korisnika. Dakle, ne morate brinuti o zvijezdi tamo. Ako ste htjeli izbrisati sve, što bi mogao učiniti, a to će samo kap sve. Ali obično vam, Ne želim to učiniti. Ali, ako ste ikada želite izbrisati sve, što bi mogao učiniti. OK. Jeste li vi pronašli nikakve druga pitanja? Da. PUBLIKA: Možete li napraviti 26? SPEAKER 1: 26 smo upravo učinili. PUBLIKA: Oh, 25, ispričavam se. SPEAKER 1: 25. OK. 25. Oh. Oni rade JavaScript. Oh, ja ne mogu vjerovati. Idem nered nas opet, momci. OK. Dobili smo ovo. Mi ćemo napraviti taj posao. Ah, jQuery. Zabava. OK. Tako ćemo završiti Provedba web stranice tako da, ako se posjete, ulaz njihovo ime, te dostaviti obrazac, oni su tu veliku upozorenje Prozor koji će se pojaviti. Dakle, ništa s upozorenjima, znamo da je ćemo morati koristiti JavaScript. Yay, JavaScript. A ako ne za unos ime prije podnošenja obrasca, nema upozorenja trebao bi se pojaviti. Dakle, možete koristiti jQuery, ali ne moraju. Zato ću vam dečki rade na to samo za par minuta. Razmislite o tome. A onda ćemo ga kod. Slash ću pokušati misliti Najbolji način da se objasni taj odgovor za vas. U redu. Mi ćemo dobiti ga postaviti. OK. Dakle, samo ćemo hodati kroz to, jer znam jQuery je malo zbunjujuće. JavaScript. To je malo vani. Pa što ćemo učiniti je [Nečujan] zapravo riješiti ovaj problem sa jQuery. Dakle, ako se sjećate, jQuery je samo knjižnica da je upravo izgrađen na vrhu JavaScript. To je značilo da bi vaš život malo lakše. Ja bih svakako, ako imate vremena, gledati preko malo Dokumentacija za jQuery. No, to je vrlo sličan JavaScript. Ima slične paradigme, gdje vas koristiti ovaj dot operatera nazvati funkcije na predmete koje imate. Pa što imamo ovdje je za jQuery, Uvijek biste trebali imati ovu vrstu od omota, koji je $ (Dokument) .ready (funkcija) Funkcija u zagradi ovdje. OK. Dakle, to bi moglo biti nešto želite na vašem mangupirati se plahta. Budući da u najmanju ruku, možete imaju omot za vaš jQuery. I to će barem dobiti vi dio načine tamo. Dakle, na isti način na koji smo govorio puno o tome JavaScript, a mi bi početi gledanjem na ono što mi pokušavamo urediti ili ono što mi pokušavamo promijeniti. Te da će biti tipično Prva stvar koju bih stavio u. Dakle, u ovom slučaju, ako se vratimo na to ovdje i gledamo na našim obliku ovdje imamo tu ulaze, Dobro, to id inputa. A znamo da se na temelju na naše pitanje, mi su ili će baciti pogreška, ako je to prazna, ili ćemo staviti to u stanju pripravnosti, zar ne? Tako je vjerojatno sigurno reći da smo će biti bave ulaza ovdje. jQuery vrlo slični u tome, ako mi mislim natrag na CSS, bilo s osobnom iskaznicom gledamo s mljeveno meso. Sve u klasi mi pogledao s točkom, zar ne? Dakle, na isti način ovdje, ono govorimo o je ulaza. Vidjeli smo da je inputi ID u našem obliku. Tako ćemo se odnosi na njega kao takvog. Ulazi. OK? Pa kad ste u nedoumici, čak Ako imate nigdje, Ako ste stvarno sigurni kako pristupiti toga, imaju taj omot. Dakle, početi tamo s omot za jQuery. B, pobrinite se da znate Što vam se mijenja. A kad ste u nedoumici, staviti da je u nečemu, i to točku, ono što mislite što bi trebao biti događaj s njim. PUBLIKA: Što je omot? SPEAKER 1: omot je to prva linija. Dakle to kaže, pričekajte dok se ne Dokument je spreman. Zatim početi petljaju sa stvarima. OK? Dakle, znamo da smo petljaju s ulaza. Tako smo kao, u redu, ulazi se naš oblik. To je naš ID. Dakle, to je ono što smo će biti u potrazi za. I mi želimo da se vidi što se događa kada je ovaj obrazac podnosi, zar ne? Dakle, kao što smo mogli misliti, imamo neke .submit. Dakle .submit samo kaže, u redu, ovaj oblik da smo promatran sa hash ulaza, kada je podnesen, izvršiti nešto drugo. Tako ćemo imati neku funkciju. Obavijest imamo anonimne funkcije ovdje. Mi smo ovdje anonimno funkciju. Da. PUBLIKA: Hoće li uvijek biti .submit, ili je to samo zato što je u HTML, smo napravili tipa gumb Pošalji? SPEAKER 1: Treba .submit, jer to je neki oblik koji smo se upisali. Zbog toga .submit ne mora nužno odgovaraju onome što je kao tipka nazvati. No, činjenica da je čine da smo upisali. OK. Dakle, primijetite anonimni Funkcija ovdje da says-- PUBLIKA: Ja stvarno ne razumijem anonimne funkcije. SPEAKER 1: Pa Anonymous funkcije, oni su samo funkcije koje nemaju ime. Dakle, umjesto da neke glavnu funkciju da calls-- bismo mogli reći, ako je dokument spremni, onda bismo nazvati ulaza. A onda, kada podnijeti, call-- kao što su, ako je tako-i-tako podnijeti, ćemo nazvati neku drugu funkciju. Anonimni funkcija jednostavno nema ime, i to će samo izvršavati unutar tih svačim. Dakle, u ovom slučaju, što to govori je, kada nam je dokument spreman, izvršiti tu funkciju. Ova funkcija je sastavljen svega u ovdje. A onda sljedeći sloj je, u redu, kada ulazi podnosi, izvršiti to. To je samo način označava ono što bi trebao biti izvršen kada. To je doslovno samo funkcija koja ne imaju ime, tako da oni imaju tendenciju da se mogu ugniježđivati ​​jedne u druge, zato što ih se ne može nazvati po imenu. OK? Doslovno, anonimni funkcija je samo funkcija bez imena. To je to. Samo tako se zatvoriti u kućište različite stvari da želimo izvršiti na određeno vrijeme. PUBLIKA: [nečujan]. SPEAKER 1: otvor? Gdje? PUBLIKA: U zagradama iza funkcije? SPEAKER 1: Nakon funkcija. Koji? PUBLIKA: Oboje. Ako ste stavili, kao što su, događaj, ili ako stavite argument tamo, će to biti u redu? Zvučnik 1: U ovom slučaju, pretpostavljam možete staviti argument tamo. No, budući da nam ne treba argument, ne bi trebalo biti. Kao, to je cijela, kao što, samo treba ima stvari koje su Potrebno takve stvari. Na isti način, ako smo imali bilo funkcija koja ima int glavni void-- poput, sa int main prazninu, koju mogao učiniti int arg v, što god. Ali, ako vam ne treba one, te Ne treba ih imati tamo. Ista stvar. Emma, ​​jesi li pitanje? OK. Cool. OK. Dakle, ono što smo do sada je kada je naš Dokument je spreman, izvršiti to. Sada gledamo kada je podnesen. Dakle, sada smo zapravo neka vrsta od mesa naše stvari. Dakle, moramo dobiti vrijednost koja Korisnik podnio, bilo da se naziv ili prazan. I onda moramo ni povratak To upozorenje ili baciti pogrešku. Bilo kako bilo. Pa kako ćemo proglasiti varijabla u JavaScriptu? Var. Tako recimo, naziv var equals-- ili zapravo, mi ćemo ne vrijednosti, jer mislim da je to ime. OK. Dakle, imamo neke vrijednosti ovdje da mi žele povući iz našeg ulaza obliku. Tako je na isti način kako smo vrsta učinili ulaza, može bilo tko reći mene što mi Možda se zove roku ovdje Ako smo htjeli doći Ime od oblika? A ako se osvrnemo na naše obrazac ovdje, možemo primijetiti da imamo ID imena. PUBLIKA: [nečujan]. SPEAKER 1: Vi nemate razmišljati o tome kao polje. Vi ne morate brinuti o tome. Tako smo samo naziv. A onda, jer JavaScript i stvari neobičnosti, ne možemo jednostavno napraviti "ime." Mi zapravo imamo nazvati Neki funkcija koje nam daje, kao, vrijednost tog identifikatora. OK? Tako da je samo .val. PUBLIKA: [nečujan]. Zvučnik 1: OK. Tako JavaScript, ovom vrstom stvar ovdje samo prolazi. A što bi mogao misliti na to as-- je kao gotovo getElementById, gdje getElementById bi zapravo povratak na punu stvar za vas. $ ("# Naziv") je kao, U redu, ja ga, ne mogu pristupiti, ali ako stvarno to želite vratiti vrijednost you-- PUBLIKA: Je li to kao pokazivač? SPEAKER 1: To je vrsta kao pokazivača. Ti bi mogao razmišljati o tome kako je vrsta kao pokazivač. Kao, ona kaže, u redu, ja znate kako doći tamo, ali da zapravo dobili vrijednost od da, moraš izričito tražiti. I na žalost, očito, mi ne učiniti previše JavaScript i jQuery. Tako da će doći do koliko što guys-- što vam se dogoditi da znate, ono što vam se dogoditi da su vidjeli, a ono možete vrsta logično pretpostaviti. Budući da su neki od tih stvari, vi vjerojatno mogao doći na pola puta. No, da bi se u potpunosti u pravu, Mislim da ovaj problem vjerojatno imala jednu od najnižih bodova. PUBLIKA: Kao, na primjer, za [nečujan] ulaza, Zašto ne morate staviti Val tamo? Zvučnik 1: Za ovaj? PUBLIKA: Da. Zvučnik 1: Da. Budući da je ovo neka vrsta poput, kao što smo rekli, Neki pokazivač, a to sam ja s pozivom to i zapravo nam sve vrijednosti. PUBLIKA: Dok [nečujan]? SPEAKER 1: ulaza, Ulazi se samo some-- to je kao da smo upravo gledajući ga kao cjelinu, i to .submit govori nam ono što trebamo znati. jQuery i JavaScript je čudno. Znam. Znam, dečki. Znam. Postoji razlog ne znam napraviti web programiranje. Samo se šalim. Nisam imala dovoljno izloženost njega. PUBLIKA: [nečujan] CSS. [Smijeh] SPEAKER 1: OK, to je CSS. CSS je samo, kao što je, da stvar prilično, nije baš neka se bave podacima. Postoji razlika postoji. OK. Tako sada nadamo se, to part-- također, za Problem ovako, gdje se ne smijete znate sintaksu, što bi moglo biti kao što je, OK, što bi moglo imati neki var vrijednost i biti, pretpostavljam da dobio vrijednost ispravno. A onda ste mogli vjerojatno napisati ovaj sljedeći dio. Ovaj sljedeći dio će vjerojatno Čini se mnogo lakše, ili bi logično Osjećaj da vas dečki. Dok ono što smo do sada napisano, Znam da će biti kao što je, Umm, da, Ne znam da je na kvizu. Možete potpuno pisati psuedocode a onda razbiti u realnom koda kada you-- je vrsta kao matematici. Ako ste ikada imali neke multi-dio problema u kojima ne znam kako dobiti mimo prvi korak, ali sve ostalo oslanja se na tom prvom koraku, ti samo reći, kao što je, pretpostavljam x jednak 4. I onda naiđete s njim, zar ne? Možete napraviti istu stvar s kodom. Dakle, moglo bi se reći, pretpostavljam Dobio sam vrijednost pravo. Onda to učinite sljedeći dio ovdje. Budući da je ovaj dio zapravo trebao biti prilično logično. Dakle, moramo provjeriti Ako je naša vrijednost je prazna. Ili, ako je to neki naziv, zapravo dati upozorenje. Dakle, ono što bi moglo želimo provjeriti? Želimo imati neke ako. Što mislite naša Ako će biti? Moramo provjeriti je li vrijednost is-- ako to nije prazan string. Savršeno. Točno. OK. Dakle, ako je to slučaj, ono što želimo učiniti? Želimo baciti neki upozorenja, zar ne? Dakle, to je samo na oprezu. I onda ono što želimo unutra. Dakle, ono što smo trebali da unutar našeg upozorenja? PUBLIKA: "Dobar dan." Zvučnik 1: zarezom. I onda ti to dečki sjetiti kako se spojite? PUBLIKA: Plus. Zvučnik 1: Plus. Dakle, želimo imati plus. A onda mi je potrebno još jedan plus za naše uskličnika. Cool. OK. Inače, što bi moglo želimo učiniti? Mi ne želimo ništa učiniti, zar ne? Dakle, mi samo vratiti false. Ne ono što želim učiniti. OK. A onda su, u course-- ono što je važno je da zapamtite da zatvorite Vaš anonimni funkcije. Dakle, ako ste primijetili, imamo neke Funkcija ovdje da ovdje završava. Dakle, moramo zatvoriti ovu Prvi i dodati zarez. A onda se tu mora učiniti s tom anonimnom funkciju, pa smo ga zatvorili tamo. To koljena kreten reakcija štednje. Da. PUBLIKA: Postoji li razlog that-- Samo je u svim primjerima u JavaScriptu koje sam vidio, imamo Prvi vitičastim zagradama na istoj liniji kao i funkcije? SPEAKER 1: To je stilska. Da. A zapravo, ako se uzme 61, što učiniti sve naše vitičastim zagradama na taj način. Huh? PUBLIKA: Ako smo učinili to na PSET, je li to loše za stil? SPEAKER 1: Ne Mi smo izričito rekli ti dečki to učiniti. Ali zapravo, to je vrsta od dominira konvencije u puno C klase i JavaScript i jQuery. Dakle, očito, ja sam sure-- i zapravo, kad bih su to učiniti ovaj problem u potpunosti slijepa, bez da je pogledao, Tu je vjerojatno vrlo malo načini bih mogao toliko. Možda sam bio kao, u redu, možda sam morate zgrabiti nešto što je ulaz. I ja mislim da ima znanje koje, kao, OK, ako želite dobiti nešto od oblika koji ima ID Mislim da to na ovaj način, Ja bih vjerojatno dobiti taj. Možda ću dobiti ovo. Ali stvarno, jedino što mislim Ja bih stvarno dobili to ovdje. Dakle, to je vrsta važno Znaš, kao i sa bilo teško testa, ste vrsta odabrati svoje bitke, zar ne? Ako znate da ste ne idući u dobiti da prvi dio za jQuery, kao što sam rekao, Pretpostavljam da ste tu vrijednost i što možete učiniti s njom. A ako imate vremena, vratiti i pokušati ispuniti u dijelovima. No, ne dopustite takvo pitanje to ti stvarno bog dolje. Zbog čega? To je jedno pitanje na jQuery iz cijelog ispita. Pa da, to bi bilo sjajno, ako ste ga dobili. PUBLIKA: [nečujan] ti su dobrodošli da koristite jQuery. SPEAKER 1: Vi ste dobrodošli koristiti jQuery. PUBLIKA: OK. [Nečujan]. SPEAKER 1: Kako ne bi li ga koristiti? Ja bi trebala izgledati sve moje JavaScript. To je zapravo mnogo jednostavnije, Mislim, koristiti jQuery, jer jQuery zapravo smanjuje Iznos JavaScript pišeš vjerojatno strane, kao što je, na pola. Dakle, naš broj će vjerojatno biti dvostruko dulje bez toga. Dakle, ako ste recognize-- najveća stvar oduzeti od tog problema su obrasci. Ako ste pristupa nešto iz obrasca, ti si idući u koristiti citati, hašiš, što god pokušavate pristupiti. Ako to bude podnesen, što želite koristiti nešto poput .submit. Vjerojatno ćete koristiti Anonimni funkcija tamo. Ako vam je zapravo potrebno vrijednost nešto, što će učiniti citati, hash, bez obzira na to polje, .val. I prepoznavanje uzoraka kao da se događa biti daleko korisniji od znajući gnjidama istrajan. Da. PUBLIKA: Dakle, ako Korisnik podnosi svoje ime i to radi kroz tu izjavu, neće to ide dolje i vratiti false nakon ovoga? SPEAKER 1: Ne, jer oprezu, možete misliti da je to kao povratak. Da. Dakle, to će izlaz. Da. PUBLIKA: Možete li [? staviti?] zagrade od podnijeti, zagrade, nešto? SPEAKER 1: Ja sam, vjerujem. Ovaj je zatvorena upravo ovdje. A onda je ovo jedan dobiva zatvorena ovdje. PUBLIKA: Oh, postoje. U redu. SPEAKER 1: Očito, mala, malo sintaktičke stvari kao što je to, vjerojatno ćemo samo krug i biti poput, Nemojte zaboraviti zagrade. No, da. OK. Imamo li još jedan da bismo željeli raditi? Jeste li vi dobili binarno stablo jedan? Da li mi želimo ići preko tog jednog? Osjećam se kao binarnih stabala i Doms trebao biti bodova da li vi dobiti prilično lako. Ne bih vam htio izgubiti bodove na to. OK. Učinimo ovaj DOM ovdje. Volio bih da sam Surface pa sam može samo nacrtati na ekranu. To je ono što sam radio prošle godine. OK. Dakle, kao što sam spomenuo, razgovarali smo O DOM, Document Object Model. Oni vjerojatno će vam dati Neki malo isječak ovako i molimo vas da se stvori stablo za to. I to samo sve ima veze s trčanje kroz oznaka. Tako ćemo pokušati učiniti. Također, kao i obično, ako ti dečki učiniti ove kvizove, kao što sam vrlo Preporučamo da napravite praksi, bilo koji od njih da si poput, Ja stvarno ne dobiti ono što je ovdje događa, samo, naravno, pošaljite mi e-mail sa pitanjem, i ja ću objasniti najbolje što mogu. OK. Imamo neki dokument, a imamo HTML. OK. Pa onda mi samo analizom oznake ovdje, zar ne? Dakle, ono što mi vidimo comes-- što su dva podnaslovi iz HTML-a? Pogotovo zato što oni razvedena ispravno? Glava i tijelo. Ah. Glava i tijelo. Lijep. Pa onda krenimo ovdje s glave. Što je ispod glave? Ono što je naš sljedeći tag? Naslov. A onda u naslovu, kviz. OK. Dakle doslovno, to je samo šetnju kroz oznake, u redu? Dakle, ako imamo Tijelo, kao što smo proći kroz, Tijelo ima tri stvari unutar njega, zar ne? To je dobio tri DIVs. Svaki div dobiva svoju kutijicu. A ono što je u prvom div? [Nečujan] A onda sljedeći je srednji, što sam upravo će skratiti. I onda posljednja je dno. Pa stvarno, to je jednostavno u šetnji. I zato ćemo dati Vi HTML kako pravilno razvedena, možete doslovno samo prolaze kroz i biti, u redu, ovdje je HTML. Dakle, to je najudaljeniji kutak, ili najdalje otišao, tako da mora biti njegova stvar. To su na istom uvlačenje. Tako znamo da glava mora biti na istoj razini kao i tijela, ali ispod HTML. To je ono što smo ovdje. Glava i tijelo su braća i sestre, ali oni su u HTML. A onda smo jednostavno otići u svakoj od njih. Tako glava ima naslov, koji je ima kviz, kao što vidimo ovdje. A onda je u ovom slučaju, imamo Tijelo, koje se ove tri linije. Dakle, to su sve braća i sestre sve pod tijelo. OK? Dakle, nadamo se, kada vidiš ovako, ti si kao, Da, ja samo dobiti nacrtati stablo. To će biti velika. OK. Dakle, htio bi bili sigurni ti dečki to znali. Pa zašto ne idemo 32 s našeg binarnog stabla? Jer kad jednom shvatiti binarna traži stablo, to stvarno nije tako loše. Dakle Everett, mogu li ja erase-- znači, to su sve online, previše. Dakle, ako imate bilo kakvih pitanja. Izgubljena malo prostora ima, ali to je u redu. Dakle, binarno pretraživanje stablo Samo način za organiziranje podataka ne u nizu, pri čemu korijen je uvijek veći od lijeve dijete i korijen uvijek manje od desne dijete. OK. Dakle, imamo veliki pretragu stablo ovdje. Imamo ove brojeve, 34, 59, 20, 106, 36 i 52. I moramo organizirati ih tako tako da korijen veći od svega na lijevoj strani i to je manja od sve na desnoj strani. I obično, ono što vas želim učiniti je pokušati pronaći nešto u sredini. Uz binarnih pretraživanja drveća, možda ćete morati poigrati malo s njom. No, u ovom slučaju, neka je samo Pretpostavljamo da znamo ovaj prvi. Dakle, 36 je naš prvi ovdje. Tipično, ja bih probati i odaberite nešto O u sredini koja će Vjerojatno postići najbolje rezultate. Dakle, sada znamo da je sve na s ove strane mora biti manji od 36. Ali isto tako, ono što se moglo vidjeti je da imamo dva mjesta ovdje. Dakle, ako znamo da trebamo dva brojevi koji su manji od korijena, onda ti samo mogu naručiti one i izabrati treći broj. OK. Pa zašto ne bismo početi s ove strane? Dakle, ako znamo da je sve na s ove strane mora biti manja od 36-- ali ako gledamo ove, Znamo da je taj broj mora biti manji od tog broja, zar ne? Budući da je taj broj se ovdje je na desnoj strani. I zapamtite, baš kao što je u našem veći stabla, sve na desnoj strani mora biti veći od korijena. Na taj način, mi znamo da je što je u ovom potrebama biti veći od onoga što je ovdje. OK? Dakle, imamo dva izbora za ova dva mjehurića. Imamo 32 i 34-- ili žao. 20 i 34. Pa kako mislite bismo mogli staviti u? Ako ovo mora biti veći od ovoga, to znači da želimo ima 20 Ovdje i 34 ovdje. OK. Dakle, na isti način, mi gledamo U ovom vrstom pod stablom. A mi kažemo, OK, imamo ne 36. Imamo 106, 52 i 59. Pravo? U tom slučaju, ovdje ćemo znam da je ovo jedan potrebama imati jednu stvar koja je veća od je i jedna stvar koja je manja od njega. Pravo? Dakle, ako stavimo to u redu, to je samo o pronalaženju tu srednju vrijednost ponovno. Tako je naša srednja vrijednost je 59. Pa onda mi reci, OK, što je manje od 59? Pa, to je 52. A ono što je veće od 59? Pa, to je 106. OK? Dakle, to je samo malo poput slagalice. To obično pomaže, pogotovo u malim drvećem kao što je ovaj, Ako ste upravo ga naručiti, ako vas Znaš koliko su na lijevoj i koliko su na Dobro, to mogu samo omogućuju vam da odaberete ono bi trebao biti na korijen. A onda možeš vrsta rada od tamo. Mm-hm. 33? Naravno. OK. Dakle, želimo stvoriti čvor ili binarno pretraživanje stablo. A pogledajmo što bi moglo biti u njoj. I mislim da će to zapravo biti naš posljednji problem. Ah. OK. OK. To je kao ono što možemo misliti kao čvor, zar ne? Imamo neku vrijednost, a mi Znajte da će bilo su lijevi i desni djece. Binary pretraživanje tree-- tog sredstva da je, u najboljem slučaju, dvoje djece. OK? Razmislimo o načinu definira popis povezano, zar ne? Imali smo neke int da predstavlja vrijednost. Imali smo neke pokazivač da je zastupljena ono što se događa na sljedeći. Binarno pretraživanje stablo je vrlo slična. Mi još uvijek imamo neke vrijednosti, n, da mi ga dati, zar ne? A onda sam nacrtao to vrlo izričito strijelama, jer su učinkovito naputke. OK? Tako je n tipično što? To je neka vrijednost. Ono što mi obično ga označiti kao? Int. Dakle, imamo neke int n, ili int vrijednost, ili što god želite to nazvati. I onda imamo lijevi Dijete i pravo dijete. Pravo? A mi znamo da je ono što oni point-- što su oni ukazuju na? Oni upućuju na druge čvorove, zar ne? Pa kako bi se proglasiti čvora pokazivač? PUBLIKA: [nečujan]. SPEAKER 1: Mm-hm. I mi ćemo imati dvojica od njih, zar ne? A onda možemo doslovno ne ostavi za lijevu dijete i pravo za pravo dijete. Actually-- žao. Zato trebamo struct. Dakle struct je zato nemamo završio proglašenje čvor još. Dakle, čvor je u ovdje. To je vrsta kao što rekurzivna definicija, zar ne? Dakle, kada smo u ova definicija, mi nisu završili progla čvor kao strukture, tako da moramo napraviti struct Čvor samo reći, da, mi smo u stvari odnosi Povratak na sebe upisati stvar. To kao da je odjednom stvorio, to će biti u redu. Pa koliko je velik vi momci da je ovo? Što je veličina ove strukture? 12. Zašto? Upravo. A u stvari, jedna od prva pitanja jedan kviz Jedan o veličinama, što je razlog zašto sam pitao. U redu. Mi ćemo do kraja, jer DCE će vikati na mene, ako mi ne. Ali, ako ti dečki imate bilo kakvih pitanja, Naravno, e-mail me, javite mi. Vi dečki će ga protresite. Ja sam super uzbuđen. Vi dečki će biti učinjeno kako od srijede, a zatim ćete dobiti za rad na svom finalu projekti, i to će biti strašan. Ja ću biti ovdje sljedeći Tjedan 4:00-04:30 Ako ti dečki žele doći pokupiti svoje kvizova. Ako želite da mi naći neki drugi put ili jednostavno koordinirati različito vrijeme, slobodno javite mi. Inače, ovo je naš zadnji dio. Dakle, to je sjajno vidjeti vas dečki. Molimo uzeti više slatkiša. I sretno na vašem kvizu.