>> [Música tocando]
>> COLUMNA 1: Todo ben, todo o mundo.
Benvido á súa última sección comigo.
Foi o semestre.
Eu non podo crer que iso é, como, semana 12 ou 11, algo así.
Senón porque é o noso último sección, temos lotes de doces.
E eu vou tentar e prepara-lo tan ben como eu
pode, polo seu exame o mércores.
Entón, probablemente non é a mellor forma de, como, sección final con avaliación quiz.
Pero nós imos tentar facelo divertido.
E sempre hai doces.
Polo tanto, esperamos, que vai facelo mellor.
>> Seu exame será bastante moi a mesma cousa que quiz Cero.
Será o mesmo formato, mesma lonxitude.
Vai estar en salas espalladas do outro lado do campus, porque non
están preto de 900 de vós, e non podemos todo prendelo lo en salas como esta.
Non se esqueza de ollar para todos Quiz Unha documentación
liña no cs50.harvard.edu esta noite ou mañá á noite.
Asegúrese de que vostede sabe onde está indo, o que precisa traer.
Realmente, só precisa levar a si mesmo e un lapis, e ten que estar ben.
As preguntas serán moi moi mesmo.
Probablemente haberá unha parella múltiple elección, unha resposta curta parella,
algunha codificación, quizais un pouco de verdadeiro / falso, tipo de cousas a condizer.
Entón, non debe ser moi sorprendidos co formato.
>> O que pode ser sorprendente é o lonxitude, o que, en anos anteriores,
foi moito máis longo.
No meu primeiro ano, eu non teño un único amigo que eu me lembro de rematar o exame.
Había como múltiple páxinas en branco.
Así, a lonxitude pode ser tipo de desorientador
só porque, nalgúns anos, ten foi moito máis tempo do cuestionario One.
Eu non teño idea o que é como será este ano,
pero é algo a ter en conta.
>> Ademais, o persoas tenden difficulty--
para atopar Cuestionario One moito máis difícil do Cuestionario Cero.
Unha vez máis, xa sabe, se vostede é do tipo que anda
out sentindo un pouco incómodo porque non fixo tan ben como penso
vostede ou que sinta que non fixo facer, así como fixo no cuestionario One,
lembre que hai, probablemente, un moitas outras persoas sentindo así.
Eu estaba sempre unha desas persoas.
Cuestionario un, como, me xogou a un loop.
E os meus amigos teñen este gran foto deles en JP Licks
tipo de con estas enormes sundaes, sendo así, Cuestionario One,
e mirando como se estivesen en bágoas.
>> Polo tanto, é un sentimento xeral.
É unha proba moi difícil, é unha proba difícil.
Obviamente, se saír e sentir como se abalou, óptimo para ti.
Pero sabe que está probablemente não-- non é case sempre
só, se sae sentindo como, eh, probablemente podería comezar mellor.
É duro.
Hum-hum.
>> Audiencia: Canto é que paga a pena en relación a [inaudível]?
>> COLUMNA 1: Paga a pena o mesmo.
Si.
Pero, de novo, iso tamén vai ser afectada polo modo como o resto da clase
fai, como fai a súa sección, como mellorou co paso do tempo.
A clasificación é un pouco de unha caixa negra.
Entón, o que o número real ou a porcentaxe que comeza
non é necesariamente gusta directamente correlacionado co grao
vai conseguir.
Hai unha morea de factores que van para el.
>> Entón, con iso, imos pasar por algunha revisión quiz.
Eu só vou para executar este como a última vez para vós.
Teño todas as respostas Un quiz do ano pasado.
Entón, se vostedes queren tirar que ata nos seus propios ordenadores,
se tomou este exame antes e ten dúbidas,
Eu estaba a pensar que podiamos só pasar por algunhas
dos máis difíciles en que.
Así, podemos falar sobre iso, quizais estar un pouco máis coñecemento
na intuición detrás dalgúns dos estas cuestións, como abordalo-los.
>> Como así, como a última vez, Eu teño un deck de 100-foto
que ten basicamente todos dos diapositivas que eu
preparei anterior seccións desde a súa última I quiz--
temos neste deck.
Así, podemos pasar por practicamente calquera cousa
que xa falamos sobre antemán que quizais
quere un pouco máis aclaracións sobre.
Poderíamos facelo primeiro.
>> Pero, pola contra, estou super feliz só de tipo de traballo
a través destes problemas con vostede.
E eu estou realmente aquí para concentrarse no que vostedes pensan
sería máis importante para concentrarse.
Como, obviamente, todo este material é importante.
Especialmente como nós atravesamos Cuestionario One, Eu sempre vou apuntar cousas como:
Oh, iso pode ser algo realmente quere saber
ou quere ter na súa folla de fraude.
Eu vou estar te dicindo cousas como especie de pasar.
>> Entón, nesa nota, hai cousas que vostedes quere pasar por riba?
Ademais, se eu non telo na miña plataforma, nós pode tirar algo na web,
ou podemos tentar facer -Se un exemplo en tempo real.
Pero calquera conceptos que caras son un pouco confuso diante.
[? Brian ,?] Fixo vostede have--
>> Audiencia: Oh, non é acumulativo?
Como, se o material ao Cuestionario Cero será aquí?
>> COLUMNA 1: É acumulativo, pero é moito máis
dunha énfase en cousas desde a súa última quiz.
Entón, obviamente, vostedes teñen aprendeu sobre variables e loops,
e condicionais.
E non é como aqueles só ir, porque son
obviamente inherente a todo outra cousa que aprendemos agora.
>> Non pode ser unha pregunta sobre os tipos, ou hai
pode ser unha pregunta en enquisas diferentes.
Ou pode haber un par preguntas sobre algo que quizais
tendo que ver coa compilación ou erros diferentes.
Pero se xa mirou Cuestionario One do ano pasado,
notarás que é moi centrado en cousas
que teñen acontecido desde a súa última quiz.
>> Por que é que a porta sempre protexida?
Isto realmente me molesta.
Porque eu sempre intento pasar por iso.
>> Entón, iso é moi fermoso como o cuestionario será.
Entón, hai conceptos que vós quere pasar por riba?
Ou podemos ir directo para só mirando para Cuestionario One
desde o ano pasado e medio que vai mediante cuestións prácticas de alí.
Tamén podemos cambiar e cara atrás.
Isto non é unha especie única de cousa.
Algunha pregunta?
Si.
>> Audiencia: Podería pedir un pregunta sobre another--
>> COLUMNA 1: Unha?
>> Audiencia: Isto é de máis dun ano.
>> COLUMNA 1: Yeah.
Tamén podemos facer máis dun ano.
>> Audiencia: Aceptar.
Así, en 2011.
>> COLUMNA 1: 2011.
Ooh, que foi o ano antes de min.
Déixame sacar isto.
>> Audiencia: Creo.
>> COLUMNA 1: Este aspecto ratio é me xogando fóra.
>> Audiencia: 11 e 12.
>> COLUMNA 1: 11 e 12.
Aceptar.
Ben, aquí, por que non podemos facer isto?
Vostede guys-- todos pode ter un par de minutos a ollar a través de cuestionarios.
E nós imos compilar unha lista.
E entón nós imos pasar por eles.
Todo certo?
Mentres eu recibín unha morea deste material configurado.
Aceptar.
Eu só vou escribir as cousas no papel.
>> 2011, 11 e 12?
Eu só vou cambiar esta exhibición.
Aceptar.
Así é mellor.
Isto acabou.
Todo certo.
>> Alguén ten calquera que que quere comezar?
Ademais, esqueceuse de dicir que, se quere máis de unha chea de xente falando en ti
e só dándolle unha rachadura curso nas últimas seis semanas,
estamos executando un comentario sesión de 7:00
ás 8:30 esta noite no Noroeste B103, o que tamén aconteceu
última vez, onde vai ser eu, Hannah, Daven, con Gabe
e Rob tipo de axudar a partir da marxe de só un tipo de tirar todo
a información que pode quere ter na súa folla de fraude,
slash, sei alí, en xeral.
Audiencia: É tamén en liña, non?
COLUMNA 1: Tamén é en liña.
Entón, tamén se pode estar de fora desa tempo nojento, vaia para o seu dormitorio,
e live-streaming-lo se quere.
Estou seguro que unha morea de pessoas-- Sei que eu faría
estar facendo que, se eu estivese no seu lugar.
Aceptar.
Entón, por que non comezamos com-- mentres guys-- esperanza,
xa estás buscando por.
Se non, eu só podería comezar a traballar a través de cousas diferentes no cuestionario One
desde o ano pasado, a menos que ten preguntas específicas.
>> Imos comezar con este cuestionar aquí sobre pilas.
Así que todo o mundo se lembra o tipo do que unha pila é?
Como tendemos a-- alguén pode só dar- me unha descrición xeral dunha pila?
Un tipo de estrutura de datos.
Aceptar.
Polo tanto, é un dos estruturas de datos que nós
esperan que sexa familiarizado com-- como Stacks, matrices, colas, etc..
Si.
>> Audiencia: Like Primeira In, último Out, algo.
>> COLUMNA 1: É First In, último Out.
Exactamente.
Entón, unha pila é exactamente o que tendemos a pensar
sobre cando pensamos dunha pila de cousas.
Así, unha pila de tarxetas.
A primeira tarxeta pór para abaixo será na parte inferior,
e que vai ser o último aquel que elimine ao final.
Porque se comportan.
>> E tomar un fóra do fondo, Normalmente, as cousas bater e romper.
Entón pilas que pode pensar Así como unha pila de pratos.
Ou o exemplo que sempre gusta de usar é nas salas D, ten as bandexas,
todos eles son empilhados, e tomar dende o principio.
Así, a última das cales en é o primeiro en saír.
Aceptar.
>> Así, no caso aquí, nós ver que eu pregúntome have--
se realmente pode ampliar un pouco.
Entón temos esta struct aquí.
Non?
Entón tes algunha estrutura que ten int algúns números de capacidade.
Entón, o que nós pensamos que representa?
Esta é unha matriz con tamaño capacidade.
>> Entón, iso realmente representa nosa pila en xeral.
Nosa pila é realmente só unha matriz con algún número definido
que é o seu máximo, é dicir, a súa capacidade.
E entón temos algúns tamaño int, que pode controlar o tamaño da nosa pila
durante todo o curso de cando estamos a usalo.
OK?
>> Neste caso aquí, nós dicimos que o noso tamaño da pila foi inicializar a 0.
Polo tanto, temos unha pila baleira no momento.
E entón nós queremos rematar a posta en marcha de pop
co fin de volver a int na parte superior.
E entón se está baleiro, el retorna 1 negativo.
OK?
Entón, quero que vostedes só de pensar sobre o que podemos facer alí.
O que podería ser un dos primeiros cousas que queremos comprobar?
Hai unha gran cousa aquí.
Sempre que says-- se sempre hai algún Se declaración, como "Se pila está baleira",
ou "Se isto volve nulo", ou "Se iso é o que quere" - desculpe.
>> Audiencia: Fai unha instrución If.
>> COLUMNA 1: Correcto.
Podería escribir instrución If.
E iso pode ser un dos primeiras cousas que quere comprobar.
Aceptar.
Sempre que eles dan-lle como unha especie de caso de canto
como este, que é tipicamente unha das primeiras cousas
está indo a comprobar no seu código.
>> Ademais, a algo recoñecer a quiz
é se ten unha forma ineficiente para facer algo, anota-la.
Porque non estamos clasificación Lo en deseño, estamos
clasificación lo sobre corrección de quizzes.
Así, mesmo se sabe que el é un super- mala forma de facer algo, pero funciona,
anota-la, OK?
>> Nenos Literalmente, vin último ano-- se ollar para un do ano pasado,
son como, facer a pirámide Mario.
E literalmente só fixo "print, hash de impresión, mestura, mestura, impresión, mestura,
hash hash. "
Pero é correcto.
Fai o que dixo a el, entón non pode sacar puntos.
Se é baixo para o fíos, obviamente,
quere obter unha solución máis elegante, e a solución máis elegante, probablemente,
ser menos código, o que significa que probablemente teñen unha maior oportunidade de estar seguro.
Pero se vostede é como, vostede sabe o que, non, eu non teño tempo, eu
sei que esta é unha solución, non é o mellor, escribilo.
E aínda pode escribir na lado, sei que iso é terrible,
pero sei que funciona.
Entón, só tes que un heads-up.
Aceptar.
>> Entón, obviamente, o primeiro é esta declaración If.
Entón, o que nós pensamos que este caso declaración será?
E, de feito, déixeme aberto o meu gran editor Sublime.
Eu estou indo a este código e, a continuación, amosar a vostedes cando está feito.
Entón int pop.
Aceptar.
Entón, se temos este int pop void-- tan obviamente,
esta é unha función que ten en nada e retorna un enteiro, non?
Por iso, só vai falar esta pila que creamos.
>> Entón, só tes que traducir esta última frase "se pila está baleira,
pop debe volver negativo 1, "como podemos facelo?
Entón, se o que?
Como sabemos que a pila está baleira?
É só o tamaño é igual a 0.
Stack.size é igual a 0.
Ademais, eu son o tipo de escritura cego aquí.
Entón, se eu fai calquera typos-- oh, Tamén esquezo de mencionar isto.
>> A semana pasada, eu entender totalmente fóra o que o noso problema foi con JavaScript.
Non capitalizar I e D. Só debe
capitalizar I e obter elemento por Id.
E iso era toda erro.
Entón, se vostedes volver e realmente ollar a través do meu código,
Se acaba de facer todo o que un d minúscula, "esquecer elemento por Id"
vai traballar.
Entón, como eu prometín, eu estaba moi preto.
Eu só capitalizar algo Eu non debía, que
Estou seguro de que vostedes tiveron na súa última PSET.
>> Polo tanto, se o noso tamaño é igual a 0, o que temos que facer?
>> Audiencia: retorno negativo 1.
>> COLUMNA 1: retorno negativo 1.
Con estilo.
Entón agora o que imos facer?
Queremos algo pop off.
Agora, este é o caso onde temos algo.
A nosa dimensión é maior que 1 ou superior a 0, non?
De feito, temos algo alí.
Entón, o que queremos facer é nós queren volver aquí.
Nós imos dicir que queremos para volver parte superior do conxunto.
OK?
>> Entón, como podemos facer iso?
Como é que imos volver ao principio da pila?
Teña en conta que, o noso stack é só unha matriz, non?
Ten algunha capacidade que demos a el.
Como poñemos as cousas on-- ou realmente, imos escribir "push" despois diso.
As cousas están en há-- quizais unha imaxe vai axudar.
Hm, eu gusto de gran giz mellor.
>> Entón se-- e pode só pensar niso como a nosa stack.
Polo tanto, este é 0, 1, 2.
Eu non sei por que as miñas caixas están quedando menores.
Pero existen.
Aceptar.
>> Polo tanto, esta é unha pila cunha capacidade de 5.
E imos dicir que temos algo aquí e temos algo aquí.
Entón, neste momento, a nosa tamaño é igual ao que?
2.
E se queremos pop algo fóra del,
isto significa que queremos chegar librar deste aquí.
OK?
Entón como é que imos volver ese valor?
>> Audiencia: Tamaño menos 1.
>> COLUMNA 1: Correcto.
Entón tamaño menos 1, ou podería facer o tamaño de menos de menos.
Pero non podemos só facer o tamaño.
É dentro dun struct, non?
Entón stack.struct.
ou stack.size.
Ese é o noso índice ben alí.
OK?
>> E, a continuación, se miramos de volta ao noso struct aquí,
notamos que a en realidade, acceder a matriz,
o que necesitamos facer stack.numbers para acceder, en realidade, esa matriz.
Así que retorna ao cumio da pila.
>> Pero algo isso-- se vós ollar en clave de resposta, iso é todo o que eles
darlle.
Entón é iso.
Pero eu podería argumentar que son miss-- ooh, non o que eu quería.
Podería argumentarse que son falta algo, because-- si.
Audiencia: Reduza o tamaño.
COLUMNA 1: Correcto.
Necesitamos diminuír o tamaño da nosa empresa.
Entón, o que é complicado sobre este é cando atrás
algo, a súa función de exit vai, non?
Entón, o que podemos facer é, en realidade, diminuír primeira noso tamaño.
E entón podemos simplemente non stack.size.
>> Podemos só usar stack.size como o noso índice, non poderiamos?
Porque se stack.size é 2, que diminuíla-lo.
E por iso é 1, o que é a nosa indice real.
Unha vez que se librar desa, nós, en realidade, só teñen unha cousa en nosa matriz.
Por iso, fai dous.
Audiencia: [inaudível]?
>> COLUMNA 1: Ben, neste caso, Acaba de volver do elemento
na parte superior que é a nosa tamaño que está na parte superior.
Pero nós non fixemos nada para o tamaño despois da eliminación dese elemento.
Iso non cambiou noso tamaño aínda.
Isto fai realmente inherentemente cambiar o noso tamaño.
>> Pero para facelo un pouco máis claro, podería facer stack.size minus.
Para min, non fai iso, eu non sei, un pouco máis clara isso-- ah,
que está realmente cambiando o tamaño e devolve-lo.
A outra forma era bo, porque estabas cambiando e volvendo
á vez.
Pero esta é só unha outra forma de escribir iso que eu quería amosar para vós.
Isto ten sentido?
Pilas, creo, son moito máis fácil do que colas.
[Risas]
Aceptar.
Tes dúbidas específicas preto de 11 e 12, ou apenas--
>> Audiencia: Creo que foi a pila.
>> COLUMNA 1: O tamaño da pila?
>> Audiencia: Yeah.
>> COLUMNA 1: Gotcha.
Aceptar.
Si, podería facelo en un destes dous modos.
Aceptar.
>> Polo tanto, agora temos outro.
Isto é moi estraño, como non ter iso na miña pantalla.
Polo tanto, se miramos aquí, agora queremos completar a implantación do pulo,
que realmente pon algo, vai e inserir algo na nosa cola,
ou no noso pila.
OK?
>> Entón, se nós observamos, nós teño un par de cousas.
Temos as nosas great-- se todo máis, sempre que temos un destes,
vostedes deberían, polo menos, comezar a metade un punto, porque todo o que tes que facer
é converter isto en C. E eles danlle metade.
Así, "se a pila está chea ou é negativo,
empuxe debe volver falso. "
OK?
>> Entón, nós só queremos positivo enteiros para estar no noso stack.
Todo certo?
E iso vai ou volver verdadeiro ou falso.
Así, debemos [inaudível] bool.
Aceptar.
Entón, traducindo.
>> Audiencia: [inaudível].
>> COLUMNA 1: Oh, grazas.
Si.
É por iso que eu teño vostedes.
Int n.
Perfecto.
Porque estamos poñendo algo para a pila.
Nós realmente necesita dalgún número.
Aceptar.
>> Entón, só tes que tomar esta última liña que eles nos deron, o noso tipo de casos de canto,
o que pensas que temos aquí?
Obviamente, nós imos ter algúns If.
Aceptar.
Por iso, dixo: Se a nosa pila é ou completa, se n é negativo.
Entón, probablemente máis fácil de comezar con, por iso, se n é menor que 0
ou- lembrar do seu bo AND e OR alí.
>> Como poderiamos comprobar a ver se a nosa pila está chea?
Que pasa?
>> Audiencia: Tamaño capacidade igual.
>> COLUMNA 1: Exactamente.
Perfecto.
Aceptar.
E o que queremos facer alí?
>> Audiencia: return false.
>> COLUMNA 1: return false.
Perfecto.
Entón, no medio do camiño, non?
Como mínimo, vostedes terá metade deste.
Entón, imos pensar sobre iso.
>> Polo tanto, esta é a pila, comezamos con.
Estamos intentando poñer un elemento aquí.
>> Temos un tamaño que é igual a 2 no momento.
Temos unha capacidade que é igual a 5.
E imos dicir que temos algúns n é igual a 3.
Entón, necesitamos entrada 3 para este espazo.
E necesitamos a entrada-lo en índice 2.
Non?
>> Entón, como podemos facer iso?
Intentando assign-- nós queres acceder nosa matriz.
Entón stack.numbers.
Pero, o que faría indice queremos que iso sexa?
>> Audiencia: [inaudível].
>> COLUMNA 1: Yeah.
Stack.size.
E queremos que a igualdade n, non?
>> Audiencia: [inaudível].
COLUMNA 1: Eu estaba realmente só de ollar para iso.
Eu creo que iso é incorrecto.
>> Audiencia: Non quere que o espazo pasado o tamaño actual?
>> COLUMNA 1: Ben, se miramos aquí, noso tamaño é neste momento 2.
Queremos que vaia para o índice 2, porque este é o principio da nosa stack.
Entón, eu diría que debe ser stack.size,
e entón aumentaría stack.size.
Será que todo o mundo de acordo?
Creo que estou de acordo con iso.
Podedes argumentar comigo, se desexa.
Ou non discutir, pero podemos discutir iso.
>> Audiencia: [inaudível].
>> COLUMNA 1: Hum-hum, é onde está abra porque a indexación de cero.
Así, mentres que na primeira parte, Eu penso que eles estaban errados,
e eles eran, en realidade, á dereita, este parte, realmente creo que eles estaban errados.
Eu diría que debes definitivamente introduza aquí.
Creo que todos estamos de acordo que ten un tamaño de 2.
Iso é onde nós queremos que o noso novo número para ir.
Entón stack.numbers en stack.size debe ser igual a n.
E entón nós incrementar o stack.size.
++.
E entón o que é que quere facer?
Hai unha última cousa que debemos facer se insire correctamente esta?
Retorna certo.
E agora está feito.
Entón, eu sinto como se fose toda a menos minus stack.size e stack.size ++ que
cousas desarrumada.
Ugh.
I keep-- eu teño esa instintiva tendencia de sempre bater
Control, S, porque eu nunca quere perder ningún dos meus traballos.
Pero eu non teño que facer iso agora.
Aceptar.
Así que foi pila.
Con estilo.
>> Hai algo?
Será que vostedes atopar calquera outras preguntas que desexa
quere pasar por riba de cuestionarios anteriores?
Se non, podemos tipo de comezar a falar mediante cuestionario One do ano pasado.
Si.
>> Audiencia: Por primeira parte, realmente non
entender como excluíu o número.
Non é aínda alí?
>> COLUMNA 1: O número aínda está alí.
Pero o que pasa é que, porque dixo que o cumio da súa pila
É aquí, cando vai para engadir algo para a pila, el só vai substituílo.
>> Audiencia: Oh, OK.
COLUMNA 1: Yeah.
Entón, é como se tivese esquecido e el está aí tipo de cousas, aínda que está aí.
Audiencia: [inaudível], ou algo?
COLUMNA 1: Non.
Porque estamos nun array, non ten
preocuparse about-- só substitúe-lo cando precisa del.
Todo certo.
Algunha pregunta?
Se non, nós só estamos indo para comezar a traballar a través de.
Si.
>> Audiencia: Ben, esta é a 2013, pero só pasando o material SQL.
COLUMNA 1: SQL?
Aceptar.
Polo tanto, este é de 26 a 29.
Audiencia: Yeah.
COLUMNA 1: Aceptar.
Encantador.
Imos tirar os up.
Oh, mire.
Vostedes tiveron gozar do Steve Ballmer falar, polo camiño?
Foi moi divertido, na miña opinión.
Eu amo o que cada vez que eu traio riba CS50 de web durante a sección, é como, oh,
asistir sección.
E eu son como, mm.
>> Audiencia: Podemos facelo?
>> COLUMNA 1: Nós imos facelo ao final.
Como é isto?
Porque sei que vostedes sempre quixo.
Entón, nós imos facelo ao final.
Un preguntas.
>> Audiencia: [inaudível].
COLUMNA 1: Vai ser unha sección meta.
Audiencia: É como 5 segundos.
Audiencia: Serio?
Audiencia: É como 20 segundos.
[Interpoñendo VOICES]
[Risas]
COLUMNA 1: Gústame que xa fixo
Lo, que é o que me fai máis feliz.
Aceptar.
26.
Aceptar.
En realidade, nós só estamos indo a reflictir isto agora, porque eu non podo.
Iso é aburrido.
Aceptar.
Agora podo ver todo.
Encantador.
Aceptar.
>> Entón, obviamente, iso debe traer de volta grandes memorias de [? CSG?] Finance.
Metade do que sobre ter o seu clasificados agora.
A outra metade eu vou comezar a moi, moi pronto, prometo.
>> Polo tanto, temos algúns táboa SQL iso é Contas aquí.
Probablemente semellante ao táboas de usuarios dos seus homes.
E nós temos un número que era unha chave primaria
e representa un Número de conta de 12 díxitos.
E o equilibrio é a cantidade de diñeiro que eles teñen.
E o valor por defecto é 100.
E danlles 100 dólares Calquera xa que abrir unha conta.
Eu quero que o meu banco fixo.
Aceptar.
>> Entón, nós queremos completar o esquema especificando o número xunto en equilibrio
o tipo SQL apropiado.
Entón, o que vostedes pensan que sería tipo de como a súa reacción instintiva
para estes dous tipos de?
>> Audiencia: Int.
>> COLUMNA 1: Un int.
Aceptar.
E, a continuación, a un equilibrio?
Decimal.
Aceptar.
Así, o dereito do decimal.
Int está próximo.
Kind of a gran cousa é esa subliñado número de conta de 12 díxitos.
Sempre que temos algo que é maior que oito díxitos,
queren que use gran int, que eu creo que é--
>> Audiencia: É que só SQL?
>> COLUMNA 1: É a única vez que escoitei do que é SQL-- como usar un gran int.
É só para darlle un pouco máis de precisión,
asegurarse de que non é tipo cousa transbordante.
En toda a honestidade, eu creo que iso é sempre un dos máis
onde é como, oh, Destínase a xente
que teñen un pouco máis de coñecemento de SQL.
Nós nunca falamos sobre grandes ints no seu PSET.
Entón, é tipo como eu estou seguro se pór int, era metade de crédito.
>> E como dixen antes, non van para ser algunhas preguntas que son só
significaba para te enganar, polo que, que non todo o mundo ten 100.
Porque, por suposto, non algunhas persoas en CS50
que xa vén facendo iso hai como de oito anos, e está tipo,
o que está facendo?
Pero si.
>> Decimal para o equilibrio foi o evidente.
E entón gran int ao número só porque de que, así como, subliñou 12 díxitos.
Sempre que algo está en negra ou é subliñado, como, prestar atención a ela.
Non estamos a facer iso só porque.
Aceptar.
>> Así, "supor que as impón bancarias unha taxa mensual de US $ 20 sobre todas as contas.
Co que podería consulta a base deducir $ 20 a partir de cada conta
aínda que iso resulte de algúns saldos negativos? "
Entón, imos comezar polo máis sinxelo.
Temos catro comandos principais para SQL, que son?
Vostedes lembrar os catro grandes que eu che dixen?
>> Update, Delete, SELECT, e INSERT.
Perfecto.
Entendín.
Entón, o que pensamos poder ser máis útiles para un regalo?
Nós é-- Update.
Exactamente.
Entón actualización, porque nós estamos mirando en contas que xa existen.
>> Entón lembre-se o noso xeneral tipo de cousas é actualización.
E entón o que vén despois de actualización?
Temos algunhas táboa que estamos facendo referencia.
Entón, se eu puxar arriba Sublime novamente-- Update.
Polo tanto, este é un formato xeral.
Polo tanto, temos a táboa Update.
E entón, cal é a seguinte cousa que temos?
>> Podes facer WHERE.
E entón temos algúns qualifier aquí.
E entón o que temos que seguir?
Temos algo SET-- igual a algo.
Blah blah é igual.
Blah actualizado.
Non?
Entón, iso é como o xeneral idea para algúns actualización.
OK?
>> Entón, imos comezar a cubrir este co que debería ser.
Entón, o que a táboa que estamos a falar?
Contas.
E, a continuación, no presente caso, o que é moi legal
é que estamos a falar específica usuarios dentro da nosa conta,
ou estamos a falar de todos os usuarios?
Estamos a falar de todos os usuarios.
Entón, nese caso, podemos só eliminar esta ONDE qualifier.
A ONDE É só cando quere para limitar o que está cambiando.
Se queres cambiar o todo mesa, pode simplemente poñer isto.
Aceptar.
>> Entón, agora estamos no noso SET parte.
O que queremos cambiar?
>> Audiencia: Balance.
>> COLUMNA 1: Equilibrio.
E imos a-- como son imos cambiar o equilibrio?
Temos unha taxa de US $ 20, non?
Minus 20.
E eles dixeron que está todo ben se temos saldos negativos.
Polo tanto, neste caso, non é necesario de facer calquera outra comprobación de erros.
OK?
Isto é, literalmente, todo o que tes que facer.
Legal?
Aceptar.
>> Entón, imos pasar ao seguinte.
"Co que pesquisa podería o base recuperar os números de conta
dos seus clientes máis ricos con equilibra superior a 1.000 dólares? "
Se a súa base e os seus clientes máis ricos son só aqueles con máis de 1.000 dólares,
Eu me sinto como se estivese facendo algo mal.
Como, como un banco sobrevivir con iso?
Como, ese interese, non é o bastante.
Aceptar.
Con este tipo de cousas, o que facer Pensas que, dos nosos catro funcións,
Que pensas que vai utilizar?
SELECT.
Perfecto.
SELECT.
Aceptar.
Entón, nós estamos seleccionando algúns identificador FROM táboa.
E entón condición WHERE.
Así como nós atravesamos Destes, eu só vou
para dar a vostedes unha reciclaxe xeral en formato xeral de todos estes.
>> Entón, nós estamos seleccionando algún tipo de [? cousa. ?] Neste caso,
este será tipicamente algunha columna.
Polo tanto, no noso caso, temos número, equilibrio.
No caso dos seus rapaces, quizais era ID, nome, contrasinal.
Calquera destas columnas, iso é tipicamente o que estamos seleccionando.
>> Polo tanto, neste caso aquí, o que tipo de columna, o identificador
estamos tirando da nosa mesa?
O que nos pedir?
El nos pide para os nosos números, non?
Os números de conta.
Entón lembre, só número, neste caso.
Se vós xa tivo o erro, que caixa de laranxa brillante viría para arriba.
E foi así, inesperada remar en, tipo, calquera que sexa.
Isto é porque chamado súa mesa de malo, non?
Entón non se esqueza que é chamando a columna correctamente.
>> Así, a partir da táboa, a nosa mesa chámase contas.
Unha vez máis, asegúrese de que vostede é referenciar a súa mesa correctamente.
E entón o que é a nosa condición aquí?
O que estamos a buscar?
Queremos que os nosos pobos ricos.
Si.
Así equilibrar maior que 1.000.
Alí vai vostede.
Esa é a súa consulta.
Non é tan malo, non?
Aceptar.
>> Entón, agora a nosa última.
Con iso, estamos espirros through.
Aceptar.
Entón agora "co que podía consulta a estreita marxe, é dicir, eliminar "-
Non que ama como acabo de lle dar DELETE--
"Todas as contas que ten un saldo de 0?"
Creo que todos podemos aceptar que estamos probablemente vai estar a usar Delete.
Eu son Benvido a tomar calquera discusión en torno a iso.
Pero eu creo que é moi seguro dicir que poderiamos usar Delete.
>> Entón, nós estamos indo a eliminar algunhas usuarios da táboa, condición WHERE.
Así mesmo tipo de cousas como SELECT.
Polo tanto, neste case-- oh, me desculpe.
Eu debería DELETE FROM.
Que vai borrar borrar a liña enteira.
Entón, nós non necesitamos falar do que cousas específicas sobre un usuario que estamos
exclusión.
Se eliminar un usuario, estamos exclusión todo sobre eles.
>> Polo tanto, neste caso, só necesitamos encher o noso WHERE e nosa condición.
Polo tanto, a nosa táboa é só as nosas contas mesa, como vimos facendo.
E entón o que está aquí a nosa condición?
>> Audiencia: Balance.
>> COLUMNA 1: Equilibrio é igual a 0.
Correcto.
Todo de bo.
Si.
>> Audiencia: [inaudível].
>> COLUMNA 1: Entón borrar inherentemente borra todo.
Así, mentres que con SELECT, seleccionar ten en determinadas columnas que quere que volte.
Se quería todo sobre un usuario volveu, usa estrela.
Estrela di, volver me todo, dende ese usuario.
Ou se pór ONDE estrela, que significa só darme todo.
>> Pero borrar inherentemente ten iso.
Entón, se di, DELETE FROM contas onde o equilibrio é igual a 0,
vai pasar.
E en todas as partes que o equilibrio é igual a 0, isto fai que inherentemente.
Vai borrar todo.
A estrela é máis for-- con SELECT e Update,
está falando máis sobre o individuo campos correspondentes a un usuario.
>> Entón, cando seleccionar protagonizar da táboa Where ID
é igual a 1, que retorna para ti todo sobre o usuario con ID 1.
Se fose facer número selecto ou SELECT ID nome coma de usuarios
Where ID é igual a 1, que volve só o seu número
ou a súa ID eo seu nome.
OK?
>> Entón, usamos estrela, nese caso, dános todo sobre un usuario.
E borrar inherentemente fai iso.
Non só eliminar o ID, ou só o nome, ou o que quere.
Si, non.
El só elimina completamente o usuario.
Polo tanto, non se preocupe sobre a estrela alí.
>> Se quixese borrar todo, podería facelo,
e iso só vou botar todo.
Pero normalmente, non quero facelo.
Pero se quere eliminar todo, podería facelo.
Aceptar.
>> Vós xa atopou algunha dúbida?
Si.
>> Audiencia: Podería facer 26?
>> COLUMNA 1: 26 que acabamos de facer.
Audiencia: Oh, 25, desculpe.
COLUMNA 1: 25.
Aceptar.
25.
Oh.
Están facendo JavaScript.
Oh, eu non podo crer.
Vou xogar nos de novo, persoal.
Aceptar.
Temos iso.
Estamos indo para facer este traballo.
Ah, jQuery.
Fun.
Aceptar.
>> Entón, nós estamos indo para completar a execución da páxina web
de tal forma que se visiten, entrada do seu nome, e enviar o formulario,
eles teñen esa gran alerta fiestra que aparecerá.
Entón, calquera cousa con alertas, sabemos que nós imos ter que usar JavaScript.
Yay, JavaScript.
E se eles non son quen introducir un nomear antes de enviar o formulario,
ningunha alerta debe aparecer.
Logo, pode usar jQuery, pero non precisa.
>> Entón eu vou deixar vostedes traballan sobre iso só por uns minutos.
Pense nisso.
E entón imos codifica-lo.
Corte Vou probar e pensar no mellor forma de explicar esta resposta para vostede.
Todo certo.
Nós imos busca-la creado.
Aceptar.
>> Entón, nós só estamos indo para camiñar por este,
porque sei jQuery é un pouco confuso.
JavaScript.
É un pouco por aí.
Entón, o que nós imos facer é [Inaudível] realmente resolto
este problema con jQuery.
Entón, se se lembra, jQuery é só unha biblioteca
iso é só construída enriba de JavaScript.
Era para facer o seu a vida un pouco máis fácil.
>> Eu sempre, se ten tempo, ollar por riba
algo do documentación para jQuery.
Pero é moi parecido ao JavaScript.
Ten paradigmas similares, onde usar este operador punto para chamar funcións
en obxectos que ten.
>> Entón o que temos aquí é para jQuery, ten que ter sempre este tipo
de invólucro, que é a Función de $ (document) .ready (function)
en parénteses aquí.
Aceptar.
Entón, isto pode ser algo quere na súa folla de fraude.
Porque, polo menos, pode teñen o envoltorio para o seu jQuery.
E vai, polo menos, chegar vostede parte xeitos alí.
>> Así, do mesmo xeito que nós Falamos moito sobre JavaScript,
e queremos comezar por ollar para o que estamos intentando editar
ou o que estamos intentando cambiar.
E que normalmente sería o primeiro que iríamos poñer.
Polo tanto, neste caso, se volvemos a este aquí e miramos o noso formulario aquí,
Temos este insumos, á dereita, este id de insumos.
E sabemos que, en base na nosa cuestión,
ou están indo xogar un erro se este campo está baleiro,
ou imos poñer isto nun alerta, non?
Entón, probablemente seguro dicir que somos será xestionar entradas aquí.
>> jQuery é moi semellante en que se creo que volta a CSS, calquera cousa cun ID
Mira cun hash.
Calquera cousa con clase nós mirou cun punto, non?
Así, do mesmo xeito aquí, o estamos a falar é insumos.
Vimos que os insumos é un ID dentro do noso formulario.
Entón, nós estamos indo para referirse a el como tal.
Entradas.
OK?
>> Así, cando en dúbida, mesmo Se ten nada,
se está realmente certo como abordar este, A, ten ese envoltorio.
Entón comeza alí con o envoltorio para jQuery.
B, asegúrese de que vostede sabe o que está cambiando.
E en caso de dúbida, poñer isto en algo,
e facer punto, o que quere que pensa ten que facer con el.
>> Audiencia: Cal é o envoltorio?
>> COLUMNA 1: O envoltorio é esa primeira liña.
Entón, iso di, espera ata meu documento está preparado.
A continuación, comezar a xogar coas cousas.
OK?
Entón, sabemos que estamos mexendo con insumos.
Entón, nós estamos como, OK, insumos é a nosa forma.
Ese é o noso ID.
Entón é iso que estamos vai estar buscando.
E nós queremos ver que pasa cando este formulario é enviado, non?
>> Entón, como poderiamos pensar, temos algúns .submit.
Entón .submit só di, OK, esa forma que temos referenciado con entradas de hash,
cando é sometido, realizar algunha outra cousa.
Entón, nós imos ter algunha función.
Teña en conta que temos funcións anónimas aquí.
Temos unha función anónima aquí.
Si.
>> Audiencia: Será que vai ser sempre .submit, ou é só porque, en HTML,
fixemos o tipo botón Enviar?
>> COLUMNA 1: Debe ser .submit, porque é unha forma que estamos enviando.
Porque este .submit non necesariamente corresponden ao que o botón é semellante
chamar.
Pero o feito de que é un formar que estamos enviando.
Aceptar.
>> Entón aviso anónimo función aquí que says--
Audiencia: eu realmente non comprender as funcións anónimas.
COLUMNA 1: Entón anónimo funcións, son
só as funcións que non ten nome.
Entón, en vez de ter algunha función principal calls-- que poderiamos dicir, Se documento
listo, entón nós chamariamos de insumos.
E entón, cando aparecen, call-- Como, se así e así sometida,
chamamos algunha outra función.
Unha función anónima simplemente non ten un nome,
e vai executar dentro destes tipos de cousas.
>> Polo tanto, neste caso, o que iso di é, Cando o noso documento está preparado,
realizar esta función.
Esta función está composta de todo dentro aquí.
E, a continuación, a próxima capa é en, OK, cando as entradas se somete, realizar iso.
É só unha forma de denotar o que debe ser executado cando.
É, literalmente, só un función que non fai
ten un nome, entón eles tenden a ser encaixados un no outro,
porque non pode chamalos polo nome.
OK?
Literalmente, unha función anónima é só unha función sen un nome.
É iso aí.
Só unha forma de encapsular cousas distintas
que queremos executado en momentos específicos.
>> Audiencia: [inaudível].
>> COLUMNA 1: A apertura?
Onde?
>> Audiencia: No parénteses despois da función?
>> COLUMNA 1: Despois de funcións.
Cal?
>> Audiencia: Ambos.
Se pór, como, evento, ou se pór un argumento alí,
sería malo?
>> COLUMNA 1: Neste caso, supoño podería poñer un argumento alí.
Pero, por que non necesitamos un argumento, non debe haber.
Como, é o todo, como, só debe
ten cousas que son necesario tipo de cousas.
Do mesmo xeito que, se tivésemos calquera función que ten void-- principal int como,
con void main int, vostede podería facer int arg v, o que sexa.
Pero se non precisa destes, vostede non debería telos alí dentro.
Mesmo.
Emma, ​​ten unha pregunta?
Aceptar.
Con estilo.
Aceptar.
Entón o que temos ata agora é cando o noso documento de pronto, realizar iso.
Agora nós estamos mirando para cando é sometido.
Entón, agora nós realmente temos sorte da carne da nosa cousa.
Entón, necesitamos para obter o valor que o usuario enviou, sexa un nome
ou baleiro.
E entón necesitamos tanto de retorno este aviso ou lanzar un erro.
De calquera xeito.
>> Entón, como imos declarar unha variable en JavaScript?
Var.
Entón, imos dicir, nome var equals-- ou realmente, imos
facer valor sempre que eu creo que é nome.
Aceptar.
Polo tanto, temos algún valor aquí que nós quere tirar a partir do noso formulario insumos.
Así, do mesmo xeito que Fixemos insumos,
alguén me pode dicir o que nos pode ser chamada dentro aquí
se quixésemos chegar o nome do formulario?
E se miramos o noso formulario aquí, notamos que temos un ID de nome.
Audiencia: [inaudível].
>> COLUMNA 1: Non ten a pensar sobre iso como unha matriz.
Non se preocupe con iso.
Entón, nós só ter algún nome.
E entón, porque Javascript e as cousas son estraños, non podemos só facer "nome".
En realidade, debemos chamar algunha función que nos dá,
como, o valor do identificador que.
OK?
Entón, iso é só .val.
>> Audiencia: [inaudível].
>> COLUMNA 1: Aceptar.
Así, con JavaScript, este tipo de cousa ben aquí só atravesa.
E pode pensar niso as-- é como case un getElementById, onde
getElementById sería realmente voltar a cousa completa para ti.
O $ ("# nome") é como, OK, eu teño iso, podo acceder a ela,
pero se o quere que el para voltar o valor para você--
>> Audiencia: É como un punteiro?
>> COLUMNA 1: É como unha especie de punteiro.
Podes pensar niso como como unha especie de punteiro.
Como, el di, OK, I saber como chegar alí,
pero para realmente obter o valor de Lo, ten que pedir explícitamente.
E, por desgraza, obviamente, non facer moito con JavaScript e jQuery.
>> Por iso, vai baixar para o que vostede guys-- o que xa sabes,
o que ocorrer de ter visto, e que pode tipo de loxicamente adiviñar.
Como algunhas destas cousas, probablemente podería comezar no medio do camiño.
Pero, para obtelo completamente dereita, Creo que este problema probablemente
tiña unha das notas máis baixas.
Audiencia: Como, por exemplo, para [inaudível] insumos,
por que non ten que poñer val alí?
COLUMNA 1: Para un regalo?
Audiencia: Yeah.
COLUMNA 1: Yeah.
Porque este é o tipo de gusto, como dixemos,
algúns punteiro, e este é me referenciando Lo e realmente nos recibindo o valor.
>> Audiencia: Considerando que [inaudível]?
>> COLUMNA 1: Para as entradas, inputs é só some--
é como somos só ollalo como un todo,
e este .submit di -Nos o que necesitamos saber.
jQuery e JavaScript é estraño.
Sei.
Sei, persoal.
Sei.
Hai unha razón para non facer facer programación web.
Só xogar.
Eu non tiven a exposición suficiente para iso.
>> Audiencia: [inaudível] CSS.
>> [Risas]
>> COLUMNA 1: OK, isto é CSS.
CSS é só, como, facer as cousas ben, non é como imos xestionar datos.
Hai unha diferenza alí.
Aceptar.
Entón, agora, esperamos, este part-- tamén, para un problema como este, onde non pode
coñecer a sintaxe, podería ser como, OK, pode que algún valor var
e ser como, asumir I ten o valor correctamente.
E entón podería probablemente escribir esta parte seguinte.
Esta próxima parte, probablemente, parecen moito máis fácil,
ou faría lóxica sentido para vostedes.
>> Considerando o que temos escrito ata agora, Eu sei que eu sería como, umm, si,
Eu non sei que no quiz.
Podes escribir totalmente psuedocode e, a continuación, romper códigos reais
cando você-- que é tipo de como a matemática.
Se xa tivo algún problema multi-parte onde
non sabe como pasar o primeiro paso,
pero todo o demais confía en que a primeira etapa,
acaba de dicir, como, asumir x é igual a 4.
E entón executar con el, non?
>> Podes facer o mesmo co código.
Entón, vostede podería dicir, asumir Eu teño o dereito de valor.
Logo facelo na seguinte parte aquí.
Porque esta parte, en realidade, debe ser moi lóxico.
>> Entón, necesitamos comprobar se o seu valor está baleiro.
Ou se é algún nome, realmente dar unha alerta.
Entón, o que podemos querer comprobar?
Queremos ter un If.
¿Que pensas que o noso Se vai ser?
Necesitamos comprobar a ver se o valor é-- se non é unha cadea baleira.
>> Perfecto.
Exactamente.
Aceptar.
Polo tanto, se ese é o caso, que é o que quere facer?
Queremos xogar un pouco de alerta, non?
Entón é só alerta.
E entón o que queremos dentro.
Entón o que temos ter dentro do noso alerta?
>> Audiencia: "Ola".
>> COLUMNA 1: Comma.
E entón caras Teña en conta que como concatenar?
>> Audiencia: Plus.
>> COLUMNA 1: Plus.
Por iso, queremos ter máis.
E entón temos outra vantaxe para o noso punto de exclamación.
Con estilo.
Aceptar.
Se non, o que se pode querer facer?
Non queremos facer nada, non?
Entón, nós só return false.
Non é o que quero facer.
Aceptar.
>> E, a continuación, estes, de course-- o que é importante
é lembrarse de pechar súas funcións anónimas.
Entón, se observar, temos algúns función aquí que remata aquí.
Entón, necesitamos pechar esta un primeiro e engadir un punto e coma.
E entón este aquí ten que facer con esta función anónima,
por iso, pecha-o alí.
Esa reacción instintiva de aforro.
Si.
Audiencia: Existe unha razón isso-- só en todos os exemplos en JavaScript
que eu xa vin, temos as primeiras claves
na mesma liña que a función?
>> COLUMNA 1: Isto é estilística.
Si.
E, de feito, se tomar 61, nós facer todas as nosas chaves desta forma.
Hein?
>> Audiencia: Se fixésemos iso en o PSET, é tan malo para o estilo?
>> COLUMNA 1: Non.
Dixemos explicitamente vós para facelo.
Pero, en realidade, este é o tipo do convenio dominando
en unha morea de clases C e Javascript e jQuery.
Entón, obviamente, eu estou sure-- e, en realidade, se eu
foron facer este problema completamente cego sen ter ollo para el,
hai, probablemente, moi poucos formas eu conseguiría iso.
>> Podería ser como, OK, quizais eu que incorporarse algo que é unha entrada.
E eu creo que ter o coñecemento que, como,
OK, se eu queira obter algo a partir dun formulario que ten un ID,
Refírome a el, deste xeito, Eu probablemente conseguir isto.
Podería conseguir isto.
Pero, realmente, a única cousa que eu creo que Realmente é este aquí.
>> Entón, é tipo de importante Sabe, como ocorre con calquera proba difícil,
vostede medio que escoller as súas batallas, non?
Se sabe que non vai conseguir que a primeira parte para jQuery, como dixen,
supoñamos que teña este valor e faga o que poida con el.
E se ten tempo, vaia cara atrás e tentar cubrir as pezas.
Pero non deixes que unha cuestión como iso realmente afundilo lo.
Porque o que?
Esta foi unha pregunta sobre jQuery para fóra de todo o exame.
Por iso, si, sería óptimo se conseguiu.
>> Audiencia: [inaudível] vostede están invitados a utilizar jQuery.
COLUMNA 1: Está Benvido ao usar jQuery.
Audiencia: Aceptar. [Inaudível].
COLUMNA 1: Como é que non usalo?
Eu tería que mirar todo o meu JavaScript.
En realidade, é moito máis fácil, Coido que, para usar jQuery,
jQuery porque, en realidade, reduce o cantidade de JavaScript que escribe, probablemente,
por, tipo, a metade.
Así, o noso código probablemente sería o dobre do tempo sen iso.
Entón, se recognize-- o maior cousa para sacar este problema
son os patróns.
Se está accedendo algo dunha forma,
vai empregar aspas, mestura, o que está intentando acceder.
Se está a ser sometido, quere usar algo como un .submit.
Probablemente vai usar unha función anónima alí.
Se realmente precisa do valor da algo, está indo facer citas,
haxix, o que quere que o campo é, .val.
E os patróns de recoñecemento como que van
a ser moito máis útil do que realmente saber o cerna da cuestión.
Si.
>> Audiencia: Entón, se o usuario envía o seu nome
e funciona a través desa declaración, vontade Lo baixar e volver false despois disto?
>> COLUMNA 1: Non, porque a alerta, Podes pensar niso como un intercambio.
Si.
Entón, vai saír.
Si.
>> Audiencia: Podería [? poñer?] os parénteses
presentar, parénteses, algo así?
>> COLUMNA 1: eu fixen, eu creo.
Este seu pechada aquí.
E entón que é pechada para abaixo aquí.
>> Audiencia: Oh, non.
Todo certo.
>> COLUMNA 1: Obviamente, pouco, pequenas cousas sintácticas
así, probablemente imos só o círculo-lo e ser como,
non se esqueza dos seus parénteses.
Pero si.
Aceptar.
Será que temos outro que quere facer?
Será que vostedes a unha árbore binaria?
Non queremos pasar por riba que un?
Eu me sinto como árbores binarias e deberán ser DOM puntos
que vostedes se moi facilmente.
Eu non quero que perder puntos sobre iso.
Aceptar.
>> Imos facelo DOM aquí.
Gustaríame ter miña superficie, entón eu podería simplemente deseñar na pantalla.
Iso é o que eu adoitaba facer o ano pasado.
Aceptar.
Entón, como mencionei, falamos sobre DOM, Document Object Model.
Eles probablemente van darlle algúns pouco de tramo como este
e pedirlle para crear unha árbore para el.
E iso só Todo ten que ver que funciona a través das etiquetas.
Entón, imos tentar facelo.
>> Ademais, como é habitual, se vostedes facer estas probas, como eu altamente
recomendamos que faga como práctica, calquera deles que lle gusta,
Realmente non entendo o que é pasando aquí, só, por suposto,
envíe me unha mensaxe cunha pregunta, e vou explicar o mellor que podo.
Aceptar.
>> Temos algún documento, e nós temos HTML.
Aceptar.
Entón nós estamos só analizando as etiquetas aquí, non?
Entón, o que nós vemos comes-- cales son as dúas subposições HTML?
Sobre todo porque están recuados correctamente?
Cabeza e corpo.
Ah.
Cabeza e corpo.
Encantador.
Entón imos comezar coa cabeza.
O que hai de cabeza debaixo?
Qué é o noso próximo tag?
Título.
E, a continuación, dentro título, quiz.
Aceptar.
>> Entón, literalmente, é só camiñando polas marcas, OK?
Entón, se temos corpo, como nós atravesamos,
corpo ten tres cousas dentro del, non?
Ten tres divs.
Cada div obtén a súa propia caixiña.
E o que é a primeira div?
[Inaudível]
E, a continuación, a próxima é do medio, que eu estou indo só para abreviar.
E, a continuación, o último é inferior.
>> Entón, realmente, é só camiñar a través.
E por nós imos dar vostede HTML que está debidamente recuado,
pode literalmente só percorrer e ser como, OK, aquí está o HTML.
Polo tanto, este é o máis externo canto, ou máis á esquerda,
así que ten que ser a súa propia cousa.
Estes están no mesmo recuar.
>> Entón, nós sabemos que a cabeza que ser ao mesmo nivel que o corpo,
pero por baixo HTML.
É o que temos aquí.
Cabeza e corpo son irmáns, pero eles están baixo HTML.
E, entón, só tes que ir en cada unha delas.
Entón cabeza ten título, que ten cuestionario, como vemos aquí.
E, a continuación, no presente caso, temos corpo, que ten estas tres liñas.
Entón, eses son todos irmáns todos baixo corpo.
OK?
Polo tanto, esperamos que cando ves algo como isto, queda tipo,
si, acaba de recibir a deseñar unha árbore.
Vai ser gran.
Aceptar.
Entón, quería estar seguro vostedes sabían diso.
>> Entón por que non imos a 32 coa nosa árbore binaria?
Porque unha vez que entende un binario Busca árbore, realmente non é tan malo.
Entón Everett, podo apaga-lá- I Quere dicir, todos estes son en liña, tamén.
Entón, se ten algunha preguntas.
>> Perdeu un pouco de espazo alí, pero é OK.
Así, busca binaria árbore é só unha forma de organizar os datos
non nunha matriz, onde a raíz é sempre maior
que o fillo esquerdo e a raíz é sempre menor que o neno correcta.
Aceptar.
>> Entón temos esta gran árbore de busca aquí.
Temos eses números, 34, 59, 20, 106, 36 e 52.
E necesitamos organizar Los de tal xeito
de tal xeito que a raíz é maior do que todo na parte esquerda
e é inferior a todo no lado dereito.
E normalmente, o que quero facer é tratar de atopar
algo sobre o medio.
Con árbores de busca binaria, pode que para xogar un pouco con el.
>> Pero, neste caso, imos só asumir que sabemos desta primeira.
Así, 36 é o noso primeiro aquí.
Normalmente, eu tentaría e escoller algo
sobre o medio que vai probablemente producirá os mellores resultados.
Polo tanto, agora sabemos que todo na este lado debe ser inferior a 36.
Pero tamén, o que se pode ver é que temos dous puntos máis aquí.
Entón, se sabemos que necesitamos dous números que son menos que a raíz,
logo podería simplemente pedir estes e escoller o terceiro número.
Aceptar.
>> Entón, por que non comezamos con este lado?
Entón, se sabemos que todo na deste lado ten que ser inferior a 36--
pero se miramos para este, sabemos que este número
ten que ser inferior a ese número, non?
Como ese número aquí está no lado dereito.
E lembre, así como no noso maior árbore, todo á dereita
Debe ser maior que a raíz.
Deste xeito, sabemos que todo o que está neste necesidades
ser maior que todo o que está aquí.
OK?
>> Polo tanto, temos dúas opcións para estas dúas burbullas.
Temos 32 e 34-- ou arrepentido.
20 e 34.
Entón, como pensas que podemos poñer isto en?
Se este ten que ser maior que este,
isto significa que queremos teño 20 aquí e 34 aquí.
Aceptar.
>> Así, do mesmo xeito, nós miramos neste tipo de sub árbore.
E nós dicimos: OK, nós non temos 36.
Temos 106, 52 e 59.
Non?
Neste caso aquí, nós sei que este precisa
para ter unha cousa que é maior que iso e unha cousa que é menos que iso.
Non?
Entón, se nós poñer isto en orde, é só sobre atopar ese valor medio de novo.
Así, o noso valor medio é de 59.
Entón dicimos: OK, o que é menos que 59?
Ben, iso é 52.
E o que é maior que 59?
Ben, iso é 106.
OK?
Entón é só un pouco como un puzzle.
É tipicamente axuda, especialmente en árbores de pequeno porte como este,
se só ten que pedir, se saber cantos están á esquerda
e cantos están na dereito, que pode só
permiten que escolla o que debe estar na súa raíz.
E entón podes tipo de traballar a partir de aí.
Hum-hum.
33?
Claro.
Aceptar.
Por iso, queremos crear un nodo ou unha árbore de busca binária.
E imos ollar para o que pode estar nel.
E eu creo que iso vai realmente ser o noso último problema.
Ah.
Aceptar.
>> Isto é como o que pudermos pensar en como un nó, non?
Temos algún valor, e nós sei que quere
non deixaron e nenos certas.
Busca binaria tree-- que medios que ten, como máximo, dous nenos.
OK?
Imos pensar sobre a forma que nós definir unha lista ligada, non?
>> Tivemos algúns int que representado o valor.
Tivemos algúns punteiro que representou o que estaba indo para a próxima.
Árbore de busca binária é moi similar.
Aínda temos algún valor, n, que damos a ela, non?
E entón eu tirei estas moi explicitamente con frechas,
porque son efectivamente punteiros.
OK?
>> Entón n é normalmente o que?
É algún valor.
O que nós normalmente designalos como?
Un int.
Polo tanto, temos algúns int n, ou o valor int, ou o que quere chamalo.
E despois temos a esquerda neno eo neno dereita.
Non?
E sabemos que o que están ponto-- o que están a apuntar cara?
Están a apuntar cara a outros nós, non?
Entón como é que declaramos un punteiro nó?
>> Audiencia: [inaudível].
>> COLUMNA 1: Hum-hum.
E nós imos ter dous deles, non?
E entón podemos literalmente que deixou para o fillo esquerdo
e á dereita para o neno dereita.
Actually-- desculpe.
Porque necesitamos struct.
>> Entón struct é porque nós non temos terminou declarando un nó aínda.
Así nodo está dentro aquí.
É como unha especie de definición recursiva, non?
Entón, cando estamos dentro esta definición, nós
non terminou declarando nó como a estrutura,
polo que debemos facer struct nó só para dicir, si,
estamos de feito a referirse de volta a nós mesmos escriba cousa.
Que, como xa que é creado, que vai estar ben.
>> Entón, o grande é que vostedes pensan que é isto?
Cal é o tamaño desa estrutura?
12.
Por que?
Precisamente.
E, de feito, un dos primeiras preguntas dun cuestionario One
é sobre tamaños, que é por iso que eu pregunta.
Todo certo.
>> Nós imos ata o final, xa que o DCE vai berrar comigo se non o facemos.
Pero, se vós ten algunha dúbida, por suposto, enviar correo-e me, deixe-me saber.
Vostedes están indo ao rock-lo.
Estou super animado.
Vostedes realizarase como de mércores, e despois
vai comezar a traballar no seu último proxectos, e iso vai ser incrible.
>> Eu estarei aquí á beira semana 4:00 - 04:30
se vós queredes vir incorporarse os seus cuestionarios.
Se quere me atopar outra vez ou só coordinar un horario diferente,
Sinto-se libre para me informar.
Se non, esta é a nosa última sección.
Entón, foi xenial ver vostedes.
Por favor, tome máis doces.
E boa sorte no seu quiz.