1 00:00:00,000 --> 00:00:11,100 2 00:00:11,100 --> 00:00:12,300 >> ALTAVEU 1: Hola a tots! 3 00:00:12,300 --> 00:00:13,890 Benvingut de nou a la secció. 4 00:00:13,890 --> 00:00:17,480 Així que m'alegro de veure a molts de vostès, tant aquí, i tot el món que està veient en línia. 5 00:00:17,480 --> 00:00:18,760 6 00:00:18,760 --> 00:00:20,920 Així que, com de costum enrere benvinguda. 7 00:00:20,920 --> 00:00:24,360 Espero que tothom hagi tingut un preciós cap de setmana, ple de descans, la relaxació. 8 00:00:24,360 --> 00:00:26,026 Era bell el dia d'ahir. 9 00:00:26,026 --> 00:00:27,525 Així que, espero que hagin gaudit de l'aire lliure. 10 00:00:27,525 --> 00:00:28,840 11 00:00:28,840 --> 00:00:30,610 >> Així que per primera vegada un parell d'anuncis. 12 00:00:30,610 --> 00:00:31,920 13 00:00:31,920 --> 00:00:32,700 Classificació. 14 00:00:32,700 --> 00:00:37,350 Així, la majoria de vostès han d'haver rebut una un correu electrònic de mi sobre la seva joc de paràmetres Scratch, 15 00:00:37,350 --> 00:00:39,920 així com la classificació de joc de paràmetres gener. 16 00:00:39,920 --> 00:00:41,000 17 00:00:41,000 --> 00:00:42,220 Així, només un parell de coses. 18 00:00:42,220 --> 00:00:45,150 Assegureu-vos d'utilitzar check50 a style50. 19 00:00:45,150 --> 00:00:47,250 Aquests estan destinats a ser recursos per a vostès, 20 00:00:47,250 --> 00:00:50,660 per assegurar-se que vostè està rebent tants punts com puguis 21 00:00:50,660 --> 00:00:52,390 sense innecessàriament perdre'ls. 22 00:00:52,390 --> 00:00:54,407 Per tant, coses com l'estil són molt importants. 23 00:00:54,407 --> 00:00:55,740 Anem a enlairar per a això. 24 00:00:55,740 --> 00:00:58,115 Alguns de vostès ja tenen notat que a partir del seu joc de paràmetres. 25 00:00:58,115 --> 00:00:58,920 26 00:00:58,920 --> 00:01:01,450 I check50 és només un manera molt fàcil d'assegurar- 27 00:01:01,450 --> 00:01:05,050 que en realitat estem tornant el ha de ser retornat a l'usuari, 28 00:01:05,050 --> 00:01:06,690 i que tot està funcionant correctament. 29 00:01:06,690 --> 00:01:08,690 30 00:01:08,690 --> 00:01:12,040 >> A la segona nota, assegureu-vos que el seu pujar coses a la carpeta correcta. 31 00:01:12,040 --> 00:01:14,470 Em fa la vida una poc més difícil 32 00:01:14,470 --> 00:01:18,836 si puges joc de paràmetres 2 joc de paràmetres 1 perquè en descarregar coses, 33 00:01:18,836 --> 00:01:20,085 no descarrega correctament. 34 00:01:20,085 --> 00:01:21,690 35 00:01:21,690 --> 00:01:24,560 I sé que és una mica wonky en un sistema que acostumar-se a, 36 00:01:24,560 --> 00:01:26,950 però simplement ser súper cura, encara que només sigui per a mi, 37 00:01:26,950 --> 00:01:30,080 de manera que quan vostè està rebent missatges de correu electrònic igual que 02 a.m. i estic de qualificacions. 38 00:01:30,080 --> 00:01:33,710 Si no causar he de mirar tot per al seu joc de paràmetres. 39 00:01:33,710 --> 00:01:34,440 Refredar. 40 00:01:34,440 --> 00:01:37,270 >> Sé que és d'hora, però em totalment va ser pres amb la guàrdia baixa 41 00:01:37,270 --> 00:01:40,800 per un assaig que és degut aquest divendres, que meus professors eren com, oh sí. 42 00:01:40,800 --> 00:01:42,550 Recordi, vostè té un assaig a causa divendres. 43 00:01:42,550 --> 00:01:45,780 Per tant, no conec a ningú li agrada pensar en els exàmens parcials, 44 00:01:45,780 --> 00:01:50,620 però el seu primer concurs és el 15 d'octubre, que l'octubre està començant aquesta setmana. 45 00:01:50,620 --> 00:01:53,290 Per tant, pot ser que sigui més aviat del que esperava és tot. 46 00:01:53,290 --> 00:01:57,510 Així que vostè no està tirat amb la guàrdia baixa quan Esmento secció de la setmana que ve que oh, 47 00:01:57,510 --> 00:02:00,560 el seu concurs la setmana que ve, vaig pensar Et donaria una mica més 48 00:02:00,560 --> 00:02:01,500 dels caps per amunt ara. 49 00:02:01,500 --> 00:02:02,970 50 00:02:02,970 --> 00:02:04,660 >> Així que, posa el teu problema, nombre tres. 51 00:02:04,660 --> 00:02:07,070 Com la gent ha llegit la spec per curiositat? 52 00:02:07,070 --> 00:02:08,560 53 00:02:08,560 --> 00:02:09,199 Okay. 54 00:02:09,199 --> 00:02:10,229 Ens van donar un parell. 55 00:02:10,229 --> 00:02:12,320 Tipus de baix de l'última setmana, però això està bé. 56 00:02:12,320 --> 00:02:13,650 Sé que era bell a terme. 57 00:02:13,650 --> 00:02:15,120 58 00:02:15,120 --> 00:02:16,660 Així Break Out. 59 00:02:16,660 --> 00:02:21,010 Definitivament després que es fan llegir avui la seva especificació com a mínim 60 00:02:21,010 --> 00:02:25,240 tractar com descarregar codi de distribució i el funcionament 61 00:02:25,240 --> 00:02:27,430 com la primera inicial El que et pregunten a. 62 00:02:27,430 --> 00:02:28,681 63 00:02:28,681 --> 00:02:32,590 Com que estem utilitzant codi de distribució i una biblioteca 64 00:02:32,590 --> 00:02:36,790 que només hem estat using-- --És només la segona vegada que hem fet aquest joc de paràmetres, 65 00:02:36,790 --> 00:02:38,650 coses boges poden succeir amb el seu aparell, 66 00:02:38,650 --> 00:02:41,370 i vostè vol trobar que terme ara front més tard. 67 00:02:41,370 --> 00:02:45,570 >> Perquè si és la nit de dijous o és Dimecres a la nit i per alguna raó 68 00:02:45,570 --> 00:02:48,912 el seu aparell simplement no que desitgi executar amb la biblioteca 69 00:02:48,912 --> 00:02:50,620 o amb la distribució codi, que els mitjans 70 00:02:50,620 --> 00:02:52,309 ni tan sols es pot començar a fer la codificació. 71 00:02:52,309 --> 00:02:54,100 Perquè no es pot comprovar per veure si funciona. 72 00:02:54,100 --> 00:02:55,975 Tu no podràs per veure si es compila. 73 00:02:55,975 --> 00:03:00,500 Vostè vol tenir cura dels principis de la setmana, quan encara em pot enviar per correu electrònic 74 00:03:00,500 --> 00:03:03,100 o un dels altres TFS, i que puguem aconseguir els fixats. 75 00:03:03,100 --> 00:03:05,410 Perquè aquestes són qüestions que deixaran de vostè 76 00:03:05,410 --> 00:03:07,120 de fer cap progrés real. 77 00:03:07,120 --> 00:03:10,055 No és com una bestiola, que vostè pot tipus de saltar sobre. 78 00:03:10,055 --> 00:03:10,712 79 00:03:10,712 --> 00:03:13,420 Si vostè està tenint problemes amb el seu aparell o codi de distribució, 80 00:03:13,420 --> 00:03:16,211 vostè realment vol aconseguir que prenen tenir cura de més d'hora que tard. 81 00:03:16,211 --> 00:03:20,410 Així que encara que no vas a realitat començar a programar, descarregar la distribució 82 00:03:20,410 --> 00:03:24,040 codi, llegiu la especificació, assegureu-vos tot el que està treballant allà. 83 00:03:24,040 --> 00:03:25,134 D'acord? 84 00:03:25,134 --> 00:03:27,675 Si només es pot fer això, jo prometre la seva vida serà més fàcil. 85 00:03:27,675 --> 00:03:28,800 86 00:03:28,800 --> 00:03:31,410 I així, vostè està probablement va per fer-ho ara mateix no? 87 00:03:31,410 --> 00:03:32,100 Okay. 88 00:03:32,100 --> 00:03:33,950 Per tant, qualsevol pregunta allà? 89 00:03:33,950 --> 00:03:35,850 Qualsevol coses de logística? 90 00:03:35,850 --> 00:03:36,910 Tothom és bo? 91 00:03:36,910 --> 00:03:38,270 Okay. 92 00:03:38,270 --> 00:03:41,700 >> Exempció de responsabilitat per als de que a l'habitació i en línia. 93 00:03:41,700 --> 00:03:45,437 Jo vaig a estar tractant de canviar entre PowerPoint en l'aparell 94 00:03:45,437 --> 00:03:47,270 perquè anem estar fent una mica de codi 95 00:03:47,270 --> 00:03:53,630 avui per la demanda popular de l'anònim enquesta suggeriment que va enviar la setmana passada. 96 00:03:53,630 --> 00:03:55,480 Per tant, farem una mica de codi. 97 00:03:55,480 --> 00:03:57,800 Així que, si vostès també volen per encendre els seus aparells, 98 00:03:57,800 --> 00:04:02,910 i que hauria d'haver aconseguit un correu electrònic de mi, amb un arxiu d'exemple. 99 00:04:02,910 --> 00:04:04,310 Si us plau, si fóssiu lliure de fer-ho. 100 00:04:04,310 --> 00:04:07,340 >> Per tant, anem a parlar de BGF, que és un depurador. 101 00:04:07,340 --> 00:04:09,970 Això ajudarà a vostè tipus d'esbrinar on 102 00:04:09,970 --> 00:04:11,860 les coses van malament en el codi. 103 00:04:11,860 --> 00:04:15,370 És només una manera perquè facin un pas a través del seu codi com està succeint, 104 00:04:15,370 --> 00:04:19,100 i ser capaç d'imprimir les variables o veure el que està succeint realment 105 00:04:19,100 --> 00:04:22,980 sota el capó versos seu programa només córrer, és com les falles, 106 00:04:22,980 --> 00:04:25,030 i vostè és com, ni idea el que acaba de succeir aquí. 107 00:04:25,030 --> 00:04:26,730 No sé quina és la línia que va fallar a. 108 00:04:26,730 --> 00:04:29,040 Jo no sé d'on va sortir malament. 109 00:04:29,040 --> 00:04:31,280 Així, el BGF li va a ajudar amb això. 110 00:04:31,280 --> 00:04:35,240 A més, si vostè decideix continuar, sí, i prendre 61, 111 00:04:35,240 --> 00:04:38,430 el que realment, realment ser el seu millor amic, perquè jo puc dir 112 00:04:38,430 --> 00:04:40,840 perquè jo estic passant per aquesta classe. 113 00:04:40,840 --> 00:04:43,620 >> Anem a mirar binari recerca, que si vostès recordin 114 00:04:43,620 --> 00:04:47,540 el gran exemple de llibre de telèfon espectacle de classe. 115 00:04:47,540 --> 00:04:50,620 Estarem implementant això, i caminant a través que una mica més, 116 00:04:50,620 --> 00:04:54,650 i després anem a través de quatre diferents tipus, que són de la bombolla, 117 00:04:54,650 --> 00:04:56,285 La selecció, inserció, i Merge. 118 00:04:56,285 --> 00:04:57,830 119 00:04:57,830 --> 00:04:58,330 Refredar. 120 00:04:58,330 --> 00:05:00,390 Així, el BGF com he esmentat, és un depurador. 121 00:05:00,390 --> 00:05:01,400 122 00:05:01,400 --> 00:05:09,370 I aquests són una espècie de la gran coses, les grans funcions o ordres 123 00:05:09,370 --> 00:05:13,240 que s'utilitza dins de BGF, i vaig a caminar que a través d'una demostració que en un segon. 124 00:05:13,240 --> 00:05:15,360 >> Per tant, això no és només quedarà abstracte. 125 00:05:15,360 --> 00:05:18,000 Vaig a tractar de fer-ho el més concret com sigui possible per a vosaltres. 126 00:05:18,000 --> 00:05:19,870 Per tant, trencar. 127 00:05:19,870 --> 00:05:22,200 Serà ja sigui descans com, algun nombre, el qual 128 00:05:22,200 --> 00:05:26,900 representa una línia en el seu programa, o pot nomenar una funció. 129 00:05:26,900 --> 00:05:30,150 Així que, si vostè diu trencar principal, s'aturarà a principal, 130 00:05:30,150 --> 00:05:32,400 i li permeten caminar a través d'aquesta funció. 131 00:05:32,400 --> 00:05:36,350 >> De la mateixa manera, si vostè té alguns externs funcionar com Intercanviar o Cub, 132 00:05:36,350 --> 00:05:38,450 que vam veure la setmana passada. 133 00:05:38,450 --> 00:05:41,780 Si vostè diu que trenqui un d'aquests, cada vegada que el programa que realitza, 134 00:05:41,780 --> 00:05:44,290 que va a esperar per tu dir-li el que ha de fer. 135 00:05:44,290 --> 00:05:47,860 Abans que s'acaba d'executar el que en realitat podria intervenir dins de la funció 136 00:05:47,860 --> 00:05:49,020 i veure el que està passant. 137 00:05:49,020 --> 00:05:50,370 138 00:05:50,370 --> 00:05:53,515 Així, A continuació, simplement salta sobre la següent línia, va més funcions. 139 00:05:53,515 --> 00:05:54,730 140 00:05:54,730 --> 00:05:55,560 Pas. 141 00:05:55,560 --> 00:05:56,810 Tots aquests són poc abstracte. 142 00:05:56,810 --> 00:06:00,530 Així que, jo només vaig a córrer a través d'ells, però els veuràs en ús en un segon. 143 00:06:00,530 --> 00:06:01,810 >> Entra en una funció. 144 00:06:01,810 --> 00:06:04,170 Així com anava dient, com amb swap, ho faria 145 00:06:04,170 --> 00:06:07,110 li permeten realment com si estiguessis com entrar físicament a l'interior, 146 00:06:07,110 --> 00:06:10,990 vostè pot ficar-se amb aquestes variables, impressió el que són, veure el que està passant. 147 00:06:10,990 --> 00:06:12,140 148 00:06:12,140 --> 00:06:14,830 Llista literalment només imprimir el codi circumdant. 149 00:06:14,830 --> 00:06:17,570 Així que, si vostè s'oblida de tipus on vostè està en el seu programa, 150 00:06:17,570 --> 00:06:19,880 o vostè s'està preguntant el que està passant al seu voltant, 151 00:06:19,880 --> 00:06:23,790 això només s'ha d'imprimir un segment de com cinc o sis línies al seu voltant. 152 00:06:23,790 --> 00:06:26,080 Per tant, vostè pot aconseguir orientat sobre on es trobi. 153 00:06:26,080 --> 00:06:27,230 154 00:06:27,230 --> 00:06:28,650 >> Imprimir alguna variable. 155 00:06:28,650 --> 00:06:34,590 Per tant, si vostè té la clau com a en César, que veurem. 156 00:06:34,590 --> 00:06:36,220 Es pot dir Clau Imprimir en qualsevol punt. 157 00:06:36,220 --> 00:06:40,070 Se't dirà el que el valor és tan que, potser en algun lloc al llarg del camí, 158 00:06:40,070 --> 00:06:42,070 ha sobreescrit la seva clau. 159 00:06:42,070 --> 00:06:45,495 En realitat es pot dir que pel fet que en realitat es pot observar que el valor. 160 00:06:45,495 --> 00:06:46,500 161 00:06:46,500 --> 00:06:48,780 >> En els locals, només impressions terme les seves variables locals. 162 00:06:48,780 --> 00:06:53,120 Així, en qualsevol moment que estàs dins d'un bucle, i el que desitja és veure com, oh. 163 00:06:53,120 --> 00:06:54,270 Què és el meu jo? 164 00:06:54,270 --> 00:06:57,020 Què és aquest valor de clau que inicialitzar aquí? 165 00:06:57,020 --> 00:06:58,537 Quin és el missatge en aquest moment? 166 00:06:58,537 --> 00:07:00,370 S'acaba d'imprimir tots d'ells, de manera que vostè 167 00:07:00,370 --> 00:07:04,330 no tenen que individualment dir, I. Imprimir Missatge. 168 00:07:04,330 --> 00:07:04,970 Clau d'impressió. 169 00:07:04,970 --> 00:07:06,190 170 00:07:06,190 --> 00:07:07,700 I després mostrar. 171 00:07:07,700 --> 00:07:10,370 El que fa és com vostè pas a través del programa, 172 00:07:10,370 --> 00:07:13,980 que va només assegureu-vos que és mostrar alguna variable determinada 173 00:07:13,980 --> 00:07:14,780 en cada punt. 174 00:07:14,780 --> 00:07:17,160 Així que vostè també- --és una mena de drecera on 175 00:07:17,160 --> 00:07:19,530 vostè no ha de seguir així, oh. 176 00:07:19,530 --> 00:07:23,150 Clau Imprimeix o I. Només automàticament ho farà per vostè. 177 00:07:23,150 --> 00:07:25,959 >> Així que, amb això, anem per veure com va això. 178 00:07:25,959 --> 00:07:28,000 Vaig a tractar d'interruptor al meu aparell. 179 00:07:28,000 --> 00:07:30,200 180 00:07:30,200 --> 00:07:31,271 A veure si puc fer això. 181 00:07:31,271 --> 00:07:31,770 Tots. 182 00:07:31,770 --> 00:07:40,970 183 00:07:40,970 --> 00:07:42,370 Només anem a reflectir-la. 184 00:07:42,370 --> 00:07:44,530 No hi ha res boig en el meu ordinador portàtil de totes maneres. 185 00:07:44,530 --> 00:07:49,600 186 00:07:49,600 --> 00:07:50,100 Okay. 187 00:07:50,100 --> 00:07:57,030 188 00:07:57,030 --> 00:08:01,054 Això ha de ser aquest. 189 00:08:01,054 --> 00:08:01,795 És tan petita. 190 00:08:01,795 --> 00:08:03,730 191 00:08:03,730 --> 00:08:05,120 Anem a veure si podem fer això. 192 00:08:05,120 --> 00:08:09,970 193 00:08:09,970 --> 00:08:10,940 >> Okay. 194 00:08:10,940 --> 00:08:15,305 Alice està òbviament lluitant aquí només una mica, 195 00:08:15,305 --> 00:08:17,995 però anem a arribar a un record. 196 00:08:17,995 --> 00:08:20,810 197 00:08:20,810 --> 00:08:22,020 Okay. 198 00:08:22,020 --> 00:08:25,900 Nosaltres només anem a augmentar aquest. 199 00:08:25,900 --> 00:08:28,770 200 00:08:28,770 --> 00:08:29,380 Okay. 201 00:08:29,380 --> 00:08:31,679 Tot món pot veure quin tipus de? 202 00:08:31,679 --> 00:08:32,470 Potser una mica? 203 00:08:32,470 --> 00:08:33,594 Sé que és una mica petita. 204 00:08:33,594 --> 00:08:34,570 205 00:08:34,570 --> 00:08:37,530 No es pot esbrinar per com fer-ho més gran. 206 00:08:37,530 --> 00:08:38,350 Si algú sap. 207 00:08:38,350 --> 00:08:40,309 Algú sap com fer que sigui més gran? 208 00:08:40,309 --> 00:08:40,932 Okay. 209 00:08:40,932 --> 00:08:42,140 Anem a rodar amb ell. 210 00:08:42,140 --> 00:08:45,801 No importa de totes maneres perquè és només aquest és el codi que vostès haurien 211 00:08:45,801 --> 00:08:46,300 tenir. 212 00:08:46,300 --> 00:08:48,310 >> El que és més important és el terminal d'aquí. 213 00:08:48,310 --> 00:08:52,840 214 00:08:52,840 --> 00:08:58,690 I tenim aquí Per què és tan petit? 215 00:08:58,690 --> 00:09:02,325 216 00:09:02,325 --> 00:09:02,825 Ajustos. 217 00:09:02,825 --> 00:09:07,920 218 00:09:07,920 --> 00:09:08,420 Oh. 219 00:09:08,420 --> 00:09:09,500 Veritable Ike. 220 00:09:09,500 --> 00:09:10,880 Com és això? 221 00:09:10,880 --> 00:09:11,770 Fora d'allà. 222 00:09:11,770 --> 00:09:19,370 223 00:09:19,370 --> 00:09:21,810 Això és millor per a tothom? 224 00:09:21,810 --> 00:09:22,525 Okay,. 225 00:09:22,525 --> 00:09:23,025 Refredar. 226 00:09:23,025 --> 00:09:25,830 227 00:09:25,830 --> 00:09:28,220 >> Ja saps, quan estàs en un CS dificultats tècniques de classe 228 00:09:28,220 --> 00:09:32,971 són una mena de part d'ell-- Per tant, anem a aclarir això. 229 00:09:32,971 --> 00:09:33,470 Okay. 230 00:09:33,470 --> 00:09:38,060 Així que, aquí a la secció, que hem tingut aquí. 231 00:09:38,060 --> 00:09:40,830 César és un arxiu executable. 232 00:09:40,830 --> 00:09:41,800 Així que ho vaig fer. 233 00:09:41,800 --> 00:09:46,370 Així, una cosa és adonar-se amb GDB és que només funciona en arxius executables. 234 00:09:46,370 --> 00:09:48,040 Per tant, no es pot executar en un dotsy. 235 00:09:48,040 --> 00:09:50,532 Vostè ha de fer realitat Comproveu que el codi es compila, 236 00:09:50,532 --> 00:09:51,865 i que el que realment es pot executar. 237 00:09:51,865 --> 00:09:52,970 238 00:09:52,970 --> 00:09:56,186 >> Per tant, assegureu-vos que si no ho fa compilar, que es compili, 239 00:09:56,186 --> 00:09:57,810 perquè pugui espècie d'executar a través d'ell. 240 00:09:57,810 --> 00:10:04,590 Així que, per començar a GDB, tot el que fan, Glòria tipus BGF, i després simplement la 241 00:10:04,590 --> 00:10:06,250 fitxer que voleu. 242 00:10:06,250 --> 00:10:08,240 Jo sempre escriure malament César. 243 00:10:08,240 --> 00:10:11,730 Però vostè vol assegurar-se que ja que és un arxiu executable, 244 00:10:11,730 --> 00:10:14,210 flash de punt de tu de manera que vol dir que vas 245 00:10:14,210 --> 00:10:19,240 per a executar CSI vas a executar aquest presenta, ja sigui amb el depurador. 246 00:10:19,240 --> 00:10:19,910 Okay. 247 00:10:19,910 --> 00:10:22,885 Així que, de fer-ho, s'obté aquest tipus de galimaties. 248 00:10:22,885 --> 00:10:24,250 249 00:10:24,250 --> 00:10:25,750 És només totes les coses sobre depurador. 250 00:10:25,750 --> 00:10:28,200 Segur que no ha de preocupar d'això ara. 251 00:10:28,200 --> 00:10:31,460 I com pots veure, tenim aquest parens obertes, PIB, prop parens, 252 00:10:31,460 --> 00:10:34,690 i només una mica s'assembla a la nostra línia d'ordres, oi? 253 00:10:34,690 --> 00:10:37,010 >> Per tant, el que volem fer-- --així, La primera cosa 254 00:10:37,010 --> 00:10:39,570 és que volem triar un lloc per trencar-lo. 255 00:10:39,570 --> 00:10:42,332 Per tant, hi ha un error en aquest programa de César 256 00:10:42,332 --> 00:10:44,290 que presento, que anem a esbrinar. 257 00:10:44,290 --> 00:10:45,330 258 00:10:45,330 --> 00:10:56,350 És el que fa és que es necessita l'entrada Barfoo en totes les tapes, i per alguna raó 259 00:10:56,350 --> 00:11:01,950 no canvia A. Simplement deixa sol, és tota la resta correcte, 260 00:11:01,950 --> 00:11:03,980 però la segona lletra A roman sense canvis. 261 00:11:03,980 --> 00:11:07,120 Per tant, anem a tractar de esbrinar per què és així. 262 00:11:07,120 --> 00:11:10,440 Per tant, el primer que solen voler fer cada vegada que s'iniciï el BGF 263 00:11:10,440 --> 00:11:12,010 és esbrinar on trencar-lo. 264 00:11:12,010 --> 00:11:14,956 >> Així que César és un programa bastant curt. 265 00:11:14,956 --> 00:11:16,330 Només tenim una funció, no? 266 00:11:16,330 --> 00:11:18,520 Quina era la nostra funció en Cèsar? 267 00:11:18,520 --> 00:11:19,590 268 00:11:19,590 --> 00:11:24,350 Només hi ha una funció, dret principal? 269 00:11:24,350 --> 00:11:26,490 Principal és una funció per a tots els programes. 270 00:11:26,490 --> 00:11:29,230 Si no va tenir Principal, podria ser una mica preocupat en aquest moment, 271 00:11:29,230 --> 00:11:31,000 però espero que tots hagin tingut Principal allà. 272 00:11:31,000 --> 00:11:34,150 Per tant, el que podem fer és que pot simplement trencar principal, així com així. 273 00:11:34,150 --> 00:11:35,190 Així que, es diu, a D'acord. 274 00:11:35,190 --> 00:11:37,430 Fixem el nostre únic punt d'interrupció allà. 275 00:11:37,430 --> 00:11:42,870 >> Així doncs, ara el que cal recordar que és del Cèsar pren un argument de línia de comandament de la dreta 276 00:11:42,870 --> 00:11:45,150 i nosaltres no hem fet això en qualsevol lloc encara. 277 00:11:45,150 --> 00:11:47,560 Per tant, el que fas és quan en realitat es va a executar 278 00:11:47,560 --> 00:11:51,540 el programa, qualsevol programa que vostè està que s'executa en el BGF que necessita la línia d'ordres 279 00:11:51,540 --> 00:11:55,010 arguments, que van a l'entrada quan comenci a executar-lo. 280 00:11:55,010 --> 00:11:59,280 Així que, en aquest cas, ho fem Executar amb una clau de tres. 281 00:11:59,280 --> 00:12:00,770 282 00:12:00,770 --> 00:12:02,040 I serà realment començar. 283 00:12:02,040 --> 00:12:08,480 >> Per tant, si vostè veu aquí, tenim Si RC no és igual a 2. 284 00:12:08,480 --> 00:12:12,210 Així que si vostès tots tenim aquest arxiu que vaig enviar fins 285 00:12:12,210 --> 00:12:15,100 veuràs que això és com la primera línia de la nostra funció principal, no? 286 00:12:15,100 --> 00:12:17,890 És la comprovació per veure si tenim el nombre correcte d'arguments. 287 00:12:17,890 --> 00:12:20,620 Així que, si vostè s'està preguntant RC si és correcta, 288 00:12:20,620 --> 00:12:23,250 vostè pot fer alguna cosa igual Imprimir RC. 289 00:12:23,250 --> 00:12:24,380 290 00:12:24,380 --> 00:12:28,640 RC és de dos, que és el que esperàvem, oi? 291 00:12:28,640 --> 00:12:32,010 >> Per tant, podem anar a continuació, i continuar a través d '. 292 00:12:32,010 --> 00:12:33,200 Per tant, tenim alguna clau allà. 293 00:12:33,200 --> 00:12:34,260 294 00:12:34,260 --> 00:12:37,090 I podem imprimir la nostra clau per assegurar-se que és correcte. 295 00:12:37,090 --> 00:12:38,380 296 00:12:38,380 --> 00:12:39,500 Interessant. 297 00:12:39,500 --> 00:12:41,210 No és exactament el que esperàvem. 298 00:12:41,210 --> 00:12:44,810 Així, una cosa és adonar- amb el BGF també, és 299 00:12:44,810 --> 00:12:49,000 que no és fins que realment colpeja A continuació, que la línia que acaba de veure 300 00:12:49,000 --> 00:12:50,720 és en realitat executa. 301 00:12:50,720 --> 00:12:53,870 Així que, en aquest cas clau no ha estat assignat encara. 302 00:12:53,870 --> 00:12:57,050 Per tant, és un valor clau d'escombraries que es veu a la part inferior hi ha. 303 00:12:57,050 --> 00:13:03,680 Negatiu $ 120-- --És de mil milions i una cosa que coses estranyes oi? 304 00:13:03,680 --> 00:13:05,340 No és la clau que ens esperàvem. 305 00:13:05,340 --> 00:13:10,720 Però si arribem a continuació, i després tractar de tecla Print, és tres. 306 00:13:10,720 --> 00:13:11,710 >> Tothom veu això? 307 00:13:11,710 --> 00:13:13,780 Així que, si et donen alguna cosa que vostè és com, espera. 308 00:13:13,780 --> 00:13:15,540 Això és completament malament, i jo no ho sé 309 00:13:15,540 --> 00:13:20,150 com això havia de passar, perquè tot el que vull de fer és assignar un nombre, una variable, 310 00:13:20,150 --> 00:13:22,900 intentar colpejar A continuació, proveu d'imprimir de nou, i veure si funciona. 311 00:13:22,900 --> 00:13:27,830 Com que només es va a executar i en realitat assignar alguna cosa després 312 00:13:27,830 --> 00:13:29,340 colpejar a Següent. 313 00:13:29,340 --> 00:13:30,336 Tenir sentit per a tothom? 314 00:13:30,336 --> 00:13:30,836 Uh huh? 315 00:13:30,836 --> 00:13:33,220 >> ALTAVEU 2: aleatòries nombres ¿què vol dir això? 316 00:13:33,220 --> 00:13:34,790 >> ALTAVEU 1: És només a l'atzar. 317 00:13:34,790 --> 00:13:35,710 És només escombraries. 318 00:13:35,710 --> 00:13:38,320 És només una cosa que el seu ordinador li assignarà a l'atzar. 319 00:13:38,320 --> 00:13:39,721 320 00:13:39,721 --> 00:13:40,220 Refredar. 321 00:13:40,220 --> 00:13:45,760 Així, ara podem passar a través, i així ara tenim aquesta plana GetString text. 322 00:13:45,760 --> 00:13:48,600 Per tant, permetin-me presentar el que passarà quan colpegem Següent aquí. 323 00:13:48,600 --> 00:13:51,320 La nostra BGF tipus de desapareix, no? 324 00:13:51,320 --> 00:13:55,720 Això es deu a GetString ara s'està executant, oi? 325 00:13:55,720 --> 00:14:01,460 Així que, quan vam veure text pla és igual a GetString, parens oberts i parens, 326 00:14:01,460 --> 00:14:04,380 i vam arribar a continuació, que té realment executada ara. 327 00:14:04,380 --> 00:14:06,580 Per tant, està esperant nosaltres a l'entrada d'alguna cosa. 328 00:14:06,580 --> 00:14:13,560 >> Per tant, anem a l'entrada del nostre menjar que és el que està fallant com et vaig dir 329 00:14:13,560 --> 00:14:18,020 i que només diu que és acabat d'executar, que la tanca 330 00:14:18,020 --> 00:14:19,980 significa suport és sortir d'aquest bucle. 331 00:14:19,980 --> 00:14:21,170 332 00:14:21,170 --> 00:14:25,420 Així, podem colpejar Següent, i ara, com estic Segur que tots coneixem de César, 333 00:14:25,420 --> 00:14:27,260 és a dir, ¿quina és aquesta línia va a fer. 334 00:14:27,260 --> 00:14:32,030 És per Int I és igual a 0, N és igual Strlen, text pla, i després 335 00:14:32,030 --> 00:14:33,960 I és menor que n, que, a més, més. 336 00:14:33,960 --> 00:14:35,210 Què és aquest llaç farà? 337 00:14:35,210 --> 00:14:37,900 338 00:14:37,900 --> 00:14:39,160 Obriu el seu missatge. 339 00:14:39,160 --> 00:14:39,770 Refredar. 340 00:14:39,770 --> 00:14:41,330 Per tant, anem a començar a fer això. 341 00:14:41,330 --> 00:14:47,210 >> Així que, si aquesta condició coincidir, per a la nostra primera? 342 00:14:47,210 --> 00:14:52,250 Si es tracta d'un B, que és text pla I. pot obtenir informació sobre els nostres locals. 343 00:14:52,250 --> 00:14:53,610 344 00:14:53,610 --> 00:14:57,970 Per tant, I és zero, i si sis, que esperem, i la nostra clau és tres. 345 00:14:57,970 --> 00:14:59,227 Tot el que té sentit, oi? 346 00:14:59,227 --> 00:15:01,310 Aquests números són tots exactament el que haurien de ser. 347 00:15:01,310 --> 00:15:02,590 348 00:15:02,590 --> 00:15:03,870 Així, taral·lejar? 349 00:15:03,870 --> 00:15:05,620 ALTAVEU 3: Tinc nombres aleatoris per a la meva. 350 00:15:05,620 --> 00:15:09,156 351 00:15:09,156 --> 00:15:12,030 ALTAVEU 1: Bé, podem check-- --ens podeu parlar sobre això en un segon. 352 00:15:12,030 --> 00:15:14,110 353 00:15:14,110 --> 00:15:15,750 Però vostè ha de ser aconseguir això. 354 00:15:15,750 --> 00:15:17,700 355 00:15:17,700 --> 00:15:20,130 Per tant, si tenim un capital de B per a la nostra primera, 356 00:15:20,130 --> 00:15:22,080 aquesta condició ha de agafar-lo, oi? 357 00:15:22,080 --> 00:15:27,120 Així que, si arribem a continuació, veiem que aquest cas és executar. 358 00:15:27,120 --> 00:15:29,220 Perquè si vostè està seguint al llarg del seu codi, 359 00:15:29,220 --> 00:15:33,460 aquesta línia aquí, on el text sense format que se substitueix amb aquesta aritmètica, 360 00:15:33,460 --> 00:15:35,720 només s'executa si el Si condició és correcta oi? 361 00:15:35,720 --> 00:15:36,905 362 00:15:36,905 --> 00:15:40,240 >> BGF només es mostrarà les coses que són realment d'execució. 363 00:15:40,240 --> 00:15:45,140 Així que si no es compleix aquesta condició si, és només va a passar a la següent línia. 364 00:15:45,140 --> 00:15:46,540 D'acord? 365 00:15:46,540 --> 00:15:48,510 Per tant, hem de. 366 00:15:48,510 --> 00:15:51,171 Aquest suport significa que és tancat fora d'aquest bucle ara. 367 00:15:51,171 --> 00:15:52,420 Per tant, va a començar de nou. 368 00:15:52,420 --> 00:15:54,760 369 00:15:54,760 --> 00:15:56,280 Igual que. 370 00:15:56,280 --> 00:15:59,120 Així, que podem obtenir informació sobre els nostres vilatans aquí, 371 00:15:59,120 --> 00:16:02,575 i veiem que la nostra primera carta ha canviat, oi? 372 00:16:02,575 --> 00:16:05,150 Ara és una E, com ha de ser. 373 00:16:05,150 --> 00:16:07,360 Així, podem continuar. 374 00:16:07,360 --> 00:16:08,500 >> I tenim aquesta comprovació. 375 00:16:08,500 --> 00:16:09,916 I aquest control hauria de funcionar, no? 376 00:16:09,916 --> 00:16:12,570 És A. S'ha de canviar tres cartes cap endavant. 377 00:16:12,570 --> 00:16:14,320 378 00:16:14,320 --> 00:16:16,530 Però si et fixes, ens aconseguir alguna cosa diferent. 379 00:16:16,530 --> 00:16:17,580 380 00:16:17,580 --> 00:16:22,860 Així que en aquest cas fins aquí, em va cridar que, pel que aquesta línia executat, 381 00:16:22,860 --> 00:16:28,620 que va modificar la nostra B. Però, en aquest cas aquí, 382 00:16:28,620 --> 00:16:32,860 hem de acaba de saltar que, i se'n va anar a la [? L Siff. ?] 383 00:16:32,860 --> 00:16:34,660 Així que alguna cosa està passant allà. 384 00:16:34,660 --> 00:16:37,780 El que vostè està dient és que, sabem que s'ha d'agafar aquí, 385 00:16:37,780 --> 00:16:39,200 però no ho és. 386 00:16:39,200 --> 00:16:42,210 Algú pot veure el que el nostre problema està en aquesta línia? 387 00:16:42,210 --> 00:16:45,380 388 00:16:45,380 --> 00:16:46,969 És una cosa molt minut. 389 00:16:46,969 --> 00:16:48,510 I també es pot mirar el codi. 390 00:16:48,510 --> 00:16:49,980 391 00:16:49,980 --> 00:16:54,940 També es line-- oblidar quina línia és en allà-- però és en el [inaudible]. 392 00:16:54,940 --> 00:16:55,480 Sí? 393 00:16:55,480 --> 00:16:58,639 >> ALTAVEU 4: Està en la major de pàgina si ho llegeix en el llibre. 394 00:16:58,639 --> 00:16:59,430 ALTAVEU 1: Exactament. 395 00:16:59,430 --> 00:17:02,620 Per tant, el depurador no podia dir que això, però el depurador 396 00:17:02,620 --> 00:17:05,880 podria aconseguir-se a una línia que sap que no està funcionant. 397 00:17:05,880 --> 00:17:09,319 I de vegades, quan tot més endavant en el semestre, quan 398 00:17:09,319 --> 00:17:12,910 vostè està tractant amb un centenar, 1 cent poques línies de codi, i que 399 00:17:12,910 --> 00:17:16,190 no sé on està fallant, aquesta és una gran manera de fer-ho. 400 00:17:16,190 --> 00:17:17,900 401 00:17:17,900 --> 00:17:18,989 Així, trobem el nostre error. 402 00:17:18,989 --> 00:17:21,530 Vostè pot fixar-lo en el seu arxiu, i llavors vostè podria córrer de nou, 403 00:17:21,530 --> 00:17:23,029 i tot funcionaria perfectament. 404 00:17:23,029 --> 00:17:24,970 405 00:17:24,970 --> 00:17:30,590 I el més important és això pot semblar, a D'acord. 406 00:17:30,590 --> 00:17:31,090 Sí. 407 00:17:31,090 --> 00:17:31,370 Refredar. 408 00:17:31,370 --> 00:17:32,744 Tu sabies el que estàs buscant. 409 00:17:32,744 --> 00:17:34,910 Per tant, vostè sabia què fer. 410 00:17:34,910 --> 00:17:39,021 >> GDB pot ser súper útil perquè vostè pot imprimir totes aquestes coses que vostè 411 00:17:39,021 --> 00:17:39,520 no ho faria. 412 00:17:39,520 --> 00:17:41,160 És molt més útil que printf. 413 00:17:41,160 --> 00:17:43,440 Quants de vosaltres utilitza com declaracions printf 414 00:17:43,440 --> 00:17:46,200 esbrinar on era un error, no? 415 00:17:46,200 --> 00:17:48,450 Així que, amb això, no ho fa han de seguir anant, 416 00:17:48,450 --> 00:17:51,139 i els agrada comentar Printf, o comentant, 417 00:17:51,139 --> 00:17:52,930 i esbrinar el que vostè ha d'estar imprimint. 418 00:17:52,930 --> 00:17:55,670 En realitat, això només li permet pas a pas, imprimir coses 419 00:17:55,670 --> 00:18:00,000 com que estàs passant, així, vostè pot observar com canvien en temps real, 420 00:18:00,000 --> 00:18:02,190 com el seu programa s'està executant. 421 00:18:02,190 --> 00:18:04,390 >> I ho fa prendre una mica mica de temps per acostumar. 422 00:18:04,390 --> 00:18:07,850 Jo recomanaria només tipus de ser una mica frustrat amb ell 423 00:18:07,850 --> 00:18:08,930 per ara. 424 00:18:08,930 --> 00:18:13,450 Si passa una hora sobre la la propera setmana per aprendre a utilitzar el BGF, 425 00:18:13,450 --> 00:18:16,140 vostè s'estalviarà tant de temps més endavant. 426 00:18:16,140 --> 00:18:18,750 I literalment. li diem això a la gent tots els anys, 427 00:18:18,750 --> 00:18:23,890 i recordo quan vaig prendre la classe, jo estava com, vaig a estar bé. 428 00:18:23,890 --> 00:18:24,700 No 429 00:18:24,700 --> 00:18:27,030 Joc de paràmetres 6 s'ha encès i que era com, jo ​​vaig a aprendre 430 00:18:27,030 --> 00:18:29,500 com utilitzar GDB perquè jo no ho faig saber el que està passant aquí. 431 00:18:29,500 --> 00:18:32,940 >> Així que si es pren el temps per usar-lo en programes més petits 432 00:18:32,940 --> 00:18:35,697 que vostè serà treballant, com treballar 433 00:18:35,697 --> 00:18:37,530 per alguna cosa així Visionäre, com aquest. 434 00:18:37,530 --> 00:18:38,800 435 00:18:38,800 --> 00:18:42,850 O si vols practicar més, estic segur Jo podria arribar als programes amb errors, 436 00:18:42,850 --> 00:18:45,300 per depurar si desitja. 437 00:18:45,300 --> 00:18:49,300 >> Però si vostè acaba de prendre una mica de temps per arribar acostumar-se a ell, simplement jugar una estona amb ell, 438 00:18:49,300 --> 00:18:50,550 el que realment li servirà bé. 439 00:18:50,550 --> 00:18:52,591 I és realment una de aquestes coses que vostè acaba de 440 00:18:52,591 --> 00:18:57,340 que hagi de provar, i embrutar-se les mans amb, abans que realment ho entén. 441 00:18:57,340 --> 00:19:02,090 Realment només vaig entendre una vegada Vaig haver de depurar les coses amb ella, 442 00:19:02,090 --> 00:19:08,170 i és molt més agradable per tenir una idea de com depurar més d'hora que tard. 443 00:19:08,170 --> 00:19:08,850 Okay. 444 00:19:08,850 --> 00:19:09,625 Refredar. 445 00:19:09,625 --> 00:19:12,960 Sé que és una cosa així com un curs intensiu en el BGF, 446 00:19:12,960 --> 00:19:16,400 i sens dubte treballar a aconseguir aquests es vegin més grans per a la propera vegada. 447 00:19:16,400 --> 00:19:17,590 448 00:19:17,590 --> 00:19:18,280 Refredar. 449 00:19:18,280 --> 00:19:20,390 >> Així que, si ens remuntem a la nostra PowerPoint. 450 00:19:20,390 --> 00:19:27,194 451 00:19:27,194 --> 00:19:28,110 Això va a treballar? 452 00:19:28,110 --> 00:19:29,711 453 00:19:29,711 --> 00:19:30,210 Awh. 454 00:19:30,210 --> 00:19:31,101 Sí. 455 00:19:31,101 --> 00:19:31,600 Okay. 456 00:19:31,600 --> 00:19:35,480 Així que, si mai necessites qualsevol els que una vegada més, hi ha la llista. 457 00:19:35,480 --> 00:19:37,160 458 00:19:37,160 --> 00:19:40,830 Cercar Així binari, que tothom recorda el gran espectacle de David 459 00:19:40,830 --> 00:19:42,259 esquinça els llibres de telèfon a la meitat. 460 00:19:42,259 --> 00:19:44,050 Jo realment no entenc la guies telefòniques més, 461 00:19:44,050 --> 00:19:46,530 perquè igual que per on aconseguir els llibres de telèfon en aquests dies? 462 00:19:46,530 --> 00:19:48,220 Realment no ho sé. 463 00:19:48,220 --> 00:19:49,840 464 00:19:49,840 --> 00:19:50,590 Hi binària. 465 00:19:50,590 --> 00:19:52,464 Algú recorda com binari treballs de recerca? 466 00:19:52,464 --> 00:19:54,380 467 00:19:54,380 --> 00:19:55,220 Qualsevol persona en absolut? 468 00:19:55,220 --> 00:19:56,325 Sí? 469 00:19:56,325 --> 00:19:58,283 ALTAVEU 5: Saps quan ens fixem en els quals la meitat 470 00:19:58,283 --> 00:20:01,146 seria a, sobre la base que, i desfer-se de l'altra meitat. 471 00:20:01,146 --> 00:20:01,896 >> ALTAVEU 1 Exactament. 472 00:20:01,896 --> 00:20:06,290 Així, recerca binària, és una espècie de A-- --ens agrada anomenar dividir i conquerir. 473 00:20:06,290 --> 00:20:09,170 Per tant, el que faràs és vostè es veurà en el medi, 474 00:20:09,170 --> 00:20:11,990 i veuràs si coincideix el que estàs buscant. 475 00:20:11,990 --> 00:20:15,420 I si no ho fa, a continuació, intenta esbrinar, és que quedarà 476 00:20:15,420 --> 00:20:16,450 la meitat o la meitat dreta. 477 00:20:16,450 --> 00:20:19,325 Per tant, això podria ser si vostè està buscant en una cosa que està en ordre alfabètic, 478 00:20:19,325 --> 00:20:20,720 veus, oh. 479 00:20:20,720 --> 00:20:22,750 ¿Ve Allison abans de M? 480 00:20:22,750 --> 00:20:23,250 Sí. 481 00:20:23,250 --> 00:20:25,030 Per tant, anem a mirar a la primera meitat. 482 00:20:25,030 --> 00:20:26,450 >> O podria ser que amb els números. 483 00:20:26,450 --> 00:20:28,830 Qualsevol cosa que pugui comparar, pot ser ordenada. 484 00:20:28,830 --> 00:20:29,920 485 00:20:29,920 --> 00:20:31,260 Pots utilitzar la recerca binària sobre. 486 00:20:31,260 --> 00:20:32,340 487 00:20:32,340 --> 00:20:37,455 Per tant, algú se'n recorda d'aquest gràfic o el que és això? 488 00:20:37,455 --> 00:20:39,520 És la complexitat asimptòtica. 489 00:20:39,520 --> 00:20:42,830 Per tant, aquest gràfic només descriu el temps que 490 00:20:42,830 --> 00:20:46,230 et porta a resoldre un problema com s'augmenta el nombre de les coses 491 00:20:46,230 --> 00:20:47,090 que utilitzeu. 492 00:20:47,090 --> 00:20:51,260 >> Per tant, hem N, que és el temps lineal. 493 00:20:51,260 --> 00:20:54,560 Si N més de dos, que és lleugerament millor, encara creix molt ràpid. 494 00:20:54,560 --> 00:20:58,360 I llavors hem Login, la qual és el que considerem recerca binària. 495 00:20:58,360 --> 00:21:03,630 Si ens adonem, com el seu problema aconsegueix molt i molt més gran, 496 00:21:03,630 --> 00:21:06,600 el temps que el porta a resoldre- en realitat no augmentar molt. 497 00:21:06,600 --> 00:21:09,010 És com comparables aquí al principi. 498 00:21:09,010 --> 00:21:10,060 Ets com, OK. 499 00:21:10,060 --> 00:21:13,000 Qualsevol cosa que aquí no fa realment importa que un que utilitzem, 500 00:21:13,000 --> 00:21:16,220 però vostè aconsegueix un milió, un bilió. 501 00:21:16,220 --> 00:21:20,010 Vostè està tractant de trobar some-- --you're tractant de trobar una agulla en un paller. 502 00:21:20,010 --> 00:21:21,550 >> Crec que vols aquest problema. 503 00:21:21,550 --> 00:21:25,850 Vostè vol que aquesta complexitat, no lineal, perquè per tot el que 504 00:21:25,850 --> 00:21:30,049 sé que tu vas a estar buscant a través de cada agulla individual, cosa de fenc, 505 00:21:30,049 --> 00:21:31,340 tractant de buscar l'agulla. 506 00:21:31,340 --> 00:21:34,730 I això no és gaire divertit al meu entendre. 507 00:21:34,730 --> 00:21:35,500 M'agrada ràpid. 508 00:21:35,500 --> 00:21:36,620 M'agrada eficient. 509 00:21:36,620 --> 00:21:40,450 I com esforçats estudiants van nois són, ja saps treballar més intel·ligentment, 510 00:21:40,450 --> 00:21:43,010 no més difícil que el tipus, la forma en què pot compensar aquests algoritmes. 511 00:21:43,010 --> 00:21:45,110 512 00:21:45,110 --> 00:21:47,910 >> Per tant, anem a caminar només a través d'un exemple ràpid. 513 00:21:47,910 --> 00:21:51,090 Crec que vostès han de tenir una mà en la recerca binària, 514 00:21:51,090 --> 00:21:54,352 però en cas que algú és una mica borrós, volen reforçar-lo, 515 00:21:54,352 --> 00:21:56,310 anirem a través d'un exemple aquí. 516 00:21:56,310 --> 00:21:59,490 Per tant, estem buscant si la matriu conté set. 517 00:21:59,490 --> 00:22:00,540 518 00:22:00,540 --> 00:22:06,010 >> Per tant, el primer que fem és buscar en el medi, no? 519 00:22:06,010 --> 00:22:09,340 I també serà la codificació Binary Cercar en tan sols un segon. 520 00:22:09,340 --> 00:22:11,310 Per tant, serà divertit. 521 00:22:11,310 --> 00:22:13,710 Així que ens fixem en la petites matrius mitjanes març. 522 00:22:13,710 --> 00:22:15,501 ¿Té 3 equivalen a 7? 523 00:22:15,501 --> 00:22:16,000 No ho fa. 524 00:22:16,000 --> 00:22:18,670 525 00:22:18,670 --> 00:22:19,550 Són les sis. 526 00:22:19,550 --> 00:22:21,480 Així que, és menys de o superior a set? 527 00:22:21,480 --> 00:22:23,080 528 00:22:23,080 --> 00:22:23,960 Menys que. 529 00:22:23,960 --> 00:22:24,570 Sí. 530 00:22:24,570 --> 00:22:25,170 Treball nois Niça. 531 00:22:25,170 --> 00:22:25,569 532 00:22:25,569 --> 00:22:27,360 Sento que com que hauria tenir dolços perquè 533 00:22:27,360 --> 00:22:29,460 voler tirar-lo als patis. 534 00:22:29,460 --> 00:22:30,270 És el que vaig a fer la setmana que ve. 535 00:22:30,270 --> 00:22:31,436 Se li mantindrà nois agut. 536 00:22:31,436 --> 00:22:32,560 537 00:22:32,560 --> 00:22:34,690 >> Així, ens tirem que primera meitat, no? 538 00:22:34,690 --> 00:22:35,670 va ser menor que. 539 00:22:35,670 --> 00:22:39,325 sabem que tot en aquest costat de l'esquerra 540 00:22:39,325 --> 00:22:41,700 serà menys del que en realitat estem buscant. 541 00:22:41,700 --> 00:22:43,491 Per tant, no hi ha necessitat de prestar atenció a ella. 542 00:22:43,491 --> 00:22:45,120 Simplement oblidar-se'n. 543 00:22:45,120 --> 00:22:48,720 Així doncs, ara ens fixem en el nostre costat dret, i ens fixem en el medi d'allà, 544 00:22:48,720 --> 00:22:50,510 i ara és de nou. 545 00:22:50,510 --> 00:22:55,510 Així, 9 és-- --Tots? 546 00:22:55,510 --> 00:22:57,470 Més del que som buscant, oi? 547 00:22:57,470 --> 00:22:59,860 Per tant, anem a llançar lluny de tot a la dreta. 548 00:22:59,860 --> 00:23:00,970 549 00:23:00,970 --> 00:23:01,940 Igual que. 550 00:23:01,940 --> 00:23:03,700 Ara, tot el que ens queda és un. 551 00:23:03,700 --> 00:23:07,760 Així, comprovem, és aquest el que estem buscant? és. 552 00:23:07,760 --> 00:23:08,970 Hem trobat el que volíem. 553 00:23:08,970 --> 00:23:10,440 554 00:23:10,440 --> 00:23:11,690 Així que hem acabat. 555 00:23:11,690 --> 00:23:12,550 Bilineal Cercar. 556 00:23:12,550 --> 00:23:15,740 >> I si et fixes, ens tenia set entrades allà. 557 00:23:15,740 --> 00:23:24,320 Només ens va portar com tres vegades, però si vostè està fent com un mil milions, 558 00:23:24,320 --> 00:23:28,190 vostès saben la quantitat de passos que ho faria prendre si tinguéssim 4000000000 de coses? 559 00:23:28,190 --> 00:23:29,940 560 00:23:29,940 --> 00:23:30,455 Qualsevol conjectures? 561 00:23:30,455 --> 00:23:32,286 562 00:23:32,286 --> 00:23:33,960 És 32. 563 00:23:33,960 --> 00:23:37,110 32 passos per trobar alguna cosa en una de quatre mil milions 564 00:23:37,110 --> 00:23:39,650 element de la matriu causa de potències de dos. 565 00:23:39,650 --> 00:23:43,550 Així que dos és a 32, és de quatre mil milions. 566 00:23:43,550 --> 00:23:50,430 >> Com és això una bogeria encara estàs dins de com un nombre bastant reduït de passos 567 00:23:50,430 --> 00:23:52,650 per trobar alguna cosa en 4000000000 d'elements. 568 00:23:52,650 --> 00:23:55,730 Així que en aquest sentit, estem codificarà aquest 569 00:23:55,730 --> 00:23:58,950 així que vostès poden en realitat tipus de veure com funciona això. 570 00:23:58,950 --> 00:24:01,520 Molt bé, així que vostès poden codificar. 571 00:24:01,520 --> 00:24:04,100 Vaig a deixar que vostès parlar una mica. 572 00:24:04,100 --> 00:24:07,970 Conegui a la gent que t'envolta, que és el que algú volia d'última secció. 573 00:24:07,970 --> 00:24:10,280 >> Així que arribar a conèixer a les persones que t'envolten. 574 00:24:10,280 --> 00:24:11,305 Parli per una estona. 575 00:24:11,305 --> 00:24:12,580 576 00:24:12,580 --> 00:24:15,730 I tot el que vull de tu nois en aquest moment és només 577 00:24:15,730 --> 00:24:17,575 tractar de crear un esquema de pseudocodi. 578 00:24:17,575 --> 00:24:18,075 D'acord? 579 00:24:18,075 --> 00:24:20,825 580 00:24:20,825 --> 00:24:21,325 Whoa. 581 00:24:21,325 --> 00:24:23,320 582 00:24:23,320 --> 00:24:29,520 Tot el que vull de vostès és que ets només va a omplir en aquest cas, mentre que. 583 00:24:29,520 --> 00:24:32,170 Així que m'he posat aquests superior i límits inferiors que 584 00:24:32,170 --> 00:24:35,250 representar el començament i al final de la nostra matriu. 585 00:24:35,250 --> 00:24:40,440 I vostè va a realitat recórrer i descobrir 586 00:24:40,440 --> 00:24:42,470 el que estem fent dins d'aquest bucle while. 587 00:24:42,470 --> 00:24:45,810 >> Així que si vostè pot calcular fora-- tinc una mica allà-- quins són els casos 588 00:24:45,810 --> 00:24:46,640 que tenim aquí? 589 00:24:46,640 --> 00:24:48,100 590 00:24:48,100 --> 00:24:51,560 Així que si vols esbrinar la casos, anem als Pseudocodi 591 00:24:51,560 --> 00:24:53,350 i després anem a realment codificar. 592 00:24:53,350 --> 00:24:55,330 I serà, pensar, és d'esperar que va a 593 00:24:55,330 --> 00:24:56,788 ser una mica més fàcil del que s'esperava. 594 00:24:56,788 --> 00:24:57,554 595 00:24:57,554 --> 00:25:00,220 Perquè no és que molt codi, en realitat, el que és realment genial. 596 00:25:00,220 --> 00:25:34,110 597 00:25:34,110 --> 00:25:35,018 >> Mm-hm? 598 00:25:35,018 --> 00:25:35,893 >> ESTUDIANT: [inaudible]? 599 00:25:35,893 --> 00:25:36,984 600 00:25:36,984 --> 00:25:37,650 INSTRUCTOR: Sí. 601 00:25:37,650 --> 00:25:38,595 Hi havia alguna cosa per trobar al medi. 602 00:25:38,595 --> 00:25:39,552 >> ESTUDIANT: Així que podem utilitzar això. 603 00:25:39,552 --> 00:25:39,770 Okay. 604 00:25:39,770 --> 00:25:40,603 >> INSTRUCTOR: Perfecte. 605 00:25:40,603 --> 00:25:42,950 Així que això és el primer que hem de fer. 606 00:25:42,950 --> 00:25:44,330 Així que trobar el mitjà. 607 00:25:44,330 --> 00:25:45,415 608 00:25:45,415 --> 00:25:45,915 Gran. 609 00:25:45,915 --> 00:25:47,770 610 00:25:47,770 --> 00:25:55,010 Així que tens una idea de com podríem en realitat trobar el centre amb codi? 611 00:25:55,010 --> 00:25:55,980 >> ESTUDIANT: Sí. 612 00:25:55,980 --> 00:25:57,000 n més de 2? 613 00:25:57,000 --> 00:25:58,500 614 00:25:58,500 --> 00:25:59,500 PROFESSOR: Llavors n sobre 2. 615 00:25:59,500 --> 00:26:05,170 Així que una cosa a recordar és que els seus límits superior i inferior canvien. 616 00:26:05,170 --> 00:26:08,110 Seguim la constricció de la part de la matriu que estem buscant per. 617 00:26:08,110 --> 00:26:11,970 Així que n més de 2 només funcionarà per a la primera cosa que fem. 618 00:26:11,970 --> 00:26:17,810 Així que tenint superiors i inferiors en compte, ¿Com podem aconseguir que l'element mitjà? 619 00:26:17,810 --> 00:26:20,640 Perquè volem que el medi entre superior i inferior, a la dreta? 620 00:26:20,640 --> 00:26:21,730 621 00:26:21,730 --> 00:26:22,494 Mm-hm? 622 00:26:22,494 --> 00:26:23,369 >> ESTUDIANT: [inaudible]. 623 00:26:23,369 --> 00:26:26,170 624 00:26:26,170 --> 00:26:28,080 >> INSTRUCTOR: Així que tenim algun mitjà. 625 00:26:28,080 --> 00:26:32,730 I que serà superior, més baix en 2. 626 00:26:32,730 --> 00:26:34,740 627 00:26:34,740 --> 00:26:35,690 Impressionant. 628 00:26:35,690 --> 00:26:36,570 Cal anar. 629 00:26:36,570 --> 00:26:37,280 Una línia cap avall. 630 00:26:37,280 --> 00:26:38,560 Vostès estan en el seu camí. 631 00:26:38,560 --> 00:26:41,400 Així que ara que tenim el nostre mitjà, què és el que volem fer? 632 00:26:41,400 --> 00:26:45,050 633 00:26:45,050 --> 00:26:45,900 Just en general. 634 00:26:45,900 --> 00:26:47,734 No ha de codificar. 635 00:26:47,734 --> 00:26:48,335 Sí. 636 00:26:48,335 --> 00:26:49,210 ESTUDIANT: [inaudible]? 637 00:26:49,210 --> 00:27:00,310 638 00:27:00,310 --> 00:27:10,310 INSTRUCTOR: Així que és més perquè ets trobar la mitjana entre els dos 639 00:27:10,310 --> 00:27:10,810 d'ells. 640 00:27:10,810 --> 00:27:11,890 641 00:27:11,890 --> 00:27:17,370 Així que si vostè pensa en ells com a espècie d'augmentar des dels costats, 642 00:27:17,370 --> 00:27:21,640 pensar-hi quan s'aproxima el medi, que vol així. 643 00:27:21,640 --> 00:27:27,150 Així que si anés a cada costat de la mitjà, i tenim com 5 i 7. 644 00:27:27,150 --> 00:27:31,440 Quan s'agreguen junts obtenir 12, es divideix per 2, és de 6. 645 00:27:31,440 --> 00:27:33,726 >> A vegades és difícil explicar per què funciona, 646 00:27:33,726 --> 00:27:35,600 però si vostè treballa a través de un exemple de vegades, 647 00:27:35,600 --> 00:27:37,962 que ajudarà a determinar si hauria de ser més o menys. 648 00:27:37,962 --> 00:27:38,846 Sí. 649 00:27:38,846 --> 00:27:40,830 >> ESTUDIANT: [inaudible] exactament en el centre 650 00:27:40,830 --> 00:27:43,950 si tenien un cas en el qual hi ha una gran quantitat de nombres més petits 651 00:27:43,950 --> 00:27:45,860 i de la mateixa manera que un nombre gran? 652 00:27:45,860 --> 00:27:49,750 >> INSTRUCTOR: Així que tot el que necessita és el centre de la matriu. 653 00:27:49,750 --> 00:27:53,010 Així que si vostè tenia un munt de nombres petits i llavors un realment gran nombre 654 00:27:53,010 --> 00:27:54,799 al final, no importa. 655 00:27:54,799 --> 00:27:56,840 Tot el que importa és que que estan ordenats, només 656 00:27:56,840 --> 00:27:59,339 que desitgi veure en el centre de la matriu perquè ets encara 657 00:27:59,339 --> 00:28:00,700 tallant el seu problema a la meitat. 658 00:28:00,700 --> 00:28:03,020 659 00:28:03,020 --> 00:28:03,680 Refredar. 660 00:28:03,680 --> 00:28:06,430 Així que ara que tenim la mitjà, què fem després? 661 00:28:06,430 --> 00:28:07,150 >> ESTUDIANT: Comparar. 662 00:28:07,150 --> 00:28:08,150 INSTRUCTOR: Comparar. 663 00:28:08,150 --> 00:28:11,670 Així que comparar a mig value_wanted. 664 00:28:11,670 --> 00:28:14,300 665 00:28:14,300 --> 00:28:15,160 Refredar. 666 00:28:15,160 --> 00:28:17,950 Així que ja veus aquí dalt tenim aquest valor que volem aquí. 667 00:28:17,950 --> 00:28:22,012 668 00:28:22,012 --> 00:28:23,095 Recordeu que aquest és un array. 669 00:28:23,095 --> 00:28:24,100 670 00:28:24,100 --> 00:28:26,970 Així mitjà fa a l'índex. 671 00:28:26,970 --> 00:28:29,785 Així que volem fer valors de mitjana. 672 00:28:29,785 --> 00:28:32,380 673 00:28:32,380 --> 00:28:35,650 No oblidis que si vols per comparar, dobles iguals. 674 00:28:35,650 --> 00:28:38,250 Vostè l'únic és igual que estiguis només va a reassignar, 675 00:28:38,250 --> 00:28:41,090 i després, per descomptat, és serà el paràmetre que voleu. 676 00:28:41,090 --> 00:28:42,300 Així que no facis això. 677 00:28:42,300 --> 00:28:44,350 >> Així que anem a veure si els valors en el medi 678 00:28:44,350 --> 00:28:46,460 és igual al valor que volem. 679 00:28:46,460 --> 00:28:47,749 680 00:28:47,749 --> 00:28:48,790 No oblideu els vostres claus. 681 00:28:48,790 --> 00:28:50,520 682 00:28:50,520 --> 00:28:52,235 Dropbox ha de desaparèixer. 683 00:28:52,235 --> 00:28:54,140 684 00:28:54,140 --> 00:28:56,200 Així que, què fem en aquest cas? 685 00:28:56,200 --> 00:28:59,360 Si es tracta del que volem per tornar? 686 00:28:59,360 --> 00:29:01,510 687 00:29:01,510 --> 00:29:02,626 Estem tractant de dir. 688 00:29:02,626 --> 00:29:03,440 >> ESTUDIANT: Imprimiu. 689 00:29:03,440 --> 00:29:05,314 >> INSTRUCTOR: Bé, no volen imprimir. 690 00:29:05,314 --> 00:29:08,220 Així que aquest és un bool aquí, així que volen tornar vertader o fals. 691 00:29:08,220 --> 00:29:12,280 Estem dient, és aquest número 1 [? RRA? ?] Així que si ho és, 692 00:29:12,280 --> 00:29:13,788 simplement tornem veritat. 693 00:29:13,788 --> 00:29:16,780 694 00:29:16,780 --> 00:29:17,760 Si puc lletrejar cert. 695 00:29:17,760 --> 00:29:18,830 696 00:29:18,830 --> 00:29:20,805 >> ESTUDIANT: Per què no li tornarà a zero? 697 00:29:20,805 --> 00:29:22,930 INSTRUCTOR: pel que podria tornar a zero si volies. 698 00:29:22,930 --> 00:29:26,780 Però en aquest cas perquè la nostra funció retorna un bool, 699 00:29:26,780 --> 00:29:28,962 hem de tornar, ja sigui vertadera o falsa. 700 00:29:28,962 --> 00:29:30,920 ESTUDIANT: Quan estàs dient expressió booleana, 701 00:29:30,920 --> 00:29:33,450 pots configurar igual a falsa? 702 00:29:33,450 --> 00:29:39,860 Igual que si vull dir, si aquesta condició no es compleix, de la mateixa manera que és superior és igual a falsa. 703 00:29:39,860 --> 00:29:42,332 ¿Va a entendre si només posar falsa a l'altra banda? 704 00:29:42,332 --> 00:29:43,040 INSTRUCTOR: Sí. 705 00:29:43,040 --> 00:29:44,820 Així que en realitat si estàs sempre fent alguna cosa 706 00:29:44,820 --> 00:29:49,600 com és superior o és menor, que retorna cert o fals 707 00:29:49,600 --> 00:29:53,850 i en realitat és un mal estil de per exemple igual a igual a veritable o iguals 708 00:29:53,850 --> 00:29:54,840 és igual a falsa. 709 00:29:54,840 --> 00:30:00,210 Vostè vol utilitzar aquest resultat com a si mateix com el seu xec. 710 00:30:00,210 --> 00:30:04,720 711 00:30:04,720 --> 00:30:05,860 No era el que jo volia. 712 00:30:05,860 --> 00:30:08,150 713 00:30:08,150 --> 00:30:09,240 Això és el que jo volia. 714 00:30:09,240 --> 00:30:13,205 Així que en el cas que vostè està demanant sobre alguna cosa així com guardar això en c. 715 00:30:13,205 --> 00:30:16,320 716 00:30:16,320 --> 00:30:25,150 >> Així que si tenim int main (void) i alguna cosa com això. 717 00:30:25,150 --> 00:30:31,922 I vostè té si és superior d'alguna entrada i ja està 718 00:30:31,922 --> 00:30:33,630 preguntant si es pot fer alguna cosa com això? 719 00:30:33,630 --> 00:30:35,010 720 00:30:35,010 --> 00:30:35,679 Dreta? 721 00:30:35,679 --> 00:30:37,470 ESTUDIANT: Jo estava tractant per fer-ho [inaudible]. 722 00:30:37,470 --> 00:30:38,450 Perquè si és-- 723 00:30:38,450 --> 00:30:39,200 INSTRUCTOR: Dret. 724 00:30:39,200 --> 00:30:41,197 ¿Així que vols que això és fals, no? 725 00:30:41,197 --> 00:30:41,780 ESTUDIANT: Sí. 726 00:30:41,780 --> 00:30:45,960 INSTRUCTOR: Així que en aquest cas vol que s'executa si no és veritat. 727 00:30:45,960 --> 00:30:50,510 Així que la cosa fresca que fas no és això. 728 00:30:50,510 --> 00:30:52,900 729 00:30:52,900 --> 00:30:55,650 Així que recordi d'exclamació punt nega coses? 730 00:30:55,650 --> 00:30:58,270 Diu [inaudible] no vol dir. 731 00:30:58,270 --> 00:31:03,590 Així que si ens fixem en només aquesta part aquí, estaries 732 00:31:03,590 --> 00:31:05,740 diuen que avalua a fals com vostè desitja. 733 00:31:05,740 --> 00:31:06,790 734 00:31:06,790 --> 00:31:09,880 No és fals és cert que significa això seria executar. 735 00:31:09,880 --> 00:31:11,037 Això té sentit? 736 00:31:11,037 --> 00:31:11,620 ESTUDIANT: Sí. 737 00:31:11,620 --> 00:31:12,453 INSTRUCTOR: Awesome. 738 00:31:12,453 --> 00:31:13,800 739 00:31:13,800 --> 00:31:14,300 Okay. 740 00:31:14,300 --> 00:31:16,330 Així que poguéssim tornar cert en aquest cas. 741 00:31:16,330 --> 00:31:20,357 Així que ara tenim dos casos en aquest cas. 742 00:31:20,357 --> 00:31:21,565 Quins són els altres dos casos? 743 00:31:21,565 --> 00:31:31,610 744 00:31:31,610 --> 00:31:32,900 Anem a fer-ho d'aquesta manera. 745 00:31:32,900 --> 00:31:40,660 Així que anem a començar amb una altra cosa si els valors de la mitjana 746 00:31:40,660 --> 00:31:43,230 és menor que el valor que volem. 747 00:31:43,230 --> 00:31:47,200 748 00:31:47,200 --> 00:31:52,020 Així que el nostre valor en el medi és menys que el valor que estem buscant. 749 00:31:52,020 --> 00:31:53,765 750 00:31:53,765 --> 00:31:56,720 >> Així que unit fer pensem que volem posar al dia? 751 00:31:56,720 --> 00:31:57,870 752 00:31:57,870 --> 00:31:58,780 Alt o baix? 753 00:31:58,780 --> 00:32:01,440 754 00:32:01,440 --> 00:32:01,940 Alta? 755 00:32:01,940 --> 00:32:03,230 756 00:32:03,230 --> 00:32:06,470 Així quin costat de la matriu estarem mirant? 757 00:32:06,470 --> 00:32:07,500 >> ESTUDIANT: La més baixa. 758 00:32:07,500 --> 00:32:09,750 >> INSTRUCTOR: Ens anem a estar mirant a l'esquerra. 759 00:32:09,750 --> 00:32:11,120 Així la resta si poc valor és menor. 760 00:32:11,120 --> 00:32:14,730 Pel que el seu valor mitjà aquí és menys del que volem. 761 00:32:14,730 --> 00:32:17,202 Per això volem prendre la costat dret de la nostra matriu. 762 00:32:17,202 --> 00:32:18,910 Així que anem a actualitzar la nostra fita inferior. 763 00:32:18,910 --> 00:32:20,210 764 00:32:20,210 --> 00:32:23,020 Així que anem a reassignar nostre inferior. 765 00:32:23,020 --> 00:32:25,221 I què creu vostè que hauria de ser més baixa? 766 00:32:25,221 --> 00:32:26,304 ESTUDIANT: El valor mitjà? 767 00:32:26,304 --> 00:32:27,446 768 00:32:27,446 --> 00:32:28,820 INSTRUCTOR: Així que la value-- mitjà 769 00:32:28,820 --> 00:32:30,136 ESTUDIANT: Plus 1. 770 00:32:30,136 --> 00:32:31,010 INSTRUCTOR: --plus 1. 771 00:32:31,010 --> 00:32:32,300 772 00:32:32,300 --> 00:32:34,380 Pot algú dir-me per què hem de més 1? 773 00:32:34,380 --> 00:32:35,730 >> ESTUDIANT: [? Cap valor?] és més igual a ella. 774 00:32:35,730 --> 00:32:36,120 >> INSTRUCTOR: Dret. 775 00:32:36,120 --> 00:32:38,661 Perquè ja sabem que nostre valor mitjà no és igual a 776 00:32:38,661 --> 00:32:42,750 i volem excloure de totes les recerques posteriors. 777 00:32:42,750 --> 00:32:46,360 Si se li oblida que més 1, aquest li agradaria bucle indefinidament. 778 00:32:46,360 --> 00:32:49,620 I només li atrapats en un bucle infinit i després podràs segfault 779 00:32:49,620 --> 00:32:50,370 i les coses van malament. 780 00:32:50,370 --> 00:32:54,780 Així que assegureu-vos sempre que vostè no està incloent el valor que acaba de 781 00:32:54,780 --> 00:32:55,380 mirat. 782 00:32:55,380 --> 00:32:58,530 Així que nosaltres ens encarreguem de que amb un més 1. 783 00:32:58,530 --> 00:33:04,840 >> Així que ara tenim la nostra última condició Sempre que per raons de seguretat 784 00:33:04,840 --> 00:33:12,664 vostè pot comprovar aquí, en cas contrari si el valor en el mitjà és major que el valor 785 00:33:12,664 --> 00:33:13,163 volem. 786 00:33:13,163 --> 00:33:16,260 787 00:33:16,260 --> 00:33:20,230 Això vol dir que volem la meitat de la mà esquerra. 788 00:33:20,230 --> 00:33:21,350 789 00:33:21,350 --> 00:33:23,260 Així que un anem a actualitzar? 790 00:33:23,260 --> 00:33:23,760 Superior. 791 00:33:23,760 --> 00:33:25,470 792 00:33:25,470 --> 00:33:26,970 I quin és aquest serà igual? 793 00:33:26,970 --> 00:33:31,630 794 00:33:31,630 --> 00:33:33,690 Medi menys 1, ja que, per descomptat, volem 795 00:33:33,690 --> 00:33:38,370 per assegurar-se que no estem mirant a aquest valor mitjà nou. 796 00:33:38,370 --> 00:33:41,830 797 00:33:41,830 --> 00:33:45,110 I llavors el tenim. 798 00:33:45,110 --> 00:33:45,610 Això és tot. 799 00:33:45,610 --> 00:33:46,820 Això és tot de recerca binària és. 800 00:33:46,820 --> 00:33:48,190 No és tan dolent, oi? 801 00:33:48,190 --> 00:33:51,590 És com 10 línies de codi amb l'espai en blanc. 802 00:33:51,590 --> 00:33:57,510 Així que és molt potent, molt útil, es vol a utilitzar en un dels seus conjunts de processadors posteriors. 803 00:33:57,510 --> 00:33:59,360 Potser no aquest, però més tard. 804 00:33:59,360 --> 00:34:00,670 Així que aprendre. 805 00:34:00,670 --> 00:34:01,510 Vullga-ho. 806 00:34:01,510 --> 00:34:02,980 Es tractarà bé. 807 00:34:02,980 --> 00:34:05,370 Així que algú té algun preguntes sobre la recerca binària? 808 00:34:05,370 --> 00:34:06,196 Sí. 809 00:34:06,196 --> 00:34:09,840 >> ESTUDIANT: Importa si el n és parell o senar? 810 00:34:09,840 --> 00:34:10,750 >> INSTRUCTOR: No. 811 00:34:10,750 --> 00:34:18,150 Perquè ens tirem a la mitjana com 1 int, s'acaba de truncar la mateixa. 812 00:34:18,150 --> 00:34:21,600 Per tant, es mantindrà un nombre enter i ho farà eventualment ordenar a través de tot. 813 00:34:21,600 --> 00:34:23,909 Així que vostè no ha de preocupar-se per això. 814 00:34:23,909 --> 00:34:24,580 Tothom bé? 815 00:34:24,580 --> 00:34:25,659 816 00:34:25,659 --> 00:34:26,850 Impressionant. 817 00:34:26,850 --> 00:34:27,919 Refredar. 818 00:34:27,919 --> 00:34:30,836 Així que, vostès em encàrrec. 819 00:34:30,836 --> 00:34:33,380 820 00:34:33,380 --> 00:34:33,880 Presentació de diapositives. 821 00:34:33,880 --> 00:34:35,719 822 00:34:35,719 --> 00:34:43,270 Així com que estàvem parlant, ho sé David va esmentar temps d'execució de complexitat. 823 00:34:43,270 --> 00:34:44,420 824 00:34:44,420 --> 00:34:50,340 >> Així que en el millor dels casos, és només un, que anomenem constant de temps. 825 00:34:50,340 --> 00:34:51,909 Pot algú dir-me per què podria ser? 826 00:34:51,909 --> 00:34:52,969 827 00:34:52,969 --> 00:34:55,800 Quin tipus d'escenari caldria implicar? 828 00:34:55,800 --> 00:34:58,260 829 00:34:58,260 --> 00:34:58,760 Mm-hm. 830 00:34:58,760 --> 00:34:59,926 >> ESTUDIANT: [inaudible] primer-- 831 00:34:59,926 --> 00:35:00,789 832 00:35:00,789 --> 00:35:03,830 INSTRUCTOR: Així que el mitjà és el primer element que vam arribar a, oi? 833 00:35:03,830 --> 00:35:08,167 Així que, o una matriu d'un o el que estem buscant només 834 00:35:08,167 --> 00:35:09,750 passa a ser just en el medi. 835 00:35:09,750 --> 00:35:11,190 836 00:35:11,190 --> 00:35:13,380 Així que aquesta és la nostra millor dels casos. 837 00:35:13,380 --> 00:35:17,540 Et fiques en problemes reals, probablement no arribarà a [inaudible] que sovint. 838 00:35:17,540 --> 00:35:18,667 839 00:35:18,667 --> 00:35:19,750 Què passa amb la nostra pitjor dels casos? 840 00:35:19,750 --> 00:35:21,270 El nostre pitjor dels casos és log n. 841 00:35:21,270 --> 00:35:25,360 I això té a veure amb el tot potències de dos cosa que vaig parlar. 842 00:35:25,360 --> 00:35:30,930 >> Així que en el pitjor dels casos que significaria que havíem de tallar la matriu cap avall 843 00:35:30,930 --> 00:35:33,270 fins que hi havia un element d'un. 844 00:35:33,270 --> 00:35:34,810 845 00:35:34,810 --> 00:35:38,930 Així que vam haver de tallar cap avall a la meitat tantes vegades com ens sigui possible. 846 00:35:38,930 --> 00:35:41,430 És per això que és log n perquè que acaba de seguir dividint per dos. 847 00:35:41,430 --> 00:35:42,890 848 00:35:42,890 --> 00:35:45,830 Així suposicions, coses que vosaltres necessita saber si alguna vegada 849 00:35:45,830 --> 00:35:48,050 utilitzarà una recerca binària. 850 00:35:48,050 --> 00:35:50,680 Els seus elements han de ser ordenats. 851 00:35:50,680 --> 00:35:53,890 Han de ser resolt perquè aquesta és l'única manera en què 852 00:35:53,890 --> 00:35:57,060 pot saber si vostè és capaç de de tirar la meitat d'ella. 853 00:35:57,060 --> 00:36:00,260 >> Si tinguessis aquesta borsa confusa dels nombres i que estàs dient, 854 00:36:00,260 --> 00:36:05,380 Bé, vaig a revisar el medi nombre i el nombre que estic buscant 855 00:36:05,380 --> 00:36:08,510 és menys que això, jo només vaig llençar arbitràriament la meitat. 856 00:36:08,510 --> 00:36:11,130 No sap si el seu nombres en aquest altre mitjà. 857 00:36:11,130 --> 00:36:12,655 La seva llista ha de ser resolt. 858 00:36:12,655 --> 00:36:14,030 859 00:36:14,030 --> 00:36:16,560 A més, això pot ser seguir endavant una mica, 860 00:36:16,560 --> 00:36:18,360 però cal tenir accés aleatori. 861 00:36:18,360 --> 00:36:21,940 Has de ser capaç de simplement anar a aquest element mig. 862 00:36:21,940 --> 00:36:25,110 Si vostè ha de travessar a través d'una cosa 863 00:36:25,110 --> 00:36:28,630 o li pren mesures addicionals per arribar a aquest element mig, 864 00:36:28,630 --> 00:36:31,750 no és log n més perquè va a afegir més feina a ell. 865 00:36:31,750 --> 00:36:34,800 I això farà una mica més sentit en dues setmanes, 866 00:36:34,800 --> 00:36:37,950 però jo com que volia escriure el pròleg, vostès donar una idea del que és 867 00:36:37,950 --> 00:36:38,999 per venir. 868 00:36:38,999 --> 00:36:40,790 Però aquests són els dos supòsits importants 869 00:36:40,790 --> 00:36:44,804 que vostè necessita per obtenir una llista binari. 870 00:36:44,804 --> 00:36:45,720 Assegureu-vos que està ordenada. 871 00:36:45,720 --> 00:36:47,920 Aquesta és la gran un per vostès ara mateix. 872 00:36:47,920 --> 00:36:52,170 I en què podem entrar en la resta de les nostres classes. 873 00:36:52,170 --> 00:36:56,444 Així que 4 bombolla sorts--, inserció, selecció i combinació. 874 00:36:56,444 --> 00:36:57,485 Són tots una mena de fresc. 875 00:36:57,485 --> 00:37:02,860 Si vostès decideixen prendre CS 124, vostè aprendrà sobre tot tipus de gèneres. 876 00:37:02,860 --> 00:37:07,575 I si ets un fan de XKCD, hi ha és un còmic genial sobre 877 00:37:07,575 --> 00:37:11,530 com a tipus realment ineficaços, que em altament recomanable anar a mirar. 878 00:37:11,530 --> 00:37:16,170 Un d'ells és com una espècie de pànic, que és com, oh no, tornar disposició aleatòria. 879 00:37:16,170 --> 00:37:16,991 Sistema apagat. 880 00:37:16,991 --> 00:37:17,490 Deixa. 881 00:37:17,490 --> 00:37:19,070 882 00:37:19,070 --> 00:37:21,500 Així humor geek és sempre bo. 883 00:37:21,500 --> 00:37:22,620 884 00:37:22,620 --> 00:37:25,750 >> Així que algú recorda tipus d'com simplement una idea general 885 00:37:25,750 --> 00:37:27,810 de com funciona la bombolla espècie. 886 00:37:27,810 --> 00:37:31,130 887 00:37:31,130 --> 00:37:32,155 Te'n recordes? 888 00:37:32,155 --> 00:37:32,755 >> ESTUDIANT: Sí. 889 00:37:32,755 --> 00:37:33,970 >> INSTRUCTOR: A per això. 890 00:37:33,970 --> 00:37:38,980 >> ESTUDIANT: Així que estàs passant i si és més gran, llavors vostè intercanvia els dos. 891 00:37:38,980 --> 00:37:39,820 >> INSTRUCTOR: Mm-hm. 892 00:37:39,820 --> 00:37:40,564 Exactament. 893 00:37:40,564 --> 00:37:41,730 Així que només iterar a través. 894 00:37:41,730 --> 00:37:43,050 Vostè comprova dos nombres. 895 00:37:43,050 --> 00:37:46,510 Si l'anterior és més gran que el que després, 896 00:37:46,510 --> 00:37:50,230 vostè acaba d'intercanviar de manera que en d'aquesta manera tots els números més alts 897 00:37:50,230 --> 00:37:54,990 la bombolla cap al final de la llista i tots els números més baixos de la bombolla baix. 898 00:37:54,990 --> 00:37:59,355 >> Ell et mostri nois la fresca efecte de so de classificació de vídeo? 899 00:37:59,355 --> 00:38:00,480 És una mena de fresc. 900 00:38:00,480 --> 00:38:01,510 901 00:38:01,510 --> 00:38:05,200 Així com només va dir Robert, l'algoritme que acaba de pas a través de la llista, 902 00:38:05,200 --> 00:38:07,930 l'intercanvi dels valors adjacents si no estan en ordre. 903 00:38:07,930 --> 00:38:10,975 I a continuació, només seguir repetint fins que no es realitzin canvis. 904 00:38:10,975 --> 00:38:11,990 905 00:38:11,990 --> 00:38:12,740 Així que no està malament, oi? 906 00:38:12,740 --> 00:38:14,080 907 00:38:14,080 --> 00:38:16,319 Així que només tenim un exemple ràpid aquí. 908 00:38:16,319 --> 00:38:18,360 Així que això va a classificar en ordre ascendent. 909 00:38:18,360 --> 00:38:19,470 910 00:38:19,470 --> 00:38:23,470 Així que quan anem a través de la primera temps, veiem a través de vuit 911 00:38:23,470 --> 00:38:26,880 -sis, òbviament, no són en fi, els canviem. 912 00:38:26,880 --> 00:38:27,985 >> Així que busqui en la següent. 913 00:38:27,985 --> 00:38:29,430 Vuit i no quatre en ordre. 914 00:38:29,430 --> 00:38:30,450 Intercanviar-les. 915 00:38:30,450 --> 00:38:32,530 I després de vuit i dos, ells swap. 916 00:38:32,530 --> 00:38:33,470 Cal anar. 917 00:38:33,470 --> 00:38:39,519 Així que després de la seva primera passada, pot saber que el seu nombre més gran 918 00:38:39,519 --> 00:38:41,810 serà tot el camí a la part superior, ja que és només 919 00:38:41,810 --> 00:38:44,210 estarà constantment més gran que tota la resta 920 00:38:44,210 --> 00:38:46,810 i que només va a la bombolla tot el camí fins al final allà. 921 00:38:46,810 --> 00:38:48,226 Això té sentit per a tothom? 922 00:38:48,226 --> 00:38:48,560 923 00:38:48,560 --> 00:38:49,060 Refredar. 924 00:38:49,060 --> 00:38:51,310 925 00:38:51,310 --> 00:38:53,920 >> Llavors ens fixem en el nostre segon passi. 926 00:38:53,920 --> 00:38:54,980 Sis i quatre, interruptor. 927 00:38:54,980 --> 00:38:55,920 Sis i dos, interruptor. 928 00:38:55,920 --> 00:38:58,700 I ara que tenim algunes coses en ordre. 929 00:38:58,700 --> 00:39:02,240 Així, per cada pas que ens fer a través de tota la nostra llista, 930 00:39:02,240 --> 00:39:06,320 sabem que igual que molts números al final li han estat ordenats. 931 00:39:06,320 --> 00:39:07,690 932 00:39:07,690 --> 00:39:09,610 Així que fem una tercera passada, que és un intercanvi. 933 00:39:09,610 --> 00:39:10,860 934 00:39:10,860 --> 00:39:15,910 I després en el quart passar, tenim zero ranures. 935 00:39:15,910 --> 00:39:18,570 I pel que sabem que el nostre matriu s'ha classificat. 936 00:39:18,570 --> 00:39:20,900 >> I aquest és el gran cosa amb la bombolla de classe. 937 00:39:20,900 --> 00:39:23,720 Sabem que quan ens tenir zero swaps, que 938 00:39:23,720 --> 00:39:26,497 significa que tot està en complet ordre. 939 00:39:26,497 --> 00:39:27,580 És una espècie de com vam comprovar. 940 00:39:27,580 --> 00:39:28,740 941 00:39:28,740 --> 00:39:36,480 Així que també anem a codificar bombolla quin tipus tampoc és tan dolent. 942 00:39:36,480 --> 00:39:38,120 Cap d'aquests són tan dolents. 943 00:39:38,120 --> 00:39:40,210 Sé que pot semblar una mica de por. 944 00:39:40,210 --> 00:39:42,124 Sé que quan vaig prendre la classe, fins i tot quan jo 945 00:39:42,124 --> 00:39:44,290 va ser l'ensenyament de la classe de la primera vegada l'any passat, 946 00:39:44,290 --> 00:39:46,165 Jo estava com, com puc fer això? 947 00:39:46,165 --> 00:39:48,540 Té sentit en teoria, però ¿Com podem realment fer això? 948 00:39:48,540 --> 00:39:51,420 És per això que també vull caminar a través de codi amb vostès aquí. 949 00:39:51,420 --> 00:39:54,915 Així que tinc un pseudocodi per a vostès en aquesta ocasió. 950 00:39:54,915 --> 00:39:55,950 951 00:39:55,950 --> 00:39:58,970 Així que tenir això en ment a mida estem a punt de fer la transició més. 952 00:39:58,970 --> 00:40:04,210 Així que tenim una mica de comptador que realitza un seguiment dels nostres swaps, 953 00:40:04,210 --> 00:40:08,370 perquè hem d'assegurar- que estem comprovant que. 954 00:40:08,370 --> 00:40:11,830 I iterem tota la matriu com acabem de fer amb aquest exemple. 955 00:40:11,830 --> 00:40:12,900 956 00:40:12,900 --> 00:40:17,325 Si l'element és més gran que abans l'element després d'on estem, 957 00:40:17,325 --> 00:40:20,760 nosaltres els swap i incrementem la nostra comptador perquè tan aviat com ens intercanviem, 958 00:40:20,760 --> 00:40:23,850 volem que el nostre comptador sap. 959 00:40:23,850 --> 00:40:26,247 Qualsevol pregunta allà? 960 00:40:26,247 --> 00:40:27,580 Una cosa sembla divertit per aquí. 961 00:40:27,580 --> 00:40:29,225 962 00:40:29,225 --> 00:40:32,350 ESTUDIANT: S'ajusta el comptador a zero cada vegada que vagi a través del bucle? 963 00:40:32,350 --> 00:40:34,339 No segueixes endavant de tornada a zero cada vegada? 964 00:40:34,339 --> 00:40:35,505 INSTRUCTOR: No necessàriament. 965 00:40:35,505 --> 00:40:39,710 Així que el que passa és que anem per aquí. 966 00:40:39,710 --> 00:40:43,830 Així que mentre que, recordi, això s'executarà una vegada sense falta. 967 00:40:43,830 --> 00:40:46,480 Així que va a establir el comptador igual a zero, 968 00:40:46,480 --> 00:40:48,070 a continuació, es va a recórrer. 969 00:40:48,070 --> 00:40:50,590 A mesura que itera a través de, s'actualitzarà taulell. 970 00:40:50,590 --> 00:40:51,870 971 00:40:51,870 --> 00:40:56,900 Com s'actualitza taulell, quan es fa, quan s'arriba al final de la matriu, 972 00:40:56,900 --> 00:41:00,830 si la nostra llista no ha estat ordenat, comptador s'haurà actualitzat. 973 00:41:00,830 --> 00:41:01,840 974 00:41:01,840 --> 00:41:07,150 >> Així llavors es comprova la condició i diu, està bé, és comptador més gran que zero. 975 00:41:07,150 --> 00:41:09,290 Si ho és, fer-ho de nou. 976 00:41:09,290 --> 00:41:14,340 Vostè vol restablir de manera que quan vostè anar a través de, el comptador és igual a zero. 977 00:41:14,340 --> 00:41:18,240 Si vostè va a través d'una ordenada matriu, res no canvia, 978 00:41:18,240 --> 00:41:21,355 això no funciona, i vostè tornar la llista ordenada. 979 00:41:21,355 --> 00:41:23,104 980 00:41:23,104 --> 00:41:24,020 Això té sentit? 981 00:41:24,020 --> 00:41:24,940 982 00:41:24,940 --> 00:41:26,356 ESTUDIANT: Es podria en una mica. 983 00:41:26,356 --> 00:41:27,147 INSTRUCTOR: OK. 984 00:41:27,147 --> 00:41:28,980 Si hi ha qualsevol altre pregunta que sorgeix. 985 00:41:28,980 --> 00:41:30,180 986 00:41:30,180 --> 00:41:30,680 Sí. 987 00:41:30,680 --> 00:41:33,760 >> ESTUDIANT: Quina seria la funció serà per al canvi dels elements? 988 00:41:33,760 --> 00:41:36,900 >> INSTRUCTOR: Així que en realitat podem escriure que si anem a la dreta ara. 989 00:41:36,900 --> 00:41:37,801 990 00:41:37,801 --> 00:41:38,300 Refredar. 991 00:41:38,300 --> 00:41:42,155 Així que en aquesta nota, Alison va per canviar de nou a l'aparell. 992 00:41:42,155 --> 00:41:43,080 Serà divertit. 993 00:41:43,080 --> 00:41:45,170 994 00:41:45,170 --> 00:41:47,390 I tenim el nostre agradable bombolla espècie cosa aquí. 995 00:41:47,390 --> 00:41:50,800 Així que ja ho vaig fer en bicicleta a través de la matriu. 996 00:41:50,800 --> 00:41:53,030 Tenim els nostres swaps que són iguals a zero. 997 00:41:53,030 --> 00:41:54,480 998 00:41:54,480 --> 00:41:58,440 Així que volem intercanviar adjacent elements si estan fora d'ordre. 999 00:41:58,440 --> 00:42:03,020 Així que el primer que hem de fer és iterar a través de la nostra gamma. 1000 00:42:03,020 --> 00:42:04,500 1001 00:42:04,500 --> 00:42:08,260 >> Llavors, ¿com creu vostè que podríem iterar a través de la nostra gamma? 1002 00:42:08,260 --> 00:42:09,720 1003 00:42:09,720 --> 00:42:13,990 Tenim per i i és igual a 0. 1004 00:42:13,990 --> 00:42:16,950 1005 00:42:16,950 --> 00:42:22,454 Volem i a ser menys de n menys 1 menys k. 1006 00:42:22,454 --> 00:42:23,870 I vaig a explicar que en un segon. 1007 00:42:23,870 --> 00:42:26,280 1008 00:42:26,280 --> 00:42:32,830 Així que aquesta és una optimització aquí on, recordar com he dit després de cada passi 1009 00:42:32,830 --> 00:42:36,655 a través de la qual array saber que tot el que és en-- 1010 00:42:36,655 --> 00:42:43,590 1011 00:42:43,590 --> 00:42:46,295 >> Així que després d'una passada ens sé que això està solucionat. 1012 00:42:46,295 --> 00:42:47,370 1013 00:42:47,370 --> 00:42:50,060 Després de dos passis sabem que tot això està ordenada. 1014 00:42:50,060 --> 00:42:52,750 Després de tres passades ens Sé que és ordenats. 1015 00:42:52,750 --> 00:42:55,620 Així que la forma en què estic iteració a través de la matriu aquí, 1016 00:42:55,620 --> 00:43:01,090 s'està assegurant que anar sol a través del que sabem que és classificar. 1017 00:43:01,090 --> 00:43:01,644 D'acord? 1018 00:43:01,644 --> 00:43:02,810 Això és només una optimització. 1019 00:43:02,810 --> 00:43:04,430 1020 00:43:04,430 --> 00:43:08,210 Es pot escriure que ingènuament només iteració a través de tot, 1021 00:43:08,210 --> 00:43:09,970 seria just prendre més temps. 1022 00:43:09,970 --> 00:43:12,470 Amb aquest bucle és de quatre només una bona optimització 1023 00:43:12,470 --> 00:43:18,460 perquè sabem que després de cada ple iteració a través de la matriu aquí, 1024 00:43:18,460 --> 00:43:24,050 com cada bucle complet aquí, sabem que un més d'aquests elements 1025 00:43:24,050 --> 00:43:25,760 s'ordenaran al final. 1026 00:43:25,760 --> 00:43:28,294 >> Així que no hem de preocupar-nos per aquells. 1027 00:43:28,294 --> 00:43:29,710 Això té sentit per a tothom? 1028 00:43:29,710 --> 00:43:30,950 Aquest petit truc genial? 1029 00:43:30,950 --> 00:43:32,060 1030 00:43:32,060 --> 00:43:37,270 Així que en aquest cas, si estem iteració a través de, 1031 00:43:37,270 --> 00:43:50,590 sabem que volem comprovar si matriu n i n + 1 estan en ordre. 1032 00:43:50,590 --> 00:43:52,640 1033 00:43:52,640 --> 00:43:53,559 Okay. 1034 00:43:53,559 --> 00:43:54,600 Així que aquí està el pseudocodi. 1035 00:43:54,600 --> 00:43:57,540 Volem comprovar si matriu n i n + 1 estan en ordre. 1036 00:43:57,540 --> 00:43:59,520 Llavors, ¿què podríem tenir-hi? 1037 00:43:59,520 --> 00:44:01,090 1038 00:44:01,090 --> 00:44:03,120 Serà una mica de condicional. 1039 00:44:03,120 --> 00:44:04,220 Serà un si. 1040 00:44:04,220 --> 00:44:07,066 >> ESTUDIANT: Si matriu n és menys de matriu de n més 1. 1041 00:44:07,066 --> 00:44:07,816 INSTRUCTOR: Mm-hm. 1042 00:44:07,816 --> 00:44:09,000 1043 00:44:09,000 --> 00:44:10,699 Bé, menor que o més gran que. 1044 00:44:10,699 --> 00:44:11,615 ESTUDIANT: Major que. 1045 00:44:11,615 --> 00:44:15,850 1046 00:44:15,850 --> 00:44:17,620 Llavors volem per intercanviar-les. 1047 00:44:17,620 --> 00:44:18,570 Exactament. 1048 00:44:18,570 --> 00:44:23,570 Així que ara ens fiquem en el que és la mecanisme per a l'intercanvi d'ells? 1049 00:44:23,570 --> 00:44:24,840 1050 00:44:24,840 --> 00:44:28,137 Així que ens vam anar a través d'aquest breu, un tipus de funció d'intercanvi de la setmana passada. 1051 00:44:28,137 --> 00:44:29,595 Algú recorda com funcionava? 1052 00:44:29,595 --> 00:44:32,300 1053 00:44:32,300 --> 00:44:34,950 Així que no podem simplement reassignar ells, oi? 1054 00:44:34,950 --> 00:44:36,640 A causa de que un d'ells es perdi. 1055 00:44:36,640 --> 00:44:41,696 Si hem dit que A és igual a B i B a continuació, és igual a A, tot sobte tots dos 1056 00:44:41,696 --> 00:44:43,150 són només igual a B. 1057 00:44:43,150 --> 00:44:45,720 >> Així que el que hem de fer és que tenir una variable temporal que és 1058 00:44:45,720 --> 00:44:49,055 va a celebrar un dels nostres, mentre que estem en el procés d'intercanvi. 1059 00:44:49,055 --> 00:44:50,200 1060 00:44:50,200 --> 00:44:56,464 Així que el que tenim és que tindrem una mica de int temperatura és igual A-- pot assignar 1061 00:44:56,464 --> 00:44:59,130 al que vostè vol, només Assegureu-vos de mantenir un registre de it-- 1062 00:44:59,130 --> 00:45:01,840 pel que en aquest cas, vaig a assignar-la a la matriu n + 1. 1063 00:45:01,840 --> 00:45:03,360 1064 00:45:03,360 --> 00:45:07,674 Així que va a celebrar el que sigui valor està en aquest segon bloc 1065 00:45:07,674 --> 00:45:08,590 que estem veient. 1066 00:45:08,590 --> 00:45:09,700 1067 00:45:09,700 --> 00:45:13,240 >> I llavors el que podem fer és que podem anar endavant i varietat Reassignar n + 1, 1068 00:45:13,240 --> 00:45:14,990 perquè sabem que que tenen valor emmagatzemat. 1069 00:45:14,990 --> 00:45:16,645 1070 00:45:16,645 --> 00:45:19,270 Aquest és també un dels grans coses-- No sé si algun de vostès 1071 00:45:19,270 --> 00:45:23,780 tingut problemes on si interruptor de dues línies de codi de sobte les coses van funcionar. 1072 00:45:23,780 --> 00:45:25,880 L'ordre és molt important en CS. 1073 00:45:25,880 --> 00:45:29,450 Així que assegureu-vos de diagramar les coses, si és possible 1074 00:45:29,450 --> 00:45:31,230 pel que fa al que està succeint realment. 1075 00:45:31,230 --> 00:45:34,256 Així que ara anem a reassignar matriu n + 1, 1076 00:45:34,256 --> 00:45:36,005 perquè sabem que que tenen valor emmagatzemat. 1077 00:45:36,005 --> 00:45:37,090 1078 00:45:37,090 --> 00:45:41,560 >> I podem assignar que a la matriu n o en aquest cas matriu i. 1079 00:45:41,560 --> 00:45:50,540 1080 00:45:50,540 --> 00:45:51,465 Massa variables. 1081 00:45:51,465 --> 00:45:54,230 1082 00:45:54,230 --> 00:45:55,470 Okay. 1083 00:45:55,470 --> 00:46:01,500 Array Així que ara que hem reassignat i més 1 per a igualar el que està en sèrie i. 1084 00:46:01,500 --> 00:46:08,240 I ara podem tornar enrere i assignar sèrie i per a què? 1085 00:46:08,240 --> 00:46:10,680 1086 00:46:10,680 --> 00:46:11,180 Qualsevol persona? 1087 00:46:11,180 --> 00:46:13,490 1088 00:46:13,490 --> 00:46:14,010 >> ESTUDIANT: 10. 1089 00:46:14,010 --> 00:46:14,680 >> INSTRUCTOR: 10. 1090 00:46:14,680 --> 00:46:15,180 Exactament. 1091 00:46:15,180 --> 00:46:16,930 1092 00:46:16,930 --> 00:46:18,640 I una última cosa. 1093 00:46:18,640 --> 00:46:21,840 Si hem canviat ara, ¿Què és el que hem de fer? 1094 00:46:21,840 --> 00:46:23,740 Què és l'únic això va a dir-nos 1095 00:46:23,740 --> 00:46:27,542 si alguna vegada acabar aquest programa? 1096 00:46:27,542 --> 00:46:29,250 El que ens diu que hem tenir una llista ordenada? 1097 00:46:29,250 --> 00:46:31,560 1098 00:46:31,560 --> 00:46:33,750 Si no realitzem cap swaps, oi? 1099 00:46:33,750 --> 00:46:36,900 Si swaps és igual a zero al final d'aquest. 1100 00:46:36,900 --> 00:46:42,975 Així que cada vegada que es realitza un intercanvi, ja que acaba de fer aquí, volem actualitzar els swaps. 1101 00:46:42,975 --> 00:46:45,002 1102 00:46:45,002 --> 00:46:47,210 I jo sabia que hi havia un pregunta anterior sobre oi 1103 00:46:47,210 --> 00:46:49,689 utilitzar zero o un en el seu lloc de vertader o fals. 1104 00:46:49,689 --> 00:46:50,980 I això és el que fa això aquí. 1105 00:46:50,980 --> 00:46:52,750 Així que això diu que si no els swaps. 1106 00:46:52,750 --> 00:47:01,310 Així que si els swaps és zero, el que és-- Sempre aconseguir els meus veritats i les meves falses barrejats. 1107 00:47:01,310 --> 00:47:03,960 Volem que avaluem true i no ho és. 1108 00:47:03,960 --> 00:47:07,680 1109 00:47:07,680 --> 00:47:09,630 Així que si és zero, llavors és fals. 1110 00:47:09,630 --> 00:47:12,560 Si negues amb un [? Bang?] Es converteix en veritable. 1111 00:47:12,560 --> 00:47:13,975 Així que aquesta línia s'executa. 1112 00:47:13,975 --> 00:47:15,060 1113 00:47:15,060 --> 00:47:17,370 >> Veritats i falsa i zeros i uns aconsegueixen boig. 1114 00:47:17,370 --> 00:47:20,690 Només si vostè camina lentament a través d'ella tindrà sentit. 1115 00:47:20,690 --> 00:47:23,320 Però això és el que aquest petit mica de codi aquí fa. 1116 00:47:23,320 --> 00:47:26,490 Així que això comprova hem fet cap swaps. 1117 00:47:26,490 --> 00:47:30,054 Així que si és una cosa més de zero, que serà fals 1118 00:47:30,054 --> 00:47:31,970 i tota la cosa és va a executar de nou. 1119 00:47:31,970 --> 00:47:33,150 1120 00:47:33,150 --> 00:47:33,650 Fresc? 1121 00:47:33,650 --> 00:47:34,660 1122 00:47:34,660 --> 00:47:36,000 >> ESTUDIANT: Què fa el descans? 1123 00:47:36,000 --> 00:47:38,990 >> INSTRUCTOR: Trencar només que trenca fora del circuit. 1124 00:47:38,990 --> 00:47:41,570 Així que en aquest cas seria de la mateixa manera que acabar el programa 1125 00:47:41,570 --> 00:47:43,828 i ho faria només tenir la seva llista ordenada. 1126 00:47:43,828 --> 00:47:44,536 ESTUDIANT: Amazing. 1127 00:47:44,536 --> 00:47:48,094 1128 00:47:48,094 --> 00:47:49,010 INSTRUCTOR: Ho sento? 1129 00:47:49,010 --> 00:47:52,110 ESTUDIANT: Com que anteriorment utilitzat escrit 1 sobre escrit zero 1130 00:47:52,110 --> 00:47:54,170 per presentar que si que funcionarà o no. 1131 00:47:54,170 --> 00:47:54,878 >> INSTRUCTOR: Sí. 1132 00:47:54,878 --> 00:47:56,410 Així que vostè pot tornar zero o 1. 1133 00:47:56,410 --> 00:47:58,950 En aquest cas, perquè no estem en realitat fer qualsevol cosa amb la funció, 1134 00:47:58,950 --> 00:48:00,150 només volem que es trenqui. 1135 00:48:00,150 --> 00:48:02,680 En realitat no es preocupen per ell. 1136 00:48:02,680 --> 00:48:06,960 Fre també és bo si s'utilitza per trencar 1137 00:48:06,960 --> 00:48:10,710 de quatre bucles o condicions que vostè no desitja mantenir l'execució. 1138 00:48:10,710 --> 00:48:12,110 Simplement et porta fora d'ells. 1139 00:48:12,110 --> 00:48:13,587 1140 00:48:13,587 --> 00:48:14,795 És una mica d'una cosa matís. 1141 00:48:14,795 --> 00:48:16,737 1142 00:48:16,737 --> 00:48:18,445 Em sento com si hagués una gran quantitat de mà que agita, 1143 00:48:18,445 --> 00:48:19,740 com vostè aprendrà sobre això aviat. 1144 00:48:19,740 --> 00:48:20,955 >> Però vostè aprendrà sobre això aviat. 1145 00:48:20,955 --> 00:48:21,500 Prometo. 1146 00:48:21,500 --> 00:48:22,670 1147 00:48:22,670 --> 00:48:23,170 Okay. 1148 00:48:23,170 --> 00:48:24,840 Així que no tothom aconsegueix bombolla espècie? 1149 00:48:24,840 --> 00:48:25,550 No està malament. 1150 00:48:25,550 --> 00:48:31,910 Recórrer, coses swaps servir un variable TEMP, i tots estem estableix allà? 1151 00:48:31,910 --> 00:48:32,960 Refredar. 1152 00:48:32,960 --> 00:48:34,080 Impressionant. 1153 00:48:34,080 --> 00:48:34,807 Okay. 1154 00:48:34,807 --> 00:48:35,765 Tornar al principi PowerPoint. 1155 00:48:35,765 --> 00:48:38,140 1156 00:48:38,140 --> 00:48:40,130 Qualsevol pregunta en general sobre aquests fins al moment? 1157 00:48:40,130 --> 00:48:41,200 1158 00:48:41,200 --> 00:48:41,700 Refredar. 1159 00:48:41,700 --> 00:48:43,110 1160 00:48:43,110 --> 00:48:43,695 Mm-hm. 1161 00:48:43,695 --> 00:48:45,279 >> ESTUDIANT: [inaudible] int main normalment. 1162 00:48:45,279 --> 00:48:46,695 No has de tenir que per això? 1163 00:48:46,695 --> 00:48:48,400 1164 00:48:48,400 --> 00:48:53,550 >> INSTRUCTOR: Així que estàvem buscant just en l'algoritme d'ordenació real. 1165 00:48:53,550 --> 00:48:54,559 1166 00:48:54,559 --> 00:48:56,350 Si haguessis de dins com un programa més ampli, 1167 00:48:56,350 --> 00:48:57,891 vostè tindria un algun lloc principal int. 1168 00:48:57,891 --> 00:49:00,070 1169 00:49:00,070 --> 00:49:02,880 Depenent d'on vostè utilitzar aquest algoritme, 1170 00:49:02,880 --> 00:49:05,860 seria determinar quin és sent retornat per ell. 1171 00:49:05,860 --> 00:49:09,960 No obstant això, per al nostre cas, estem estrictament mirant com funciona això en realitat 1172 00:49:09,960 --> 00:49:11,300 recórrer una matriu. 1173 00:49:11,300 --> 00:49:12,570 Així que no et preocupis per això. 1174 00:49:12,570 --> 00:49:14,150 1175 00:49:14,150 --> 00:49:19,830 >> Així que estàvem parlant millor dels casos i pitjor dels casos per a la recerca binària. 1176 00:49:19,830 --> 00:49:22,470 Així també és important fer que per a cada una de les nostres classes. 1177 00:49:22,470 --> 00:49:24,200 1178 00:49:24,200 --> 00:49:27,560 Llavors, ¿què creu vostè que és el pitjor dels casos cas el temps d'execució de la bombolla espècie? 1179 00:49:27,560 --> 00:49:29,560 1180 00:49:29,560 --> 00:49:30,700 Vostès recorden? 1181 00:49:30,700 --> 00:49:31,784 >> ESTUDIANT: N almenys 1. 1182 00:49:31,784 --> 00:49:32,700 INSTRUCTOR: N almenys 1. 1183 00:49:32,700 --> 00:49:35,070 Així que això significa que hi ha n almenys 1 comparacions. 1184 00:49:35,070 --> 00:49:40,060 Així que una cosa és adonar- que en la primera iteració, 1185 00:49:40,060 --> 00:49:43,360 anem a través, comparem aquests dos-- així que això és 1. 1186 00:49:43,360 --> 00:49:46,685 Aquests dos, tres, quatre. 1187 00:49:46,685 --> 00:49:48,070 1188 00:49:48,070 --> 00:49:55,050 Així que després d'una iteració que ja té quatre comparacions. 1189 00:49:55,050 --> 00:49:58,230 Quan estic parlant de temps d'execució i n. 1190 00:49:58,230 --> 00:50:04,680 N representa el nombre de comparacions com una funció de quants elements 1191 00:50:04,680 --> 00:50:05,570 tenim. 1192 00:50:05,570 --> 00:50:06,430 D'acord? 1193 00:50:06,430 --> 00:50:08,860 >> Així que anem a través, tenim quatre. 1194 00:50:08,860 --> 00:50:11,780 La propera vegada que vostè sap no ho fem ha de fer-se càrrec d'això. 1195 00:50:11,780 --> 00:50:15,140 Comparem aquests dos, aquests dos, aquests dos, 1196 00:50:15,140 --> 00:50:20,050 i si no haguéssim de l'optimització amb els quatre bucle que vaig escriure, 1197 00:50:20,050 --> 00:50:22,750 vostè estaria comparant aquí de totes maneres. 1198 00:50:22,750 --> 00:50:26,170 Així que hauria de executar a través de la matriu 1199 00:50:26,170 --> 00:50:34,380 i fer comparacions n n vegades, perquè cada vegada que 1200 00:50:34,380 --> 00:50:36,670 córrer a través d'ell vam classificar una cosa. 1201 00:50:36,670 --> 00:50:38,300 1202 00:50:38,300 --> 00:50:41,475 >> I cada vegada que ens trobem a través de la matriu, fem n comparacions. 1203 00:50:41,475 --> 00:50:42,920 1204 00:50:42,920 --> 00:50:46,330 Així que el nostre temps d'execució d'això és en realitat n quadrat, que 1205 00:50:46,330 --> 00:50:48,400 és molt pitjor en la nostra ingressi final perquè això 1206 00:50:48,400 --> 00:50:51,965 vol dir que si teníem 4 milers de milions d'elements, és 1207 00:50:51,965 --> 00:50:55,260 ens portarà 4000000000 quadrat en lloc de 32. 1208 00:50:55,260 --> 00:51:01,240 Així que no és el millor temps d'execució, però per a algunes coses, 1209 00:51:01,240 --> 00:51:04,610 ja saps, si estàs dins de d'un cert rang d'elements 1210 00:51:04,610 --> 00:51:06,540 bombolla espècie pot estar bé per al seu ús. 1211 00:51:06,540 --> 00:51:07,530 >> Okay. 1212 00:51:07,530 --> 00:51:12,290 Així que ara el que és el millor temps d'execució de cas? 1213 00:51:12,290 --> 00:51:14,357 1214 00:51:14,357 --> 00:51:14,940 ESTUDIANT: Zero? 1215 00:51:14,940 --> 00:51:16,420 O 1? 1216 00:51:16,420 --> 00:51:18,140 >> INSTRUCTOR: 1 Així que ho faria ser una comparació. 1217 00:51:18,140 --> 00:51:19,114 Dreta. 1218 00:51:19,114 --> 00:51:20,002 >> ESTUDIANT: N almenys 1? 1219 00:51:20,002 --> 00:51:21,380 1220 00:51:21,380 --> 00:51:22,320 >> INSTRUCTOR: Així que, si. 1221 00:51:22,320 --> 00:51:22,990 Així n almenys 1. 1222 00:51:22,990 --> 00:51:26,510 Sempre que tingui un concepte com n menys 1, tendim a simplement deixar-ho 1223 00:51:26,510 --> 00:51:31,680 i acabem de dir n perquè tens comparar cada un dels these-- cada parell. 1224 00:51:31,680 --> 00:51:36,470 Així que seria n menys 1, que ens que acabàvem de dir és aproximadament n. 1225 00:51:36,470 --> 00:51:39,280 Quan vostè està tractant amb el temps d'execució, tot està en aproximats. 1226 00:51:39,280 --> 00:51:43,860 Mentre l'exponent és correcta, ets bastant bo. 1227 00:51:43,860 --> 00:51:45,700 >> Així és com ens ocupem d'això. 1228 00:51:45,700 --> 00:51:47,410 1229 00:51:47,410 --> 00:51:51,780 Així que el millor dels casos és n, el qual vol dir que la llista ja està ordenat, 1230 00:51:51,780 --> 00:51:54,320 i tot el que fem és executar a través de i comprovi que està ordenada. 1231 00:51:54,320 --> 00:51:56,110 1232 00:51:56,110 --> 00:51:56,855 Refredar. 1233 00:51:56,855 --> 00:51:57,355 Bé. 1234 00:51:57,355 --> 00:51:58,980 1235 00:51:58,980 --> 00:52:01,920 Així que com veus aquí, només hi ha algunes més gràfics. 1236 00:52:01,920 --> 00:52:02,660 Així que n al quadrat. 1237 00:52:02,660 --> 00:52:03,780 1238 00:52:03,780 --> 00:52:05,120 Diversió. 1239 00:52:05,120 --> 00:52:09,730 Molt pitjor que n com veiem, i molt, molt pitjor que 2n registre. 1240 00:52:09,730 --> 00:52:12,060 I llavors vostè també aconsegueix en registre registres. 1241 00:52:12,060 --> 00:52:18,020 I vostè pren 124, et fiques en com a estrella de registre, que és com una bogeria. 1242 00:52:18,020 --> 00:52:20,172 Així que si vostè està interessat, estrella de registre de cerca. 1243 00:52:20,172 --> 00:52:20,880 És una mica de diversió. 1244 00:52:20,880 --> 00:52:22,800 1245 00:52:22,800 --> 00:52:24,220 Així que tenim aquest gran quadre. 1246 00:52:24,220 --> 00:52:25,360 1247 00:52:25,360 --> 00:52:28,720 Només un cap, aquest és un meravellosa carta tingui 1248 00:52:28,720 --> 00:52:31,350 per al seu mitjà termini, ja que temps per demanar-li que aquests s'aprima. 1249 00:52:31,350 --> 00:52:36,090 Així que només un caps, tenen això en el seu a mitjà termini en el seu full de trucs agradable 1250 00:52:36,090 --> 00:52:36,616 Ja està. 1251 00:52:36,616 --> 00:52:37,990 Així que acabem de veure bombolles espècie. 1252 00:52:37,990 --> 00:52:39,510 1253 00:52:39,510 --> 00:52:42,370 Pitjor dels casos, n al quadrat, millor dels casos, n. 1254 00:52:42,370 --> 00:52:43,367 1255 00:52:43,367 --> 00:52:44,950 I anem a mirar els altres. 1256 00:52:44,950 --> 00:52:47,940 >> I com es pot veure, l'única un que realment li va bé 1257 00:52:47,940 --> 00:52:50,910 és una espècie de combinació, que entrarem en per què. 1258 00:52:50,910 --> 00:52:52,690 1259 00:52:52,690 --> 00:52:55,215 Així que anirem a la següent aquí-- selecció espècie. 1260 00:52:55,215 --> 00:52:56,360 1261 00:52:56,360 --> 00:52:58,420 Algú recorda com selecció treballar espècie? 1262 00:52:58,420 --> 00:53:05,200 1263 00:53:05,200 --> 00:53:05,700 No t'ho pensis. 1264 00:53:05,700 --> 00:53:08,210 >> ESTUDIANT: Bàsicament passar per un ordre i crear una nova llista. 1265 00:53:08,210 --> 00:53:11,001 I així com vostè està posant elements en, els va posar en el lloc correcte 1266 00:53:11,001 --> 00:53:11,750 en la nova llista. 1267 00:53:11,750 --> 00:53:14,040 >> INSTRUCTOR: Així que els sons més com l'ordenació per inserció. 1268 00:53:14,040 --> 00:53:15,040 Però estàs molt a prop. 1269 00:53:15,040 --> 00:53:15,915 Són molt similars. 1270 00:53:15,915 --> 00:53:17,440 Fins i tot va arribar ells confonen de vegades. 1271 00:53:17,440 --> 00:53:18,981 Abans d'aquesta secció jo estava com, esperi. 1272 00:53:18,981 --> 00:53:20,130 1273 00:53:20,130 --> 00:53:20,630 Okay. 1274 00:53:20,630 --> 00:53:24,141 Així que el que vostè desitja fer és una mena de selecció, 1275 00:53:24,141 --> 00:53:25,890 la forma en què es pugui imaginar sobre això i la forma 1276 00:53:25,890 --> 00:53:30,140 M'asseguro de no tractar d'aconseguir es confonguin, és que passa per 1277 00:53:30,140 --> 00:53:33,280 i selecciona el menor nombre i 1278 00:53:33,280 --> 00:53:36,070 posa que al principi de la seva llista. 1279 00:53:36,070 --> 00:53:37,730 Es intercanvia amb aquest primer lloc. 1280 00:53:37,730 --> 00:53:42,600 1281 00:53:42,600 --> 00:53:45,370 De fet, tenen un exemple per a mi. 1282 00:53:45,370 --> 00:53:46,540 Impressionant. 1283 00:53:46,540 --> 00:53:50,130 Així que una manera de pensar en la selecció it-- Ordena, seleccioneu el valor més petit. 1284 00:53:50,130 --> 00:53:51,940 I anem a executar a través d'un exemple 1285 00:53:51,940 --> 00:53:55,320 que crec que ajudarà perquè Crec visuals sempre ajuden. 1286 00:53:55,320 --> 00:53:58,510 Així que vam començar amb alguna cosa que és completament sense classificar. 1287 00:53:58,510 --> 00:54:00,730 Vermell serà sense classificar, verd, seran ordenats. 1288 00:54:00,730 --> 00:54:02,190 Tot tindrà sentit en un segon. 1289 00:54:02,190 --> 00:54:08,950 >> Així que anem a través i iterem des del principi fins al final. 1290 00:54:08,950 --> 00:54:12,320 I diem, OK, 2 és el nostre nombre més petit. 1291 00:54:12,320 --> 00:54:15,680 Així que tindrem 2 i anem per moure a la part davantera de la nostra gamma 1292 00:54:15,680 --> 00:54:17,734 perquè és la nombre més petit que tenim. 1293 00:54:17,734 --> 00:54:19,150 Així que això és el que això s'està fent aquí. 1294 00:54:19,150 --> 00:54:20,820 És només canviarà tots dos. 1295 00:54:20,820 --> 00:54:21,850 1296 00:54:21,850 --> 00:54:25,450 Així que ara tenim un classificat part i una part sense classificar. 1297 00:54:25,450 --> 00:54:27,810 I el que és bo recordar sobre la selecció d'espècie 1298 00:54:27,810 --> 00:54:30,690 és que només estem seleccionant de la part sense classificar. 1299 00:54:30,690 --> 00:54:32,220 1300 00:54:32,220 --> 00:54:34,527 >> La part ordenada que acaba de deixar sols. 1301 00:54:34,527 --> 00:54:35,660 Mm-hm? 1302 00:54:35,660 --> 00:54:38,452 >> ESTUDIANT: Com sap el que és el més petit sense comparar- 1303 00:54:38,452 --> 00:54:39,868 a qualsevol altre valor a la matriu. 1304 00:54:39,868 --> 00:54:41,250 INSTRUCTOR: Ho fa comparar. 1305 00:54:41,250 --> 00:54:42,041 Ens agrada el saltem. 1306 00:54:42,041 --> 00:54:43,850 Això és només en general en general. 1307 00:54:43,850 --> 00:54:44,831 Sí. 1308 00:54:44,831 --> 00:54:47,205 Quan escrivim el codi que estic Segur que estarà més satisfet. 1309 00:54:47,205 --> 00:54:48,696 1310 00:54:48,696 --> 00:54:53,030 Però vostè guarda el primer element com el més petit. 1311 00:54:53,030 --> 00:54:56,110 Es tracta de comparar i vostè a dir, OK, és més petit? 1312 00:54:56,110 --> 00:54:56,660 Sí. 1313 00:54:56,660 --> 00:54:57,460 Keep it. 1314 00:54:57,460 --> 00:54:58,640 Aquí és més petit? 1315 00:54:58,640 --> 00:54:59,660 No? 1316 00:54:59,660 --> 00:55:02,510 >> Aquest és el seu més petit, reassignar al seu valor. 1317 00:55:02,510 --> 00:55:06,340 I seràs molt més feliç quan anem a través del codi. 1318 00:55:06,340 --> 00:55:07,510 1319 00:55:07,510 --> 00:55:13,970 Així que anem a través, ens vam canviar, així que a continuació ens fixem en aquesta porció sense classificar. 1320 00:55:13,970 --> 00:55:15,810 Així que anem a seleccionar tres. 1321 00:55:15,810 --> 00:55:18,890 Anem a posar-ho en en Al final de la nostra part ordenada. 1322 00:55:18,890 --> 00:55:20,267 1323 00:55:20,267 --> 00:55:23,100 I només seguirem fent que, fent això, i fent això. 1324 00:55:23,100 --> 00:55:24,130 1325 00:55:24,130 --> 00:55:27,420 Així que aquest és el nostre tipus de pseudocodi aquí. 1326 00:55:27,420 --> 00:55:29,470 1327 00:55:29,470 --> 00:55:31,380 Anem a codificar fins aquí en un segon. 1328 00:55:31,380 --> 00:55:34,140 1329 00:55:34,140 --> 00:55:37,270 Però només una mica per caminar a través d'un alt nivell. 1330 00:55:37,270 --> 00:55:40,275 Te n'aniràs de i és igual a 0 a n almenys 2. 1331 00:55:40,275 --> 00:55:41,570 1332 00:55:41,570 --> 00:55:43,530 Aquesta és una altra d'optimització. 1333 00:55:43,530 --> 00:55:45,020 No es preocupi massa sobre ell. 1334 00:55:45,020 --> 00:55:46,620 Així com vostè deia. 1335 00:55:46,620 --> 00:55:49,660 1336 00:55:49,660 --> 00:55:54,406 Com Jacob estava dient, com podem portar un registre del que el nostre mínim és? 1337 00:55:54,406 --> 00:55:55,030 Com ho sabem? 1338 00:55:55,030 --> 00:55:57,060 Hem de comparar tot en la nostra llista. 1339 00:55:57,060 --> 00:55:59,600 >> Així mínim és igual a i. 1340 00:55:59,600 --> 00:56:03,870 És simplement dient en aquest cas l'índex del nostre valor mínim. 1341 00:56:03,870 --> 00:56:07,660 Així que es va a recórrer i va des de j és igual a i + 1. 1342 00:56:07,660 --> 00:56:11,420 Així que ja sabem que aquest és el nostre primer element. 1343 00:56:11,420 --> 00:56:13,240 No necessitem per a comparar-la amb la pròpia. 1344 00:56:13,240 --> 00:56:16,970 Així que començar a comparar a la següent un que és per això que és i + 1 a n 1345 00:56:16,970 --> 00:56:20,110 menys 1, que és el final de la matriu allà. 1346 00:56:20,110 --> 00:56:25,090 I nosaltres vam dir si matriu a j és de menys de matriu min, 1347 00:56:25,090 --> 00:56:29,200 llavors reassignar on els nostres índexs mínims és. 1348 00:56:29,200 --> 00:56:37,470 >> I si min no és igual a i, com on estàvem de tornada per aquí. 1349 00:56:37,470 --> 00:56:38,950 1350 00:56:38,950 --> 00:56:41,790 Així com quan ho vam fer per primera vegada aquest un. 1351 00:56:41,790 --> 00:56:49,310 En aquest cas, seria començar a zero, seria arribar a ser dues. 1352 00:56:49,310 --> 00:56:53,010 Així min no ho faria igual i en el final. 1353 00:56:53,010 --> 00:56:55,720 Que ens permet saber que que necessitem per intercanviar-les. 1354 00:56:55,720 --> 00:56:57,420 1355 00:56:57,420 --> 00:57:00,470 Em sento com un exemple concret ajudarà molt més que això. 1356 00:57:00,470 --> 00:57:04,970 Així que vaig a codificar aquesta amb vosaltres en aquest moment i crec que serà millor. 1357 00:57:04,970 --> 00:57:07,380 1358 00:57:07,380 --> 00:57:11,350 >> Ordena tendeixen a treballar d'aquesta manera en què sovint és millor només per veure'ls. 1359 00:57:11,350 --> 00:57:12,780 1360 00:57:12,780 --> 00:57:17,280 Així que el que volem fer és el primer que volem la més petita 1361 00:57:17,280 --> 00:57:19,890 element en la seva posició en l'array. 1362 00:57:19,890 --> 00:57:21,280 Exactament el que Jacob estava dient. 1363 00:57:21,280 --> 00:57:23,090 Necessita emmagatzemar que d'alguna manera. 1364 00:57:23,090 --> 00:57:25,900 Així que anem a començar aquí iteració en la matriu. 1365 00:57:25,900 --> 00:57:28,970 Anem a dir que és el nostre primer només per començar. 1366 00:57:28,970 --> 00:57:38,308 Així que tindrem int més petit és igual a la matriu en i. 1367 00:57:38,308 --> 00:57:40,500 1368 00:57:40,500 --> 00:57:45,050 >> Així que una cosa a notar, cada vegada aquest bucle s'executa, 1369 00:57:45,050 --> 00:57:48,550 estem començant un pas més enllà al llarg. 1370 00:57:48,550 --> 00:57:54,780 1371 00:57:54,780 --> 00:57:57,440 Quan vam començar ens fixem en aquest. 1372 00:57:57,440 --> 00:58:00,840 La propera vegada que recórrer, estem començant a aquest 1373 00:58:00,840 --> 00:58:02,680 i assignant-li el nostre valor més petit. 1374 00:58:02,680 --> 00:58:10,450 Així que és molt similar a la bombolla de tipus on sabem que després d'una sola passada, 1375 00:58:10,450 --> 00:58:11,700 aquest últim element està ordenada. 1376 00:58:11,700 --> 00:58:12,810 1377 00:58:12,810 --> 00:58:15,120 Amb la selecció d'espècie, que és tot el contrari. 1378 00:58:15,120 --> 00:58:18,950 >> A cada passi, sabem que la primera d'elles està ordenada. 1379 00:58:18,950 --> 00:58:21,360 Després de la segona passada, el segon, seran ordenats. 1380 00:58:21,360 --> 00:58:26,470 I com es va veure amb els exemples de diapositives, la nostra porció ordenats segueix creixent. 1381 00:58:26,470 --> 00:58:34,020 Així que mitjançant l'establiment del nostre un més petit a matrius i, tot el que està fent 1382 00:58:34,020 --> 00:58:37,340 es constricció del que estem veient amb la finalitat de 1383 00:58:37,340 --> 00:58:40,164 per minimitzar el nombre de les comparacions que fem. 1384 00:58:40,164 --> 00:58:41,770 Això té sentit per a tothom? 1385 00:58:41,770 --> 00:58:42,920 1386 00:58:42,920 --> 00:58:46,380 Em necessita per funcionar a través d'aquest una altra vegada més lent o amb altres paraules? 1387 00:58:46,380 --> 00:58:47,180 Estic feliç. 1388 00:58:47,180 --> 00:58:48,095 1389 00:58:48,095 --> 00:58:48,595 Okay. 1390 00:58:48,595 --> 00:58:50,060 1391 00:58:50,060 --> 00:58:55,540 >> Així que estem emmagatzemant el valor en aquest punt, 1392 00:58:55,540 --> 00:58:57,840 però també volem emmagatzemar l'índex. 1393 00:58:57,840 --> 00:59:01,010 Així que anem a emmagatzemar el la posició dels més petits 1394 00:59:01,010 --> 00:59:02,770 un, que és només serà i. 1395 00:59:02,770 --> 00:59:04,357 1396 00:59:04,357 --> 00:59:05,440 Així que ara Jacob està satisfet. 1397 00:59:05,440 --> 00:59:06,870 Tenim coses emmagatzemades. 1398 00:59:06,870 --> 00:59:08,240 1399 00:59:08,240 --> 00:59:11,870 I ara hem de mirar a través de la part no seleccionada de la matriu. 1400 00:59:11,870 --> 00:59:18,170 Així que en aquest cas aquesta seria el nostre sense classificar. 1401 00:59:18,170 --> 00:59:20,980 1402 00:59:20,980 --> 00:59:22,462 Això és i. 1403 00:59:22,462 --> 00:59:25,430 1404 00:59:25,430 --> 00:59:26,210 Okay. 1405 00:59:26,210 --> 00:59:30,040 >> Així que el que farem serà d'un bucle. 1406 00:59:30,040 --> 00:59:32,066 Sempre que necessiti iterar a través d'una matriu, 1407 00:59:32,066 --> 00:59:33,440 la seva ment podia anar a per un bucle. 1408 00:59:33,440 --> 00:59:34,760 1409 00:59:34,760 --> 00:59:38,090 Així que per a alguns int k equals-- ¿què pensem 1410 00:59:38,090 --> 00:59:39,700 k serà igual per a començar? 1411 00:59:39,700 --> 00:59:41,580 1412 00:59:41,580 --> 00:59:44,766 Això és el que ens vam proposar com el nostre més petit valor i volem comparar. 1413 00:59:44,766 --> 00:59:47,090 Què és el que volem comparar? 1414 00:59:47,090 --> 00:59:48,730 Serà el pròxim un, oi? 1415 00:59:48,730 --> 00:59:53,200 Pel que volem k per ser inicialitzat a i + 1 per començar. 1416 00:59:53,200 --> 00:59:55,350 1417 00:59:55,350 --> 01:00:02,800 >> I volem k en aquest cas ja han emmagatzemat mida fins aquí, 1418 01:00:02,800 --> 01:00:03,930 de manera que només podem usar mida. 1419 01:00:03,930 --> 01:00:06,240 Mida ser la mida de la matriu. 1420 01:00:06,240 --> 01:00:09,620 I només volem actualitzar k en un cada vegada. 1421 01:00:09,620 --> 01:00:17,410 1422 01:00:17,410 --> 01:00:17,910 Refredar. 1423 01:00:17,910 --> 01:00:19,650 1424 01:00:19,650 --> 01:00:23,430 Així que ara hem de trobar l'element més petit aquí. 1425 01:00:23,430 --> 01:00:24,470 1426 01:00:24,470 --> 01:00:31,380 Així que si ens recórrer, ens vull dir, si en la matriu k 1427 01:00:31,380 --> 01:00:37,080 és menor que el nostre value-- més petit aquí és on som en realitat 1428 01:00:37,080 --> 01:00:42,950 fer el seguiment del que és el més petit aquí-- 1429 01:00:42,950 --> 01:00:47,740 llavors volem reassignar quin és el nostre valor més petit és. 1430 01:00:47,740 --> 01:00:50,645 >> Això vol dir que, oh, estem iteració a través d'aquí. 1431 01:00:50,645 --> 01:00:51,699 1432 01:00:51,699 --> 01:00:53,740 Qualsevol que sigui el valor és aquí és no la cosa més petita. 1433 01:00:53,740 --> 01:00:54,448 Nosaltres no volem. 1434 01:00:54,448 --> 01:00:56,100 Volem tornar a assignar la mateixa. 1435 01:00:56,100 --> 01:01:02,050 Així que si estem reassignant, què fer vostè pensa que podria estar en el codi aquí? 1436 01:01:02,050 --> 01:01:04,160 Volem tornar a assignar més petit i la posició. 1437 01:01:04,160 --> 01:01:05,740 1438 01:01:05,740 --> 01:01:07,010 Llavors, què és més petita ara? 1439 01:01:07,010 --> 01:01:08,422 1440 01:01:08,422 --> 01:01:09,130 ESTUDIANT: Array k. 1441 01:01:09,130 --> 01:01:09,963 INSTRUCTOR: Array k. 1442 01:01:09,963 --> 01:01:13,480 1443 01:01:13,480 --> 01:01:15,956 ¿I quina és la posició ara? 1444 01:01:15,956 --> 01:01:20,940 1445 01:01:20,940 --> 01:01:23,000 Què hi ha dels índexs de el nostre valor més petit? 1446 01:01:23,000 --> 01:01:24,030 1447 01:01:24,030 --> 01:01:24,530 És només k. 1448 01:01:24,530 --> 01:01:25,690 1449 01:01:25,690 --> 01:01:27,790 Així matriu k, k, que coincideixen. 1450 01:01:27,790 --> 01:01:31,670 1451 01:01:31,670 --> 01:01:33,120 Així que volíem que reassignar. 1452 01:01:33,120 --> 01:01:34,390 1453 01:01:34,390 --> 01:01:39,950 I a continuació, després que ens trobem la nostra més petita, així que al final d'aquest bucle for 1454 01:01:39,950 --> 01:01:45,100 aquí hem trobat el que el nostre petit valor és, de manera que només s'intercanvie. 1455 01:01:45,100 --> 01:01:47,100 1456 01:01:47,100 --> 01:01:50,816 En aquest cas, igual que dir que la nostra valor més petit és aquí. 1457 01:01:50,816 --> 01:01:51,940 Aquest és el nostre valor més petit. 1458 01:01:51,940 --> 01:01:57,690 >> Només volem canviar des d'aquí, que és la qual cosa la funció d'intercanvi a la part inferior 1459 01:01:57,690 --> 01:02:01,270 vam fer, que només escrivim a dalt junts fa un parell de minuts. 1460 01:02:01,270 --> 01:02:02,775 Per tant, hauria de semblar familiar. 1461 01:02:02,775 --> 01:02:04,320 1462 01:02:04,320 --> 01:02:08,030 I llavors s'acaba de repetir fins que arriba a través de tot el camí 1463 01:02:08,030 --> 01:02:13,100 fins al final, el que significa que vostè tenir zero elements que no classificades 1464 01:02:13,100 --> 01:02:14,800 i tota la resta s'ha ordenat. 1465 01:02:14,800 --> 01:02:16,216 1466 01:02:16,216 --> 01:02:16,715 Té sentit? 1467 01:02:16,715 --> 01:02:18,010 1468 01:02:18,010 --> 01:02:19,280 Una mica més concreta? 1469 01:02:19,280 --> 01:02:19,990 El codi ajuda? 1470 01:02:19,990 --> 01:02:21,720 1471 01:02:21,720 --> 01:02:26,410 >> ESTUDIANT: Per una mida, mai realment definir o canviar-lo, 1472 01:02:26,410 --> 01:02:27,340 ¿Com sap? 1473 01:02:27,340 --> 01:02:32,380 >> INSTRUCTOR: Així que una cosa és compte aquí és la mida int. 1474 01:02:32,380 --> 01:02:35,680 Així que estem dient en aquest tipus sort-- és una funció en aquest cas-- és 1475 01:02:35,680 --> 01:02:40,770 selecció espècie, es va aprovar amb la funció. 1476 01:02:40,770 --> 01:02:43,460 Així que si no es va aprovar en, vostè faria alguna cosa 1477 01:02:43,460 --> 01:02:47,840 com amb la longitud de la matriu o vostè recórrer 1478 01:02:47,840 --> 01:02:49,390 per trobar la longitud. 1479 01:02:49,390 --> 01:02:52,680 Però com que es va aprovar en, només podem usar-lo. 1480 01:02:52,680 --> 01:02:55,720 Vostè acaba d'assumir que l'usuari li va donar una grandària vàlid que 1481 01:02:55,720 --> 01:02:57,698 en realitat representa una mida de la matriu. 1482 01:02:57,698 --> 01:02:59,461 1483 01:02:59,461 --> 01:02:59,960 Fresc? 1484 01:02:59,960 --> 01:03:01,610 1485 01:03:01,610 --> 01:03:05,870 >> Si vostès tenen algun problema amb aquests o desitja més pràctica de codificació tipus 1486 01:03:05,870 --> 01:03:08,050 pel seu compte, vostè ha de anar a study.cs50. 1487 01:03:08,050 --> 01:03:11,560 1488 01:03:11,560 --> 01:03:12,670 És una eina. 1489 01:03:12,670 --> 01:03:15,040 Tenen un corrector que en realitat es pot escriure. 1490 01:03:15,040 --> 01:03:16,180 Ho fan pseudocodi. 1491 01:03:16,180 --> 01:03:19,310 Tenen més vídeos i diapositives incloent-hi els que utilitzo aquí. 1492 01:03:19,310 --> 01:03:23,150 Així que si vostè encara està sentint un mica borrós, tracti d'això. 1493 01:03:23,150 --> 01:03:25,670 Com sempre, venir a parlar amb mi, també. 1494 01:03:25,670 --> 01:03:26,320 Pregunta? 1495 01:03:26,320 --> 01:03:28,611 >> ESTUDIANT: ¿Està dient que el grandària es defineix anteriorment? 1496 01:03:28,611 --> 01:03:29,234 1497 01:03:29,234 --> 01:03:29,900 INSTRUCTOR: Sí. 1498 01:03:29,900 --> 01:03:35,570 La mida es defineix prèviament cap amunt aquí a la declaració de la funció. 1499 01:03:35,570 --> 01:03:39,060 Així que vostè assumeix que ha estat aprovada en per l'usuari, i pel bé de la simplicitat, 1500 01:03:39,060 --> 01:03:41,896 anem a suposar que el usuari ens va donar la talla correcta. 1501 01:03:41,896 --> 01:03:43,240 Refredar. 1502 01:03:43,240 --> 01:03:44,390 Així que aquesta és la selecció de classificació. 1503 01:03:44,390 --> 01:03:45,590 1504 01:03:45,590 --> 01:03:47,640 Nois, saben que estem aprenent molt avui. 1505 01:03:47,640 --> 01:03:49,710 És una densa dades per a la secció. 1506 01:03:49,710 --> 01:03:51,880 1507 01:03:51,880 --> 01:03:57,340 Així que amb això, anem per anar a l'ordenació per inserció. 1508 01:03:57,340 --> 01:04:01,550 1509 01:04:01,550 --> 01:04:02,510 >> Okay. 1510 01:04:02,510 --> 01:04:06,100 Així que abans que nosaltres hem de fer la nostra anàlisi de temps d'execució aquí. 1511 01:04:06,100 --> 01:04:10,190 Així, en el millor dels casos, concedit des que et vaig mostrar 1512 01:04:10,190 --> 01:04:11,960 la taula que ja classe del que va delatar. 1513 01:04:11,960 --> 01:04:15,430 Però millor temps d'execució cas, ¿què pensem? 1514 01:04:15,430 --> 01:04:17,310 1515 01:04:17,310 --> 01:04:18,130 Tot ordenades. 1516 01:04:18,130 --> 01:04:21,040 1517 01:04:21,040 --> 01:04:22,070 N al quadrat. 1518 01:04:22,070 --> 01:04:24,780 Algú té una explicació per què et sembla? 1519 01:04:24,780 --> 01:04:29,060 1520 01:04:29,060 --> 01:04:30,519 >> ESTUDIANT: Vostè està comparant through-- 1521 01:04:30,519 --> 01:04:31,268 INSTRUCTOR: Dret. 1522 01:04:31,268 --> 01:04:32,540 Vostè està comparant a través. 1523 01:04:32,540 --> 01:04:35,630 A cada iteració, encara que estem decrementar aquest per un, 1524 01:04:35,630 --> 01:04:38,950 vostè encara està buscant a través de tot per trobar el més petit. 1525 01:04:38,950 --> 01:04:42,390 Així que fins i tot si el seu valor més petit és aquí al començament, 1526 01:04:42,390 --> 01:04:44,710 vostè encara està comparant- contra tota la resta 1527 01:04:44,710 --> 01:04:46,550 per assegurar-se que és la cosa més petita. 1528 01:04:46,550 --> 01:04:49,820 Així que va a acabar corrent a través de aproximadament n vegades al quadrat. 1529 01:04:49,820 --> 01:04:51,090 1530 01:04:51,090 --> 01:04:51,590 Bé. 1531 01:04:51,590 --> 01:04:52,785 I quin és el pitjor dels casos? 1532 01:04:52,785 --> 01:04:54,350 1533 01:04:54,350 --> 01:04:57,980 També n al quadrat perquè vas a estar fent això mateix procediment. 1534 01:04:57,980 --> 01:05:01,670 Així, en aquest cas, la selecció tipus té alguna cosa 1535 01:05:01,670 --> 01:05:04,010 que també anomenem el temps d'execució esperat. 1536 01:05:04,010 --> 01:05:07,400 Així que en els altres, només sabem els límits superior i inferior. 1537 01:05:07,400 --> 01:05:11,180 Depenent de què tan boig nostre llista és o com classificar el que sigui, 1538 01:05:11,180 --> 01:05:15,350 que varien entre n o n al quadrat. 1539 01:05:15,350 --> 01:05:16,550 No sabem. 1540 01:05:16,550 --> 01:05:22,820 >> Però com que la selecció té el mateix tipus pitjor i millor dels casos, que ens diu que 1541 01:05:22,820 --> 01:05:25,880 no importa quin tipus d'entrada que té, ja sigui completament 1542 01:05:25,880 --> 01:05:29,130 ordenats o completament revertir ordenats, és 1543 01:05:29,130 --> 01:05:30,740 va a prendre la mateixa quantitat de temps. 1544 01:05:30,740 --> 01:05:33,760 Així que en aquest cas, si recordar de la nostra taula, 1545 01:05:33,760 --> 01:05:38,610 que en realitat tenia un valor que aquestes dues classes no tenen, 1546 01:05:38,610 --> 01:05:40,390 que és el temps d'execució esperat. 1547 01:05:40,390 --> 01:05:43,350 Així que sabem que cada vegada que correm selecció espècie, 1548 01:05:43,350 --> 01:05:45,380 està garantit que executar una n al quadrat del temps. 1549 01:05:45,380 --> 01:05:46,630 No hi ha variabilitat allà. 1550 01:05:46,630 --> 01:05:47,630 Només espera. 1551 01:05:47,630 --> 01:05:48,820 1552 01:05:48,820 --> 01:05:52,140 I, de nou, si vols aprendre més, prendre CS 124 a la primavera. 1553 01:05:52,140 --> 01:05:55,370 1554 01:05:55,370 --> 01:05:56,712 Bé. 1555 01:05:56,712 --> 01:05:57,545 Hem vist aquesta. 1556 01:05:57,545 --> 01:05:58,530 1557 01:05:58,530 --> 01:05:59,030 Refredar. 1558 01:05:59,030 --> 01:06:00,930 Així que tipus d'inserció. 1559 01:06:00,930 --> 01:06:03,330 I probablement vaig per cremar a través d'aquest. 1560 01:06:03,330 --> 01:06:05,440 No vaig a tenir vostès codificar. 1561 01:06:05,440 --> 01:06:06,580 Tindrem caminem a través d'ell. 1562 01:06:06,580 --> 01:06:10,500 Així que l'ordenació per inserció és una espècie de tipus similar a la selecció 1563 01:06:10,500 --> 01:06:14,460 en què tenim tant una sense classificar i ordenats part de la matriu. 1564 01:06:14,460 --> 01:06:20,260 >> Però el que és diferent és que a mesura que avancem a través d'un a un, 1565 01:06:20,260 --> 01:06:24,210 que acabem de prendre qualsevol nombre està al costat del nostre sense classificar, 1566 01:06:24,210 --> 01:06:28,507 i classificar-lo correctament en la nostra matriu ordenada. 1567 01:06:28,507 --> 01:06:30,090 Es va a fer més sentit amb un exemple. 1568 01:06:30,090 --> 01:06:31,140 1569 01:06:31,140 --> 01:06:35,430 Així que tot comença com sense classificar, Igual que amb la selecció de classificació. 1570 01:06:35,430 --> 01:06:38,740 I anem a resoldre això en ordre ascendent com ho hem estat. 1571 01:06:38,740 --> 01:06:40,360 1572 01:06:40,360 --> 01:06:43,340 Així que en el nostre primer passi prenem el primer valor 1573 01:06:43,340 --> 01:06:46,700 i diem, OK, vostè és ara en una llista pel seu compte. 1574 01:06:46,700 --> 01:06:49,150 >> Com que vostè està en una llista per si mateix, que està ordenada. 1575 01:06:49,150 --> 01:06:52,460 Felicitats per ser el primer element d'aquesta matriu. 1576 01:06:52,460 --> 01:06:54,800 Vostè ja està la va ordenar tot pel seu compte. 1577 01:06:54,800 --> 01:06:58,900 Així que ara tenim un classificat i un arsenal sense classificar. 1578 01:06:58,900 --> 01:07:01,760 Així que ara tenim la primera. 1579 01:07:01,760 --> 01:07:05,600 Què passa entre aquí i aquí és que nosaltres diem, 1580 01:07:05,600 --> 01:07:08,890 Bé, anem a mirar el primer valor de la nostra gamma sense classificar 1581 01:07:08,890 --> 01:07:13,270 i anem a l'entrada al seu lloc correcte en l'arranjament ordenat. 1582 01:07:13,270 --> 01:07:21,460 >> Així que el que fem és que prenem 5 i diem, OK, 5 és més gran que 3, 1583 01:07:21,460 --> 01:07:24,630 així que ens inserim dret a la dreta d'això. 1584 01:07:24,630 --> 01:07:25,130 Som bons. 1585 01:07:25,130 --> 01:07:26,200 1586 01:07:26,200 --> 01:07:28,420 Així que a continuació passem al nostre següent. 1587 01:07:28,420 --> 01:07:29,720 I prenem febrer. 1588 01:07:29,720 --> 01:07:34,330 Nosaltres diem, OK, 2 és menys de 3, pel que sabem que 1589 01:07:34,330 --> 01:07:36,220 ha d'estar en el davant de la nostra llista ara. 1590 01:07:36,220 --> 01:07:41,800 Així que el que fem és empenyem 3 i 5 cap avall i ens movem 2 a la primera ranura. 1591 01:07:41,800 --> 01:07:42,990 1592 01:07:42,990 --> 01:07:45,870 Així que estem a només inserir-lo en el lloc correcte que hauria de ser. 1593 01:07:45,870 --> 01:07:46,960 1594 01:07:46,960 --> 01:07:49,470 >> Llavors ens fixem en la nostra següent, i diem juny. 1595 01:07:49,470 --> 01:07:53,620 Acceptar, 6 és més gran que tot en la nostra matriu ordenada, 1596 01:07:53,620 --> 01:07:56,000 així que simplement etiquetar fins al final. 1597 01:07:56,000 --> 01:07:56,960 I després ens fixem en 4. 1598 01:07:56,960 --> 01:07:58,130 1599 01:07:58,130 --> 01:08:03,020 4 és inferior a 6, és menys del 5 però és més gran que 3. 1600 01:08:03,020 --> 01:08:06,270 Així que només ens enviem la dreta el medi entre 3 i 5. 1601 01:08:06,270 --> 01:08:07,380 1602 01:08:07,380 --> 01:08:10,530 Així que per fer que una mica poc més concret, 1603 01:08:10,530 --> 01:08:12,280 aquí és una espècie de la idea del que va passar. 1604 01:08:12,280 --> 01:08:16,430 Així que per a cada element sense classificar, que determinar on a la part ordenada 1605 01:08:16,430 --> 01:08:17,090 és. 1606 01:08:17,090 --> 01:08:20,680 >> Així que tenint en compte la classificats i sense classificar, 1607 01:08:20,680 --> 01:08:26,080 hem de recórrer a través de la figura i on encaixa en la matriu ordenada. 1608 01:08:26,080 --> 01:08:31,460 I ho inserim desplaçant la elements a la dreta cap avall. 1609 01:08:31,460 --> 01:08:34,910 I llavors ens mantenim iteració a través fins que 1610 01:08:34,910 --> 01:08:39,270 tenir una llista totalment ordenada on no seleccionats és ara zero 1611 01:08:39,270 --> 01:08:41,720 i ordenada ocupa el totalitat de la nostra llista. 1612 01:08:41,720 --> 01:08:43,146 1613 01:08:43,146 --> 01:08:45,854 Així que, de nou, per fer les coses encara més concret, tenim pseudocodi. 1614 01:08:45,854 --> 01:08:47,979 1615 01:08:47,979 --> 01:08:52,410 >> Així que, bàsicament, per a i és igual a 0 a n menys 1, 1616 01:08:52,410 --> 01:08:54,790 això és només la durada de la nostra matriu. 1617 01:08:54,790 --> 01:09:00,979 Hem algun element que és igual a la primera matriu o els primers índexs. 1618 01:09:00,979 --> 01:09:03,200 Establim j igual a això. 1619 01:09:03,200 --> 01:09:04,649 1620 01:09:04,649 --> 01:09:09,210 Així, mentre que j és més gran que zero i la matriu, j almenys 1 1621 01:09:09,210 --> 01:09:11,660 és més gran que la element, de manera que tot el que està fent 1622 01:09:11,660 --> 01:09:17,479 és assegurar-se que el joc realment representa 1623 01:09:17,479 --> 01:09:20,010 la part no seleccionada de la matriu. 1624 01:09:20,010 --> 01:09:30,745 >> Així, mentre que encara hi ha coses per ordenar i j menys un ho és-- 1625 01:09:30,745 --> 01:09:31,840 és l'element ella? 1626 01:09:31,840 --> 01:09:34,760 J mai es va definir aquí. 1627 01:09:34,760 --> 01:09:35,677 És una mica molest. 1628 01:09:35,677 --> 01:09:36,176 Okay. 1629 01:09:36,176 --> 01:09:36,689 De tota manera. 1630 01:09:36,689 --> 01:09:39,899 Així j menys 1, vostè està comprovant l'element abans d'ella. 1631 01:09:39,899 --> 01:09:46,460 Estàs dient, OK, és l'element abans allà on anem am-- 1632 01:09:46,460 --> 01:09:47,540 realment treure això cap a fora. 1633 01:09:47,540 --> 01:09:52,580 1634 01:09:52,580 --> 01:09:56,830 Així que diguem que aquest és com en el nostre segon passi. 1635 01:09:56,830 --> 01:09:59,525 Així que serà igual a 1, el que és aquí. 1636 01:09:59,525 --> 01:10:03,310 1637 01:10:03,310 --> 01:10:06,025 >> Així que serà igual a 1. 1638 01:10:06,025 --> 01:10:09,510 1639 01:10:09,510 --> 01:10:13,702 Això seria 2, 4, 5, 6, 7. 1640 01:10:13,702 --> 01:10:16,060 1641 01:10:16,060 --> 01:10:16,750 Bé. 1642 01:10:16,750 --> 01:10:20,945 Així que el nostre element, en aquest cas serà igual a 4. 1643 01:10:20,945 --> 01:10:22,110 1644 01:10:22,110 --> 01:10:24,946 I tenim alguns j que és serà igual a 1. 1645 01:10:24,946 --> 01:10:29,770 1646 01:10:29,770 --> 01:10:30,971 Oh, j es decrement. 1647 01:10:30,971 --> 01:10:31,720 Això és el que és. 1648 01:10:31,720 --> 01:10:35,680 Així que j és igual a i, pel que és això dit és que a mesura que avancem, 1649 01:10:35,680 --> 01:10:37,530 només estem assegurant que no som més 1650 01:10:37,530 --> 01:10:43,520 la indexació d'aquesta manera quan estem tractant per a inserir coses a la nostra llista ordenada. 1651 01:10:43,520 --> 01:10:49,850 >> Així que quan j és igual a 1 en aquest cas i matriu j menys un-- tan gamma j almenys 1 1652 01:10:49,850 --> 01:10:54,610 és 2 en aquest cas-- si això és més gran que l'element, 1653 01:10:54,610 --> 01:10:57,700 llavors tot això està fent està canviant les coses. 1654 01:10:57,700 --> 01:11:04,790 Així doncs, en aquest cas, matriu j menys un seria matriu zero, que és 2. 1655 01:11:04,790 --> 01:11:08,430 2 no és major que 4, pel que aquest no s'executa. 1656 01:11:08,430 --> 01:11:11,460 Així que el canvi no es mou cap avall. 1657 01:11:11,460 --> 01:11:18,790 El que això fa aquí és només moure la matriu ordenada cap avall. 1658 01:11:18,790 --> 01:11:22,340 1659 01:11:22,340 --> 01:11:26,400 En aquest cas, en realitat, ens podria fer-- farem aquest març. 1660 01:11:26,400 --> 01:11:28,080 1661 01:11:28,080 --> 01:11:31,970 Així que si anem a caminar a través de aquest exemple, ara estem aquí. 1662 01:11:31,970 --> 01:11:32,740 Això es va solucionar. 1663 01:11:32,740 --> 01:11:34,492 1664 01:11:34,492 --> 01:11:35,200 Això és sense classificar. 1665 01:11:35,200 --> 01:11:39,090 1666 01:11:39,090 --> 01:11:39,860 Fresc? 1667 01:11:39,860 --> 01:11:46,620 Així que i és igual a 2, per la el nostre element és igual a 3. 1668 01:11:46,620 --> 01:11:47,920 1669 01:11:47,920 --> 01:11:52,270 I el nostre j és igual a 2. 1670 01:11:52,270 --> 01:12:00,620 Així que mirem a través i ens a dir, OK, és matriu j menys un 1671 01:12:00,620 --> 01:12:03,470 més gran que l'element que estem veient? 1672 01:12:03,470 --> 01:12:05,540 I la resposta és sí, oi? 1673 01:12:05,540 --> 01:12:11,275 4 és més gran que 3 i j és 2, de manera que aquest codi s'executa. 1674 01:12:11,275 --> 01:12:12,510 1675 01:12:12,510 --> 01:12:18,550 >> Així que ara el que fem un arranjament en 2, pel que aquí, els swap. 1676 01:12:18,550 --> 01:12:25,620 Així que ens limitem a dir, OK, matriu a les 2 de ara serà de 3. 1677 01:12:25,620 --> 01:12:28,130 1678 01:12:28,130 --> 01:12:32,340 I j serà igual j menys 1, que és 1. 1679 01:12:32,340 --> 01:12:34,590 1680 01:12:34,590 --> 01:12:37,200 Això és horrible, però vostès nois es posen la idea. 1681 01:12:37,200 --> 01:12:38,360 J és ara igual a 1. 1682 01:12:38,360 --> 01:12:44,360 I gamma j és només serà igual al nostre element, que era 4. 1683 01:12:44,360 --> 01:12:45,950 1684 01:12:45,950 --> 01:12:48,570 Vaig esborrar cosa que no hauria tenir o alguna cosa miswrote, 1685 01:12:48,570 --> 01:12:49,910 però vostès nois es posen la idea. 1686 01:12:49,910 --> 01:12:50,640 >> Es mou en el núm. 1687 01:12:50,640 --> 01:12:51,920 1688 01:12:51,920 --> 01:12:57,960 I després, si això fos, ho faria bucle de nou i seria dir, OK, j és 1 ara. 1689 01:12:57,960 --> 01:13:00,665 I gamma j almenys 1 és ara 2. 1690 01:13:00,665 --> 01:13:01,750 1691 01:13:01,750 --> 01:13:03,760 És 2 menys que el nostre element? 1692 01:13:03,760 --> 01:13:04,540 No? 1693 01:13:04,540 --> 01:13:07,970 Això vol dir que hem inserit aquest element 1694 01:13:07,970 --> 01:13:10,110 en el lloc correcte en la nostra matriu ordenada. 1695 01:13:10,110 --> 01:13:14,400 Llavors podem prendre això i diguem, Acceptar, la nostra matriu ordenada és aquí. 1696 01:13:14,400 --> 01:13:19,940 I seria prendre aquest número 6 i ser com, OK, és de 6 a menys d'aquest número? 1697 01:13:19,940 --> 01:13:20,480 No? 1698 01:13:20,480 --> 01:13:21,080 Refredar. 1699 01:13:21,080 --> 01:13:22,680 Estem bé. 1700 01:13:22,680 --> 01:13:23,530 >> Fes-ho de nou. 1701 01:13:23,530 --> 01:13:24,740 Diem juliol. 1702 01:13:24,740 --> 01:13:29,010 És 7 menys que la fi de la nostra matriu ordenada? 1703 01:13:29,010 --> 01:13:29,520 No 1704 01:13:29,520 --> 01:13:30,430 Així que estem bé. 1705 01:13:30,430 --> 01:13:32,760 Així que aquest seria solucionat. 1706 01:13:32,760 --> 01:13:38,610 Bàsicament tot el que això fa s'està dient pren 1707 01:13:38,610 --> 01:13:42,060 el primer element de la matriu sense classificar, 1708 01:13:42,060 --> 01:13:46,010 esbrinar a on va en la seva matriu ordenada. 1709 01:13:46,010 --> 01:13:48,780 I això només es fa càrrec dels swaps de fer això. 1710 01:13:48,780 --> 01:13:51,300 Bàsicament, s'està simplement intercanviant fins que estigui en el lloc correcte. 1711 01:13:51,300 --> 01:13:53,600 1712 01:13:53,600 --> 01:13:56,990 La imatge visual és que ets movent tot per fer això. 1713 01:13:56,990 --> 01:13:59,420 >> Així que és com la meitat de la bombolla espècie-esque. 1714 01:13:59,420 --> 01:14:02,280 1715 01:14:02,280 --> 01:14:03,420 Fes un cop d'ull a estudi 50. 1716 01:14:03,420 --> 01:14:06,000 Recomano provar per codificar això pel seu compte. 1717 01:14:06,000 --> 01:14:07,220 1718 01:14:07,220 --> 01:14:12,450 Si vostè té algun problema o desitja veure codi d'exemple per a una ordenació per inserció, 1719 01:14:12,450 --> 01:14:13,750 per favor hágamelo saber. 1720 01:14:13,750 --> 01:14:14,500 Estic sempre al voltant. 1721 01:14:14,500 --> 01:14:16,600 1722 01:14:16,600 --> 01:14:20,200 Així que el pitjor temps d'execució de cas i el millor temps d'execució cas. 1723 01:14:20,200 --> 01:14:30,700 Al noi va veure des de la taula que ja que va mostrar, és tant n al quadrat i n. 1724 01:14:30,700 --> 01:14:35,590 >> Així que tipus d'anar fora del que parlem sobre les classes amb els nostres anteriors, pitjor 1725 01:14:35,590 --> 01:14:38,760 cas de temps d'execució és que si que està completament sense classificar, 1726 01:14:38,760 --> 01:14:42,530 hem de comparar totes aquestes vegades n. 1727 01:14:42,530 --> 01:14:47,020 Fem un munt de comparacions perquè si és en ordre invers, 1728 01:14:47,020 --> 01:14:50,360 anem a dir, OK, aquest és el mateix, això és bo, 1729 01:14:50,360 --> 01:14:54,650 i aquest haurà de ser comparat contra el primer a ser traslladat de nou. 1730 01:14:54,650 --> 01:14:56,710 I a mesura que ens feia l'extrem de la cua, tenim 1731 01:14:56,710 --> 01:14:59,440 per comparar, comparar i comparar contra tot. 1732 01:14:59,440 --> 01:15:03,030 >> Per tant, acaba sent aproximadament n al quadrat. 1733 01:15:03,030 --> 01:15:09,510 Si és correcta, llavors dius, OK, 2, ja està bo. 1734 01:15:09,510 --> 01:15:11,330 3, vostè està davant d'un 2. 1735 01:15:11,330 --> 01:15:12,310 Aquestes bé. 1736 01:15:12,310 --> 01:15:14,150 4, que acaba de comparar a la cua. 1737 01:15:14,150 --> 01:15:14,990 Aquestes bé. 1738 01:15:14,990 --> 01:15:17,140 6, compara la cua, que estàs bé. 1739 01:15:17,140 --> 01:15:20,870 Així, per cada punt si ja està ordenats, vostè està fent una comparació. 1740 01:15:20,870 --> 01:15:22,320 Així que és només n. 1741 01:15:22,320 --> 01:15:26,840 I perquè tenim un millor temps d'execució de cas de n i un pitjor cas de temps d'execució de n 1742 01:15:26,840 --> 01:15:28,680 quadrat, no tenim temps d'execució esperat. 1743 01:15:28,680 --> 01:15:31,290 1744 01:15:31,290 --> 01:15:34,020 >> Només depèn de la el caos de la nostra llista allà. 1745 01:15:34,020 --> 01:15:35,860 1746 01:15:35,860 --> 01:15:39,530 I de nou, un altre gràfic i l'altra taula. 1747 01:15:39,530 --> 01:15:41,170 Així diferències entre classes. 1748 01:15:41,170 --> 01:15:44,180 Jo només vaig a brisa a través, jo sentir que hem parlat extensament 1749 01:15:44,180 --> 01:15:46,570 sobre la forma en què tota la classe de variar i unir. 1750 01:15:46,570 --> 01:15:50,564 Així Ordenament per barreja és l'últim Jo et avorriré amb els nois. 1751 01:15:50,564 --> 01:15:52,105 Tenim un quadre bonic colorit. 1752 01:15:52,105 --> 01:15:53,860 1753 01:15:53,860 --> 01:15:56,040 Així fusionar espècie és un algoritme recursiu. 1754 01:15:56,040 --> 01:15:59,910 Així que sap vostè el que nois una funció recursiva és? 1755 01:15:59,910 --> 01:16:01,550 1756 01:16:01,550 --> 01:16:03,320 >> Algú vol dir? 1757 01:16:03,320 --> 01:16:04,739 Vols provar? 1758 01:16:04,739 --> 01:16:07,280 Així que una funció recursiva és només una funció que diu a si mateix. 1759 01:16:07,280 --> 01:16:08,570 1760 01:16:08,570 --> 01:16:11,590 Així que si vostès estan familiaritzats amb la seqüència de Fibonacci, 1761 01:16:11,590 --> 01:16:15,670 això és perquè considera recursiva vostè pren els dos anteriors 1762 01:16:15,670 --> 01:16:17,530 i sumar- per obtenir el seu següent. 1763 01:16:17,530 --> 01:16:21,440 Així recursiva, sempre penso de la recursivitat com com una espiral 1764 01:16:21,440 --> 01:16:24,430 pel que vostè és com una espiral cap avall en ell. 1765 01:16:24,430 --> 01:16:27,150 Però és només una funció que diu a si mateix. 1766 01:16:27,150 --> 01:16:32,660 >> I, en realitat, molt ràpid em vostè pot mostrar el que sembla. 1767 01:16:32,660 --> 01:16:34,260 1768 01:16:34,260 --> 01:16:41,840 Així recursiva aquí, si ens fixem, aquest és la manera recursiva per resumir a través d'una matriu. 1769 01:16:41,840 --> 01:16:45,900 1770 01:16:45,900 --> 01:16:47,880 Així que tot el que fem és tenim la funció suma 1771 01:16:47,880 --> 01:16:52,210 suma que pren una mida i una matriu. 1772 01:16:52,210 --> 01:16:55,210 I si et fixes, la mida decrements en un cada vegada. 1773 01:16:55,210 --> 01:17:00,365 I tot el que fa és si x és igual a zero-- així que si la mida de la matriu 1774 01:17:00,365 --> 01:17:02,710 és igual a zero-- retorna zero. 1775 01:17:02,710 --> 01:17:10,440 >> En cas contrari, resumeix aquest últim element de la matriu, 1776 01:17:10,440 --> 01:17:14,790 i després pren una suma de la resta de la matriu. 1777 01:17:14,790 --> 01:17:17,555 Així que és just i el descomponen en problemes més petits i més petits. 1778 01:17:17,555 --> 01:17:18,990 1779 01:17:18,990 --> 01:17:21,890 Llarga història curta, la recursivitat, funció que diu a si mateix. 1780 01:17:21,890 --> 01:17:25,740 Si això és tot el que tens fora d'això, això és el que és una funció recursiva. 1781 01:17:25,740 --> 01:17:29,870 Si vostè pren 51, obtindrà molt, molt còmode amb la recursivitat. 1782 01:17:29,870 --> 01:17:31,110 1783 01:17:31,110 --> 01:17:32,370 És realment genial. 1784 01:17:32,370 --> 01:17:34,660 Tenia sentit de la mateixa manera que 03 a.m. una nit fora. 1785 01:17:34,660 --> 01:17:37,900 I jo estava com, per què he mai usar-lo? 1786 01:17:37,900 --> 01:17:39,170 1787 01:17:39,170 --> 01:17:42,430 >> Així que per a la fusió espècie, bàsicament, el que va a fer és que és 1788 01:17:42,430 --> 01:17:45,620 trencarà cap avall i trencar cap avall fins que els seus elements només individuals. 1789 01:17:45,620 --> 01:17:47,570 Els elements individuals són fàcils de classificar. 1790 01:17:47,570 --> 01:17:48,070 Veiem que. 1791 01:17:48,070 --> 01:17:50,760 Si vostè té un dels elements, és ja considerada ordenada. 1792 01:17:50,760 --> 01:17:53,800 Així que en una entrada de n elements, si n és menor que 2, 1793 01:17:53,800 --> 01:17:58,120 simplement tornar perquè això significa és 0 o 1 com hem vist. 1794 01:17:58,120 --> 01:18:00,050 Els que es consideren elements ordenats. 1795 01:18:00,050 --> 01:18:02,170 >> En cas contrari, trencar per la meitat. 1796 01:18:02,170 --> 01:18:06,336 Ordeni la primera meitat, ordenar la segona la meitat, i després unir-los. 1797 01:18:06,336 --> 01:18:07,460 Per què es diu fusió espècie. 1798 01:18:07,460 --> 01:18:08,700 1799 01:18:08,700 --> 01:18:12,155 Així que tenim aquí resoldrem aquests. 1800 01:18:12,155 --> 01:18:13,410 1801 01:18:13,410 --> 01:18:17,210 Així que seguim tenint-los fins que la mida de la matriu és 1. 1802 01:18:17,210 --> 01:18:20,790 Per això, quan és 1, tot just tornem perquè aquest és un arranjament ordenat, 1803 01:18:20,790 --> 01:18:23,940 i això és un arranjament ordenat, i això és una matriu ordenada, tots estem ordenats. 1804 01:18:23,940 --> 01:18:25,390 1805 01:18:25,390 --> 01:18:29,420 Així que el que fem és que iniciar la fusió d'ells junts. 1806 01:18:29,420 --> 01:18:31,820 >> Així que la forma en què pot pensar en la fusió és 1807 01:18:31,820 --> 01:18:36,240 que acaba d'extreure la més petita nombre de cadascuna de les matrius de sub 1808 01:18:36,240 --> 01:18:38,330 i només afegir a la matriu sorgit. 1809 01:18:38,330 --> 01:18:44,290 Així que si vostè mira aquí, quan tenim aquests conjunts que tenen 4, 6, i 1. 1810 01:18:44,290 --> 01:18:47,280 Quan volem fusionar aquests, ens fixem en aquests dos primers 1811 01:18:47,280 --> 01:18:50,730 i diem, OK, 1 és més petita, que va a la part davantera. 1812 01:18:50,730 --> 01:18:54,330 4 i 6, que no hi ha res per comparar que, simplement Etiquétalo fins al final. 1813 01:18:54,330 --> 01:18:58,020 >> Quan combinem aquests dos, que acabem de prendre el més petit d'aquests dos, 1814 01:18:58,020 --> 01:18:59,310 pel que és 1. 1815 01:18:59,310 --> 01:19:01,690 I ara tenim la més petit dels dos, així que 2. 1816 01:19:01,690 --> 01:19:03,330 Més petit d'aquests dos, 3. 1817 01:19:03,330 --> 01:19:06,260 Més petit d'aquests dos, 4, 5, 6. 1818 01:19:06,260 --> 01:19:08,630 Així que vostè està tirant d'elles. 1819 01:19:08,630 --> 01:19:11,210 I perquè no tenen estat ordenats prèviament, 1820 01:19:11,210 --> 01:19:14,300 només n'hi ha un comparació cada vegada que hi ha. 1821 01:19:14,300 --> 01:19:19,610 Així que més codi aquí, la representació justa. 1822 01:19:19,610 --> 01:19:24,410 Així s'inicia en el centre i a ordenar a l'esquerra i la dreta 1823 01:19:24,410 --> 01:19:26,180 i llavors simplement fusionar aquests. 1824 01:19:26,180 --> 01:19:30,080 >> I no tenim codi per fusionar aquí. 1825 01:19:30,080 --> 01:19:34,110 Però, de nou, si vostè va a estudiar 50, que va a ser-hi. 1826 01:19:34,110 --> 01:19:36,860 En cas contrari, venir a parlar amb mi si vostè encara està confós. 1827 01:19:36,860 --> 01:19:42,340 Així que el bo aquí és que millor dels casos, pitjor dels casos, i el temps d'execució esperat 1828 01:19:42,340 --> 01:19:46,250 estan tots en log n, que és molt millor que la que hem 1829 01:19:46,250 --> 01:19:48,000 vist per la resta de les nostres classes. 1830 01:19:48,000 --> 01:19:51,840 Hem vist n al quadrat i el que en realitat 1831 01:19:51,840 --> 01:19:54,380 arribar aquí es n log n, la qual cosa és genial. 1832 01:19:54,380 --> 01:19:55,830 >> Mira el molt millor que és. 1833 01:19:55,830 --> 01:19:56,780 Tal agradable corba. 1834 01:19:56,780 --> 01:19:58,130 1835 01:19:58,130 --> 01:20:00,120 Així que molt més eficient. 1836 01:20:00,120 --> 01:20:03,510 Si alguna vegada es pugui, utilitzar la combinació de classe. 1837 01:20:03,510 --> 01:20:04,810 Això li estalviarà temps. 1838 01:20:04,810 --> 01:20:07,670 D'altra banda, com hem dit, si estàs a baix en aquesta zona inferior, 1839 01:20:07,670 --> 01:20:09,480 no ha de gran part de la diferència. 1840 01:20:09,480 --> 01:20:11,360 Et lleves a milers i milers d'entrades, 1841 01:20:11,360 --> 01:20:13,318 vostè definitivament vol un algoritme més eficient. 1842 01:20:13,318 --> 01:20:14,730 1843 01:20:14,730 --> 01:20:19,400 I, de nou, la nostra bella taula de tots tipus que vostès van aprendre avui. 1844 01:20:19,400 --> 01:20:21,157 >> Així que sé que ha estat un dia dens. 1845 01:20:21,157 --> 01:20:23,490 Això no és necessàriament va per ajudar amb el seu conjunt de processadors. 1846 01:20:23,490 --> 01:20:28,250 Però jo només vull fer un descàrrec de responsabilitat aquesta secció no es tracta només de conjunts de processadors. 1847 01:20:28,250 --> 01:20:31,240 Tot aquest material és just joc per als seus exàmens parcials. 1848 01:20:31,240 --> 01:20:35,430 I també si ho fa seguir endavant amb CS, aquests són fonaments molt importants 1849 01:20:35,430 --> 01:20:37,870 que vostè necessita saber. 1850 01:20:37,870 --> 01:20:41,700 Així que alguns dies seran un poc més pset ajuda, 1851 01:20:41,700 --> 01:20:44,600 però algunes setmanes seran contingut molt més real 1852 01:20:44,600 --> 01:20:46,600 que pot no semblar súper útil per a vostè en aquest moment, 1853 01:20:46,600 --> 01:20:51,215 però et prometo si continua el serà molt, molt útil. 1854 01:20:51,215 --> 01:20:52,560 1855 01:20:52,560 --> 01:20:54,250 >> Així que això és tot per secció. 1856 01:20:54,250 --> 01:20:55,250 A baix a l'filferro. 1857 01:20:55,250 --> 01:20:56,570 Ho vaig fer en un minut. 1858 01:20:56,570 --> 01:20:58,262 1859 01:20:58,262 --> 01:20:58,970 Però cal anar. 1860 01:20:58,970 --> 01:21:01,240 I tindré feu donació o dolços. 1861 01:21:01,240 --> 01:21:03,464 És al·lèrgic a qualsevol persona res, per cert? 1862 01:21:03,464 --> 01:21:05,307 1863 01:21:05,307 --> 01:21:05,890 Els ous i la llet. 1864 01:21:05,890 --> 01:21:08,120 Així feu donació són un no? 1865 01:21:08,120 --> 01:21:09,400 1866 01:21:09,400 --> 01:21:10,160 Okay. 1867 01:21:10,160 --> 01:21:10,770 Bé. 1868 01:21:10,770 --> 01:21:12,120 Hi ha xocolata? 1869 01:21:12,120 --> 01:21:12,620 Starburst. 1870 01:21:12,620 --> 01:21:13,837 1871 01:21:13,837 --> 01:21:14,670 Starbursts són bones. 1872 01:21:14,670 --> 01:21:15,170 Okay. 1873 01:21:15,170 --> 01:21:17,045 Tindrem Starburst setmana que llavors. 1874 01:21:17,045 --> 01:21:18,240 Això és el que vaig a aconseguir. 1875 01:21:18,240 --> 01:21:19,690 Vostès tenen una gran setmana. 1876 01:21:19,690 --> 01:21:20,460 Llegeixi la seva especificació. 1877 01:21:20,460 --> 01:21:22,130 >> Deixeu-me saber si vostè té alguna pregunta. 1878 01:21:22,130 --> 01:21:25,300 PSET dos graus han de ser a vostè per dijous. 1879 01:21:25,300 --> 01:21:28,320 Si vostè té alguna pregunta sobre com em vaig qualificar alguna cosa 1880 01:21:28,320 --> 01:21:32,250 o per què jo vaig qualificar alguna cosa la forma en què va fer, si us plau envieu-me un correu electrònic, venir a parlar amb mi. 1881 01:21:32,250 --> 01:21:34,210 Estic una mica aquesta bogeria setmana, però et prometo 1882 01:21:34,210 --> 01:21:36,340 Encara vaig a respondre dins de 24 hores. 1883 01:21:36,340 --> 01:21:38,240 Així que tenir una gran setmana, tothom. 1884 01:21:38,240 --> 01:21:40,090 Bona sort en el seu conjunt de processadors. 1885 01:21:40,090 --> 01:21:41,248