[REPRODUCCIÓ DE MÚSICA] ALTAVEU 1: Molt bé, tothom. Benvingut a la seva última secció amb mi. Ha estat tot el semestre. No puc creure que això és, com, setmana 12 o 11, o alguna cosa així. Però perquè és la nostra última secció, tenim un munt de caramels. I jo vaig a tractar de vostè tan bé com jo preparar pot per al seu examen dimecres. Així que probablement no sigui la millor manera, com, la secció final a aquesta crítica qüestionari. Però anem a tractar de fer que sigui divertit. I sempre hi ha caramels. Així que espero, que va a fer el millor. La seva prova serà bastant molt el mateix que Qüestionari Zero. Serà el mateix format, la mateixa longitud. Vostè estarà en habitacions disperses a través del campus, perquè no són prop de 900 de vostès, i no podem tot el que sostenen en habitacions com aquesta. Així que assegureu-vos de mirar a tots Aquell documentació Qüestionari en línia en cs50.harvard.edu aquesta nit o demà a la nit. Assegureu-vos de saber on ets va, el que ha de portar. En realitat, només ha de portar a tu mateix i un llapis, i vostè hauria d'estar bé. Les preguntes seran molt similar. Probablement hi haurà un parell elecció múltiple, una resposta curta parella, una mica de codi, potser una mica de vertader / fals, joc tipus de coses. Així que no hauria de ser massa sorprès pel format. Què pot ser sorprenent és el longitud, que, en anys anteriors, ha estat molt més temps. En el meu any, no tinc un sol amic que jo recordi d'acabar l'examen. No eren com múltiple pàgines en blanc. Així que la longitud pot ser tipus de desorientador només perquè en alguns anys, té estat molt més llarg que Qüestionari Un. No tinc ni idea del que és serà com aquest any, però és una cosa a tenir en compte. A més, el persones tendeixen difficulty-- trobar Qüestionari Un molt més difícil que Qüestionari Zero. Un cop més, ja saps, si estàs tipus de caminar a sentir una mica incòmode perquè que no ho vas fer, així com pensaves vostè o vostè se sent com vostè no ho va fer fer-ho tan bé com ho va fer en el concurs Un, recordeu que hi ha probablement 01:00 moltes altres persones que senten d'aquesta manera. Jo era definitivament una d'aquestes persones. Prova un, com, em va tirar per un bucle. I els meus amics tenen aquest gran foto d'ells en JP Licks tipus d'amb aquests enormes gelats, sent així, Qüestionari Un, i mirant com si estiguessin en llàgrimes. Així que és un sentiment general. És una dura prova, que és una prova dura. Òbviament, si vostè surt i vostè sentir-se com vostè va oscil·lar ella, gran per a vostè. Però sap que vostè està probablement no-- no és gairebé definitivament només si surts sentint com, eh, probablement podria haver aconseguit millor. Està dur. Mm-hm. AUDIÈNCIA: Quant és que val la pena en relació amb [inaudible]? ALTAVEU 1: Val la pena el mateix. Sí. Però, de nou, sinó que també serà afectada per com la resta de la classe fa, com la seva secció fa, com vas millorant amb el temps. La classificació és una mica d'un quadre negre. Així que el que el nombre real o percentatge s'obté no és com necessàriament directament correlacionat amb el grau que vas a aconseguir. Hi ha una gran quantitat de factors que hi intervenen. Així que amb això, anem a passar per algun comentari qüestionari. Jo només vaig a executar aquest com l'última vegada per a vostès. Jo tinc totes les respostes Pregunta-li a Un de l'any passat. Així que si vostès volen tirar que fins en els seus propis ordinadors, si vostè ha pres aquest examen abans i té preguntes, Estava pensant que podríem només ha d'anar a través d'alguns de les més difícils en això. Així podem parlar-ne, potser obtenir una visió poc més en la intuïció darrere d'alguns aquestes preguntes, la forma d'apropar-s'hi. A més, com l'última vegada, Tinc una baralla de 100 diapositives que té bàsicament tot de les diapositives que jo han preparat per anterior seccions des de l'última em quiz-- tenir en aquest mall. Així que podem anar a través de gairebé qualsevol cosa que hem parlat per endavant que potser vostè voler una mica més aclariments sobre. Podríem fer això primer. Però d'altra banda, estic super feliç de tipus de treball a través d'aquests problemes amb vostè. I estic realment aquí per centrar-se en el que vostès pensen seria el més important centrar-se en. Igual que, òbviament, tots això és important. Sobretot a mesura que avancem a través de concurs Un, Definitivament vaig a assenyalar coses com: oh, això podria ser alguna cosa vostè realment vol saber o vols tenir al teu full de trucs. Vaig a estar dient que les coses com quin tipus de travessem. Així que en aquesta nota, hi ha coses que a vostès els agradaria anar? A més, si jo no tinc en el meu terrassa, podem tirar alguna cosa a la web, o podem tractar de fer fins a un exemple sobre la marxa. Però qualsevol concepte que nois són una mica borrós a. [? Brian ,?] Va fer que tener-- AUDIÈNCIA: Oh, és acumulatiu? Igual, és la matèria en concurs Zero estarà en aquesta llista? ALTAVEU 1: És acumulatiu, però és molt més d'un èmfasi en les coses des de l'últim examen. Així que, òbviament, vostès tenen après sobre variables i bucles, i condicionals. I no és com els que acabem de desaparèixer, perquè són òbviament inherent a tot el altra cosa que hem après ara. Hi pot haver una pregunta a les classes, o allà podria ser una pregunta en diferents cerques. O podria haver un parell preguntes sobre alguna cosa que potser que té a veure amb la compilació o diferents errors. Però si t'has mirat Qüestionari Un des de l'any passat, t'adonaràs que és molt centrat en les coses que han passat des del seu últim examen. Per què és que la porta sempre tancada? Realment em molesta. Perquè jo sempre intento anar a través d'ell. Així que això és més o menys com serà el concurs. Així que hi ha conceptes que a vostès els agradaria anar? O podem entrar de ple en només mirar Qüestionari Un des de l'any passat i amable d'anar a través de preguntes de pràctica allà. També podem canviar una i altra. Això no és un tipus d'una sola vegada de coses. Alguna pregunta? Sí. AUDIÈNCIA: Puc demanar una pregunta sobre another-- ALTAVEU 1: Una altra més? AUDIÈNCIA: Això és d'un any. ALTAVEU 1: Sí. També podem fer un any més. AUDIÈNCIA: OK. Així que en 2011. ALTAVEU 1: 2011. Ooh, que va ser l'any abans que jo. Déjame treure això. AUDIÈNCIA: Crec. ALTAVEU 1: Aquest aspecte relació m'està tirant fora. AUDIÈNCIA: 11 i 12. ALTAVEU 1: 11 i 12. D'acord. Bé, aquí, per què no fem això? Vostè guys-- tothom acaba de prendre un parell de minuts per mirar a través de concursos. I anem a compilar una llista. I després anirem a través d'ells. Bé? Encara tinc un munt d'aquestes coses establert. D'acord. Jo només vaig a escriure coses en un paper. 2011, 11 i 12? Jo només vaig a canviar aquesta pantalla. D'acord. Així està millor. Aquest excés. Bé. Algú més té alguna que els agradaria començar? Així mateix, es va oblidar de dir, si vostè vol més d'un munt de gent parlant a tu i només li dóna una esquerda Per descomptat, en les últimes sis setmanes, estem corrent una opinió sessió de 07:00 a 8:30 d'aquesta nit al nord-oest B103, que també va passar l'última vegada, per on es va a ser jo, Hannah, Daven, amb Gabe i Rob tipus d'ajuda de la marge de només una mica de llençar tot la informació que et poden volen tenir en el seu full de trucs, slash, saber en general allà. AUDIÈNCIA: Això és també en línia, no? ALTAVEU 1: És també en línia. Pel que també pot mantenir-se al marge d'aquesta temps fastigós, vagi al seu dormitori, i live-stream si voleu. Estic segur que molts de persones-- sé que faria estar fent que si jo estigués en el teu lloc. D'acord. Llavors, ¿per què no comencem con-- mentre guys-- amb sort, vostè està mirant a través d '. Si no, jo podria començar a treballar a través de diferents coses en concurs Un des de l'any passat llevat que té preguntes específiques. Anem a començar amb aquest qüestionar aquí sobre piles. Així que no tot el món recordi alguna cosa del que una pila és? Com tendim A-- pot algú acaba de donar em una descripció general d'una pila? Un tipus d'estructura de dades. D'acord. Així que és una de les estructures de dades que ens S'espera que vostè estigui familiaritzat con-- com piles, matrius, cues, etcètera. Sí. AUDIÈNCIA: Com Primera En, Last Out, alguna cosa. ALTAVEU 1: És First In, Last Out. Exactament. Així que una pila és exactament el que tendim a pensar quan pensem d'una pila de coses. Així que una pila de plaques. La primera placa es posa a sota serà en la part inferior, i que serà l'última un que li treu al final. Com que es comparen. I es pren l'un de la part inferior, típicament, les coses s'estavellen i es trenquen. Així piles que es pugui imaginar igual que una pila de plats. O l'exemple que sempre m'agrada fer servir és a les sales D, té les safates, tots estan apilats, i es pren des de la part superior. Així que l'últim a és el primer a sortir. D'acord. Així que en el cas aquí, veiem que tener-- em pregunto si realment puc apropar una mica. Així que tenim aquesta struct aquí. Dret? Així que tens una mica d'estructura que té alguns int números de capacitat. Llavors, què és el que pensem que representa? Aquesta és una matriu amb capacitat mida. Així que això realment representa la nostra pila en general. La nostra pila és realment només una matriu amb un nombre conjunt que és el seu màxim, és a dir, la seva capacitat. I després tenim alguns int size, que farà un seguiment de la mida de la nostra pila durant tot el curs de quan l'estem utilitzant. D'acord? En aquest cas aquí, diem que la nostra mida de la pila s'ha inicialitzat a 0. Així que tenim una pila buida en aquest moment. I després volem completar l'aplicació del pop de tal manera que torna el int a la part superior. I després si està buit, torna negativa gener. D'acord? Així que vull que vostès només de pensar sobre el que podríem fer. El que podria ser un dels primers coses que ens agradaria comprovar? Hi ha una gran cosa aquí. Sempre que says-- si hi ha alguna vegada algun Si la declaració, com "Si la pila està buida" o "Si això retorna null", o "Si això és el que sigui" - ho sento. AUDIÈNCIA: Escriure una instrucció If. ALTAVEU 1: Dret. Es pot escriure una instrucció If. I això és probablement un dels primeres coses que vostè vol comprovar. D'acord. Cada vegada que et donen una mena cas de cantonada com aquesta, això és típicament una de les primeres coses vostè va a comprovar en el codi. També, cosa que reconèixer per al concurs és que si tens una forma ineficient fer alguna cosa, anoti-ho. Perquè no estem classificació que en el disseny, estem que la classificació en la correcció de proves. Així que encara que sap que és un super mala manera de fer alguna cosa però funciona, escriure, d'acord? Nens Literalment, he vist el passat any-- si ens fixem en un de l'any passat, són com, fer la piràmide Mario. I, literalment, només ho van fer "d'impressió, haixix, impressió, haixix, haixix, impressió, haixix, haixix, haixix ". Però és correcte. No el que va explicar a, pel que no pot prendre punts fora. Si vostè està a baix a la filferro, òbviament, que desitgi obtenir una solució més elegant, i la solució més elegant probablement ser menys codi que indica que probablement tenen una major probabilitat de tenir raó. Però si vostè és com, ja saps el que, no, jo no tinc temps, em sé que això és una solució, que no és la millor, l'escriuré. I fins i tot es pot escriure en la banda, sé que això és terrible, però sé que funciona. Així que només un mà a mà. D'acord. Així que, òbviament, a primera hora És aquesta instrucció If. Llavors, què és el que pensem d'aquest cas declaració serà? I, de fet, em deixa oberta el meu gran editor Sublim. Vaig a codificar aquesta i després mostrar nois quan estigui fet. Així int pop. D'acord. Així que si tenim aquest int pop void-- així que òbviament, això és una funció que pren en res i retorna un enter, no? Així que només va a parlar aquesta pila que hem creat. Així que només la traducció d'aquest últim frase, "si la pila està buida, pop hauria de tornar negatiu 1, "com podem fer això? Així que si el que? Com sabem que la pila està buida? És només la mida és igual a 0. Stack.size és igual a 0. A més, estic tipus d'escriptura cega aquí. Així que si faig qualsevol typos-- oh, També va oblidar esmentar això. La setmana passada, estic totalment descobert el que el nostre problema era amb JavaScript. No posis en majúscula I i D. Només ha de capitalitzar I i obtenir elements d'identificació. I això va ser tot l'error. Així que si vostès van cap enrere i en realitat mirar a través del meu codi, si vostè acaba de fer tot el que un d minúscula, "oblidar element per Aneu" que funcionarà. Així com ho havia dit, estava molt a prop. Acabo majúscula alguna cosa No se suposava que havia, que Estic segur que vostès tenien en la seva última PSET. Així que si la nostra mida és igual a 0, el que se suposa que hem de fer? AUDIÈNCIA: rendibilitat negativa gener. ALTAVEU 1: Retorn negativa gener. Fresc. I ara què fem? Volem fer esclatar alguna cosa fora. Ara bé, aquest és el cas on tenim alguna cosa. El nostre grandària és major que 1 o més gran que 0, oi? De fet, tenim alguna cosa allà. Així que el que volem és que ens volen tornar aquí. Anem a dir que volem per tornar la part superior de la pila. D'acord? Llavors, com podríem fer-ho? Com tornem la part superior de la pila? Recordeu, la nostra pila és només una sèrie, no? Té certa capacitat que li hem donat. Com hem posat les coses en-- o en realitat, anem a escriure "push" després d'això. Si les coses estan en allà-- potser una imatge l'ajudarà. Hm, m'agrada guix gran millor. Així que si: i vostè pot simplement pensar en això com la nostra pila. Així que aquest és 0, 1, 2. No sé per què els meus caixes estan cada vegada més petit. Però allà. D'acord. Així que això és una mica de pila amb una capacitat de 5. I direm que tenim alguna cosa aquí i tenim alguna cosa aquí. Així que en aquest punt, el nostre mida és igual a què? 2. I si volem fer esclatar alguna cosa fora d'ella, això vol dir que volem arribar desfer-se d'aquest dret aquí. D'acord? Llavors, ¿com anàvem a tornar aquest valor? AUDIÈNCIA: Mida almenys 1. ALTAVEU 1: Dret. Així mida menys 1, o podria fer mida minus minus. Però no podem fer mida. Està dins d'una estructura, oi? Així stack.struct. o stack.size. Aquest és el nostre índex dret allà. D'acord? I després, si ens fixem cap enrere en la nostra estructura aquí, ens adonem que a realment accedir a la matriu, hem de fer stack.numbers accedir a la realitat de la matriu. Així que retorna la part superior de la pila. Però alguna cosa que-- si vostès ullada en la clau de la resposta, això és tot el que donar-li. Així que això és tot. Però podria argumentar que són miss-- ooh, no el que jo volia. Podria argumentar que són falta alguna cosa, porque-- si. AUDIÈNCIA: Disminuir la mida. ALTAVEU 1: Dret. Hem de reduir la mida de la nostra empresa. Així que el que és difícil sobre això és un cop que torni alguna cosa, la seva funció de de sortida, passant, no? Així que el que podríem fer és en realitat disminuir primer la nostra mida. I després ja només podem Què stack.size. Només podem utilitzar stack.size com el nostre índex, no podríem? Perquè si stack.size és 2, que disminuir-lo. I el que és 1, que és el nostre índex real. Una vegada que ens desfem d'aquesta, en realitat només tenen una cosa en la nostra matriu. Pel que fa les dues coses. AUDIÈNCIA: [inaudible]? ALTAVEU 1: Bé, en aquest cas, Acabem de tornar l'element a la part superior que està en la nostra mida que és en la part superior. Però no hem fet res per al mida després que elimina aquest element. Això no ha canviat el nostre mida encara. Això fa realitat canviar inherentment nostre mida. Però perquè sigui una mica més clar, vostè podria fer stack.size minus minus. Per a mi, ho fa, no ho sé, una mica més clar queda ah, que en realitat estàs canviant la mida i la devolució. L'altra forma estava bé, perquè estava canviant i tornant al mateix temps. Però això és només una altra manera d'escriure el que jo volia mostrar nois. Té això sentit? Piles, crec, són molt més fàcil que les cues. [Rialles] D'acord. Vostè té alguna pregunta específica aproximadament 11 i 12, o sol-- AUDIÈNCIA: Crec que va ser la pila. ALTAVEU 1: La mida de la pila? AUDIÈNCIA: Sí. ALTAVEU 1: Gotcha. D'acord. Sí, vostè pot fer-ho en una d'aquestes dues maneres. D'acord. Així que ara tenim l'altre. Això és molt estrany, com no tenir això en la meva pantalla. Així que si mirem aquí, ara volem completar la implementació d'empenta, que en realitat posa alguna cosa, va i insereix alguna cosa en la nostra cua, oa la nostra pila. D'acord? Així que si ens adonem, ens tenir un parell de coses. Tenim els nostres els grans, si tota la resta, cada vegada que tenim un d'aquests, vostès han d'obtenir almenys la meitat un punt, perquè tot el que ha de fer és convertir això en C. I et donen la meitat d'ella. Així que "si una pila està plena o és negatiu, després empenta ha de tornar false ". D'acord? Així que l'únic que volem positiu sencers per estar en la nostra pila. Bé? I això va a qualsevol tornar vertader o fals. Així que hauria [inaudible] bool. D'acord. Així que traduir. AUDIÈNCIA: [inaudible]. ALTAVEU 1: Oh, gràcies. Sí. És per això que he de vostès. Int n. Perfecte. Perquè estem posant alguna cosa en el nostre pila. En realitat necessitem algun número. D'acord. Així, prenent l'última línia que que ens van donar, el nostre tipus de casos de cantonada, ¿Què és el que tenim aquí? Òbviament, tindrem una mica de Si. D'acord. Així que vam dir, Si la nostra pila és completa o si n és negatiu. Així que probablement més fàcil de començar amb, pel que si n és menor que 0 o-- recordar la seva agradable Operadors AND i OR allà. Com ens tira a veure si la nostra pila és plena? El que passa? AUDIÈNCIA: Mida igual capacitat. ALTAVEU 1: Exactament. Perfecte. D'acord. I el que volem fer allà? AUDIÈNCIA: return false. ALTAVEU 1: Retorn falsa. Perfecte. Així que a mig camí, oi? Com a mínim, nois tindrà la meitat d'això. Així que anem a pensar en això. Així que aquesta és la pila comencem amb. Estem tractant de posar algun element aquí. Comptem amb una mida que és igual a 2 en aquest moment. Tenim una capacitat que és igual a 5. I direm que tenim algun n que és igual a 3. Així que tenim a l'entrada 3 en aquest espai. I necessitem a l'entrada en l'índex 2. Dret? Així que com podem fer això? Tractant de assign-- ens volen accedir a la nostra gamma. Així stack.numbers. Però a què índex faria volem que aquest sigui? AUDIÈNCIA: [inaudible]. ALTAVEU 1: Sí. Stack.size. I volem que a igual n, oi? AUDIÈNCIA: [inaudible]. ALTAVEU 1: jo era en realitat només mirar això. Crec que és un error. AUDIÈNCIA: No vols que la espai més enllà de la mida actual? ALTAVEU 1: Bé, si ens mira, nostre grandària en aquest moment és 2. Volem que vagi en l'índex 2, perquè aquesta és la part superior de la nostra pila. Així que jo diria que ha de ser stack.size, i després vostè augmentaria stack.size. Està d'acord tots? Crec que estic d'acord amb això. Vostès poden argumentar amb mi si ho desitja. O no discutim, però podem discutir això. AUDIÈNCIA: [inaudible]. ALTAVEU 1: Mm-hm, és on està obrir a causa de zero indexació. Així que mentre que a la primera part, Vaig pensar que estaven equivocats, i en realitat eren dreta, aquesta part, en realitat crec que es van equivocar. Jo diria que hauria de Definitivament entrada aquí. Crec que tots estem d'acord tenim una mida de 2. Això és exactament on som vol el nostre nou número per anar. Així stack.numbers en stack.size ha de ser igual a n. I llavors ho faríem incrementar el stack.size. ++. I llavors, què és el que volem fer? Hi ha una última cosa que hem de fer si inserim amb èxit aquest? Retorna veritable. I ara ja està. Així que em sento com si fos tota la menys menys stack.size i stack.size ++ que coses en mal estat. Ugh. Jo keep-- tinc aquest rotular sempre tendència a colpejar Control, S, perquè mai vull perdre res de la meva feina. Però jo no necessito fer això ara. D'acord. Així que això va ser pila. Fresc. Hi ha alguna cosa? Vostès es va trobar cap altres preguntes que t'agradaria agradaria repassar de concursos anteriors? Si no, podem espècie de començar a parlar mitjançant concurs One des de l'any passat. Sí. AUDIÈNCIA: Per primera banda, realment no em entendre com ha esborrat el número. No és encara allà? ALTAVEU 1: El nombre segueix allà. Però el que passa és que a causa de que tens explicat que la part superior de la pila és aquí, quan es va a afegir alguna cosa a la pila, només va a reemplaçar-ho. AUDIÈNCIA: Oh, OK. ALTAVEU 1: Sí. Així que és com se li va oblidar i que hi és tipus de coses tot i que hi és. AUDIÈNCIA: [inaudible] o alguna cosa? ALTAVEU 1: No. Perquè estem en un matriu, no té de preocupar sobre-- Vostè només anul·lar quan ho necessiti. Bé. Alguna altra pregunta? Si no, només anem per començar a treballar a través. Sí. AUDIÈNCIA: Bé, aquest és el 2013, però només va a través de la matèria SQL. ALTAVEU 1: SQL? D'acord. Així que això és el 26 fins al 29. AUDIÈNCIA: Sí. ALTAVEU 1: OK. Preciós. Anem a tirar els de dalt. Oh, mira. Vostès gaudir de la Steve Ballmer parlar, per cert? Va ser bastant hilarant, al meu entendre. M'encanta que cada vegada que aparegui de CS50 pàgina web durant la secció, és com, oh, secció mirar. I jo sóc com, mm. AUDIÈNCIA: Podem fer-ho? ALTAVEU 1: Ho farem al final. Com és això? Perquè et conec nois sempre han volgut. Així que anem a fer-ho al final. Un preguntes. AUDIÈNCIA: [inaudible]. ALTAVEU 1: Serà una secció meta. AUDIÈNCIA: És com 5 segons. AUDIÈNCIA: De debò? AUDIÈNCIA: És com 20 segons. [Interposant VEUS] [Rialles] ALTAVEU 1: M'agrada que que ja has fet ella, que és el que em fa més feliç. D'acord. 26. D'acord. En realitat, només anem a reflectir això ara, perquè jo no puc. Això és molest. D'acord. Ara puc veure tot. Preciós. D'acord. Així que, òbviament, això hauria de portar de tornada grans records des [? CSG?] Finances. La meitat de vostè sobre tenir el seu classificat ara. L'altra meitat arribaré a molt, molt aviat, ho prometo. Així que tenim una mica de taula de SQL això és Comptes aquí. Probablement similar a taules d'usuari que els seus nois '. I tenim un nombre que era una clau primària i representa un Número de compte de 12 dígits. I l'equilibri és la quantitat de diners que tenen. I el valor per defecte és 100. I els donen 100 $ qualsevol vegada que obrin un compte. M'agradaria que el meu banc ho va fer. D'acord. Així que volem completar l'esquema de especificant al costat de nombre en equilibri el tipus de SQL apropiat. Llavors, què pensen vostès que seria alguna cosa així com la seva reacció instintiva per als tipus d'aquests dos? AUDIÈNCIA: Int. ALTAVEU 1: Un int. D'acord. I després d'un equilibri? Decimal. D'acord. Així que el dret del decimal. Int és a prop. Tipus de la gran cosa és aquesta subratllat número de compte de 12 dígits. Sempre tenim alguna cosa això és més gran que 8 dígits, ells volen que utilitzeu gran int, que crec que és-- AUDIÈNCIA: És només SQL? ALTAVEU 1: És l'única vegada que he sentit d'ella és SQL-- com utilitzar una gran int. És només per donar-li una poc més precisió, assegurant-se que no ets cosa de tipus desbordant. En honor a la veritat, crec que aquest és sens dubte un dels més on és com, oh, que està destinat per a la gent que tenen una mica més de coneixement de SQL. Mai parlem de grans sencers en la seva PSET. Així que és una mica com estic bastant segur si poses int, que era la meitat de crèdit. I com vaig dir abans, hi ha anar sent algunes preguntes que són igual la intenció de disparar cap amunt, de manera que que no tothom té 100. Perquè, és clar, hi ha algunes persones en CS50 que han estat fent això per com vuit anys i vostè és com, què estàs fent? Però si. Decimal per al balanç era l'òbvia. I llavors gran int de nombre només perquè que, com, subratllat 12 dígits. Sempre que alguna cosa està en negreta o és subratllat, com, prestar atenció a ella. No estem fent que només perquè. D'acord. Així que "suposar que les imposa bancàries una quota mensual de $ 20 en tots els comptes. Amb el que la consulta podria el banc deduir $ 20 des de cada compte fins i tot si resulta de alguns saldos negatius? " Així que comencem simple. Tenim quatre ordres principals per SQL, que són? Vostès recordin els quatre els grans que et vaig dir? UPDATE, DELETE, SELECT i INSERT. Perfecte. Ho tinc. Llavors, què és el que pensem poder ser més útil per aquest? Ens tracti: UPDATE. Exactament. Així ACTUALITZAR, perquè estem buscant en comptes que ja existeixen. Així que recordi el nostre general tipus de coses és l'actualització. I llavors, què ve després de l'actualització? Tenim una mica de taula que estem fent referència. Així que si em llevo ACTUALITZACIÓ Sublim altra vegada--. Així que aquest és un format general. Així que tenim UPDATE taula. I llavors, què és el següent que tenim? Vostè pot fer WHERE. I després tenim alguns qualificador aquí. I llavors què tenim ara? Tenim una mica d'alguna cosa definido-- igual a alguna cosa. Bla, bla, és igual. Actualitzat bla. Dret? Així que això és com el general idea per alguna actualització. D'acord? Així que anem a començar a omplir aquest amb el que hauria de ser. Llavors, què taula estem parlant? Comptes. I després, en aquest cas, el que és molt cool està estem parlant específica els usuaris dins del nostre compte, o estem parlant de tots els usuaris? Estem parlant de tots els usuaris. Així que en aquest cas, es pot simplement Eliminar aquest ON qualificador. El ON és només quan es desitja per limitar el que s'està canviant. Si voleu canviar la totalitat taula, pot simplement deixar que. D'acord. Així que ara estem en la nostra part SET. Què és el que volem canviar? AUDIÈNCIA: Balanç. ALTAVEU 1: Balanç. I anem A-- com són que canviarà l'equilibri? Tenim una tarifa de $ 20, no? Minus 20. I ells van dir que està bé si tenim saldos negatius. Així que en aquest cas, no cal fer qualsevol comprovació d'errors més. D'acord? Això és literalment tot el que has de fer. Refredar? D'acord. Així que anem a anar a través de la següent. "Amb el consulta SQL podria el banc recuperar els números de compte dels seus clients més rics amb equilibra sobre de $ 1,000? " Si el seu banc i els seus clients més rics són només els que tenen més de $ 1.000, Em sento com si estiguessis fent alguna cosa malament. Igual que, com sobreviu un banc en això? Igual, que l'interès, no del tot suficient. D'acord. Amb aquest tipus de coses, què fer vostè pensa, dels nostres quatre funcions, Què creus que utilitzarem? SELECT. Perfecte. SELECT. D'acord. Així que estem seleccionant alguns identificador FROM taula. I després condició WHERE. Així que a mesura que avancem a través de aquests, només vaig donar a vostès un repàs general de en el format general de tots aquests. Així que estem seleccionant algun tipus de [? cosa. ?] En aquest cas, això serà típicament alguna columna. Així que en el nostre cas, tenim el nombre, l'equilibri. En cas que els nois, potser era ID, nom, contrasenya. Qualsevol d'aquestes columnes, això és normalment el que estem seleccionant. Així que en aquest cas aquí, que tipus de columna, el identificador estem traient de la nostra taula? Què ens demanen? Se'ns demana nostres números, oi? Els números de compte. Així que recorda, només nombre en aquest cas. Si vostès alguna vegada va tenir l'error, que quadre de color taronja brillant sortiria. I va ser com, inesperada remar en, com, el que sigui. Això és perquè vostè va seva taula equivocada, no? Així que assegureu-vos que vostè és cridant a la columna correctament. Així que des de la taula, la taula es diu comptes. Un cop més, assegureu-vos que està incloure la seva taula correctament. I llavors quina és la nostra situació aquí? Què estem buscant? Volem que la nostra gent rica. Sí. Així equilibrar més gran que 1000. Cal anar. Aquesta és la teva consulta. No està malament, no? D'acord. Així que ara al nostre últim. Amb això, estem breezing través. D'acord. Així que ara ", de manera que la consulta podria el tancament del banc, és a dir, eliminar "- no t'agrada la forma en què només li va donar DELETE-- "Tots els comptes que té un saldo de 0?" Crec que tots podem estar d'acord que estem Probablement estarà usant ESBORRAR. Estic benvinguts a prendre qualsevol discussió al voltant d'això. Però crec que és bastant segur diem que podríem utilitzar DELETE. Així que anem a esborrar alguns els usuaris de la taula, condició WHERE. Així mateix tipus de coses com SELECT. Així que en aquest cas-- oh, ho sento. He DELETE FROM. A causa esborrarem Eliminar tota la fila. Així que no hem de parlar del que coses específiques sobre un usuari que estem esborrat. Si esborrem un usuari, estem esborrar tot sobre ells. Així que en aquest cas, només hem de completi el nostre WHERE i la nostra condició. Així que la nostra taula és només nostres comptes taula, com ho hem estat fent. I llavors quina és la nostra situació aquí? AUDIÈNCIA: Balanç. ALTAVEU 1: Balanç és igual a 0. Correcte. Tot bé. Sí. AUDIÈNCIA: [inaudible]. ALTAVEU 1: Així ESBORRAR inherentment esborra tot. Així que mentre que amb SELECT, SELECT té en certes columnes que voleu que es retorni. Si volies tot sobre un usuari ha, s'utilitza estrella. Star diu, tornar a mi tot el d'aquest usuari. O si vostè posa ON estrella, que significa només dóna'm tot. Però ESBORRAR intrínsecament ha de. Així que si vostè diu, DELETE de comptes on l'equilibri és igual a 0, que passarà. I a tot arreu que l'equilibri és igual a 0, és inherentment fa això. Es va a esborrar tot. L'estrella és més per tal de: amb SELECT o UPDATE, s'està parlant més sobre la persona camps corresponents a un usuari. Així que quan seleccioneu l'estrella de la taula on ID és igual a 1, que torna a vostè tot el relacionat amb l'usuari amb ID 1. Si es va a fer nombre SELECT o SELECT ID nom comes dels usuaris On id és igual a 1, que simplement retorna el número o la seva identificació i el seu nom. D'acord? Per això, utilitzem estrelles en aquest cas a donar-nos tot sobre un usuari. I ELIMINAR inherentment fa això. Això no només s'elimina la ID, o simplement el nom, o el que sigui. Sí, no. Simplement elimina tot l'usuari. Així que no hem de preocupar sobre l'estrella allà. Si volguessis esborrar tot, vostè pot fer això, i això només deixarà tot. Però en general, es no vull fer això. Però si alguna vegada vol eliminar tot, vostè podria fer això. D'acord. Han trobat alguna altra pregunta? Sí. AUDIÈNCIA: Podria vostè fer 26? ALTAVEU 1: 26 que acabem de fer. AUDIÈNCIA: Oh, de 25 anys, ho sento. ALTAVEU 1: 25. D'acord. 25. Oh. Estan fent JavaScript. Oh, no puc creure-ho. Vaig a ficar-se amb nosaltres de nou, nois. D'acord. Vam aconseguir aquest. Anem a fer aquesta feina. Ah, jQuery. Divertit. D'acord. Així que anem a completar el aplicació de la pàgina web de manera que si es visita, ingressar el seu nom, i enviar el formulari, tenen aquesta gran alerta finestra que apareixerà. Així que qualsevol cosa amb alertes, sabem que anem a haver d'utilitzar JavaScript. Yay, JavaScript. I si no aconsegueixen ingressar un nomenar abans d'enviar el formulari, hauria d'aparèixer cap alerta. Així que vostè pot utilitzar jQuery, però vostè no ha de fer-ho. Així que vaig a deixar que vostès treballa en això només per un parell de minuts. Penseu en això. I després anem a codificar. Slash que vaig a tractar de pensar en el millor manera d'explicar aquesta resposta per a vostè. Bé. Aconseguirem que va crear. D'acord. Així que només anem caminar a través d'aquest, perquè sé jQuery és una mica confús. JavaScript. És una mica per aquí. Així que el que farem és [Inaudible] en realitat resolt aquest problema amb jQuery. Així que si vostè recorda, jQuery és una biblioteca això és només construir a la part superior de JavaScript. És la intenció de fer la seva la vida una mica més fàcil. Definitivament, m'agradaria, si tens temps, mirar per sobre de una mica de la documentació de jQuery. Però és molt similar a JavaScript. Té paradigmes similars, on utilitzar aquest operador punt per trucar a funcions en els objectes que té. Així que el que tenim aquí és per jQuery, vostè sempre ha de tenir aquest tipus de l'embolcall, que és el Funció $ (document) .ready (funció) parèntesi aquí. D'acord. Així que això podria ser alguna cosa que vol en el seu full de trucs. A causa de que almenys, vostè pot tenir el contenidor per a la seva jQuery. I almenys obtindrà separi maneres allà. Així que de la mateixa manera que parlat molt de JavaScript i ens agradaria començar per mirar en el que estem tractant d'editar o el que estem tractant de canviar. I això sol ser el El primer que ens havíem posat en. Així que en aquest cas, si ens remuntem a aquesta aquí i mirem al nostre formulari d'aquí, Tenim aquesta insums, dreta, aquest id d'insumos. I sabem que en base en la nostra pregunta, van bé per llançar un error si aquesta està buida, o posarem està en alerta, oi? Així que probablement segur dir que estem estarà tractant amb entrades aquí. jQuery és molt similar que si pensar de nou a CSS, qualsevol cosa amb un ID mirem amb un hash. Qualsevol cosa amb classe que mirat amb un punt, no? Així que de la mateixa manera que aquí, el que que estem parlant és de les entrades. Vam veure que les entrades és una identificació dins del nostre formulari. Així que ens referirem a ella com a tal. Entrades. D'acord? Així que en cas de dubte, fins i tot si vostè té la res, si vostè està realment segur de com apropar-se a aquest, A, tenir aquest embolcall. Així que comença allà amb l'embolcall per jQuery. B, assegureu-vos que vostè sap el que està canviant. I en cas de dubte, posar això en alguna cosa, i fer punt, el que vostè pensa que hauria d'estar fent amb ell. AUDIÈNCIA: Quin és l'embolcall? ALTAVEU 1: L'embolcall és aquesta primera línia. Així que això diu, espereu fins meu document està llest. A continuació, començar a jugar amb les coses. D'acord? Així que sabem que estem jugant amb les entrades. Així que estem com, bé, les entrades és de nostre formulari. Aquesta és la nostra identitat. Així que això és el que estem va a estar buscant. I volem veure què passa quan es presenti aquesta manera, no? Així com podríem pensar, tenim alguns .submit. Així .submit simplement diu, OK, aquesta forma que hem referenciat amb entrades de hash, quan es va presentar, executar una altra cosa. Així que tindrem alguna funció. Observi que tenim funcions anònimes aquí. Tenim una funció anònima aquí. Sí. AUDIÈNCIA: Sempre es .submit, o és només perquè en l'HTML, vam fer el tipus de botó Submit? ALTAVEU 1: Ha de .submit, perquè és una forma de que estem presentant. Com que aquest .submit no necessàriament correspon al que el botó és com trucar. Però el fet que és un Formem que estem presentant. D'acord. Així compte anònima funció aquí que says-- AUDIÈNCIA: jo realment no comprendre funcions anònimes. ALTAVEU 1: Així anònim funcions, són només les funcions que no tenen un nom. Així que en lloc de tenir alguna funció principal que calls-- podríem dir, Si el document llest, llavors nosaltres anomenaríem entrades. I després, quan va ser presentat, call-- com, Si és així-i-així proposta, que anomenaríem alguna altra funció. Una funció anònima simplement no té un nom, i s'acaba d'executar dins d'aquest tipus de coses. Així que en aquest cas, el que diu És a dir, quan el nostre document està llest, executar aquesta funció. Aquesta funció es compon de tot dins d'aquí. I a continuació, el següent en la capa és, OK, quan es presenti entrades, executar aquest. És només una forma de denotar que ha de ser executat tant. És, literalment, només un funció que no fa tenir un nom, per la qual cosa tendeixen a niar entre si, perquè no es pot cridar pel seu nom. D'acord? Literalment, una funció anònima és només una funció sense nom. Això és tot. Només una forma d'encapsular coses diferents que volem executat en moments específics. AUDIÈNCIA: [inaudible]. ALTAVEU 1: El respirador? On? AUDIÈNCIA: Al parèntesi després de la funció? ALTAVEU 1: Després de funcions. Quina? AUDIÈNCIA: dos. Si poses, com, esdeveniment, o si poses un argument en allà, Seria equivocat? ALTAVEU 1: En aquest cas, suposo vostè podria posar un argument en aquest país. Però com que no necessitem una argument, no hauria de ser. Igual, que és el tot, com, vostè només ha de tenen coses que són necessària tipus de coses. De la mateixa manera que si teníem qualsevol funció que té void-- principal int com, amb void main int, que podria fer int arg v, el que sigui. Però si vostè no necessita aquests, no ha de tenir allà. És el mateix. Emma, ​​vostè té una pregunta? D'acord. Fresc. D'acord. Així que el que tenim fins ara és quan la nostra document està llest, executeu aquesta. Ara que estem veient quan es va presentar. Així que ara tenim realment espècie de la carn del nostre. Així que hem d'obtenir el valor que el usuari presentar, ja sigui un nom o buit. I llavors hem de qualsevol retorn aquesta alerta o llançar un error. De qualsevol manera. Llavors, com es declara una variable en JavaScript? Var. Així que diguem, nom var equals-- o en realitat, anem a fer valor ja que crec que és nom. D'acord. Així que tenim algun valor aquí que volen treure del nostre formulari d'entrades. Així, en la mateixa manera que quin tipus d'insums vam fer, ¿Algú pot dir-me el que podrien ser cridades dins d'aquí si volíem arribar el nom de la forma? I si mirem cap enrere en el nostre formulari aquí, ens adonem que tenim una identificació del nom. AUDIÈNCIA: [inaudible]. ALTAVEU 1: No té a pensar en ella com una matriu. Vostè no ha de preocupar per això. Així que només tenim un nom. I després perquè JavaScript i coses són rars, no només podem fer "nom". De fet, hem de trucar a alguna funció que ens dóna, com, el valor d'aquest identificador. D'acord? Així que això és només .VAL. AUDIÈNCIA: [inaudible]. ALTAVEU 1: OK. Així que amb JavaScript, aquest tipus de el correcte aquí només passa. I es podria pensar en això és com-- com gairebé un getElementById, on getElementById faria realitat tornar la cosa complet a vostè. Els $ ("# nom") és igual, Bé, el tinc, puc accedir-hi, però si realment ho vol per tornar el valor a usted-- AUDIÈNCIA: És com un punter? ALTAVEU 1: És com una mena de punter. Vostè podria pensar en ell com Una cosa així com un punter. Igual que, es diu, està bé, em saber com arribar-hi, però per aconseguir realment el valor de ell, vostè ha de fer explícitament. I, per desgràcia, òbviament, no ho fem fer massa amb JavaScript i jQuery. Així que vindrà a la quantitat vostè guys-- el casualitat vostè coneix, el que li passa a haver vist, i el que pots tipus d'endevinar lògicament a. Com que algunes d'aquestes coses, probablement podria arribar a mig camí. Però per aconseguir que tota la raó, Crec que aquest problema probablement tenia una de les puntuacions més baixes. AUDIÈNCIA: Com, per exemple, per [inaudible] insums, Per què no ha de posar val allà? ALTAVEU 1: Per aquest? AUDIÈNCIA: Sí. ALTAVEU 1: Sí. Com que aquesta és una espècie d'agradar, com hem dit, algun punter, i aquesta és la meva referència i en realitat ens aconseguir el valor. AUDIÈNCIA: Mentre que [inaudible]? ALTAVEU 1: Per a les entrades, entrades és només some-- és com si només som mirant com un tot, i això .submit diu nosaltres el que necessitem saber. jQuery i Javascript és rar. Ho sé. Ho sé, nois. Ho sé. Hi ha una raó per la qual no ho faig fer la programació web. És una broma. No he tingut prou exposició a la mateixa. AUDIÈNCIA: [inaudible] CSS. [Rialles] ALTAVEU 1: OK, això és CSS. CSS és només, com, fer coses boniques, no és que anem a tractar amb dades. Hi ha una diferència allà. D'acord. Així que ara és d'esperar, aquesta parcialment: també, per un problema com aquest, en el qual no pot conèixer la sintaxi, podria ser, Bé, vostè podria tenir algun valor var i ser com, assumir I té el valor correctament. I llavors vostè probablement podria escriure la següent part. Aquesta part probablement sembla molt més fàcil, o tindria lògica sentit per a vosaltres. Mentre que el que hem escrit fins ara, Sé que seria com, umm, sí, No sé que en el qüestionari. Vostè pot escriure totalment psuedocode i després entrar en veritable codi quan usted-- que és una mica com les matemàtiques. Si alguna vegada has tingut alguna problema multi-part en què vostè no sap com passar de la primera etapa, però tota la resta es basa en el primer pas, Acabes de dir, com, suposem que x és igual abril. I llavors es corre amb ella, no? Vostè pot fer el mateix amb el codi. Així que es podria dir, assumir Tinc el dret de valor. A continuació, realitzi la següent part aquí. A causa d'aquesta part en realitat ha de ser bastant lògic. Així que hem de comprovar si el nostre valor està buit. O si és un nom, realment donar un avís. Llavors, què podríem voler comprovar? Volem tenir una mica de Si. Què et sembla el nostre cas serà? Hem de comprovar per veure si el valor és-- si no és una cadena buida. Perfecte. Exactament. D'acord. Així que si aquest és el cas, ¿Què és el que volem fer? Volem donar una mica d'alerta, oi? Així que és només d'alerta. I llavors el que vulguem dins. Llavors, què se suposa que hem de tenir dins la nostra alerta? AUDIÈNCIA: "Hola". ALTAVEU 1: Coma. I després fer que nois recordar com concatenar? AUDIÈNCIA: Plus. ALTAVEU 1: Plus. Així que vull tenir més. I llavors necessitem un altre més per al nostre signe d'exclamació. Fresc. D'acord. En cas contrari, què podríem voler fer? No volem fer res, oi? Així que només ens tornem falsa. No és el que vull fer. D'acord. I llavors aquests, de descomptat-- el que és important és recordar per tancar les seves funcions anònimes. Així que si et fixes, tenim alguns funció que aquí acaba aquí. Així que hem de tancar aquesta 1 primer i afegiu un punt i coma. I llavors aquest aquí ha de fer amb aquesta funció anònima, així que tanquem allà. Aquesta reacció automàtica d'estalvi. Sí. AUDIÈNCIA: Hi ha alguna raó que-- just en tots els exemples en JavaScript que jo he vist, tenim les primeres claus en la mateixa línia que la funció? ALTAVEU 1: Això és estilística. Sí. I en realitat, si es pren 61, que fer tot les nostres claus d'aquesta manera. Eh? AUDIÈNCIA: Si ho hem fet fer això a la PSET, és tan dolent per l'estil? ALTAVEU 1: No. Li hem dit explícitament vostès per fer això. Però en realitat, això és una espècie de la convenció que domina en un munt de classes C i JavaScript i jQuery. Així que, òbviament, estic sure-- i, de fet, si jo van anar a fer aquest problema completament cec sense haver mirat, és probable que hi hagi molt pocs formes que hauria aconseguit aquest. Jo podria haver estat com, OK, potser hagi de agafar alguna cosa que és una entrada. I crec que té la coneixement que, com, Bé, si vull aconseguir alguna cosa d'una manera que té una identificació, Vull dir que d'aquesta manera, Probablement m'entenc. Jo podria aconseguir això. Però en realitat, l'únic que crec Jo realment tinc és això d'aquí. Així que és una cosa important saber, com amb qualsevol prova difícil, quin tipus d'escollir les seves batalles, oi? Si vostè sap que no aconseguirà aquesta primera part per jQuery, com he dit, se suposa que té aquest valor i faci el que pugui amb ell. I si tens temps, tornar i tractar d'omplir les peces. Però no deixis que una pregunta com això realment li empantanegar. Perquè, ¿què? Aquesta va ser una pregunta sobre jQuery de tot l'examen. Així que sí, que seria genial si ho ha fet. AUDIÈNCIA: [inaudible] que poden fer ús de jQuery. ALTAVEU 1: Vostè és benvinguts a utilitzar jQuery. AUDIÈNCIA: OK. [Inaudible]. ALTAVEU 1: Com no usar-lo? Hauria de mirar tot el meu JavaScript. En realitat és molt més fàcil, Crec que, per utilitzar jQuery, perquè jQuery redueix realment el quantitat de JavaScript que escriu probablement per, igual que, la meitat. Així que el nostre codi seria probablement el doble de temps sense això. Així que si vostè recognize-- el major cosa que li treu a aquest problema són els patrons. Si vostè està accedint alguna cosa d'una manera, faràs servir cometes, haixix, el que estàs intentant accedir. Si està sent sotmès, que desitja utilitzar alguna cosa com un .submit. Vostè està probablement va a utilitzar una funció anònima en aquest país. Si vostè necessita realment el valor de alguna cosa, faràs cites, haixix, el que sigui que el camp és, .VAL. I el reconeixement de patrons com que es va ser molt més útil que saber realment el quid de la qüestió. Sí. AUDIÈNCIA: Llavors, si el usuari envia el seu nom i s'executa a través d'aquesta declaració, la voluntat anar cap avall i tornar falsa després d'això? ALTAVEU 1: No, perquè l'alerta, vostè pot pensar en ell com un retorn. Sí. Així que sortirà. Sí. AUDIÈNCIA: Podria vostè [? col·locar?] dels parèntesis de presentar, entre parèntesis, alguna cosa? ALTAVEU 1: Ho vaig fer, crec. Aquest està tancat aquí. I llavors aquest es tanca aquí baix. AUDIÈNCIA: Oh, no. Bé. ALTAVEU 1: Òbviament, poc, petites coses sintàctiques així, probablement anem a només un cercle i ser com, no t'oblidis dels teus parèntesis. Però si. D'acord. Tenim una altra que ens agradaria fer? Vostès Obtenir l'arbre binari un? Volem anar més que un? Em sento com arbres binaris i departaments d'ultramar han de ser punts que vostès donen amb força facilitat. Jo no et vull perdre punts en què. D'acord. Anem a fer això DOM aquí. M'agradaria tenir el meu superfície, així que només podria dibuixar a la pantalla. Això és el que jo solia fer l'any passat. D'acord. Així que com he esmentat, parlem sobre DOM, Document Object Model. Probablement van a donar alguns poc de fragment com aquest i li demanarà que creï un arbre per a això. I això només Tot té a veure amb el funcionament a través de les etiquetes. Així que anem a tractar de fer això. També, com de costum, si vostès fer aquestes proves, ja que molt recomanem que vostè fa com a pràctica, qualsevol d'ells que vostè és com, Jo realment no entenc el que està passant aquí, només, per descomptat, envieu-me un correu electrònic amb una pregunta, i vaig a explicar el millor que pugui. D'acord. Tenim algun document, i tenim HTML. D'acord. Així que només estem analitzant les etiquetes aquí, oi? Llavors, què és el que veiem comes-- ho són les dues subpartides HTML? Sobretot perquè que estan sagnia correctament? Cap i cos. Ah. Cap i cos. Preciós. Així que anem a començar aquí amb el cap. Què hi ha sota del cap? Quin és el nostre següent etiqueta? Títol. I després dins del títol, concurs. D'acord. Així que, literalment, és només caminant a través de les etiquetes, d'acord? Així que si tenim cos, a mesura que avancem a través de, cos té tres coses dins d'ella, no? Té tres divs. Cada div obté la seva pròpia capseta. I el que és a la primera div? [Inaudible] I després el següent és mitjà, que jo només vaig a abreujar. I a continuació, l'últim és inferior. Així que en realitat, és només caminar per. I perquè ens donarem et HTML que s'aplica sagnia correctament, vostè pot, literalment, només córrer a través de i ser com, OK, aquí hi ha el HTML. Així que aquesta és la més externa cantonada, o més a l'esquerra, pel que ha de ser la seva pròpia cosa. Aquests són en el mateix indentació. Així que sabem que el cap ha de estar al mateix nivell que el cos, però per sota d'HTML. És el que tenim aquí. Cap i cos són germans, però que estan sota HTML. I després ja només d'entrar en cadascuna d'elles. Així que el cap té títol, que té preguntes i respostes, com veiem aquí. I després, en aquest cas, tenim cos, que té aquestes tres línies. Així que aquests són tots germans, tot sota el cos. D'acord? Així que espero que quan ho veus alguna cosa com això, vostè és com, Sí, acabo d'arribar a dibuixar un arbre. Serà genial. D'acord. Així que volia assegurar-se que vostès ho sabien. Llavors, ¿per què no anem a 32 amb el nostre arbre binari? Perquè una vegada que entengui una binari arbre de recerca, en realitat no és tan dolent. Així Everett, puc jo erase-- significar, aquests són tots en línia, també. Així que si vostè té alguna pregunta. Va perdre una mica d'espai, però que està bé. Així arbre de cerca binària és només una forma d'organitzar les dades no en una matriu, on l'arrel és sempre més gran que el fill esquerre i l'arrel és sempre menor que el fill dret. D'acord. Així que tenim aquest gran arbre de cerca aquí. Tenim aquests nombres, 34, 59, 20, 106, 36, i 52. I hem d'organitzar ells de tal manera de tal manera que l'arrel és més gran tot el que a la banda esquerra i és menys de sobretot en el costat dret. I en general, el que voler fer és tractar de trobar alguna cosa en el medi. Amb arbres binaris de cerca, és possible que tingui per jugar una mica amb ell. Però en aquest cas, anem a Suposem que sabem això primer. Així que 36 és la nostra primera aquí. En general, m'agradaria tractar i triar alguna cosa aproximadament en el mitjà que va a probablement obtenir els millors resultats. Així que ara que sabem que tot en aquest costat ha de ser inferior a 36. Però també, el que es podia veure és que tenim dos punts més d'aquí. Així que si sabem que necessitem dos nombres que són menys de l'arrel, llavors es podria simplement demanar aquest i triar el tercer número. D'acord. Llavors, ¿per què no comencem amb aquest costat? Així que si sabem que tot en aquest costat ha de ser menys de 36-- però si ens fixem en aquest, sabem que aquest nombre ha de ser inferior a aquest nombre, no? Com que aquest nombre aquí és al costat dret. I recorda que, igual que en el nostre més gran arbre, tot a la dreta ha de ser major que l'arrel. D'aquesta manera, sabem que el que està en aquest necessitats per ser més gran que el que hi ha aquí. D'acord? Així que tenim dues opcions per aquests dos bombolles. Tenim 32 i 34-- o el sento. 20 i 34. Llavors, com creu vostè que podríem posar això en? Si aquest ha de ser més gran que aquest, això vol dir que volem tenir 20 aquí i 34 aquí. D'acord. Així que de la mateixa manera, busquem en aquest tipus de sub arbre. I diguem, bé, no ho hem fet 36. Tenim 106, 52 i 59. Dret? En aquest cas aquí, saber que aquest ho necessita tenir una cosa que és més gran que i una cosa que és menys que ell. Dret? Així que si posem aquests per tal, és només sobre la recerca d'aquest valor mitjà nou. Així que el nostre valor mitjà és de 59. Llavors diem, bé, el que és inferior a 59? Bé, això és 52. I el que és més gran que 59? Bé, això és 106. D'acord? Així que és una mica com un trencaclosques. Típicament ajuda, especialment en arbres petits com aquest, si només ho demana, si saber quants estan a l'esquerra i quants són al dret, que pot simplement permeten seleccionar el que ha d'estar en la seva arrel. I llavors vostè pot classe de treballar des d'allà. Mm-hm. 33? És clar. D'acord. Així que volem crear un node o un arbre de cerca binari. I anem a veure el que podria ser-hi. I crec que aquesta voluntat realment ser el nostre últim problema. Ah. D'acord. D'acord. Això és com el que puguem pensar com un node, oi? Tenim una mica de valor, i saber que ho farà bé tenir fills esquerre i dret. Cerca binària tree-- que mitjans que té, com a molt, dos fills. D'acord? Anem a pensar en la forma en què defineix una llista enllaçada, oi? Vam tenir alguns int que representat el valor. Teníem una mica de punter que representava el que anava a continuació. Arbre binari de recerca és molt similar. Encara tenim algun valor, n, que li donem, oi? I després vaig dibuixar aquestes molt explícitament amb les fletxes, perquè són punters eficaç. D'acord? Així que n és típicament què? És cert valor. Què fem normalment designem com? Un int. Així que tenim alguns int n, o el valor int, o el que vulguis dir. I després tenim a l'esquerra fill i el fill dret. Dret? I sabem que el que estan point-- què estan apuntant a? Estan apuntant a altres nodes, oi? Llavors, ¿com anàvem a declarar un punter de node? AUDIÈNCIA: [inaudible]. ALTAVEU 1: Mm-hm. I tindrem dos d'ells, no? I llavors podem literalment no deixat per al fill esquerre i el dret de l'infant a la dreta. Actually-- ho sento. Perquè necessitem struct. Així estructura és perquè no tenim acabat de declarar un node encara. Així node és aquí dins. És com una mena de definició recursiva, oi? Així que quan estem dins de aquesta definició, no han acabat de declarar node com l'estructura, per la qual cosa hem de fer struct node només per dir, sí, de fet estem referint de nou a nosaltres mateixos escrigui cosa. Que com una vegada que es creat, no hi haurà cap problema. Així ho gran que pensen vostès que és això? Quin és la mida d'aquesta estructura? 12. Per què? Precisament. I de fet, una de les primeres preguntes 1 Qüestionari Un és sobre les mides, pel que li vaig demanar. Bé. Anem a acabar, perquè el DCE cridar a mi si no ho fem. Però si vostès tenen alguna pregunta, per descomptat, envieu-me un correu electrònic, que em faci saber. Vostès van a la roca mateixa. Estic súper emocionada. Vostès es farà com de dimecres, i després hauràs de treballar en la seva última projectes, i serà impressionant. Jo estaré aquí ve setmana 04: 00-4: 30 si vostès volen venir recollir els qüestionaris. Si vols trobar-me en un altre moment o simplement coordinar un moment diferent, no dubti en fer-m'ho saber. En cas contrari, aquesta és la nostra última secció. Així que va ser genial veure'ls a vostès. Si us plau prengui més dolços. I bona sort en la seva prova.