1 00:00:00,000 --> 00:00:00,030 2 00:00:00,030 --> 00:00:00,460 >> DAVID MALAN: Ondo da. 3 00:00:00,460 --> 00:00:01,094 Itzuli gara. 4 00:00:01,094 --> 00:00:04,260 Beraz, programazio on segmentu honetan zer ez genuke gauza nahasketa bat da, pentsatu nuen. 5 00:00:04,260 --> 00:00:06,340 One, egin apur bat zerbaiten eskuak-on, 6 00:00:06,340 --> 00:00:08,690 gehiago ludiko bat erabiliz arren programazio environment-- 7 00:00:08,690 --> 00:00:11,620 bat dela erakutsiz zehazki ideia mota du 8 00:00:11,620 --> 00:00:14,220 dugu buruz hitz egiten, baina apur bat gehiago formalki. 9 00:00:14,220 --> 00:00:18,200 Bi, batzuk begiratu Modu tekniko gehiago 10 00:00:18,200 --> 00:00:21,520 Programatzaile bat zela benetan konpondu miatzen arazoa bezalako arazoak 11 00:00:21,520 --> 00:00:24,530 duten begiratu aurretik dugu eta gainera, funtsean 12 00:00:24,530 --> 00:00:26,020 interesgarri ordenatzeko arazoa. 13 00:00:26,020 --> 00:00:28,840 >> get joan bere gain hartu besterik ez dugu Telefono liburu hori horrela antolatu zen, 14 00:00:28,840 --> 00:00:31,980 baina hori bakarrik da benetan mota bat hainbat modutan arazoren hard 15 00:00:31,980 --> 00:00:32,479 konpondu. 16 00:00:32,479 --> 00:00:34,366 Beraz, hauek erabili ahal izango dugu arazo klase bat 17 00:00:34,366 --> 00:00:36,740 Gauzak ordezkari dagoela den, oro har, konpondu liteke. 18 00:00:36,740 --> 00:00:38,980 Eta gero hitz egingo dugu xehetasun batzuk buruz zer 19 00:00:38,980 --> 00:00:42,360 deitzen dira datuak structures-- lotuta zerrendak bezalako modu fancier 20 00:00:42,360 --> 00:00:46,290 eta hash taulak eta zuhaitz Programatzaile bat litzateke benetan 21 00:00:46,290 --> 00:00:48,890 erabili eta, oro har, erabili arbel zuri bat margotzeko 22 00:00:48,890 --> 00:00:51,840 argazki bat zer zuen inplementatzeko ENVISIONS 23 00:00:51,840 --> 00:00:52,980 software pieza batzuk. 24 00:00:52,980 --> 00:00:55,130 >> Beraz, egin eskuak-on the zati lehen utzi. 25 00:00:55,130 --> 00:01:00,090 Beraz, besterik gabe, zure esku batekin zikin ingurumena izeneko scratch.mit.edu. 26 00:01:00,090 --> 00:01:02,636 Hau tresna bat erabili dugu, hau da gure graduko klasean. 27 00:01:02,636 --> 00:01:04,510 oso diseinatutako Nahiz 12 urte eman ondoren, 28 00:01:04,510 --> 00:01:07,570 erabili dugu sortu du pixka bat nahiko parte 29 00:01:07,570 --> 00:01:10,020 polit bat, fun geroztik ikasteko modu grafikoa 30 00:01:10,020 --> 00:01:12,160 programazioari buruz zerbait apur bat. 31 00:01:12,160 --> 00:01:17,600 Beraz, URL hori buru, non duzu Orri bat ikusi beharko nahiko honetan bezala, 32 00:01:17,600 --> 00:01:23,330 eta aurrera eta sakatu Bat egin Scratch goiko eskuineko 33 00:01:23,330 --> 00:01:28,300 eta erabiltzaile-izena eta bat aukeratu pasahitza eta, azken finean, lortu zaitez 34 00:01:28,300 --> 00:01:29,970 account-- scratch.mit.edu bat. 35 00:01:29,970 --> 00:01:32,165 36 00:01:32,165 --> 00:01:34,665 hau erabili nuen bezala pentsatu nuen Aukera hau lehen erakusteko. 37 00:01:34,665 --> 00:01:39,120 Galdera bat zen atsedenaldian zertaz kodea benetan itxura. 38 00:01:39,120 --> 00:01:41,315 Eta hitz egiten ari ginen C buruz atsedenaldian, 39 00:01:41,315 --> 00:01:45,060 in en bereziki bereziki bat txikiagoa hizkuntza zaharrago bat maila. 40 00:01:45,060 --> 00:01:47,750 Eta egin dut azkar bat Google bilaketa C kodea aurkitu 41 00:01:47,750 --> 00:01:51,574 bilaketa bitarra, algoritmoa for dugun Telefono liburu hori bilatu lehenago erabiltzen da. 42 00:01:51,574 --> 00:01:54,240 Adibide zehatz honetan, noski, ez du telefono-liburu bat bilatu. 43 00:01:54,240 --> 00:01:57,840 sorta oso bat bilatzen du, besterik ez da ordenagailuaren memorian zenbakiak. 44 00:01:57,840 --> 00:02:01,000 Baina nahi izanez gero besterik lortu bisuala zer benetako programazio baten zentzua 45 00:02:01,000 --> 00:02:05,370 hizkuntza itxura, itxura honen antzeko zerbait apur bat. 46 00:02:05,370 --> 00:02:09,759 Beraz, 20-plus da, 30 edo, beraz, kode lerro, 47 00:02:09,759 --> 00:02:12,640 baina hizketaldia dugu ziren break baino gehiago izatea 48 00:02:12,640 --> 00:02:16,000 Nola hau benetan izan zen buruz lortzen zeroen eta morphed 49 00:02:16,000 --> 00:02:19,200 eta ezin duzu besterik leheneratu bada prozesatu eta zeroen eta bai batetik joan 50 00:02:19,200 --> 00:02:20,210 kodea itzuli. 51 00:02:20,210 --> 00:02:22,620 >> Zoritxarrez, prozesua hain da eraldatzaile 52 00:02:22,620 --> 00:02:24,890 dela asko errazago egin baino. 53 00:02:24,890 --> 00:02:29,400 Aurrera joan nintzen eta benetan aktibatuta Programa hori, Backtracking, 54 00:02:29,400 --> 00:02:32,700 zeroen eta bat bidez sartu Programa egikaritzerako konpiladoreak erabiltzen dut 55 00:02:32,700 --> 00:02:34,400 gertatuko hemen eskubidearen nire Mac on. 56 00:02:34,400 --> 00:02:37,850 Eta begiratu duzu pantaila bada Hemen, zehazki bideratua 57 00:02:37,850 --> 00:02:43,520 erditik horiek sei zutabe on bakarra, zeroen eta bakarrik ikusiko duzu. 58 00:02:43,520 --> 00:02:48,290 Eta horiek zero eta zeintzuk dira erabiltzen konposatzen zehazki, irizpide programa hori. 59 00:02:48,290 --> 00:02:53,720 >> Eta orain bost bit zati bakoitza, zeroen eta byte bakoitza hemen, 60 00:02:53,720 --> 00:02:57,310 adierazten instrukzio batzuk normalean ordenagailu baten barruan. 61 00:02:57,310 --> 00:03:00,730 Eta hain zuzen ere, entzun dituzun bada marketing leloa "Intel barruan" - hori, 62 00:03:00,730 --> 00:03:04,610 jakina, besterik gabe esan nahi izan duzu Intel CPU edo garuneko ordenagailu barruan. 63 00:03:04,610 --> 00:03:08,000 Eta zer esan nahi duen PUZ bat da izango da Hori instrukzio multzo bat duzu, 64 00:03:08,000 --> 00:03:08,840 nolabait esateko. 65 00:03:08,840 --> 00:03:11,620 >> Munduko CPU behin, askok egun hauetan egin Intel horiek, 66 00:03:11,620 --> 00:03:13,690 finitu bat ulertzen argibideak kopurua. 67 00:03:13,690 --> 00:03:18,690 Eta argibide horiek mailan hain behean gisa gehitzeko, bi zenbaki horiek elkarrekin, 68 00:03:18,690 --> 00:03:22,560 biderkatu bi zenbaki horiek elkarrekin, mugitu datu zati hau hemendik 69 00:03:22,560 --> 00:03:27,340 Hemen memoria izateko, gorde hau Hemendik informazioa memorian hemen, 70 00:03:27,340 --> 00:03:32,200 eta beraz forth-- beraz, oso, oso behe-maila, xehetasun ia elektronikoak. 71 00:03:32,200 --> 00:03:34,780 Baina matematiko horiek eragiketak akoplatu 72 00:03:34,780 --> 00:03:37,410 zer eztabaidatu dugu, Datuen irudikapena 73 00:03:37,410 --> 00:03:40,450 zeroen eta, ahal dena eraikitzen 74 00:03:40,450 --> 00:03:44,180 ordenagailu bat, gaur egin daiteke, ala ez textual, grafiko, musika da, 75 00:03:44,180 --> 00:03:45,580 edo bestela. 76 00:03:45,580 --> 00:03:49,450 >> Beraz, hau oso erraza da iristeko Azkar belar artean galduta. 77 00:03:49,450 --> 00:03:52,150 Eta han asko da sintaktikoak erronkak 78 00:03:52,150 --> 00:03:56,630 Horren bidez, errazena egin bada, Typos programa bat ere ez ergelena 79 00:03:56,630 --> 00:03:57,860 ezgaitasunaren lan egingo du. 80 00:03:57,860 --> 00:04:00,366 Eta beraz ordez bat erabiliz C bezalako hizkuntza goizean, 81 00:04:00,366 --> 00:04:02,240 izango litzateke pentsatu nuen gehiago fun benetan egiten 82 00:04:02,240 --> 00:04:04,840 zerbait gehiago bisuala, bertan berriz, umeentzako diseinatutako 83 00:04:04,840 --> 00:04:08,079 Benetan manifestazio bat perfektua benetako programazio baten 84 00:04:08,079 --> 00:04:10,370 hizkuntza hori besterik ez da gertatzen ordez testu pictures erabili 85 00:04:10,370 --> 00:04:11,710 ideia horiek irudikatzeko. 86 00:04:11,710 --> 00:04:15,470 >> Beraz, behin hain zuzen ere, izan duzu bat kontu scratch.mit.edu on, 87 00:04:15,470 --> 00:04:21,070 sakatu Sortu botoia top at gunearen geratzen. 88 00:04:21,070 --> 00:04:24,620 Eta bezalako ingurune bat ikusi beharko duzu bat nire pantailan ikusi nahi dut 89 00:04:24,620 --> 00:04:26,310 hemen. 90 00:04:26,310 --> 00:04:29,350 Eta besterik gabe, apur bat igarotzen dugu denbora pixka hemen jolasten. 91 00:04:29,350 --> 00:04:34,080 Ikus dezagun ezin dugu guztiak konponduko bada zenbait Utzi arazoak elkarrekin honela. 92 00:04:34,080 --> 00:04:39,420 >> Beraz, zer honen barruan ikusi ahal izango duzu environment-- eta benetan besterik utzi 93 00:04:39,420 --> 00:04:40,050 me eteteko. 94 00:04:40,050 --> 00:04:42,680 Da inor ez da hemen? 95 00:04:42,680 --> 00:04:45,070 Ez hemen? 96 00:04:45,070 --> 00:04:45,800 ONDO DA. 97 00:04:45,800 --> 00:04:49,030 Hargatik seinalatu zidan gutxi batzuk ingurune honen ezaugarri. 98 00:04:49,030 --> 00:04:55,024 >> Beraz, pantailaren goiko ezkerreko aldean, dugu Scratch etapa dute, nolabait esateko. 99 00:04:55,024 --> 00:04:57,440 Scratch ez da soilik izenean programazio hizkuntza hau; 100 00:04:57,440 --> 00:05:00,356 gainera, ez da katu baten izena dela lehenetsia ez laranja ikusiko duzu. 101 00:05:00,356 --> 00:05:02,160 da etapa bat zuen, beraz, askoz bezala deskribatu dut 102 00:05:02,160 --> 00:05:05,770 dortoka lehenago batean egotea bezala angeluzuzen taula zuri ingurumena. 103 00:05:05,770 --> 00:05:09,800 Cat hau egungo munduan erabat mugatzen da rectangle eman duten goi han. 104 00:05:09,800 --> 00:05:12,210 >> Bien bitartean, eskubidea Atzelari hemen, da 105 00:05:12,210 --> 00:05:15,610 besterik gidoiak gunea, Arbel huts izango bada. 106 00:05:15,610 --> 00:05:18,590 Hau da, non ari gara idazten joan gure une bat besterik programak. 107 00:05:18,590 --> 00:05:22,935 Eta bloke hori guk erabili hau puzzle programa idazteko 108 00:05:22,935 --> 00:05:25,310 piezak, bazaude Borondate hementxe horiek erdian, 109 00:05:25,310 --> 00:05:27,500 eta sailkatu ari dira funtzionalitate arabera. 110 00:05:27,500 --> 00:05:31,000 Beraz, adibidez, aurrera noa joan eta, gutxienez, horietako bat erakusteko. 111 00:05:31,000 --> 00:05:33,690 Aurrera joan eta klik egingo dut Kontrol mailaren gora eman. 112 00:05:33,690 --> 00:05:35,720 >> Beraz, goiko horiek eman sailkatuta daude. 113 00:05:35,720 --> 00:05:39,410 Kontrol kategorian klik noa. 114 00:05:39,410 --> 00:05:44,020 Baizik eta, Ekitaldiak klik noa Kategoria, lehen bat ireki gora. 115 00:05:44,020 --> 00:05:47,790 Eta, nahiz eta batera jarraitu nahi izanez gero hau egiten dugun bezala, nahiko ongi etorri zara. 116 00:05:47,790 --> 00:05:52,180 klik eta arrastatu hau noa Lehena, "berdea Ez klik." 117 00:05:52,180 --> 00:05:58,410 Eta, ondoren, besterik gabe askatu noa gorabehera nire arbel hutsik goialdean. 118 00:05:58,410 --> 00:06:01,450 >> Eta zer da Scratch buruz nice da puzzle pieza hau, noiz 119 00:06:01,450 --> 00:06:04,560 beste puzzle batekin tartekatuta piezak, literalki egin da joan 120 00:06:04,560 --> 00:06:06,460 zer puzzle pieza horiek esateko ez. 121 00:06:06,460 --> 00:06:09,710 Beraz, adibidez, Scratch eskubidea da orain bere munduaren erdian. 122 00:06:09,710 --> 00:06:14,660 Aurrera joan eta aukeratu noa orain, demagun, Motion kategorian, 123 00:06:14,660 --> 00:06:18,000 zuk egin nahi izanez gero gauza bera Mugimenduan kategorian. 124 00:06:18,000 --> 00:06:20,430 Eta orain konturatu oso bat daukat puzzle pieza sorta hemen 125 00:06:20,430 --> 00:06:23,370 , Hori berriro ere, mota zer esaten dute. 126 00:06:23,370 --> 00:06:28,110 Eta aurrera noa eta arrastatu eta joan askatu mugimendu blokea eskuineko hemen baino. 127 00:06:28,110 --> 00:06:31,860 >> Eta nabarituko gisa laster, du "bandera berdea behealdean hurbil 128 00:06:31,860 --> 00:06:34,580 bertan "botoia, oharra zenbat lerro zuri bat agertuko da, 129 00:06:34,580 --> 00:06:36,950 ia da, nahiz eta gisa magnetikoak, hara joan nahi du. 130 00:06:36,950 --> 00:06:43,070 Just utzi, eta atxikitzeko izango da elkarrekin eta forma bat egingo du. 131 00:06:43,070 --> 00:06:46,620 Eta orain egin dezakezu agian ia asmatzen non honekin goaz. 132 00:06:46,620 --> 00:06:51,570 >> begiratuz Scratch fasean bada hemen eta gehiagoko haren goiko begiratu, 133 00:06:51,570 --> 00:06:55,142 argi gorri bat ikusiko duzu, a gelditzeko seinale, eta bandera berdea. 134 00:06:55,142 --> 00:06:57,100 Eta aurrera noa joan eta nire pantailan ikusi 135 00:06:57,100 --> 00:06:58,460 une bat besterik ez, ahal izango banu. 136 00:06:58,460 --> 00:07:01,960 egin klik noa Ez berdea oraintxe, 137 00:07:01,960 --> 00:07:07,850 eta itxuraz 10 urrats izan zuen mugitu edo 10 pixel, 10 puntuak, pantailan. 138 00:07:07,850 --> 00:07:13,390 >> Eta, beraz, ez dela zirraragarria, baina utzi niri proposatu 139 00:07:13,390 --> 00:07:17,440 nahiz eta hau irakasteko gabe, besterik ez egin du zure intuition-- egin let erabiliz 140 00:07:17,440 --> 00:07:22,560 proposatu zidan irudikatu duzula nola egiteko Scratch ibilaldi eskubidea etapa itzali. 141 00:07:22,560 --> 00:07:28,700 Izan bidea egin zion eskuineko aldean dagoen pantailan, eskubidea modu guztiak. 142 00:07:28,700 --> 00:07:32,200 Let duzu une bat eman dit edo, hala behar duten wrestle. 143 00:07:32,200 --> 00:07:37,681 Begirada bat hartu nahi dezakezu beste kategoria blokeak at. 144 00:07:37,681 --> 00:07:38,180 Ados. 145 00:07:38,180 --> 00:07:41,290 Beraz, besterik gabe, Laburpena denean behar dugu Bandera Berdea klik hemen 146 00:07:41,290 --> 00:07:44,850 eta mugitu 10 urrats dago bakarrik instrukzioa, denbora dut bakoitzak 147 00:07:44,850 --> 00:07:46,720 sakatu bandera berdea, zer gertatzen ari da? 148 00:07:46,720 --> 00:07:50,070 Beno, nire programa exekutatzen ari. 149 00:07:50,070 --> 00:07:52,450 Beraz, hori egin izan dut agian 10 aldiz eskuz, 150 00:07:52,450 --> 00:07:55,130 baina hori apur bat sentitzen bit hackish, nolabait esateko, 151 00:07:55,130 --> 00:07:57,480 Horren bidez, ez naiz benetan arazoa konpontzeko. 152 00:07:57,480 --> 00:08:00,530 Dut berriro saiatzen naiz eta behin eta berriro, eta berriro 153 00:08:00,530 --> 00:08:03,180 I arte sort ustekabean lortzeko zuzentaraua 154 00:08:03,180 --> 00:08:05,560 abiatu nintzen lehenago lortzea. 155 00:08:05,560 --> 00:08:08,200 >> Baina ezagutzen dugun gure Pseudocode lehenago, ez dagoela 156 00:08:08,200 --> 00:08:11,870 begizta programazioan ere nozio hau, Zerbait behin eta berriro. 157 00:08:11,870 --> 00:08:14,888 Eta horrela ikusi nuen duzula mordo bat zer puzzle pieza iritsi? 158 00:08:14,888 --> 00:08:17,870 159 00:08:17,870 --> 00:08:18,730 Errepikatu arte. 160 00:08:18,730 --> 00:08:21,400 Beraz, zerbait egin izan dugu atsegin errepikatu arte. 161 00:08:21,400 --> 00:08:23,760 Eta zer errepikatu zehazki arte? 162 00:08:23,760 --> 00:08:27,720 163 00:08:27,720 --> 00:08:28,540 >> ONDO DA. 164 00:08:28,540 --> 00:08:31,974 Eta goazen bat hori da me zertxobait une bat besterik ez errazagoa. 165 00:08:31,974 --> 00:08:33,140 Dezagun aurrera eta hau egin. 166 00:08:33,140 --> 00:08:35,559 Ohartu, zuk ere izan daitekeelarik Kontrol azpian aurkitu, 167 00:08:35,559 --> 00:08:38,409 ez errepikatu bloke honetan, ez da bertan ez du itxurarik handi hori. 168 00:08:38,409 --> 00:08:41,039 Han ere ez da askoz gela bi lerro horia dutenek baino. 169 00:08:41,039 --> 00:08:43,539 Baina batzuk bezala izan liteke Nabaritu, arrastatu eta jaregin bada, 170 00:08:43,539 --> 00:08:45,150 nabarituko nola forma bete egiten dela. 171 00:08:45,150 --> 00:08:46,274 >> Eta are Cram daiteke gehiago. 172 00:08:46,274 --> 00:08:48,670 Besterik ez dugu mantendu bada hazten arrastatu eta haren gainean flotatzen. 173 00:08:48,670 --> 00:08:51,110 Eta ez dakit zer da onena hemen, beraz, utzi 174 00:08:51,110 --> 00:08:54,760 me gutxienez bost aldiz errepikatu, for Adibidez, eta gero atzera agertokira 175 00:08:54,760 --> 00:08:56,720 eta sakatu bandera berdea. 176 00:08:56,720 --> 00:08:59,110 Eta orain konturatzen ez da nahiko. 177 00:08:59,110 --> 00:09:02,400 >> Orain dituzu batzuk proposatu, gisa Victoria besterik ez zuen, 10 aldiz errepikatu. 178 00:09:02,400 --> 00:09:05,140 Eta, oro har, ez du lortu zion modu guztiak, 179 00:09:05,140 --> 00:09:10,510 baina ez litzateke ez sendoagoak izan modu arbitrarioki kalkulatzen baino 180 00:09:10,510 --> 00:09:12,640 zenbat mugimendu egiteko? 181 00:09:12,640 --> 00:09:17,680 Zer hobeto bloke bat izan liteke errepikatu baino 10 aldiz izan? 182 00:09:17,680 --> 00:09:20,380 >> Bai, beraz, zergatik ez zerbait egin betiko? 183 00:09:20,380 --> 00:09:24,390 Eta orain, puzzle pieza hau mugitu me Han barruan eta naiz hau kentzeko. 184 00:09:24,390 --> 00:09:28,300 Orain konturatu ez du axola non Scratch hasten da, doa ertzean zuen. 185 00:09:28,300 --> 00:09:30,700 Eta zorionez MIT, nor Scratch egiten, besterik 186 00:09:30,700 --> 00:09:33,190 ziurtatu egiten zuen hori inoiz ez erabat desagertu. 187 00:09:33,190 --> 00:09:35,360 Beti hartu ahal izango duzu bere buztana. 188 00:09:35,360 --> 00:09:37,680 >> Eta besterik gabe, intuizioa, zergatik ez du mugitzen mantendu zuen? 189 00:09:37,680 --> 00:09:38,892 Zer gertatzen da hemen? 190 00:09:38,892 --> 00:09:41,440 191 00:09:41,440 --> 00:09:43,824 gelditu omen zuen, baina Jaso dut eta arrastatu ondoren bada 192 00:09:43,824 --> 00:09:45,240 baino gehiago ez joateko gogoa mantentzen zuen. 193 00:09:45,240 --> 00:09:46,123 Zergatik da hori? 194 00:09:46,123 --> 00:09:51,610 195 00:09:51,610 --> 00:09:54,360 Truly, ordenagailu bat da, hitzez hitz, zer esan nahi duzun egin egingo. 196 00:09:54,360 --> 00:09:58,380 Beraz, bada, esan duzu lehenago egin du Gauza honako betiko, mugitu 10 urrats, 197 00:09:58,380 --> 00:10:01,860 nik joan eta jarraitzea joan gorria stop seinale hit I arte 198 00:10:01,860 --> 00:10:04,620 eta programa geldi. 199 00:10:04,620 --> 00:10:06,610 >> ez baduzu Beraz, nahiz eta Horretarako, nola jakingo nuen 200 00:10:06,610 --> 00:10:09,510 Scratch mugimendua egiten azkarrago pantailan zehar? 201 00:10:09,510 --> 00:10:12,060 202 00:10:12,060 --> 00:10:13,280 urrats gehiago, ezta? 203 00:10:13,280 --> 00:10:15,710 Beraz ordez 10 egiteko aldi berean, zergatik ez dugu 204 00:10:15,710 --> 00:10:20,100 aurrera eta aldatzeko zaie zer litzateke propose-- duzu 50? 205 00:10:20,100 --> 00:10:24,410 Beraz, orain ez dut berdea sakatu joan Ez, eta hain zuzen ere, oso azkar doa zuen. 206 00:10:24,410 --> 00:10:27,180 >> Eta hau, jakina, besterik ez da Animazio manifestazio bat. 207 00:10:27,180 --> 00:10:28,060 Zer da animazioa? 208 00:10:28,060 --> 00:10:33,090 Honez besterik ez duzu giza erakusteagatik Irudi osoa sorta benetan, 209 00:10:33,090 --> 00:10:34,160 Benetan, oso azkar. 210 00:10:34,160 --> 00:10:36,500 Eta hala bada, ari gara kontatzen urrats gehiago mugitu zion, 211 00:10:36,500 --> 00:10:39,750 Besterik ari gara efektua izan beharrik aldaketaren non da pantailan zuen 212 00:10:39,750 --> 00:10:42,900 azkarrago bakoitzeko denbora-unitate guztiak. 213 00:10:42,900 --> 00:10:46,454 >> Orain hurrengo erronka proposatu zen off errebote zion ertzean dute. 214 00:10:46,454 --> 00:10:49,120 Eta jakitea zer puzzle gabe Pieza exist-- da fina delako 215 00:10:49,120 --> 00:10:53,030 ez baduzu eskuratu challenge-- etapa zer 216 00:10:53,030 --> 00:10:54,280 ez intuizioz egin nahi duzula? 217 00:10:54,280 --> 00:10:58,030 Nola litzateke atzera errebote zion ditugu eta dagozkio, ezkerreko eta eskuineko arteko? 218 00:10:58,030 --> 00:11:02,630 219 00:11:02,630 --> 00:11:03,810 >> Bai. 220 00:11:03,810 --> 00:11:05,680 Beraz, nolabaiteko behar dugun baldintza, eta guk 221 00:11:05,680 --> 00:11:09,710 Badirudi baldintzazkoak dute, beraz, hitz egiten, Kontrol kategorian. 222 00:11:09,710 --> 00:11:14,110 Bloke horiek zein Ziurrenik nahi dugu? 223 00:11:14,110 --> 00:11:15,200 Bai, agian "bada, orduan." 224 00:11:15,200 --> 00:11:18,780 Beraz, nabarituko horia bloke artean Hemen dugu, ez da hau "bada" 225 00:11:18,780 --> 00:11:23,920 edo "bada, bestela," bloke hori izango baimendu erabaki bat hau egin egin gurekin 226 00:11:23,920 --> 00:11:25,000 edo hori egin. 227 00:11:25,000 --> 00:11:27,380 are habia Eta dezakezu horiek Hainbat gauza egin. 228 00:11:27,380 --> 00:11:34,910 Edo ez baduzu zuk hemen desagertu oraindik, aurrera doinuak kategoriara 229 00:11:34,910 --> 00:11:39,612 -Nik ikus dezagun hemen bada. 230 00:11:39,612 --> 00:11:43,050 231 00:11:43,050 --> 00:11:52,050 >> Beraz, zer bloke lagungarriak izan daitezke hemen zuen etapa off bada detektatzeko? 232 00:11:52,050 --> 00:11:56,740 Bai, konturatu bloke horietako batzuk parametrized daiteke, beraz, hitz egiten. 233 00:11:56,740 --> 00:12:00,706 sort pertsonalizatu ahal izango dira, ez HTML ez bezala, atzo izaera horrekin, 234 00:12:00,706 --> 00:12:03,330 non atributu horiek motatako Etiketa baten portaera pertsonalizatzeko. 235 00:12:03,330 --> 00:12:08,880 Era berean, hemen, ahal hunkigarri hau hartu dut blokea eta aldaketa eta galdera eskatu, 236 00:12:08,880 --> 00:12:11,500 sagua ukitu duzu Kurtsorea bezala erakuslea 237 00:12:11,500 --> 00:12:13,250 edo dira ertza ukitu duzu? 238 00:12:13,250 --> 00:12:15,210 >> Hargatik, joan eta hori egin. 239 00:12:15,210 --> 00:12:18,130 , urruntzeko une batez noa. 240 00:12:18,130 --> 00:12:21,320 Let puzzle pieza hau hartu me Hemen, puzzle pieza hau, 241 00:12:21,320 --> 00:12:24,570 eta ez naiz nahasi joan horiek une bat besterik ez da. 242 00:12:24,570 --> 00:12:27,620 hau mugitzeko noa, aldatu honen ertza ukitu, 243 00:12:27,620 --> 00:12:38,590 eta motion noa Horretarako. 244 00:12:38,590 --> 00:12:40,490 Beraz, hemen osagai batzuk. 245 00:12:40,490 --> 00:12:42,570 baina Nik nahi dut dena dela uste dut. 246 00:12:42,570 --> 00:12:47,710 >> Norbait nahi nola proposatzeko dut horiek, agian, behetik gora konektatu ahal 247 00:12:47,710 --> 00:12:52,020 Ordena izatearen arazoa konpontzeko Scratch mugimendua eskuinera ezkerretik eskuinera ra 248 00:12:52,020 --> 00:12:57,020 eskuinetik ezkerrera, bakoitzak ezkerrera denbora besterik horman errebote off? 249 00:12:57,020 --> 00:12:58,050 Zer egin nahi dut? 250 00:12:58,050 --> 00:13:01,097 Zein blokea behar konektatu nahi dut "Denean berdea Ez klik lehen"? 251 00:13:01,097 --> 00:13:04,060 252 00:13:04,060 --> 00:13:06,200 >> Ados, dezagun hasteko batera "betiko". 253 00:13:06,200 --> 00:13:07,170 Zer doa barruan hurrengo? 254 00:13:07,170 --> 00:13:10,290 Beste norbaitek. 255 00:13:10,290 --> 00:13:11,850 Ados, mugitu urratsak. 256 00:13:11,850 --> 00:13:12,350 Ados. 257 00:13:12,350 --> 00:13:14,470 Orduan zer? 258 00:13:14,470 --> 00:13:15,120 Orduan, bada. 259 00:13:15,120 --> 00:13:17,720 Eta nabarituko, itxura nahiz tartekatuta elkarrekin ongi, 260 00:13:17,720 --> 00:13:19,500 aski izango da hazten bete. 261 00:13:19,500 --> 00:13:21,500 Bakarrik izango da, non nahi dut salto. 262 00:13:21,500 --> 00:13:25,920 >> Eta zer egin artean jarri dut bada eta gero? 263 00:13:25,920 --> 00:13:27,180 Seguruenik, "ukitu ertzean bada." 264 00:13:27,180 --> 00:13:31,800 Eta, adi, berriz, handiegia da da, baina bete hazi egingo da. 265 00:13:31,800 --> 00:13:35,002 Eta, ondoren, aktibatu 15 gradu? 266 00:13:35,002 --> 00:13:35,710 Zenbat gradu? 267 00:13:35,710 --> 00:13:38,800 268 00:13:38,800 --> 00:13:41,196 Bai, beraz 180 spin egingo modu me guztiak inguruan. 269 00:13:41,196 --> 00:13:42,570 Beraz, ikus dezagun eskubide hori lortu badut. 270 00:13:42,570 --> 00:13:43,930 Txikiagotzeko me. 271 00:13:43,930 --> 00:13:45,130 >> Dezagun arrastatu me Scratch eman. 272 00:13:45,130 --> 00:13:50,030 Beraz, pixka bat desitxuratu zuen orain, baina hori da isuna. 273 00:13:50,030 --> 00:13:52,231 Zer egingo zuen berrezarri erraz dut? 274 00:13:52,231 --> 00:13:59,879 275 00:13:59,879 --> 00:14:01,045 zertxobait tranparik noa. 276 00:14:01,045 --> 00:14:04,074 277 00:14:04,074 --> 00:14:05,990 Beraz naiz jarriz I blokea, besterik argi izan. 278 00:14:05,990 --> 00:14:08,424 90 gradu seinalatzen zion nahi dut lehenetsita eskubidea, 279 00:14:08,424 --> 00:14:10,840 beraz, ez dut besterik esateko joan programazioaren egin. 280 00:14:10,840 --> 00:14:11,632 Eta hemen dugu. 281 00:14:11,632 --> 00:14:14,740 282 00:14:14,740 --> 00:14:15,740 egin duela dirudien dugu. 283 00:14:15,740 --> 00:14:19,980 Apur bat arraroa da, baita Honez goitik behera ibiltzeko zuen. 284 00:14:19,980 --> 00:14:21,250 Dezagun dei akats bat dela. 285 00:14:21,250 --> 00:14:22,120 Hori akats bat da. 286 00:14:22,120 --> 00:14:27,320 bug programa bat, bat batean akats bat da error logikoa dudala, giza, egin. 287 00:14:27,320 --> 00:14:28,985 Zergatik da goitik behera joan zen? 288 00:14:28,985 --> 00:14:33,560 289 00:14:33,560 --> 00:14:35,250 Ba MIT torlojua sortu edo egin nuen? 290 00:14:35,250 --> 00:14:38,840 291 00:14:38,840 --> 00:14:42,550 >> Bai, esan nahi dut, ez da MIT hutsegite. Eman zidaten puzzle pieza bat 292 00:14:42,550 --> 00:14:44,970 dioen gradu kopurua batzuk piztu. 293 00:14:44,970 --> 00:14:47,672 Eta Victoria en iradokizun, 180 gradu inflexio ari naiz, 294 00:14:47,672 --> 00:14:48,880 bertan, eskuineko intuizioa da. 295 00:14:48,880 --> 00:14:53,700 Baina 180 gradu inflexio literalki 180 gradu inflexio esan nahi du, 296 00:14:53,700 --> 00:14:55,860 eta hori ez da benetan zer nahi dut, itxuraz. 297 00:14:55,860 --> 00:14:58,026 Zeren eta, gutxienez, izan zuen hau bi dimentsioko mundua, 298 00:14:58,026 --> 00:15:00,740 beraz inflexio da benetan joan hura irauli goitik behera. 299 00:15:00,740 --> 00:15:04,030 >> seguruenik zer blokea erabili nahi dut ordez, Oinarritutako hemen zer ikusten duzu? 300 00:15:04,030 --> 00:15:11,890 301 00:15:11,890 --> 00:15:14,790 Nola liteke hau konpondu dugu? 302 00:15:14,790 --> 00:15:18,380 Bai, beraz, seinalatu dugu kontrako norabidean. 303 00:15:18,380 --> 00:15:22,300 Eta egia esan, nahiz eta hori da ez da nahikoa izango, 304 00:15:22,300 --> 00:15:26,410 ahal dugun bakarra gogor kodea delako ezkerreko edo eskuineko seinalatuz. 305 00:15:26,410 --> 00:15:27,920 >> zer egin izan dugu ezagutzen duzu? 306 00:15:27,920 --> 00:15:30,160 Badirudi bat daukagu ​​bezala Erosoago bloke hemen. 307 00:15:30,160 --> 00:15:32,987 Handiagotzeko dut badituzu ikus Zerbait hemen nahi dugu? 308 00:15:32,987 --> 00:15:36,120 309 00:15:36,120 --> 00:15:40,020 Beraz, garbi ikusten da MIT bezala dauka abstrakzioa hemen eraiki. 310 00:15:40,020 --> 00:15:45,440 Bloke hau badirudi baliokide da horrek beste bloke, plural? 311 00:15:45,440 --> 00:15:49,510 >> bloke honetan badirudi baliokide da bloke hirukote hau osoa 312 00:15:49,510 --> 00:15:50,880 duten gune honetako dugu. 313 00:15:50,880 --> 00:15:54,670 Beraz, bilakatzen da errazteko dut nire Programa ohitu hori guztia kentzeko arabera 314 00:15:54,670 --> 00:15:58,270 eta besterik jarri hau hemen. 315 00:15:58,270 --> 00:16:01,620 Eta orain, oraindik zuen pixka bat buggy, eta hori da orain. 316 00:16:01,620 --> 00:16:03,370 utziko dugu izan. 317 00:16:03,370 --> 00:16:06,000 Baina nire programa da, nahiz errazagoa, eta hau ere, 318 00:16:06,000 --> 00:16:09,060 ordezkari izango litzateke programazioa helburu bat 319 00:16:09,060 --> 00:16:13,430 da haien egiteko zure kodea bezala simple, ahalik eta trinkoa, 320 00:16:13,430 --> 00:16:15,650 oraindik ari den bitartean ahalik eta irakurri. 321 00:16:15,650 --> 00:16:20,310 Ez duzu nahi hain laburra izan dadin gogorra dela ulertu. 322 00:16:20,310 --> 00:16:22,826 >> Baina konturatu ordezkatu dut denak bat ere hiru blokeak, 323 00:16:22,826 --> 00:16:24,200 eta hori da, dudarik gabe, gauza ona da. 324 00:16:24,200 --> 00:16:27,280 Nik abstrakziogune dut kanpoan nozioa Oraindik dituzun ala ez egiaztatzea 325 00:16:27,280 --> 00:16:29,120 bloke bakar batekin ertzean. 326 00:16:29,120 --> 00:16:31,520 Orain fun izan dezakegu honekin, hain zuzen ere. 327 00:16:31,520 --> 00:16:35,790 Horrek ez gehitzeko hainbeste balio intelektual baina ludikoak balio. 328 00:16:35,790 --> 00:16:39,730 Aurrera joan noa eta soinu hau har hemen. 329 00:16:39,730 --> 00:16:42,900 330 00:16:42,900 --> 00:16:46,420 Beraz, aurrera, eta utzi me gelditu une batez programan. 331 00:16:46,420 --> 00:16:52,070 Honako grabatzeko noa, nire mikrofonoa sartzeko aukera ematen digu. 332 00:16:52,070 --> 00:16:53,181 >> Hemen gara. 333 00:16:53,181 --> 00:16:53,680 Ouch. 334 00:16:53,680 --> 00:16:58,710 335 00:16:58,710 --> 00:17:01,140 Dezagun saiatu berriro. 336 00:17:01,140 --> 00:17:02,279 Hemen gara. 337 00:17:02,279 --> 00:17:03,570 Ados, okerreko gauza grabatu dut. 338 00:17:03,570 --> 00:17:04,580 Hemen gara. 339 00:17:04,580 --> 00:17:05,080 Ouch. 340 00:17:05,080 --> 00:17:07,910 341 00:17:07,910 --> 00:17:08,800 Ouch. 342 00:17:08,800 --> 00:17:09,300 Ados. 343 00:17:09,300 --> 00:17:10,791 Orain dela kentzeko behar dut. 344 00:17:10,791 --> 00:17:11,290 Ados. 345 00:17:11,290 --> 00:17:13,950 >> Beraz, gaur egun I a besterik grabazioa "ouch." 346 00:17:13,950 --> 00:17:18,040 Beraz, gaur ez naiz joango gara Animatu eta deitu hau "ouch." 347 00:17:18,040 --> 00:17:20,270 Atzera egin noa Nire gidoiak, eta orain 348 00:17:20,270 --> 00:17:25,460 Konturatu bloke hori deitzen da play soinu "meow" edo soinua erreproduzitzeko "ouch." 349 00:17:25,460 --> 00:17:28,920 hau arrastatu noa, eta non behar hau jarri dut komiko efektua? 350 00:17:28,920 --> 00:17:31,740 351 00:17:31,740 --> 00:17:37,860 Bai, beraz, gaur egun, mota da buggy, baita orain hau Bloke 352 00:17:37,860 --> 00:17:42,050 nabarituko nola honetan "ertzean bada, errebote "auto-jasotako mota da. 353 00:17:42,050 --> 00:17:43,704 Beraz, hau konpondu behar dut. 354 00:17:43,704 --> 00:17:44,870 Dezagun aurrera eta hau egin. 355 00:17:44,870 --> 00:17:48,630 Demagun hau kentzeko me eta atzera jo Gure jatorrizko izateko, nahita 356 00:17:48,630 --> 00:17:49,870 funtzionalitate. 357 00:17:49,870 --> 00:18:01,080 Beraz, "ertza ukitzen bada, orduan" Nahi dut , Buelta Victoria proposatu bezala, 358 00:18:01,080 --> 00:18:02,480 180 gradu. 359 00:18:02,480 --> 00:18:05,497 Eta ez jolastu nahi dut soinua "ouch" ez? 360 00:18:05,497 --> 00:18:11,800 361 00:18:11,800 --> 00:18:15,580 >> Bai, konturatu kanpo da bloke horia dela. 362 00:18:15,580 --> 00:18:17,680 Beraz, ere, izango litzateke bat bug, baina ez dut nabaritu da. 363 00:18:17,680 --> 00:18:21,290 Beraz, ez dut arrastaka sortu hemen, eta nabarituko da barrutik da "bada." 364 00:18:21,290 --> 00:18:24,250 Beraz, "bada" moduko hau da bezalako beso-like blot of 365 00:18:24,250 --> 00:18:26,260 hori bakarrik joan zer da barruan. 366 00:18:26,260 --> 00:18:30,216 Beraz, orain, urruntzeko nuen bada annoying-- arriskua 367 00:18:30,216 --> 00:18:32,860 368 00:18:32,860 --> 00:18:36,470 >> COMPUTER: Ouch, ai ene, ai ene. 369 00:18:36,470 --> 00:18:39,910 >> DAVID MALAN: Eta izango joan betirako. 370 00:18:39,910 --> 00:18:44,160 Orain besterik gauzak azkartzeko Hemen, utzi aurrera me eta ireki, 371 00:18:44,160 --> 00:18:50,460 goazen batzuk me utzi esatea klaseko nire stuff propioa. 372 00:18:50,460 --> 00:18:53,000 373 00:18:53,000 --> 00:19:00,220 Eta utzi ireki me, demagun, hau utzi bat gure irakaskuntza bekadun moduan egin 374 00:19:00,220 --> 00:19:01,500 Duela urte pare bat. 375 00:19:01,500 --> 00:19:04,732 Beraz, batzuk gogora ekarri ditzake Joko hau antaño, 376 00:19:04,732 --> 00:19:05,940 eta benetan azpimarragarria da. 377 00:19:05,940 --> 00:19:08,190 egin dugun arren programak errazena oraintxe, 378 00:19:08,190 --> 00:19:09,980 dezagun zer hau benetan itxura. 379 00:19:09,980 --> 00:19:10,650 Dezagun play hit me. 380 00:19:10,650 --> 00:19:14,210 381 00:19:14,210 --> 00:19:18,980 >> Beraz, joko honetan, bat dugu Igel, eta gezi erabiliz keys-- 382 00:19:18,980 --> 00:19:23,340 urrats handiagoak gogoratzen dut baino hartzen zuen Igel honen gaineko kontrola daukat. 383 00:19:23,340 --> 00:19:29,630 Eta helburua, lanpetuta zehar lortu autoak sartu exekutatzen gabe errepidean. 384 00:19:29,630 --> 00:19:34,735 Eta dezagun see-- igoko naiz hemen, I egunkaririk batek korrituko itxaron behar. 385 00:19:34,735 --> 00:19:38,130 386 00:19:38,130 --> 00:19:39,274 Hau akats bat bezala sentitzen. 387 00:19:39,274 --> 00:19:42,240 388 00:19:42,240 --> 00:19:43,495 Hau akats bat mota da. 389 00:19:43,495 --> 00:19:45,980 390 00:19:45,980 --> 00:19:46,480 Ados. 391 00:19:46,480 --> 00:19:51,550 Ni honetako dut hemen, han, eta ondoren mantentzeko duzu 392 00:19:51,550 --> 00:19:54,100 guztiak lortu arte joan Lily pads igelak. 393 00:19:54,100 --> 00:19:55,920 Azken hau, agian begiratu konplexuagoa guztiak, 394 00:19:55,920 --> 00:19:57,840 baina utzi saiatu horrek hondatu hau behera adimen 395 00:19:57,840 --> 00:20:00,040 eta hitzez osatzen duten bloke sartu. 396 00:20:00,040 --> 00:20:03,910 Beraz, ez da, seguruenik puzzle bat Pieza hori ez dugu oraindik ikusi 397 00:20:03,910 --> 00:20:07,440 baina hori zanpatze erantzuten, Gauzak teklatuan sakatu dut. 398 00:20:07,440 --> 00:20:11,660 >> Beraz, ez da ziurrenik nolabaiteko bloke dela dio, gako berdin up bada, 399 00:20:11,660 --> 00:20:15,965 ondoren egin hutsetik batera zerbait agian mugitu da 10 urrats modu hau. 400 00:20:15,965 --> 00:20:20,240 behera giltza sakatzen bada, mugitu 10 urrats Modu horretan, edo ezkerreko giltza, mugitu 10 urrats 401 00:20:20,240 --> 00:20:21,710 Modu honetan, 10 urrats hori. 402 00:20:21,710 --> 00:20:23,644 Nik argi eta garbi aktibatuta I katua igel batean. 403 00:20:23,644 --> 00:20:26,060 Beraz, hori besterik non Scratch deiak deitu dugu mozorroa, gisa 404 00:20:26,060 --> 00:20:28,440 besterik igel argazki bat inportatu. 405 00:20:28,440 --> 00:20:29,570 >> Baina zer gehiago gertatzen ari da? 406 00:20:29,570 --> 00:20:32,794 Zer beste kode lerro, zer beste puzzle pieza 407 00:20:32,794 --> 00:20:35,460 egin Blake, gure irakaskuntza fellow, programa honetan erabili, itxuraz? 408 00:20:35,460 --> 00:20:38,320 409 00:20:38,320 --> 00:20:42,730 Zer guztia egiteko move-- zer programazio eraikitzeko? 410 00:20:42,730 --> 00:20:44,950 >> Mugimenduan, sure-- beraz, k blokea, ziur. 411 00:20:44,950 --> 00:20:49,330 Eta zer da mugitzen bloke ren, ziurrenik barruan? 412 00:20:49,330 --> 00:20:52,850 Bai, begizta nolabaiteko, agian, betirako blokeatu, agian, errepikatu Bloke 413 00:20:52,850 --> 00:20:54,070 blokea arte errepikatu. 414 00:20:54,070 --> 00:20:57,330 Eta hori zer egunkariak egin eta Lily pads eta beste guztia mugitzen 415 00:20:57,330 --> 00:20:57,990 atzera eta aurrera. 416 00:20:57,990 --> 00:21:00,270 Besterik amaigabe gertatzen. 417 00:21:00,270 --> 00:21:03,180 >> Zergatik dira autoak batzuk besteek baino azkarrago mugitzen? 418 00:21:03,180 --> 00:21:06,607 Zer da programa horiek desberdin? 419 00:21:06,607 --> 00:21:09,690 Bai, seguruenik, horietako batzuk hartzen dira urrats gehiago aldi berean, eta horietako batzuk 420 00:21:09,690 --> 00:21:10,690 aldi berean urrats gutxiago. 421 00:21:10,690 --> 00:21:14,670 Eta efektu bisuala azkar motela versus da. 422 00:21:14,670 --> 00:21:16,030 >> Zer gertatu dela uste duzu? 423 00:21:16,030 --> 00:21:19,700 Nire igel lortu nuen modu guztiak Kalean eta ibaian zehar 424 00:21:19,700 --> 00:21:23,560 Lily zona, zerbait kalera Azpimarratzekoa gertatu. 425 00:21:23,560 --> 00:21:26,540 Zer gertatu bezain laster, hori egin nuen bezala? 426 00:21:26,540 --> 00:21:27,210 It gelditu. 427 00:21:27,210 --> 00:21:29,680 Igel Hori gelditu, eta bigarren igel bat jaso nuen. 428 00:21:29,680 --> 00:21:33,155 Beraz, zer eraikuntza izan behar erabili ez, zer Ezaugarri? 429 00:21:33,155 --> 00:21:36,020 430 00:21:36,020 --> 00:21:38,660 >> Bai, beraz, ez nolabaiteko baldintzatzea "bada" han, too. 431 00:21:38,660 --> 00:21:41,909 Eta out-- ez dugu ikusten dute hau bihurtzen da baina ez da beste ez dagoela bloke 432 00:21:41,909 --> 00:21:45,300 esan daiteke, zauden hunkigarri bada pantailan beste gauza bat, 433 00:21:45,300 --> 00:21:47,720 you the Lily zona, ukitu ezkero "ondoren." 434 00:21:47,720 --> 00:21:50,810 Eta gero, hori denean dugu egiteko bigarren igel agertzen. 435 00:21:50,810 --> 00:21:54,969 Beraz, Joko hau da, zalantzarik gabe, nahiz eta Oso datatua, nahiz eta hasiera batean 436 00:21:54,969 --> 00:21:58,010 ez da hainbeste gertatzen on-- eta Blake ez zuen hau Greba bi minutu, 437 00:21:58,010 --> 00:22:00,390 Ziurrenik eramatean zuen hainbat ordu-joko hau sortzeko 438 00:22:00,390 --> 00:22:03,850 oinarritutako bere memoria edo bideoetan antaño en bertsio baten. 439 00:22:03,850 --> 00:22:07,940 Baina gauza txiki horiek guztiak isolatuan pantailan joan 440 00:22:07,940 --> 00:22:11,550 irakiten behera horiek oso erraz constructs-- mugimenduak edo adierazpenak 441 00:22:11,550 --> 00:22:15,519 atsegin eztabaidatu dugu, begizta eta baldintzak, eta hori buruz. 442 00:22:15,519 --> 00:22:17,060 Ez da bat beste ezaugarri batzuk fancier. 443 00:22:17,060 --> 00:22:19,130 Horietako batzuk dira guztiz estetiko edo akustikoak, 444 00:22:19,130 --> 00:22:20,964 soinuak atsegin dut besterik jokatzen. 445 00:22:20,964 --> 00:22:23,380 Baina zati handiena, zuk hizkuntza hau, Scratch dute, 446 00:22:23,380 --> 00:22:25,350 oinarrizko guztia eraikin bloke duzula 447 00:22:25,350 --> 00:22:29,280 C, Java, JavaScript behar, PHP, Ruby, Python, 448 00:22:29,280 --> 00:22:32,960 eta beste edozein hizkuntzatan. 449 00:22:32,960 --> 00:22:36,720 Scratch buruzko edozein galdera? 450 00:22:36,720 --> 00:22:37,220 Ados. 451 00:22:37,220 --> 00:22:40,303 Beraz, ezin izango dugu sakonago murgiltze Scratch den, Oraindik ongi etorri arren, asteburu honetan, 452 00:22:40,303 --> 00:22:42,860 haurrekin batez ere baduzu edo ilobak eta, besteak beste, 453 00:22:42,860 --> 00:22:44,220 horiek aurkeztu Scratch den. 454 00:22:44,220 --> 00:22:47,960 Benetan da wonderfully ludiko bat ingurunearekin, bere egileek esan bezala, 455 00:22:47,960 --> 00:22:49,120 Oso altua sabaiak. 456 00:22:49,120 --> 00:22:51,670 hasi baginen ere ekin Oso behe-mailako xehetasun 457 00:22:51,670 --> 00:22:54,890 benetan egin ahal izango duzu, pixka bat nahiko harekin batera, eta hori da, beharbada 458 00:22:54,890 --> 00:22:57,360 zehazki hori manifestazio bat. 459 00:22:57,360 --> 00:23:02,920 >> Baina utzi batzuk gehiago trantsizioa arazo sofistikatua, izango bada, 460 00:23:02,920 --> 00:23:05,870 "Bilatzen" bezala ezagutzen da, eta "Ordenatzeko," oro har. 461 00:23:05,870 --> 00:23:09,500 izan dugu telefono-liburu hau lehenago hemen da besterik da discussion-- beste bat 462 00:23:09,500 --> 00:23:13,460 hori bilatu nahi izan dugu gehiago eraginkortasunez delako 463 00:23:13,460 --> 00:23:15,270 hipotesi garrantzitsu bat. 464 00:23:15,270 --> 00:23:17,655 Eta, argi izan behar, zer hipotesi nengoen egiteko 465 00:23:17,655 --> 00:23:19,280 telefono-liburu honen bidez bilatzen? 466 00:23:19,280 --> 00:23:23,342 467 00:23:23,342 --> 00:23:25,300 Hori Mike Smith izan zen telefono liburua, nahiz eta I 468 00:23:25,300 --> 00:23:27,410 kudeatzeko gai izango litzateke hura gabe eszenatokia 469 00:23:27,410 --> 00:23:30,720 ez dut gelditu besterik ez bada, behar baino lehenago. 470 00:23:30,720 --> 00:23:31,806 Liburua alfabetikoan da. 471 00:23:31,806 --> 00:23:33,930 Eta hori oso eskuzabala hipotesi, hori delako 472 00:23:33,930 --> 00:23:36,580 esan someone-- mota naiz Korner baten ebaketa, 473 00:23:36,580 --> 00:23:40,580 atsegin dut azkarrago norbait delako naiz beste egin lan asko bat niretzat. 474 00:23:40,580 --> 00:23:43,120 >> Baina zer gertatzen da telefonoa book Unsorted ziren? 475 00:23:43,120 --> 00:23:47,050 Agian Verizon lortu alferrak, besterik bota Guztion izenak eta zenbakiak hor 476 00:23:47,050 --> 00:23:50,120 agian, ordena honetan bertan dute sinatu telefono zerbitzua. 477 00:23:50,120 --> 00:23:54,570 Eta zenbat denbora du me hartu du Mike Smith bezalako norbait aurkitu? 478 00:23:54,570 --> 00:23:58,160 1.000 orrialde telefono liburu zenbat orrialdeek egin bidez begiratu behar dut? 479 00:23:58,160 --> 00:23:58,905 >> Denak. 480 00:23:58,905 --> 00:24:00,030 sort zara zorte. 481 00:24:00,030 --> 00:24:03,420 literalki daukazu at bakoitzean begiratu Orri liburu telefonoa besterik ez bada 482 00:24:03,420 --> 00:24:04,450 ausaz ordenatuko. 483 00:24:04,450 --> 00:24:06,910 zortea izan dezakezu eta Mike aurkitu Oso lehen orrian, zeren zuen 484 00:24:06,910 --> 00:24:08,826 Lehenengo bezero zen Telefono zerbitzua eskatzeko. 485 00:24:08,826 --> 00:24:10,760 Baina izan zuela baliteke azkena, too. 486 00:24:10,760 --> 00:24:12,500 >> Beraz ausazko ordena ez da ona. 487 00:24:12,500 --> 00:24:16,750 Beraz, demagun ordenatzeko behar dugu telefono book edo horrelako datuak orokorrean 488 00:24:16,750 --> 00:24:18,520 Hori Zuk ematen dugu. 489 00:24:18,520 --> 00:24:19,440 Nola egin ahal dugu? 490 00:24:19,440 --> 00:24:21,360 >> Beno, utzi saiatu besterik ez dit Adibide sinple bat hemen. 491 00:24:21,360 --> 00:24:24,290 Dezagun aurrera eta zozketa bat taula gainean zenbakiak batzuk. 492 00:24:24,290 --> 00:24:35,480 Demagun zenbakiak dira behar dugu, demagun, lau, bi, bat, eta hiru. 493 00:24:35,480 --> 00:24:38,390 Eta, Ben, ordenatzeko zenbakiak hauek guretzat. 494 00:24:38,390 --> 00:24:39,017 >> Ados, ona. 495 00:24:39,017 --> 00:24:39,850 Nolatan hori? 496 00:24:39,850 --> 00:24:42,731 497 00:24:42,731 --> 00:24:43,230 Ados. 498 00:24:43,230 --> 00:24:44,710 Beraz, txikiena hasteko balio eta altuena, 499 00:24:44,710 --> 00:24:46,084 eta hori da benetan intuizio ona. 500 00:24:46,084 --> 00:24:48,080 Eta konturatzen gara gizakiak benetan polita dira 501 00:24:48,080 --> 00:24:49,913 arazoak konpontzeko onak Hau atsegin, gutxienez 502 00:24:49,913 --> 00:24:51,810 datuak nahiko txikia da. 503 00:24:51,810 --> 00:24:54,860 Bezain laster, ehunka izan dugun heinean zenbakien, zenbakiak, milaka, 504 00:24:54,860 --> 00:24:58,440 zenbakiak milioika, Ben ziurrenik ezin izan du egin nahiko azkar hori, 505 00:24:58,440 --> 00:25:00,620 ez zirela suposatuz zenbakiak hutsuneak. 506 00:25:00,620 --> 00:25:03,450 Nahiko erraza milioi bat zenbatu bestela, besterik gabe, denbora kontsumitzen. 507 00:25:03,450 --> 00:25:07,150 >> Beraz, algoritmoa soinuak Ben erabili besterik orain bezala 508 00:25:07,150 --> 00:25:08,930 bilaketa kopuru txikiena izan da. 509 00:25:08,930 --> 00:25:12,900 Beraz, nahiz eta gizakiak hartu ahal informazio asko ere ikusmen, 510 00:25:12,900 --> 00:25:14,830 ordenagailu bat da, benetan apur bat gehiago mugatua. 511 00:25:14,830 --> 00:25:17,560 Ordenagailua ezin bakarrik byte begiratu aldi berean 512 00:25:17,560 --> 00:25:20,770 edo, agian, lau aldia batean bytes egun hauetan agian 8 byte aldia batean 513 00:25:20,770 --> 00:25:24,450 baina oso kopuru txikia Une jakin batean byte. 514 00:25:24,450 --> 00:25:28,480 >> Beraz, emandako benetan behar dugun lau balioak bereizi hemen 515 00:25:28,480 --> 00:25:32,440 eta Ben dezakezu uste izatea bezala ordenagailu bat, hala balitz blinders 516 00:25:32,440 --> 00:25:36,450 ez zuela ezer ikusten aldia batean zenbaki bat baino 517 00:25:36,450 --> 00:25:39,720 beraz, oro har dugu bere gain hartuko du, bezala English, ezkerretik eskuinera irakurri dugu. 518 00:25:39,720 --> 00:25:42,870 Beraz, lehenengo zenbakia Ben seguruenik begiratu lau izan zen eta, ondoren, oso azkar 519 00:25:42,870 --> 00:25:44,770 konturatu da nahiko handia zenbaki utzi bila mantentzeko me. 520 00:25:44,770 --> 00:25:45,357 >> Ez da bi. 521 00:25:45,357 --> 00:25:45,940 Itxaron minutu batez. 522 00:25:45,940 --> 00:25:47,070 Bi eta lau baino txikiagoa da. 523 00:25:47,070 --> 00:25:47,986 gogoratzen dut. 524 00:25:47,986 --> 00:25:49,070 Bi da orain txikiena. 525 00:25:49,070 --> 00:25:50,417 Orain one-- are hobeto. 526 00:25:50,417 --> 00:25:51,250 Hori da, are txikiagoa. 527 00:25:51,250 --> 00:25:54,000 Bi ahaztu noa eta jakin ezazue orain. 528 00:25:54,000 --> 00:25:56,550 >> Eta ezin begira gelditu zen? 529 00:25:56,550 --> 00:25:58,360 Beno, oinarritutako zezakeen Informazio horren arabera, 530 00:25:58,360 --> 00:26:00,477 baina bilaketa Hobe zuen Zerrendako gainerako. 531 00:26:00,477 --> 00:26:02,060 zer zero bada zerrendan zirelako? 532 00:26:02,060 --> 00:26:03,643 Zer negatiboa bada zerrendan ziren? 533 00:26:03,643 --> 00:26:07,720 He bakarrik daki bere erantzuna zuzena da zuen zorrotz bada 534 00:26:07,720 --> 00:26:08,729 Zerrenda osoa hautatuta. 535 00:26:08,729 --> 00:26:10,020 Beraz, begiratu hau gainerako at dugu. 536 00:26:10,020 --> 00:26:11,394 Hori Three-- denbora galtze bat izan zen. 537 00:26:11,394 --> 00:26:13,540 Got unlucky, baina izan dut oraindik zuzena hacerlo. 538 00:26:13,540 --> 00:26:17,857 Eta, beraz, gaur egun, zuen ustez Hautatutako kopuru txikiena 539 00:26:17,857 --> 00:26:20,440 eta besterik jarri hasieran Zerrendaren, ez dut egingo hemen bezala. 540 00:26:20,440 --> 00:26:23,480 Orain zer egin zenuen ondoren, nahiz eta ez dut pentsatu ia 541 00:26:23,480 --> 00:26:25,962 neurri hau? 542 00:26:25,962 --> 00:26:27,670 Errepikatu prozesua, beraz begizta nolabaiteko. 543 00:26:27,670 --> 00:26:28,920 Ideia ezagun bat da. 544 00:26:28,920 --> 00:26:30,860 Hortaz, hona hemen lau da. 545 00:26:30,860 --> 00:26:32,110 Hori da, gaur egun txikiena. 546 00:26:32,110 --> 00:26:33,220 Hori hautagai bat da. 547 00:26:33,220 --> 00:26:33,900 Orain ez. 548 00:26:33,900 --> 00:26:34,770 Orain bi ikusi ditut. 549 00:26:34,770 --> 00:26:36,630 Hori dela elementurik hurrengo txikiena da. 550 00:26:36,630 --> 00:26:40,800 Three-- hori ez da txikiagoa, beraz, orain Ben pluck daiteke bi. 551 00:26:40,800 --> 00:26:44,510 >> Eta orain, prozesua errepikatu dugu, eta jakina hiru erabat atera ondoan. 552 00:26:44,510 --> 00:26:45,420 Errepikatu prozesua. 553 00:26:45,420 --> 00:26:46,990 Lau lortzen atera. 554 00:26:46,990 --> 00:26:50,140 Eta, orain, zenbakiak atera dugu, beraz, zerrenda ordenatuko behar da. 555 00:26:50,140 --> 00:26:51,960 >> Eta hain zuzen ere, hau algoritmoa formal bat da. 556 00:26:51,960 --> 00:26:56,610 ordenagailu zientzialari litzateke deitu "aukeraketa ordenatu," hau 557 00:26:56,610 --> 00:27:00,880 ideia moduko bat izatea Zerrendara iteratively-- berriro 558 00:27:00,880 --> 00:27:03,807 eta behin eta berriro hautatu kopuru txikiena. 559 00:27:03,807 --> 00:27:06,140 Eta zer polita da buruz Beraz, besterik darn intuitiboa da. 560 00:27:06,140 --> 00:27:07,470 Hain erraza da. 561 00:27:07,470 --> 00:27:11,100 Eta bera errepika dezakezu eragiketa behin eta berriro. 562 00:27:11,100 --> 00:27:12,150 Erraza da. 563 00:27:12,150 --> 00:27:17,170 >> Kasu honetan azkarra izan zen, baina zenbat denbora hartu du benetan? 564 00:27:17,170 --> 00:27:19,880 Dezagun dirudi eta sentitzen pixka bat gehiago lapurtera. 565 00:27:19,880 --> 00:27:24,150 Bat, bi, hiru, lau, bost, sei, zazpi, zortzi, bederatzi, 10, 11, 12, 13, 14, 566 00:27:24,150 --> 00:27:26,160 15, saioa 16 zenbakia arbitrarioa. 567 00:27:26,160 --> 00:27:28,780 Nahi dut gehiago hau denbora besterik lau baino. 568 00:27:28,780 --> 00:27:30,780 Beraz, I got bada osotasunean zenbakiak sorta da gaur egun egiten 569 00:27:30,780 --> 00:27:32,420 ez du axola, nahiz zer dezagun are-- dute 570 00:27:32,420 --> 00:27:34,380 zer hau pentsatzen algoritmoa benetan atsegin. 571 00:27:34,380 --> 00:27:35,857 >> Demagun daude zenbakiak ez. 572 00:27:35,857 --> 00:27:38,190 Berriz ere, ez du axola zer dira, baina ausazko ari dira. 573 00:27:38,190 --> 00:27:39,679 Ben-en algoritmoa aplikatuz naiz. 574 00:27:39,679 --> 00:27:41,220 kopuru txikiena hautatu behar dut. 575 00:27:41,220 --> 00:27:41,761 Zer egin dezaket? 576 00:27:41,761 --> 00:27:44,240 Eta noa fisikoki ez da une honetan jarduteko out. 577 00:27:44,240 --> 00:27:46,099 Begira, begira, begira, begira, begira. 578 00:27:46,099 --> 00:27:48,140 Soilik ordua iritsi nintzen arabera Zerrenda amaieran can 579 00:27:48,140 --> 00:27:51,230 txikiena konturatzen naiz zenbakia bi une honetan izan zen. 580 00:27:51,230 --> 00:27:52,720 Ez da One zerrendan. 581 00:27:52,720 --> 00:27:54,400 Beraz, behera jarri dut bi. 582 00:27:54,400 --> 00:27:55,590 >> Zer egin behar dut hurrengo? 583 00:27:55,590 --> 00:27:58,600 , Begira, begira begira, begira. 584 00:27:58,600 --> 00:28:02,250 Orain kopurua zazpi aurkitu nuen, zeren ez dago zenbakien horiek hutsuneak 585 00:28:02,250 --> 00:28:03,300 baina besterik ez da arbitrarioa. 586 00:28:03,300 --> 00:28:03,800 Ados. 587 00:28:03,800 --> 00:28:06,030 Beraz, behera jarri ahal izango dut zazpi. 588 00:28:06,030 --> 00:28:08,860 Looking begira, begira. 589 00:28:08,860 --> 00:28:11,030 >> Orain naiz suposatuz, la Jakina, Ben ez duela 590 00:28:11,030 --> 00:28:14,780 aparteko RAM dute, aparteko memoria, baita, noski, 591 00:28:14,780 --> 00:28:16,080 kopuru bera bilatzen dut. 592 00:28:16,080 --> 00:28:18,246 Ziur naiz I gogoratu izan da zenbaki horiek guztiak, 593 00:28:18,246 --> 00:28:19,930 eta hori da erabat egia. 594 00:28:19,930 --> 00:28:22,610 Baina Ben gogoratzen bada guztiak zenbakien baina ikusten zuen, 595 00:28:22,610 --> 00:28:24,430 berak ez du benetan egin funtsezko aurrerapena 596 00:28:24,430 --> 00:28:26,170 zuen dagoeneko duelako bilatzeko gaitasuna 597 00:28:26,170 --> 00:28:27,540 taula gainean zenbakiak bidez. 598 00:28:27,540 --> 00:28:29,373 guztia gogoratzea Zenbakiak ez du laguntzen, 599 00:28:29,373 --> 00:28:32,490 Oraindik ere ezin zuen ordenagailu bat bezala delako bakarrik, esan dugu, zenbaki bat begirada 600 00:28:32,490 --> 00:28:33,080 aldi berean. 601 00:28:33,080 --> 00:28:35,760 Beraz, ez dago tranparik moduko ez dagoela leverage dezakezu. 602 00:28:35,760 --> 00:28:39,170 >> Beraz, errealitatean, gisa I mantentzeko zerrendan bilatzen, 603 00:28:39,170 --> 00:28:44,200 literalki ez dut besterik mantentzeko joan atzera eta aurrera horren bidez, plucking 604 00:28:44,200 --> 00:28:45,710 Zenbaki hurrengo txikiena. 605 00:28:45,710 --> 00:28:48,810 Eta gisa nolako dezakezu infer nire mugimenduak silly batetik, 606 00:28:48,810 --> 00:28:50,860 hau besterik lortzen oso lapurtera oso azkar, 607 00:28:50,860 --> 00:28:54,850 eta be going back dudalako eta aurrera, atzera eta aurrera, nahiko pixka bat. 608 00:28:54,850 --> 00:29:03,220 Orain azoka izango da, ez daukat joan nahiko, ondo, dezagun see-- azoka izango da, 609 00:29:03,220 --> 00:29:06,310 Nik ez dut nahiko oinez asko urrats bakoitzean. 610 00:29:06,310 --> 00:29:09,200 Zeren, noski, nik bezala hautatu zenbakiak zerrendan, 611 00:29:09,200 --> 00:29:11,860 gainerako zerrendan heldu laburragoa. 612 00:29:11,860 --> 00:29:14,240 >> Eta beraz dezagun uste buruz zenbat urrats benetan naiz 613 00:29:14,240 --> 00:29:16,010 aldi bakoitzean bidez traipsing. 614 00:29:16,010 --> 00:29:18,950 Oso lehen egoera horretan 16 zenbakiak izan genuen, 615 00:29:18,950 --> 00:29:22,210 eta beraz maximally-- dezagun besterik Horretarako discussion-- bat 616 00:29:22,210 --> 00:29:25,640 16 bidez begiratu behar izan nuen txikiena aurkitu zenbakiak den. 617 00:29:25,640 --> 00:29:28,420 Baina behin out pultsatuzko I kopuru txikiena, nola 618 00:29:28,420 --> 00:29:30,590 luze geratzen den zerrenda, jakina zen? 619 00:29:30,590 --> 00:29:31,420 Just 15. 620 00:29:31,420 --> 00:29:34,670 Beraz, zenbat zenbakiak egin Ben edo tengo den bigarren aldiz inguruan begiratu bidez? 621 00:29:34,670 --> 00:29:36,832 15, besterik gabe, joan eta txikiena aurkitu. 622 00:29:36,832 --> 00:29:39,540 Baina orain, noski, zerrenda, gehiegi, aurretik baino txikiagoa. 623 00:29:39,540 --> 00:29:42,540 Beraz, urrats zenbat egin nuen hurrengo denbora hartu behar? 624 00:29:42,540 --> 00:29:49,970 14 eta, ondoren, 13 eta, ondoren, 12, plus dot, dot, dot, bat besterik ez naiz utzi arte. 625 00:29:49,970 --> 00:29:53,146 Beraz, gaur egun ordenagailu zientzialari litzateke eskatu, bai, zer egiten berdinak hori? 626 00:29:53,146 --> 00:29:55,770 benetan hormigoizko batzuk berdin da kopuru hori, zalantzarik gabe, ezin izan dugu 627 00:29:55,770 --> 00:30:00,490 egiten arithmetically, baina hitz egin nahi dugu Algoritmoen eraginkortasun buruz 628 00:30:00,490 --> 00:30:04,940 Apur bat gehiago formulaically, zenbat denbora zerrenda da independentea. 629 00:30:04,940 --> 00:30:06,240 >> Eta orain, zer dakizu? 630 00:30:06,240 --> 00:30:09,860 Hau da, 16, baina aurretik esan dut, dezagun deitu arazoaren tamaina 631 00:30:09,860 --> 00:30:10,970 n, non n zenbaki batzuk. 632 00:30:10,970 --> 00:30:13,220 Agian, 16, agian, hura izan hiru, agian, milioi bat da. 633 00:30:13,220 --> 00:30:13,761 Ez dakit. 634 00:30:13,761 --> 00:30:14,390 Ez zait axola. 635 00:30:14,390 --> 00:30:16,520 Benetan nahi dut formula bat erabiltzen dut, ahal 636 00:30:16,520 --> 00:30:19,420 erabili algoritmo hau konparatzeko beste algoritmoak aurka 637 00:30:19,420 --> 00:30:22,350 norbaitek erreklamatu daitezke hobeto edo okerrago. 638 00:30:22,350 --> 00:30:25,430 >> Eta gertatu da, eta I bakarrik Badakizu honetan kalifikazio-eskola batetik, 639 00:30:25,430 --> 00:30:34,790 hau benetan lan egindako aldi berean baino Gauza gisa baino N n plus bat bi baino gehiago. 640 00:30:34,790 --> 00:30:40,020 Eta hau gertatzen den, berdintzen Jakina, karratu n plus n bi baino gehiago. 641 00:30:40,020 --> 00:30:43,250 Beraz, bada, formula bat nahi nuen urrats nola askotan 642 00:30:43,250 --> 00:30:46,330 ziren batere ari da parte hartzen zenbaki horiek behin eta berriro 643 00:30:46,330 --> 00:30:52,681 eta behin eta berriro, esango nuke karratu n plus n bi baino gehiago. 644 00:30:52,681 --> 00:30:53,430 Baina badakizu zer? 645 00:30:53,430 --> 00:30:54,500 Hau besterik itxura narratsa. 646 00:30:54,500 --> 00:30:56,470 I besterik benetan bat nahi gauzen zentzu orokorrean. 647 00:30:56,470 --> 00:30:58,810 Eta agian, gogorarazten batxilergoko han 648 00:30:58,810 --> 00:31:00,660 Ordena epe altuena nozioa da. 649 00:31:00,660 --> 00:31:05,300 Termino horiek zein, n karratu n, edo erdia, 650 00:31:05,300 --> 00:31:07,550 denboran zehar inpaktu gehien? 651 00:31:07,550 --> 00:31:11,920 handiagoa n lortzen, eta horrek gai hauetan gehien? 652 00:31:11,920 --> 00:31:15,560 >> Beste era batera esanda, I plug bada milioi bat ere, n karratu 653 00:31:15,560 --> 00:31:17,900 ziurrenik izango da A. faktorea, 654 00:31:17,900 --> 00:31:21,670 milioi bat delako aldiz bera asko handiagoa da 655 00:31:21,670 --> 00:31:23,682 osagarriak milioi baino plus bat. 656 00:31:23,682 --> 00:31:24,390 Beraz, badakizu zer? 657 00:31:24,390 --> 00:31:27,305 Hau da, besteak beste, darn a big zenbakia zenbaki bat plazan baduzu. 658 00:31:27,305 --> 00:31:28,430 Hau ez da benetan axola. 659 00:31:28,430 --> 00:31:30,596 Ari gara cross joan dela out eta ahaztu. 660 00:31:30,596 --> 00:31:34,250 Eta beraz, ordenagailu zientzialari batek esaten duten algoritmo honen eraginkortasuna 661 00:31:34,250 --> 00:31:37,850 n ordena da squared-- benetan hurbilketa bat esan nahi dut. 662 00:31:37,850 --> 00:31:40,810 Da Sort gutxi gorabehera n karratu. 663 00:31:40,810 --> 00:31:44,130 Denborarekin, handiagoa eta handiagoa n lortzen, hau 664 00:31:44,130 --> 00:31:47,610 zer egin zenbatespen ona da eraginkortasuna edo eraginkortasun eza 665 00:31:47,610 --> 00:31:49,400 Algoritmo honen benetan da. 666 00:31:49,400 --> 00:31:52,040 Eta eratortzen dut, noski, benetan math egiten from. 667 00:31:52,040 --> 00:31:54,040 Baina orain, besterik ez naiz astintzen Nire eskuak, I delako besterik 668 00:31:54,040 --> 00:31:55,790 Nahi algoritmo hau zentzu orokor bat. 669 00:31:55,790 --> 00:31:58,850 >> Beraz, logika bera erabiliz, bere aldetik, kontuan hartu dezagun algoritmoa beste 670 00:31:58,850 --> 00:32:01,162 Dagoeneko bilaketa lineala at-- begiratu. 671 00:32:01,162 --> 00:32:02,870 Noiz nintzen bilatzen Telefono liburu egiteko 672 00:32:02,870 --> 00:32:05,980 Ez da ordenatzeko, bilatzen Telefono liburu bidez 673 00:32:05,980 --> 00:32:09,197 zela esaten gordetzen dugu 1.000 urratsak, edo 500 urrats. 674 00:32:09,197 --> 00:32:10,280 Baina utzi orokortu. 675 00:32:10,280 --> 00:32:12,860 ez da n orrietan bada telefono-liburuan, zer da 676 00:32:12,860 --> 00:32:17,250 Iraupena edo Bilaketa lineala eraginkortasuna? 677 00:32:17,250 --> 00:32:19,750 da ordena on It zenbat urrats aurkitu 678 00:32:19,750 --> 00:32:24,210 Mike Smith bilaketa lineala erabiliz, lehen bildu, edo are bigarrena? 679 00:32:24,210 --> 00:32:27,240 680 00:32:27,240 --> 00:32:31,710 >> Kasu txarrenean, Mike In Liburuaren amaieran da. 681 00:32:31,710 --> 00:32:35,590 Beraz, telefono-liburuaren 1.000 orrialde ditu, bada, Azken aldiz esan dugu, txarrena kasuan, 682 00:32:35,590 --> 00:32:38,380 iraun dezake gutxi gorabehera zenbat Orri askotan Mike aurkitzeko? 683 00:32:38,380 --> 00:32:38,990 1.000 Like. 684 00:32:38,990 --> 00:32:39,830 It muga da. 685 00:32:39,830 --> 00:32:41,790 bat posible egoera txarrena da. 686 00:32:41,790 --> 00:32:44,410 Baina, berriro ere, zu kanpoan mugitzen dugu 1.000 orain bezalako zenbakiak. 687 00:32:44,410 --> 00:32:45,730 besterik n da. 688 00:32:45,730 --> 00:32:47,470 >> Beraz, zer da ondorio logikoa? 689 00:32:47,470 --> 00:32:50,210 Mike aurkitzea telefono batean liburu hori n orrialde ditu 690 00:32:50,210 --> 00:32:55,280 hartu dezake, eta kasu oso txarrenean, zenbat n ordena urratsak? 691 00:32:55,280 --> 00:32:58,110 Eta hain zuzen ere, ordenagailu bat Zientzialari esango luke 692 00:32:58,110 --> 00:33:02,340 Iraupena, edo hori performance edo eraginkortasuna 693 00:33:02,340 --> 00:33:07,470 edo eraginkortasunik eza, bezalako algoritmo bat bilaketa lineala n ordena da. 694 00:33:07,470 --> 00:33:10,010 Eta bera aplikatu ahal izango dugu Zerbait out zeharkatu logika 695 00:33:10,010 --> 00:33:13,170 bigarrena egin nuen bezalaxe algoritmoa izan telefonoaren liburua dugu, 696 00:33:13,170 --> 00:33:16,040 non bi orrialde aldi berean joan ginen. 697 00:33:16,040 --> 00:33:20,120 >> Beraz, 1.000 orrialde telefono book might eramango gaituzte 500 orri txandaka, plus bat 698 00:33:20,120 --> 00:33:21,910 Atzera bikoiztu egin dugu pixka bat bada. 699 00:33:21,910 --> 00:33:26,590 Beraz, telefono-liburu bat n orrialdeek badu, baina Bi orrialde aldi berean egiten ari gara, 700 00:33:26,590 --> 00:33:28,900 gutxi gorabehera zer? 701 00:33:28,900 --> 00:33:33,190 N bi baino gehiago, beraz, horrelako bi baino gehiago n da. 702 00:33:33,190 --> 00:33:38,490 Baina erreklamazio bat egin nuen Une ago two-- gorako n 703 00:33:38,490 --> 00:33:41,060 Hori bera moduko gisa besterik n. 704 00:33:41,060 --> 00:33:44,050 Etengabeko faktore bat besterik ez da, ordenagailu zientzialari esango luke. 705 00:33:44,050 --> 00:33:45,970 Demagun bakarrik dutelakoan en aldagaiak, really-- 706 00:33:45,970 --> 00:33:47,780 aldagaiak handiena ekuazioa. 707 00:33:47,780 --> 00:33:52,530 >> Beraz, bilaketa lineala, egin ala bat aldi berean, garai hartan bi orrialde orria edo, 708 00:33:52,530 --> 00:33:54,810 moduko funtsean bera. 709 00:33:54,810 --> 00:33:56,880 Oraindik n ordena. 710 00:33:56,880 --> 00:34:01,930 Baina aldarrikatu nire argazki batekin dut lehenago duten hirugarren algoritmoa ez zen 711 00:34:01,930 --> 00:34:02,480 lineala. 712 00:34:02,480 --> 00:34:03,605 ez zen lerro zuzen bat da. 713 00:34:03,605 --> 00:34:08,659 lerro makurrak hori izan zen, eta algebraiko formula ez zen zer? 714 00:34:08,659 --> 00:34:11,812 n-- of Saioa hain saioa oinarria bi n. 715 00:34:11,812 --> 00:34:14,520 Eta ez dugu gehiegi sartu logaritmoak buruzko xehetasun askoz gaur, 716 00:34:14,520 --> 00:34:17,394 baina ordenagailua zientzialari gehienek ez litzateke esango oinarrian zer da. 717 00:34:17,394 --> 00:34:20,639 da delako guztiak besterik faktore konstante, nolabait esateko, 718 00:34:20,639 --> 00:34:22,659 besterik arina zenbakizko ezberdintasunak. 719 00:34:22,659 --> 00:34:31,179 Eta, beraz, hau oso ohikoa izango litzateke ordenagailua bereziki formal modu 720 00:34:31,179 --> 00:34:33,949 taula batean zientzialari edo zuri-taula batean programatzaile 721 00:34:33,949 --> 00:34:36,889 benetan argudiatuz horrek algoritmoa erabili zuten 722 00:34:36,889 --> 00:34:39,500 edo zer eraginkortasuna beren algoritmoa da. 723 00:34:39,500 --> 00:34:42,960 >> Eta hori ez da beti zerbait edozein zehaztasun handiz eztabaidatzeko, 724 00:34:42,960 --> 00:34:47,889 baina programatzaile ona norbait da ona eta hondo formal bat dauka. 725 00:34:47,889 --> 00:34:50,120 to hitz egin ahal izan zuen, Bide-mota honetan duzu 726 00:34:50,120 --> 00:34:53,350 eta benetan egiteko arrazoibide kualitatibo gisa 727 00:34:53,350 --> 00:34:56,870 zergatik algoritmo bat edo software pieza bat 728 00:34:56,870 --> 00:35:00,165 beste modu batzuk baino hobea. 729 00:35:00,165 --> 00:35:02,540 zalantzarik Could you delako besterik pertsona bat programa exekutatu 730 00:35:02,540 --> 00:35:04,980 eta zenbatu segundu kopurua zenbaki batzuk ordenatzeko hartzen, 731 00:35:04,980 --> 00:35:06,710 eta batzuk exekutatu dezakezu beste pertsonaren programa 732 00:35:06,710 --> 00:35:08,418 eta zenbatu kopurua segundo hartzen du. 733 00:35:08,418 --> 00:35:12,840 Baina hori modu orokorrago bat da algoritmoak aztertzeko erabili ahal izango duzu, 734 00:35:12,840 --> 00:35:15,520 izango bada, besterik on paper edo besterik hitzez. 735 00:35:15,520 --> 00:35:18,430 Gabe nahiz korrika, gabe nahiz eta lagin Sarrerek nahian, 736 00:35:18,430 --> 00:35:20,180 Besterik ezin duzu arrazoia bidez. 737 00:35:20,180 --> 00:35:24,670 Eta beraz, sustatzailearen edo bada kontratatzeko hura izatea edo bere sort nahi argudiatzeko 738 00:35:24,670 --> 00:35:28,460 zergatik beren algoritmoa, bere sekretua milioiak bilatzen saltsa 739 00:35:28,460 --> 00:35:30,580 for web orrien zure konpainia hobea da, horiek 740 00:35:30,580 --> 00:35:33,302 argumentuak mota dira haien egiteko gai izan behar du. 741 00:35:33,302 --> 00:35:35,010 Edo, gutxienez, hauek dira gauza mota 742 00:35:35,010 --> 00:35:40,211 noiz etorriko litzateke eztabaida, at Gutxienez eztabaida oso formal batean. 743 00:35:40,211 --> 00:35:40,710 Ados. 744 00:35:40,710 --> 00:35:44,400 Beraz, Ben zerbait proposatu izeneko aukeraketa ordenatu. 745 00:35:44,400 --> 00:35:48,200 Baina ez naiz, ez da hori proposatzera joan beste hau egiten, gehiegi moduak. 746 00:35:48,200 --> 00:35:50,400 Zer ez nuen benetan gustatzen zait Ben-en algoritmoa buruz 747 00:35:50,400 --> 00:35:54,400 da ibiltzera zuela, edo ni oinez, atzera eta aurrera 748 00:35:54,400 --> 00:35:56,930 eta atzera eta aurrera eta atzera eta aurrera. 749 00:35:56,930 --> 00:36:04,130 Zer ordez bada egin ziren I zenbaki horiek hemen antzeko zerbait 750 00:36:04,130 --> 00:36:08,200 eta besterik bakoitzaren aurre izan ziren I zenbakia, aldi berean, naiz eman zuen bezala? 751 00:36:08,200 --> 00:36:10,780 >> Beste era batera esanda, hona hemen Nire zenbakien zerrendan. 752 00:36:10,780 --> 00:36:12,944 Lau, bat, hiru, bi. 753 00:36:12,944 --> 00:36:14,360 Eta ez dut honako hau egin behar. 754 00:36:14,360 --> 00:36:17,230 zenbakiak txertatzeko noa non baizik sartzen dira 755 00:36:17,230 --> 00:36:18,980 horiek hautatzen aldi berean bat baino. 756 00:36:18,980 --> 00:36:20,820 Beste era batera esanda, hemen kopurua lau da. 757 00:36:20,820 --> 00:36:22,430 >> Hemen nire jatorrizko zerrenda da. 758 00:36:22,430 --> 00:36:25,290 Eta ez dut nahi mantentzea joan funtsean zerrenda berria hemen. 759 00:36:25,290 --> 00:36:26,710 Beraz, hau zaharra zerrenda da. 760 00:36:26,710 --> 00:36:28,560 Hau zerrenda berria da. 761 00:36:28,560 --> 00:36:30,220 kopurua lau lehen ikusi nuen. 762 00:36:30,220 --> 00:36:34,500 Nire zerrenda berria da hasieran hutsik, beraz kenduz, kasu 763 00:36:34,500 --> 00:36:36,410 duten lau da orain askotariko zerrenda. 764 00:36:36,410 --> 00:36:39,560 Besterik ez naiz zenbakia nabil eman hartuta, eta egiten naiz jarriz nire zerrenda berrian. 765 00:36:39,560 --> 00:36:41,460 >> Zerrenda berria hau ordenatuko da? 766 00:36:41,460 --> 00:36:41,990 Bai. 767 00:36:41,990 --> 00:36:45,090 It ergela da, ez da besterik ez delako bat elementu, baina erabat ordenatuta. 768 00:36:45,090 --> 00:36:46,390 Ez dago ezer lekuz kanpo. 769 00:36:46,390 --> 00:36:49,290 It interesgarriagoa, algoritmo hau, denean mugitu hurrengo urratsera dut. 770 00:36:49,290 --> 00:36:50,550 >> Orain bat daukat. 771 00:36:50,550 --> 00:36:55,430 Bat, beraz, jakina, pertenece hasita, edo zerrenda berri honen amaieran? 772 00:36:55,430 --> 00:36:56,360 Hasieran. 773 00:36:56,360 --> 00:36:58,530 Beraz, lan batzuk egin behar dut orain. 774 00:36:58,530 --> 00:37:01,410 batzuk ari naiz ditudan Nire markagailuko askatasun 775 00:37:01,410 --> 00:37:03,120 besterik gabe, gauza marraztuz non nahi dut, 776 00:37:03,120 --> 00:37:05,320 baina hori ez da benetan ordenagailu bat ere zehatza. 777 00:37:05,320 --> 00:37:08,530 Ordenagailu bat, ezagutzen dugun bezala, dauka RAM, edo Random Access Memory, 778 00:37:08,530 --> 00:37:12,411 eta hori byte bat eta beste byte eta beste byte. 779 00:37:12,411 --> 00:37:14,910 Eta gigako badaukazu RAM, bat milioi byte, 780 00:37:14,910 --> 00:37:16,680 baina fisikoki ari dira nonbaiten. 781 00:37:16,680 --> 00:37:19,540 Ezin duzu besterik mugitu duzu stuff inguruan marrazketa taula gainean arabera 782 00:37:19,540 --> 00:37:20,750 nahi duzun lekuan. 783 00:37:20,750 --> 00:37:24,090 Beraz, nire zerrenda berri badu memoria lau kokapenak, 784 00:37:24,090 --> 00:37:27,480 zoritxarrez lau da Dagoeneko okerreko lekuan. 785 00:37:27,480 --> 00:37:30,410 >> Beraz kopurua txertatzeko bat Ezin dut besterik marraztu ezazu hemen. 786 00:37:30,410 --> 00:37:31,901 memoria kokapena Hau ez da existitzen. 787 00:37:31,901 --> 00:37:35,150 Hori iruzurra izango litzateke, eta izan naiz Pictorially iruzurra minutu batzuetan 788 00:37:35,150 --> 00:37:35,800 hemen. 789 00:37:35,800 --> 00:37:40,950 Beraz, benetan, inork hemen jarri nahi badut, aldi baterako kopia lau daukat 790 00:37:40,950 --> 00:37:43,030 eta, ondoren, bat jarri bertan. 791 00:37:43,030 --> 00:37:45,500 >> Oso polita, hori da zuzena, Hori teknikoki posible, 792 00:37:45,500 --> 00:37:48,410 baina konturatzen aparteko lana da. 793 00:37:48,410 --> 00:37:50,460 Ez nuen besterik jarri kopuruaren leku. 794 00:37:50,460 --> 00:37:53,026 lehen bat mugitu behar izan nuen zenbakia, ondoren, bere tokian jarri, 795 00:37:53,026 --> 00:37:54,650 beraz, mota horretako bikoiztu egin dut nire lana zenbatekoa. 796 00:37:54,650 --> 00:37:55,660 Beraz, kontuan izan hori. 797 00:37:55,660 --> 00:37:57,120 >> Baina ez naiz orain, elementu hau egiten. 798 00:37:57,120 --> 00:37:59,056 Orain hiru kopurua hartu nahi dut. 799 00:37:59,056 --> 00:38:00,430 Non, noski, ez da sartzen? 800 00:38:00,430 --> 00:38:01,480 Artean. 801 00:38:01,480 --> 00:38:03,650 Ezin dut tranparik jada eta besterik jarri ez, 802 00:38:03,650 --> 00:38:06,770 , Berriz, memoria hau delako kokapenak fisikoan da. 803 00:38:06,770 --> 00:38:10,900 Beraz, lau kopiatu behar dut eta hirurak jarri hemen baino. 804 00:38:10,900 --> 00:38:11,550 Ez da gauza zaila. 805 00:38:11,550 --> 00:38:14,610 aparteko urrats bat besterik ez da Oso merke sentitzen, berriro. 806 00:38:14,610 --> 00:38:16,445 >> Baina hemendik mugituko dut bi arte. 807 00:38:16,445 --> 00:38:17,820 bi, jakina, dagokion hemen. 808 00:38:17,820 --> 00:38:20,990 Orain nola ikusten hasten zara lana pilatzen dezake. 809 00:38:20,990 --> 00:38:23,520 Orain zer egin behar dut? 810 00:38:23,520 --> 00:38:28,570 Bai, lau mugitu behar dut, Gero dut hiru kopiatzeko, 811 00:38:28,570 --> 00:38:31,200 eta orain bi sartu ahal izango dut. 812 00:38:31,200 --> 00:38:34,460 Eta honekin harrapatzen algoritmoa, interesgarriagoa da nahikoa, 813 00:38:34,460 --> 00:38:41,050 dela suposatzen muturreko bat dugu Kasu non demagun, zortzi, zazpi utzi da, 814 00:38:41,050 --> 00:38:45,150 sei, bost, lau, hiru, bi, bat. 815 00:38:45,150 --> 00:38:49,450 Hau da, testuinguru askotan, kasu okerrena, 816 00:38:49,450 --> 00:38:51,570 darn gauza delako da literalki atzeraka. 817 00:38:51,570 --> 00:38:53,670 >> Ez du benetan eraginik Ben-en algoritmoa, 818 00:38:53,670 --> 00:38:55,940 baita Ben en aukeraketa ere sort zuen mantendu egingo 819 00:38:55,940 --> 00:38:58,359 atzera eta aurrera zerrendan zehar joan. 820 00:38:58,359 --> 00:39:01,150 Eta ni beti ari zen delako Gainerako osoa zerrenda bidez, 821 00:39:01,150 --> 00:39:02,858 Ez du axola non elementuak dira. 822 00:39:02,858 --> 00:39:05,630 Baina nire txertapenak kasu honetan planteamendu utzi hau. 823 00:39:05,630 --> 00:39:08,616 >> Bat, bi, hiru, lau, bost, sei, zazpi, zortzi. 824 00:39:08,616 --> 00:39:11,630 Bat bi hiru lau, bost, sei, zazpi, zortzi. 825 00:39:11,630 --> 00:39:14,320 Zortzi hartu noa, eta nora jarri dut? 826 00:39:14,320 --> 00:39:17,260 Beno, nire zerrenda hasieran, Zerrenda berria hau ordenatuta dagoelako. 827 00:39:17,260 --> 00:39:18,760 Eta zeharkatuko dut it out. 828 00:39:18,760 --> 00:39:20,551 >> Nora zazpi jarri dut? 829 00:39:20,551 --> 00:39:21,050 Darn. 830 00:39:21,050 --> 00:39:23,174 han joan behar da, beraz, kopiatzea batzuk egin behar dut. 831 00:39:23,174 --> 00:39:26,820 832 00:39:26,820 --> 00:39:28,480 Eta orain zazpi doa hemen. 833 00:39:28,480 --> 00:39:29,860 Orain mugitzeko I sei izateko. 834 00:39:29,860 --> 00:39:30,980 Orain lana are gehiago da. 835 00:39:30,980 --> 00:39:32,570 >> Zortzi dauka hemen joan. 836 00:39:32,570 --> 00:39:33,920 Zazpi hemen joan behar du. 837 00:39:33,920 --> 00:39:35,450 Orain sei hemen joan daiteke. 838 00:39:35,450 --> 00:39:37,950 Orain bost hartu dut. 839 00:39:37,950 --> 00:39:40,560 Orain zortzi ditu joan Hemen, zazpi dauka hemen joan, 840 00:39:40,560 --> 00:39:43,650 Sei hemen joan behar du, eta orain bost eta errepikatu. 841 00:39:43,650 --> 00:39:46,610 Eta nahiko askoz naiz da etengabe mugitzen. 842 00:39:46,610 --> 00:39:52,950 >> Beraz, amaieran, algoritmoa honen zaitugu deitu txertatzeko sort benetan 843 00:39:52,950 --> 00:39:55,020 lan asko, gehiegi. 844 00:39:55,020 --> 00:39:56,970 Besterik ez da desberdinetako lan Ben baino mota. 845 00:39:56,970 --> 00:40:00,090 Ben-en lana izan me joan atzera eta aurrera denbora guztian, 846 00:40:00,090 --> 00:40:03,510 hurrengo txikiena hautatuz elementu behin eta berriro. 847 00:40:03,510 --> 00:40:06,660 Beraz, lan mota oso bisuala hau izan zen. 848 00:40:06,660 --> 00:40:10,600 >> beste algoritmo honek, hau da, oraindik correct-- lana lortuko du done-- 849 00:40:10,600 --> 00:40:12,800 besterik lanaren zenbatekoa aldatzen. 850 00:40:12,800 --> 00:40:15,420 atsegin Oraindik, hasieran dirudi , Aurrezteko besterik Oraindik delako 851 00:40:15,420 --> 00:40:19,190 elementu bakoitzari aurre aurrean ireki guztiak oinez gabe 852 00:40:19,190 --> 00:40:20,930 Ben bezalako zerrendan zehar bidea zen. 853 00:40:20,930 --> 00:40:25,300 Baina arazoa da, batez ere, horietan zoro bat kasuetan guztiak atzeraka da, 854 00:40:25,300 --> 00:40:27,830 besterik Oraindik motatako Lan gogorra atzeratzea 855 00:40:27,830 --> 00:40:30,360 Zure akatsak konpondu arte. 856 00:40:30,360 --> 00:40:33,919 >> Eta hala bada hau imajinatu dezakezu zortzi eta zazpi eta sei eta bost 857 00:40:33,919 --> 00:40:36,710 eta geroago, lau eta hiru eta bi zerrendan zehar beren bidea mugituz, 858 00:40:36,710 --> 00:40:39,060 besterik ez dugu aldatu du lan mota egiten ari gara. 859 00:40:39,060 --> 00:40:42,340 Horren ordez egiten hartan Nire iterazio hasieran, 860 00:40:42,340 --> 00:40:45,250 Besterik ez naiz egiten at iterazio bakoitzaren amaieran. 861 00:40:45,250 --> 00:40:50,550 Eta gertatu da algoritmo hau da, gehiegi, oro har, deitu txertatzeko, ordenatu, 862 00:40:50,550 --> 00:40:52,190 da, halaber, ordena n karratu orrian. 863 00:40:52,190 --> 00:40:56,480 Egia esan, ez da hobea, no hobeto batere. 864 00:40:56,480 --> 00:41:00,810 >> Hala eta guztiz ere, ez dago hirugarren hurbilketa bat da animatuko nuke gurekin kontuan hartu, 865 00:41:00,810 --> 00:41:02,970 hau da hau. 866 00:41:02,970 --> 00:41:07,850 Beraz, demagun nire zerrenda, sinpletasunagatik berriro, lau, bat, hiru, 867 00:41:07,850 --> 00:41:11,080 two-- zenbakiak besterik lau. 868 00:41:11,080 --> 00:41:13,300 Ben intuizio ona izan, ona giza intuizioa 869 00:41:13,300 --> 00:41:16,340 aurretik, horren bidez osoak konpondu dugu Zerrendara txertatzeko ordenatu eventually--. 870 00:41:16,340 --> 00:41:18,020 Gurekin coaxed nituen. 871 00:41:18,020 --> 00:41:22,530 Baina azter ditzagun du Zerrenda hau konpontzeko modurik errazena. 872 00:41:22,530 --> 00:41:24,110 >> Zerrenda hau ez da horrela antolatu. 873 00:41:24,110 --> 00:41:26,130 Zergatik? 874 00:41:26,130 --> 00:41:31,920 Ingelesez, azaldu zergatik ez da benetan ordenatuta. 875 00:41:31,920 --> 00:41:33,400 Zer ez du esan nahi ordenatuko? 876 00:41:33,400 --> 00:41:34,220 >> Ikaslea: Ez da sekuentziala. 877 00:41:34,220 --> 00:41:34,990 >> DAVID MALAN: ez sekuentziala. 878 00:41:34,990 --> 00:41:35,822 Emadazu adibide bat. 879 00:41:35,822 --> 00:41:37,180 >> STUDENT: Jarri ordenan. 880 00:41:37,180 --> 00:41:37,440 >> DAVID MALAN: OK. 881 00:41:37,440 --> 00:41:38,790 Emadazu Adibide zehatz bat. 882 00:41:38,790 --> 00:41:39,832 >> Ikaslea: goranzkoa. 883 00:41:39,832 --> 00:41:41,206 DAVID MALAN: Ez, ordena gorakorrean. 884 00:41:41,206 --> 00:41:42,100 Kontuz zehatzagoak. 885 00:41:42,100 --> 00:41:45,190 Ez dakit zer esan nahi gorantz sailkatu duzu. 886 00:41:45,190 --> 00:41:47,150 Zer dago oker? 887 00:41:47,150 --> 00:41:49,930 >> Ikaslea: artean txikiena zenbakiak ez da lehen espazioan. 888 00:41:49,930 --> 00:41:51,140 >> DAVID MALAN: Txikiena zenbakia en Ez da lehenengo espazioan. 889 00:41:51,140 --> 00:41:52,120 Be zehatzagoa. 890 00:41:52,120 --> 00:41:55,000 harrapatzeko dut hasita. 891 00:41:55,000 --> 00:41:59,470 kontatuta ari gara, baina Zer da ordena hemendik? 892 00:41:59,470 --> 00:42:00,707 >> Ikaslea: Zenbakizko segida. 893 00:42:00,707 --> 00:42:02,040 DAVID MALAN: Zenbakizko segida. 894 00:42:02,040 --> 00:42:04,248 Guztion eramateko moduko Oso maila altua hemen da. 895 00:42:04,248 --> 00:42:07,450 Just literalki esan dit zer da might bost urteko bat bezala oker. 896 00:42:07,450 --> 00:42:08,310 >> Ikaslea: Plus bat. 897 00:42:08,310 --> 00:42:08,750 >> DAVID MALAN: Zer da hori? 898 00:42:08,750 --> 00:42:09,610 >> Ikaslea: Plus bat. 899 00:42:09,610 --> 00:42:11,235 >> DAVID MALAN: Zer inork plus esan nahi duzu? 900 00:42:11,235 --> 00:42:12,754 901 00:42:12,754 --> 00:42:14,170 Give me a desberdinetako bost urteko. 902 00:42:14,170 --> 00:42:16,840 903 00:42:16,840 --> 00:42:18,330 Zer gertatzen da, ama? 904 00:42:18,330 --> 00:42:19,940 Zer gertatzen da, aita? 905 00:42:19,940 --> 00:42:22,808 Zer esan nahi duzu, hau ez da horrela antolatu? 906 00:42:22,808 --> 00:42:24,370 >> STUDENT: ez da leku egokian. 907 00:42:24,370 --> 00:42:25,580 >> DAVID MALAN: Zer da ez leku egokian? 908 00:42:25,580 --> 00:42:26,174 >> Ikaslea: Four. 909 00:42:26,174 --> 00:42:27,090 DAVID MALAN: OK, ona. 910 00:42:27,090 --> 00:42:29,110 Beraz, lau ez da non egon behar du. 911 00:42:29,110 --> 00:42:30,590 Hain zuzen ere, eskubide hau da? 912 00:42:30,590 --> 00:42:33,000 Lau eta bat, lehena bi zenbakiak ikusi nuen. 913 00:42:33,000 --> 00:42:34,930 hau da hala? 914 00:42:34,930 --> 00:42:36,427 Ez, Oraindik dute ordena, ezta? 915 00:42:36,427 --> 00:42:38,135 Izan ere, uste orain Ordenagailu bat inguru, gehiegi. 916 00:42:38,135 --> 00:42:40,824 bakarrik egin ahal izango da, agian, begiratu, agian bi gauzak once-- at 917 00:42:40,824 --> 00:42:43,240 eta benetan gauza bakarra aldi berean, baina ezin da gutxienez 918 00:42:43,240 --> 00:42:45,790 Gauza bat begiratu ondoren, Hurrengo gauza haren ondoan. 919 00:42:45,790 --> 00:42:47,380 >> Beraz, ez dira horiek ordenan? 920 00:42:47,380 --> 00:42:48,032 Noski ezetz. 921 00:42:48,032 --> 00:42:48,740 Beraz, badakizu zer? 922 00:42:48,740 --> 00:42:51,020 Zergatik ez haurra hartu dugu urrats arazoa konpontzen 923 00:42:51,020 --> 00:42:53,410 ordez fancy horiek egiteko Ben, non bezalako algoritmoak 924 00:42:53,410 --> 00:42:56,440 zuen sort konpontzen arabera Zerrendako begizta bidez 925 00:42:56,440 --> 00:42:59,670 ordez zer egiten nuen, non I mota besterik finkoa da joan gara? 926 00:42:59,670 --> 00:43:03,650 Dezagun, besterik gabe, literalki apurtu behera antolatuta numerikoak ordena nozioa, 927 00:43:03,650 --> 00:43:06,990 deitzen dena delakoa want-- duzu Pairwise alderaketon sartu. 928 00:43:06,990 --> 00:43:07,590 >> Lau eta bat. 929 00:43:07,590 --> 00:43:09,970 Hau al da ordena zuzena? 930 00:43:09,970 --> 00:43:11,310 Hargatik konpondu dela. 931 00:43:11,310 --> 00:43:14,700 One eta lau, eta, ondoren, besterik ez dugu kopia hori. 932 00:43:14,700 --> 00:43:15,560 Ondo da, ona. 933 00:43:15,560 --> 00:43:17,022 bat eta lau konpondu dut. 934 00:43:17,022 --> 00:43:18,320 Hiru eta bi? 935 00:43:18,320 --> 00:43:18,820 No. 936 00:43:18,820 --> 00:43:21,690 Demagun nire hitzak nire behatzak etortzeko. 937 00:43:21,690 --> 00:43:23,695 Lau eta hiru? 938 00:43:23,695 --> 00:43:27,930 >> Ez da ordena, beraz, ez dut joan bat, hiru, lau, bi gauza egin. 939 00:43:27,930 --> 00:43:28,680 Ados, ona. 940 00:43:28,680 --> 00:43:32,310 Orain lau eta bi? 941 00:43:32,310 --> 00:43:33,370 Hori konpontzeko, gehiegi behar dugu. 942 00:43:33,370 --> 00:43:36,700 Beraz, bat, hiru, bi, lau. 943 00:43:36,700 --> 00:43:39,820 Beraz, hau da ordenatuko da? 944 00:43:39,820 --> 00:43:43,170 Ez, baina hurbilago ordenatuko? 945 00:43:43,170 --> 00:43:48,930 >> da, hau finkoa dugulako akats, akats hau konpondu dugu, 946 00:43:48,930 --> 00:43:50,370 eta akats hau konpondu dugu. 947 00:43:50,370 --> 00:43:52,420 Beraz, hiru akatsak konpondu dugu, dudarik gabe. 948 00:43:52,420 --> 00:43:58,100 Oraindik ez du benetan begiratu ordenatuko, baina Objektiboki ordenatuko hurbilago dago 949 00:43:58,100 --> 00:44:00,080 akats horietako batzuk finkoak ditugulako. 950 00:44:00,080 --> 00:44:02,047 >> Orain zer egin behar dut hurrengo? 951 00:44:02,047 --> 00:44:03,630 motatako zerrendaren amaierara iritsi naiz. 952 00:44:03,630 --> 00:44:05,680 konpondu egin zirudien dut akatsak guztia, baina ez. 953 00:44:05,680 --> 00:44:08,510 Kasu honetan, zenbaki batzuk delako bubbled izan liteke sortu gertuago 954 00:44:08,510 --> 00:44:10,410 zenbakiak bestearen dagoela dira oraindik behar bezala erabili. 955 00:44:10,410 --> 00:44:12,951 Beraz, egin dezagun berriro, eta ez dut besterik ez da leku garai honetan. 956 00:44:12,951 --> 00:44:14,170 One eta hiru? 957 00:44:14,170 --> 00:44:14,720 Ondo dago. 958 00:44:14,720 --> 00:44:16,070 Hiru eta bi? 959 00:44:16,070 --> 00:44:17,560 Noski ez, beraz dezagun aldatu. 960 00:44:17,560 --> 00:44:19,160 Beraz, bi, hiru. 961 00:44:19,160 --> 00:44:21,340 Hiru eta lau? 962 00:44:21,340 --> 00:44:24,370 Eta orain, izan besterik ez bereziki pedantic hemen. 963 00:44:24,370 --> 00:44:26,350 Da ordenatuko? 964 00:44:26,350 --> 00:44:29,280 You gizakiak ezagutzen ordenatuko da. 965 00:44:29,280 --> 00:44:30,400 >> Berriro saiatu behar dut. 966 00:44:30,400 --> 00:44:31,900 Beraz Olivia berriro saiatu naiz proposatuz. 967 00:44:31,900 --> 00:44:32,530 Zergatik? 968 00:44:32,530 --> 00:44:35,810 Zeren eta ordenagailu bat ez dute gure giza begiak luxua 969 00:44:35,810 --> 00:44:38,080 besterik back-- OK glancing, egin dut. 970 00:44:38,080 --> 00:44:41,610 Nola ez, ordenagailua zehazteko zerrendan, gaur egun antolatuta? 971 00:44:41,610 --> 00:44:44,590 Mekanikoki. 972 00:44:44,590 --> 00:44:47,650 >> bidez joan behar dut beste behin ere, eta bada bakarrik dut 973 00:44:47,650 --> 00:44:51,190 ez egin / akatsik aurkitu ahal izango dut gero ordenagailuan bezala bukatzeko, bai, 974 00:44:51,190 --> 00:44:51,980 Bukatu dugu. 975 00:44:51,980 --> 00:44:54,850 Beraz, bat eta bi, bi eta Hiru, hiru eta lau. 976 00:44:54,850 --> 00:44:58,030 Orain dut betiko esan daiteke hau da ordenatuta, aldaketarik ez dudalako. 977 00:44:58,030 --> 00:45:01,940 Orain akatsen bat izango litzateke, eta, besterik gabe, inozoak badut, ordenagailua, 978 00:45:01,940 --> 00:45:05,640 galdera horiek berriro galdetuko erantzun desberdinak espero. 979 00:45:05,640 --> 00:45:07,110 Ez luke gertatuko. 980 00:45:07,110 --> 00:45:08,600 >> Eta beraz, orain zerrenda ordenatuko da. 981 00:45:08,600 --> 00:45:12,630 Zoritxarrez, garai exekutatzen Algoritmo hau ere karratu n dago. 982 00:45:12,630 --> 00:45:13,130 Zergatik? 983 00:45:13,130 --> 00:45:19,520 duzulako n zenbakiak, eta batean Kasu txarrena n zenbakiak mugitu behar duzu 984 00:45:19,520 --> 00:45:23,637 n aldiz duelako Jarraitzeko behar duzu Atzera begiratu eta potentzialki konpondu 985 00:45:23,637 --> 00:45:24,220 zenbaki horiek. 986 00:45:24,220 --> 00:45:26,280 Eta gehiago egin ahal izango dugu azterketa formal, too. 987 00:45:26,280 --> 00:45:29,530 >> Beraz, hau da hartu dugun esateko hiru planteamendu desberdin, bata 988 00:45:29,530 --> 00:45:32,210 Horietako berehala intuitiboa Ben batetik bat itzali 989 00:45:32,210 --> 00:45:35,170 Nire iradoki txertatzeko den Honen moduko 990 00:45:35,170 --> 00:45:38,540 non mota duzu galduko ikusmena zuhaitzak, hasieran basoan. 991 00:45:38,540 --> 00:45:41,760 Baina orduan urrats bat itzuliz gero, voila, konpondu dugu ordenatzeko nozioa. 992 00:45:41,760 --> 00:45:43,824 Beraz, hau da, esango nuke, maila txikiagoa agian 993 00:45:43,824 --> 00:45:45,740 horiek beste batzuk baino algoritmoak, baina dezagun 994 00:45:45,740 --> 00:45:48,550 ikusiko dugu, ez bada bistaratu horien honen bidez. 995 00:45:48,550 --> 00:45:51,450 >> Beraz, hau da, polita batzuk software hori norbaitek 996 00:45:51,450 --> 00:45:56,110 taberna koloretsu hori erabiliz idatzi zuen honako hau egin digu doa. 997 00:45:56,110 --> 00:45:57,736 Taberna horietako bakoitzak zenbaki bat adierazten du. 998 00:45:57,736 --> 00:46:00,026 barran Taller, handiagoa kopurua, txikiagoa tabernan, 999 00:46:00,026 --> 00:46:00,990 zenbaki txikiagoa. 1000 00:46:00,990 --> 00:46:05,880 Beraz, haien polita piramide bat nahi dugu non txiki batean hasten da eta lortzen big, 1001 00:46:05,880 --> 00:46:08,330 eta hori dela esan nahi du taberna horiek ordenatzen dira. 1002 00:46:08,330 --> 00:46:11,200 Beraz, aurrera noa eta aukeratu joan, adibidez, Ben-en algoritmoa 1003 00:46:11,200 --> 00:46:13,990 lehen aukera aukeraketa ordenatu. 1004 00:46:13,990 --> 00:46:16,220 >> Eta nabarituko zer egiten ari den. 1005 00:46:16,220 --> 00:46:18,670 Modu haiekin aukeratu ikusteko algoritmoa honetan 1006 00:46:18,670 --> 00:46:22,090 da, hori izan dut atsegin nire zerrenda paseoan, 1007 00:46:22,090 --> 00:46:24,710 Programa honetan oinez bere zenbakien zerrenda bidez, 1008 00:46:24,710 --> 00:46:28,160 arrosa bakoitzean azpimarratuz zenbaki hartan gehiago begiratzen. 1009 00:46:28,160 --> 00:46:32,360 Eta zer da buruz oraintxe gertatuko den? 1010 00:46:32,360 --> 00:46:35,154 >> txikiena kopurua dela I edo Ben-batean aurkitu 1011 00:46:35,154 --> 00:46:36,820 lortzen zerrendaren hasieran joan zen bizitzera. 1012 00:46:36,820 --> 00:46:40,037 Eta konturatu kanporatu egin zuten kopurua duela han, 1013 00:46:40,037 --> 00:46:41,120 eta primeran fina da. 1014 00:46:41,120 --> 00:46:42,600 Ez nuen xehetasun maila hori hartzea. 1015 00:46:42,600 --> 00:46:44,308 Baina, jarri behar dugu kopuru hori nonbait, 1016 00:46:44,308 --> 00:46:47,775 beraz, joan besterik ez dugu nahi Leku irekia sortu zen. 1017 00:46:47,775 --> 00:46:49,900 Beraz, ez dut hau azkartzeko joan sortu, bestela delako 1018 00:46:49,900 --> 00:46:51,871 Oso lapurtera bihurtzen azkar. 1019 00:46:51,871 --> 00:46:55,800 1020 00:46:55,800 --> 00:46:58,600 Animation speed-- ez gara. 1021 00:46:58,600 --> 00:47:01,850 Printzipioz Beraz, gaur egun bera I aplikatuz zen, baina zuk 1022 00:47:01,850 --> 00:47:06,540 Algoritmoaren sentitzeko, baduzu has daiteke Izango da, edo apur bat argiago ikusten da. 1023 00:47:06,540 --> 00:47:13,190 Algoritmo honek eragina dauka hurrengo elementu txikiena hautatuz, 1024 00:47:13,190 --> 00:47:16,422 beraz ari den martxan jarriko duzu ikusi arrapala da ezker. 1025 00:47:16,422 --> 00:47:19,130 Eta iterazio bakoitzean, gisa I proposatu, apur bat gutxiago lan egiten du. 1026 00:47:19,130 --> 00:47:21,921 Ez du modu guztiak joan Ezkerretik zerrendaren amaieran itzuli, 1027 00:47:21,921 --> 00:47:23,900 baita dagoeneko daki horiek ordenatzen dira. 1028 00:47:23,900 --> 00:47:28,129 Beraz, mota sentitzen da bezala Azkartu urrats bakoitza da, nahiz 1029 00:47:28,129 --> 00:47:29,420 Denbora kopuru bera hartzen. 1030 00:47:29,420 --> 00:47:31,600 Ez dago besterik gutxiago urrats gainerako. 1031 00:47:31,600 --> 00:47:35,240 Eta orain, mota dezakezu sentitzen duzu Algoritmo garbitzen da amaieran, 1032 00:47:35,240 --> 00:47:37,040 eta hain zuzen ere, gaur egun ordenatuko da. 1033 00:47:37,040 --> 00:47:41,620 >> Beraz txertatzeko ordena guztiak egin. 1034 00:47:41,620 --> 00:47:43,600 berriro ausaz array behar dut. 1035 00:47:43,600 --> 00:47:45,940 Eta konturatu besterik ezin dut mantendu da, zoriz, 1036 00:47:45,940 --> 00:47:50,630 eta hurbilketa bat lortu dugu aldi berean, txertatzeko ordenatu. 1037 00:47:50,630 --> 00:47:55,050 Let it motela me down hemen. 1038 00:47:55,050 --> 00:47:56,915 Has gaitezen berriro hori. 1039 00:47:56,915 --> 00:47:57,414 Gelditu. 1040 00:47:57,414 --> 00:48:00,662 1041 00:48:00,662 --> 00:48:02,410 >> Dezagun saltatzeko lau. 1042 00:48:02,410 --> 00:48:03,200 Bertan dugu. 1043 00:48:03,200 --> 00:48:04,190 Ausaz dute array. 1044 00:48:04,190 --> 00:48:05,555 Eta hemen txertatzeko ordenatu go-- dugu. 1045 00:48:05,555 --> 00:48:10,260 1046 00:48:10,260 --> 00:48:12,800 Play. 1047 00:48:12,800 --> 00:48:17,280 Nabarituko dela bakoitzak aurre elementu berehala aurkitzen da, 1048 00:48:17,280 --> 00:48:20,282 izatea delarik ere bada okerreko lekuan oharra 1049 00:48:20,282 --> 00:48:21,740 hori gertatuko ditu lan guztia. 1050 00:48:21,740 --> 00:48:24,700 gehiago aldatzearen mantendu behar dugu eta elementu gehiago gela egiteko 1051 00:48:24,700 --> 00:48:27,340 Bat egin den lekuan jarri nahi dugu. 1052 00:48:27,340 --> 00:48:30,740 >> Beraz, horretan ari gara bideratua Ezkerretik zerrendan soilik amaieran. 1053 00:48:30,740 --> 00:48:34,460 Ohartu ez dugu, nahiz eta begiratu at-- Ez dute ezer pink nabarmenduta 1054 00:48:34,460 --> 00:48:35,610 eskubidea. 1055 00:48:35,610 --> 00:48:38,180 Ari gara hemen arazoei joan gara, 1056 00:48:38,180 --> 00:48:40,430 baina asko sortzen ari gara geure lan egiteko oraindik. 1057 00:48:40,430 --> 00:48:44,410 Eta hau azkartuko dugu, beraz, bada eman orain amaitzean joan, 1058 00:48:44,410 --> 00:48:46,210 beste sentitzen ditu bertara, hain zuzen ere. 1059 00:48:46,210 --> 00:48:50,150 Besterik ezkerreko muturrean bideratua baina apur bat gehiago lan needed-- gisa egiten 1060 00:48:50,150 --> 00:48:53,230 gauzak leuntzeko moduko baino, gauzak konpontzen, 1061 00:48:53,230 --> 00:48:58,350 baina, azken finean, arazo batekin elementu bakoitzak bat aldi berean 1062 00:48:58,350 --> 00:49:07,740 ondo arraio iritsi arte, dugu guztiak ezagutzen nola hau da Amaierara joan, 1063 00:49:07,740 --> 00:49:09,700 beraz underwhelming txiki bat da beharbada. 1064 00:49:09,700 --> 00:49:12,830 >> Baina end-- zerrendan spoiler-- da ordenatuko joan. 1065 00:49:12,830 --> 00:49:15,300 Hargatik begiratu azkena batean. 1066 00:49:15,300 --> 00:49:16,840 Ezin besterik saltatzeko dugu orain. 1067 00:49:16,840 --> 00:49:18,000 Ia ez gara. 1068 00:49:18,000 --> 00:49:19,980 Bi, joan den joateko bat. 1069 00:49:19,980 --> 00:49:22,680 Eta voila. 1070 00:49:22,680 --> 00:49:23,450 Bikain. 1071 00:49:23,450 --> 00:49:27,220 >> Beraz, orain egin azken banan utzi, berriro, zoriz burbuila sort. 1072 00:49:27,220 --> 00:49:31,690 Eta konturatu hemen, motela naiz batez ere, behera, hau mantentzeko duela bitartez datorrela. 1073 00:49:31,690 --> 00:49:36,830 Baina konturatu besterik egiten Pairwise comparisons-- tokiko soluzioak moduko. 1074 00:49:36,830 --> 00:49:39,050 Baina laster lortuko dugu gisa pink zerrenda amaieran, 1075 00:49:39,050 --> 00:49:40,690 Zer ari da berriro gertatuko nahi izan du? 1076 00:49:40,690 --> 00:49:44,539 1077 00:49:44,539 --> 00:49:46,830 Bai, nahi izan da joan berriro hasi, delako bakarrik 1078 00:49:46,830 --> 00:49:49,870 pairwise akatsak finkoa. 1079 00:49:49,870 --> 00:49:53,120 Eta hori oraindik agerian izana besteek. 1080 00:49:53,120 --> 00:49:58,950 Eta hau arindu baduzu, egingo duzu ikusi duten, izen dakar askoz bezala, 1081 00:49:58,950 --> 00:50:01,870 txikiagoa du elementuen edo, hobeto esanda, handiago elementuen hasita 1082 00:50:01,870 --> 00:50:03,740 burbuila sortu goian, izango bada. 1083 00:50:03,740 --> 00:50:07,380 Eta elementu txikiagoak dira burbuila ezkerrera behera hasita. 1084 00:50:07,380 --> 00:50:10,780 Eta, hain zuzen, hori da mota efektu bisuala baita. 1085 00:50:10,780 --> 00:50:17,150 Eta, beraz, hau amaituko da akabera bat oso antzekoa da, gehiegi ere. 1086 00:50:17,150 --> 00:50:19,160 >> Ez dugu bizitzea bat bereziki honetan. 1087 00:50:19,160 --> 00:50:21,010 Demagun hau ireki zidan orain, gehiegi. 1088 00:50:21,010 --> 00:50:24,040 Ez da gutxi batzuk beste algoritmoak munduan, haietako batzuk baino 1089 00:50:24,040 --> 00:50:25,580 Hemen harrapatu dira. 1090 00:50:25,580 --> 00:50:29,960 Eta batez ere ikasleentzat Ez diren nahitaez entzunezko edo matematiko, 1091 00:50:29,960 --> 00:50:31,930 aurretik egin dugun bezala, ahal dugun halaber, egin hau audially 1092 00:50:31,930 --> 00:50:34,210 Soinu bat erlazionatuko badugu honekin. 1093 00:50:34,210 --> 00:50:36,990 Eta besterik gabe, fun, hona hemen bat algoritmo ezberdinak batzuk, 1094 00:50:36,990 --> 00:50:40,950 eta horietako bat bereziki Oraindik nabarituko da deitu joan "batu ordenatu." 1095 00:50:40,950 --> 00:50:43,250 >> Benetan da funtsean bat algoritmoa hobeto, 1096 00:50:43,250 --> 00:50:45,860 hala nola batu hori, bat sort direnak, ikusten ari zara buruz, 1097 00:50:45,860 --> 00:50:49,170 ez da karratu n ordena. 1098 00:50:49,170 --> 00:50:57,280 da ordena n aldiz, saioa It n, hau da, benetan txikiagoak eta, beraz, 1099 00:50:57,280 --> 00:50:58,940 horiek beste hiru baino azkarrago. 1100 00:50:58,940 --> 00:51:00,670 Eta badira beste pare bat silly direnak hori ikusiko dugu. 1101 00:51:00,670 --> 00:51:01,933 >> Beraz, hemen soinu batzuk joan ginen. 1102 00:51:01,933 --> 00:51:06,620 1103 00:51:06,620 --> 00:51:10,490 Hau txertatzeko ordena, beraz, berriro besterik ez da elementu aurre 1104 00:51:10,490 --> 00:51:13,420 datozen bezala. 1105 00:51:13,420 --> 00:51:17,180 Hau burbuila sort da, beraz, horiek garai batean bikote kontuan hartuta. 1106 00:51:17,180 --> 00:51:22,030 1107 00:51:22,030 --> 00:51:24,490 Eta berriro, elementu handiena dira goian borborka. 1108 00:51:24,490 --> 00:51:38,098 1109 00:51:38,098 --> 00:51:41,710 >> Hurrengo sortu aukeraketa ordenatu. 1110 00:51:41,710 --> 00:51:45,420 Hau Ben-en algoritmoa, non da Berriro Honez iteratively hautatu zuen 1111 00:51:45,420 --> 00:51:46,843 du elementu hurrengo txikiena. 1112 00:51:46,843 --> 00:51:49,801 1113 00:51:49,801 --> 00:51:53,900 Eta berriro, orain ezin duzu benetan entzuten duten Honez azkartu da baina bakarra, orain arte ere 1114 00:51:53,900 --> 00:51:58,230 Honez gero eta gutxiago egiten den bezala iterazio bakoitzean lan. 1115 00:51:58,230 --> 00:52:04,170 Hau bat azkarragoa da, batu, ordenatu, hau da, zenbakiak klusterrak ordenatzeko 1116 00:52:04,170 --> 00:52:05,971 elkarrekin eta, ondoren, horiek konbinatuz. 1117 00:52:05,971 --> 00:52:07,720 Beraz look-- ezkerreko erdia dagoeneko ordenatuko da. 1118 00:52:07,720 --> 00:52:14,165 >> Orain eskuineko erdia ordenatzeko da, eta orain, horiek konbinatu bat sartu. 1119 00:52:14,165 --> 00:52:19,160 Hau zerbait deitzen da "Gnome sort." 1120 00:52:19,160 --> 00:52:23,460 Eta nolako dezakezu hori ikusi nik atzera eta aurrera, 1121 00:52:23,460 --> 00:52:27,950 lan konpontzen pixka bat hemen eta Han hasten da lan berri aurretik. 1122 00:52:27,950 --> 00:52:32,900 1123 00:52:32,900 --> 00:52:33,692 Eta hori da. 1124 00:52:33,692 --> 00:52:36,400 Ez dago moduko beste, Hau da, Benetan, besterik xede akademikoetarako, 1125 00:52:36,400 --> 00:52:40,980 "Ergelak ordenatu," horrek hartzen izeneko Zure datuak, ordenatzen da ausaz, 1126 00:52:40,980 --> 00:52:43,350 eta, ondoren, egiaztatzen ordenatuko bada. 1127 00:52:43,350 --> 00:52:47,880 Eta ez baldin bada, berriro ordenatzen hura ausaz, egiaztatzen da horrela antolatu bada, 1128 00:52:47,880 --> 00:52:49,440 eta ez bada errepikatzen. 1129 00:52:49,440 --> 00:52:52,660 Eta teorian probabilistically, hau osatuko du, 1130 00:52:52,660 --> 00:52:54,140 baina nahiko denbora pixka bat ondoren. 1131 00:52:54,140 --> 00:52:56,930 Ez da gehien Algoritmoen eraginkorra. 1132 00:52:56,930 --> 00:53:02,550 Beraz, edozein horietan galderak algoritmoak edo ezer berezirik 1133 00:53:02,550 --> 00:53:04,720 bertan, gehiegi? 1134 00:53:04,720 --> 00:53:09,430 >> Beno, utzi tease gain, zer guztiak Lerro hauek dira dudan marrazkia ditudan 1135 00:53:09,430 --> 00:53:15,090 eta zer ordenagailua naiz suposatuz kanpaia azpian egin dezake. 1136 00:53:15,090 --> 00:53:18,650 zenbaki horiek guztiak erabiltzen nuke argudiatu drawing-- mantendu dut lortu behar dute 1137 00:53:18,650 --> 00:53:21,330 gordetako memoria nonbait. 1138 00:53:21,330 --> 00:53:24,130 tipo hau kendu egingo dugu orain ere. 1139 00:53:24,130 --> 00:53:30,110 >> Beraz, memoria zati bat batean ordenagailu beraz RAM DIMM da 1140 00:53:30,110 --> 00:53:35,480 atzo, dual zer bilatuko dugu inline memoria module-- itxura hau. 1141 00:53:35,480 --> 00:53:39,370 Eta horiek txip txiki beltz bakoitzak byte kopurua batzuk, normalean. 1142 00:53:39,370 --> 00:53:44,380 Eta gero urre pin bezala dira hariak lotzen da ordenagailua, 1143 00:53:44,380 --> 00:53:47,521 eta berdea taula silizio besterik ez da zer mantentzen dena, guztiak elkarrekin. 1144 00:53:47,521 --> 00:53:48,770 Beraz, zer da benetan esan nahi? 1145 00:53:48,770 --> 00:53:53,180 If I motatako irudi hori bera marrazteko, Demagun sinpletasunagatik 1146 00:53:53,180 --> 00:53:55,280 DIMM honetan, dual hori inline memoria modulua, 1147 00:53:55,280 --> 00:54:00,530 RAM gigabyte bat, gigabyte bat da memoria, hau da, zenbat byte guztira? 1148 00:54:00,530 --> 00:54:02,100 gigabyte batek byte zenbat da? 1149 00:54:02,100 --> 00:54:04,860 1150 00:54:04,860 --> 00:54:06,030 Hori baino gehiago. 1151 00:54:06,030 --> 00:54:09,960 1.124 kilo da, 1.000. 1152 00:54:09,960 --> 00:54:11,730 Mega milioi da. 1153 00:54:11,730 --> 00:54:14,570 Giga milioi bat da. 1154 00:54:14,570 --> 00:54:15,070 >> Am I etzanda? 1155 00:54:15,070 --> 00:54:16,670 Ezin baita etiketa irakurri dugu? 1156 00:54:16,670 --> 00:54:19,920 Hau da, benetan 128 gigabyte, beraz, gehiago da. 1157 00:54:19,920 --> 00:54:22,130 Baina hau asmoa dugu gigabyte bat besterik ez da. 1158 00:54:22,130 --> 00:54:25,640 Beraz, esan nahi du ez da milioi bat memoria byte niretzat eskuragarri 1159 00:54:25,640 --> 00:54:29,770 edo 8 milioi bit, baina goaz ari byte dagokionez hitz orain, 1160 00:54:29,770 --> 00:54:30,750 aurrera. 1161 00:54:30,750 --> 00:54:36,330 >> Beraz, zer esan nahi duen hori da, byte, hau byte bat da, 1162 00:54:36,330 --> 00:54:38,680 hau byte bat da, eta benetan nahi badugu 1163 00:54:38,680 --> 00:54:43,280 zehatzei dugu behar luke izan marrazteko bat milioi karratu gutxi. 1164 00:54:43,280 --> 00:54:44,320 Baina zer esan nahi du horrek? 1165 00:54:44,320 --> 00:54:46,420 Beno, let me besterik argazki honetan ere. 1166 00:54:46,420 --> 00:54:50,900 Nik zerbait bada itxura orain honek bezala, lau byte da. 1167 00:54:50,900 --> 00:54:53,710 >> Eta orain lau zenbakiak jarri izan dut hemen. 1168 00:54:53,710 --> 00:54:54,990 Bat bi hiru lau. 1169 00:54:54,990 --> 00:55:00,170 Edo lau letrak edo ikurrak jarri izan dut. 1170 00:55:00,170 --> 00:55:02,620 "Hey!" eskubidea han joan daiteke, letrak bakoitzean delako, 1171 00:55:02,620 --> 00:55:04,370 eztabaidatu dugu, irudikatzen litezke 1172 00:55:04,370 --> 00:55:06,650 zortzi bit edo ASCII edo byte batekin. 1173 00:55:06,650 --> 00:55:09,370 Beraz, beste era batera esanda, ezin duzu jarri 8 milioi gauzak barruan 1174 00:55:09,370 --> 00:55:11,137 inork memoria makila honen. 1175 00:55:11,137 --> 00:55:14,345 Orain, zer da gauzak jarri back esan nahi du memorian kopiak hau bezalako kopiak? 1176 00:55:14,345 --> 00:55:17,330 Hau da, zer programatzailea "Array". Bat deitu 1177 00:55:17,330 --> 00:55:21,250 Ordenagailu-programa bat ere, ez duzu uste azpiko hardware buruz, per se. 1178 00:55:21,250 --> 00:55:24,427 besterik zeuk uste duzu beharrik gisa milioi byte guztira sarbidea, 1179 00:55:24,427 --> 00:55:26,010 eta ezer dezakezu berarekin nahi duzun. 1180 00:55:26,010 --> 00:55:27,880 Baina komenientziagatik Oro har, erabilgarria da 1181 00:55:27,880 --> 00:55:31,202 Zure memoria eskubidea mantentzea bakoitzak hau bezalako bestearen ondoan. 1182 00:55:31,202 --> 00:55:33,660 Beraz zoom honetako nuen bada Halako on ari gara, ez delako joan 1183 00:55:33,660 --> 00:55:39,310 bilioi bat squares-- gutxi marrazteko Demagun taula honetan adierazten duten 1184 00:55:39,310 --> 00:55:40,610 memoria makila hori orain. 1185 00:55:40,610 --> 00:55:43,800 Eta besterik ez dut gisa marraztu asko bezala, nire markatzailea ondorioz sortu me hemen emanez. 1186 00:55:43,800 --> 00:55:46,420 1187 00:55:46,420 --> 00:55:52,300 Beraz, orain makila bat dugu Taula gainean oroimenaren 1188 00:55:52,300 --> 00:55:56,400 hori lortu bat, bi, hiru, lau, bost, sei, bat, bi, hiru, lau, bost, sei, 1189 00:55:56,400 --> 00:56:01,130 seven-- orain 42 byte memoria pantaila osoaren arabera. 1190 00:56:01,130 --> 00:56:01,630 Eskerrik asko. 1191 00:56:01,630 --> 00:56:02,838 Bai, nire aritmetika. 1192 00:56:02,838 --> 00:56:05,120 Beraz, 42 memoria byte hemen. 1193 00:56:05,120 --> 00:56:06,660 Beraz, hau benetan esan nahi? 1194 00:56:06,660 --> 00:56:09,830 Beno, informatika programatzailea litzateke benetan, oro har, 1195 00:56:09,830 --> 00:56:12,450 memoria honetan addressable bezala pentsatzea. 1196 00:56:12,450 --> 00:56:16,630 Beste era batera esanda, horietako bakoitza kokapenak memoria, hardware ere, 1197 00:56:16,630 --> 00:56:18,030 helbide berezia du. 1198 00:56:18,030 --> 00:56:22,020 >> Ez da gisa One BRATTLE konplexua Square, Cambridge, Mass., 02138. 1199 00:56:22,020 --> 00:56:23,830 Horren ordez, zenbaki bat besterik ez da. 1200 00:56:23,830 --> 00:56:27,930 Hau da, byte kopurua zero, hau da bat, hau da, bi, hau da, hiru, 1201 00:56:27,930 --> 00:56:30,327 eta hau 41 da. 1202 00:56:30,327 --> 00:56:30,910 Itxaron minutu batez. 1203 00:56:30,910 --> 00:56:32,510 42 esan dut une bat duela pentsatu dut. 1204 00:56:32,510 --> 00:56:35,050 1205 00:56:35,050 --> 00:56:37,772 zero at kontatuta hasi nintzen, beraz, benetan zuzena da. 1206 00:56:37,772 --> 00:56:40,980 Orain ez dugu benetan marrazteko sareta gisa, eta sareta bat bezala marraztu baduzu 1207 00:56:40,980 --> 00:56:43,520 Gauzak benetan uste dut pixka bat engainagarria. 1208 00:56:43,520 --> 00:56:46,650 Zer programatzailea litzateke, bere baitan, 1209 00:56:46,650 --> 00:56:50,310 Oro har, hau pentsatzea memoria zinta bat bezalakoa da gisa, 1210 00:56:50,310 --> 00:56:53,340 Maskaratzea zinta zati bat bezala Hori besterik ez, eta betiko doa 1211 00:56:53,340 --> 00:56:54,980 edo exekutatzen duzun arte oroimen gabe. 1212 00:56:54,980 --> 00:56:59,200 Beraz, bide ohikoagoa den marrazteko eta besterik memoria pentsatzen 1213 00:56:59,200 --> 00:57:03,710 hori da, byte zero, bat izango litzateke, bi, hiru, eta, ondoren, puntu, dot, dot. 1214 00:57:03,710 --> 00:57:07,650 Eta duzu 42 hala nola byte guztira, nahiz eta fisikoki agian benetan arren 1215 00:57:07,650 --> 00:57:09,480 horrelako zerbait gehiago izan. 1216 00:57:09,480 --> 00:57:12,850 >> Beraz, orain duzu uste baduzu, zure memoria honetan bezala, zinta bat bezala, 1217 00:57:12,850 --> 00:57:17,640 hau da, zer programatzailea berriro memoria array bat deitu litzateke. 1218 00:57:17,640 --> 00:57:20,660 Eta, benetan gorde nahi duzu ordenagailuaren memorian zerbait, 1219 00:57:20,660 --> 00:57:23,290 Oro har, ez duzu dendan gauzak back-to-back back-to-back to. 1220 00:57:23,290 --> 00:57:25,010 Beraz dugun izan zenbakiak buruz hitz egiten. 1221 00:57:25,010 --> 00:57:30,880 Eta noiz nahi nuen arazoak konpontzeko bezalako lau, bat, hiru, bi, 1222 00:57:30,880 --> 00:57:33,820 nahiz eta besterik ez dut marrazten zen arren soilik zenbakiak lau, bat, hiru, 1223 00:57:33,820 --> 00:57:39,490 bi taula gainean, ordenagailuaren litzateke benetan dute memorian instalazio honek. 1224 00:57:39,490 --> 00:57:43,347 >> Eta zer ondoan izango litzateke bi ordenagailuaren memorian? 1225 00:57:43,347 --> 00:57:44,680 Beno, ez dagoela erantzun ez. 1226 00:57:44,680 --> 00:57:45,770 ez benetan jakin dugu. 1227 00:57:45,770 --> 00:57:48,200 Eta hain luze jo ordenagailua ez da beharrezkoa da, 1228 00:57:48,200 --> 00:57:51,440 ez du izan behar zaintzeko zer da hurrengo zenbakiak buruz zaintzen du. 1229 00:57:51,440 --> 00:57:55,130 Eta noiz lehenago ordenagailu bat dagoela esan nuen Baino ezin helbide begiratu aldi berean, 1230 00:57:55,130 --> 00:57:56,170 hau zergatik mota da. 1231 00:57:56,170 --> 00:57:59,490 >> Ez da erregistro bat bezala jokalari eta irakurketa buru bat 1232 00:57:59,490 --> 00:58:03,030 soilik jakin bat begiratzeko gai izatea fisiko bat zahar-espedientea hasi groove 1233 00:58:03,030 --> 00:58:06,500 aldi berean, era berean, Ahal ordenagailua eskerrik bat 1234 00:58:06,500 --> 00:58:09,810 bere CPU eta bere izateko Intel instrukzio multzoa, 1235 00:58:09,810 --> 00:58:12,480 zeinen instrukzioa artean Oroimen irakurri 1236 00:58:12,480 --> 00:58:15,590 edo gorde bat, memoria ra ordenagailua bakarrik dezakezu begiratu 1237 00:58:15,590 --> 00:58:19,210 aldia batean kokapen bat batzuetan bien konbinazioa, 1238 00:58:19,210 --> 00:58:21,770 baina aldi berean kokapena benetan bakarrarekin. 1239 00:58:21,770 --> 00:58:24,770 Beraz, egiten ari ginen hainbat algoritmo horiek, 1240 00:58:24,770 --> 00:58:28,110 Ez dut besterik batean idazten vacuum-- lau, bat, hiru, bi. 1241 00:58:28,110 --> 00:58:30,849 Zenbaki horiek benetan dira memoria nonbait fisikoak. 1242 00:58:30,849 --> 00:58:32,890 Beraz, ez dira txiki txiki transistoreak edo nolabaiteko 1243 00:58:32,890 --> 00:58:35,840 azpian elektronika kanpaia balio horiek gordetzeko. 1244 00:58:35,840 --> 00:58:40,460 >> Eta, guztira, zenbat bit dira inplikatutako oraintxe, besterik gabe, argi izan behar da? 1245 00:58:40,460 --> 00:58:45,580 Beraz, hau lau byte da, edo orain 32 bit guztira da. 1246 00:58:45,580 --> 00:58:49,280 Beraz, ez dira benetan 32 zeroen eta direnak lau gauza hauek idazterakoan. 1247 00:58:49,280 --> 00:58:52,070 There are hemen baino gehiago, baina berriro ez dugu horri buruzko zaintzeko. 1248 00:58:52,070 --> 00:58:55,120 >> Beraz, gaur egun dezagun eskatu beste Galdera memoria erabiliz, 1249 00:58:55,120 --> 00:58:57,519 amaieran delako Egun bariantza da. 1250 00:58:57,519 --> 00:59:00,310 Ez dio axola zer liteke batekin egiten dugu Ordenagailua, egunaren amaieran 1251 00:59:00,310 --> 00:59:02,560 hardware da oraindik etorri kanpaia azpian bera. 1252 00:59:02,560 --> 00:59:04,670 Nola zuen ezer gorde dut hemen? 1253 00:59:04,670 --> 00:59:09,710 Beno, ordenagailu batean hitz bat bezala "Hey!" gorde beharko litzateke, besterik gabe, hau bezalako. 1254 00:59:09,710 --> 00:59:12,300 Eta luzeagoa nahi baduzu hitza, besterik gabe, ahal duzun 1255 00:59:12,300 --> 00:59:19,120 gainidatziko eta zerbait esan "Kaixo" eta denda hemen bezala. 1256 00:59:19,120 --> 00:59:23,930 >> Eta beraz, hemen ere, contiguousness honetan da benetan abantaila bat, 1257 00:59:23,930 --> 00:59:26,530 ordenagailu bat besterik ez delako ezkerretik eskuinera irakurri. 1258 00:59:26,530 --> 00:59:28,680 Baina hemen kontua da hori. 1259 00:59:28,680 --> 00:59:33,480 Hitz honen testuinguruan, h-e-l-l-o, harridura, 1260 00:59:33,480 --> 00:59:38,740 nola liteke ordenagailua dakit non hitza hasten eta non bukatzen den hitza? 1261 00:59:38,740 --> 00:59:41,690 1262 00:59:41,690 --> 00:59:43,800 zenbakiak testuinguruan, nola ordenagailua ez 1263 00:59:43,800 --> 00:59:48,396 Badakizu zenbat denbora sekuentzia Zenbakiak da edo bertan hasten da? 1264 00:59:48,396 --> 00:59:50,270 Beno, bihurtzen da eta ezin izango dugu gehiegi 1265 00:59:50,270 --> 00:59:54,970 detail-- maila honetan sartu ordenagailuak mugitu inguruan gauzak oroimenean 1266 00:59:54,970 --> 00:59:57,800 literalki helbide hauek medio. 1267 00:59:57,800 --> 01:00:02,080 Beraz, ordenagailu batean, bazaude kodea idatziz gauzak gordetzeko 1268 01:00:02,080 --> 01:00:05,800 hitzak bezala, zertan ari zaren Egiten idazten ari da 1269 01:00:05,800 --> 01:00:11,320 esamoldeak gogoratzen duten non hasi ordenagailuaren memorian hitz horiek dira. 1270 01:00:11,320 --> 01:00:14,370 Hargatik bat egin zidan oso, Adibidez, oso erraza. 1271 01:00:14,370 --> 01:00:18,260 >> Aurrera joan noa eta ireki, testu programa sinple bat, 1272 01:00:18,260 --> 01:00:20,330 eta ez naiz sortu joan Fitxategi bat izeneko hello.c. 1273 01:00:20,330 --> 01:00:22,849 Informazio hau gehiena dugu ez du sartu zehaztasun handiz, 1274 01:00:22,849 --> 01:00:25,140 baina egingo dut idatzi joan hizkuntza hori bera ere programa, 1275 01:00:25,140 --> 01:00:31,140 C. Hau da, orain arte gehiago beldurra, Gainera, nire ustez, Scratch baino, 1276 01:00:31,140 --> 01:00:32,490 baina espirituz oso antzekoa da. 1277 01:00:32,490 --> 01:00:34,364 Izan ere, kizkur horiek giltza mota dezakezu 1278 01:00:34,364 --> 01:00:37,820 zer ez horixe egin dut uste. 1279 01:00:37,820 --> 01:00:39,240 >> Hori da, benetan dezagun. 1280 01:00:39,240 --> 01:00:45,100 Noiz berdea Ez klik, honako hau. 1281 01:00:45,100 --> 01:00:50,210 inprimatu nahi dut "kaixo". 1282 01:00:50,210 --> 01:00:51,500 Beraz, hau da, gaur egun pseudocode. 1283 01:00:51,500 --> 01:00:53,000 Mota naiz lerro lausotzen. 1284 01:00:53,000 --> 01:00:56,750 C, hizkuntza hau hitz egiten ari naiz buruz, lerro hau inprimatu kaixo 1285 01:00:56,750 --> 01:01:01,940 benetan "printf" bihurtzen parentesi batzuk eta puntu bat. 1286 01:01:01,940 --> 01:01:03,480 >> Baina zehatza ideia bera da. 1287 01:01:03,480 --> 01:01:06,730 Eta hau oso lagungarria "Berdea Ez klik" bihurtzen 1288 01:01:06,730 --> 01:01:10,182 askoz gehiago urrutira "int hutsune nagusia." 1289 01:01:10,182 --> 01:01:12,890 Eta hau benetan mapping ez, beraz, besterik ez dut hori ez da joan. 1290 01:01:12,890 --> 01:01:17,210 Baina kizkur giltza bezalakoak dira makurrak puzzle hau bezalako piezak. 1291 01:01:17,210 --> 01:01:18,700 >> Beraz, zuk nolako ahal asmatzen. 1292 01:01:18,700 --> 01:01:22,357 Nahiz eta inoiz ez duzula aurretik programatu, zer programa hau seguruenik, zer egin? 1293 01:01:22,357 --> 01:01:25,560 1294 01:01:25,560 --> 01:01:28,000 Seguruenik inprimatzen kaixo harridura puntu batekin. 1295 01:01:28,000 --> 01:01:29,150 >> Hargatik saiatu dela. 1296 01:01:29,150 --> 01:01:30,800 hura gorde dut. 1297 01:01:30,800 --> 01:01:34,000 Eta hau da, berriro ere, oso bat eskola zaharra ingurumena. 1298 01:01:34,000 --> 01:01:35,420 Ezin dut egin klik, ezin dut, ezin arrastatu. 1299 01:01:35,420 --> 01:01:36,910 komando idatzi behar dut. 1300 01:01:36,910 --> 01:01:41,320 Beraz, nire programa exekutatu nahi dut, beraz, hau egin liteke dut, hello.c bezala. 1301 01:01:41,320 --> 01:01:42,292 Fitxategia I ran da. 1302 01:01:42,292 --> 01:01:43,500 Baina itxaron, urrats bat dut falta. 1303 01:01:43,500 --> 01:01:46,470 Zer esan dugu beharrezkoa da a C bezalako hizkuntza bat zapaldu? 1304 01:01:46,470 --> 01:01:49,470 Besterik ez dut idatzizko iturri kodea, baina zer egin behar dut? 1305 01:01:49,470 --> 01:01:50,670 Bai, konpiladore bat behar dut. 1306 01:01:50,670 --> 01:01:57,670 Beraz, nire Mac hemen, daukat bat GCC izeneko programa, GNU C konpilatzailea, 1307 01:01:57,670 --> 01:02:03,990 horri esker, aldi Halako egin dit Nire iturburu-kodea sartu, dugu deitu, 1308 01:02:03,990 --> 01:02:04,930 makina kodea. 1309 01:02:04,930 --> 01:02:10,180 >> Eta hori ikusten dut, berriro, honela, hauen 1310 01:02:10,180 --> 01:02:14,090 dira zero eta bai I just Nire iturburu kodea batetik sortu, 1311 01:02:14,090 --> 01:02:15,730 zero eta bai guztia. 1312 01:02:15,730 --> 01:02:17,770 Eta exekutatu nahi badut Nire programa da gertatzen 1313 01:02:17,770 --> 01:02:23,010 deitu behar a.out reasons-- historikoa "kaixo". 1314 01:02:23,010 --> 01:02:24,070 da berriro exekutatu ahal izango dut. 1315 01:02:24,070 --> 01:02:25,690 Kaixo, kaixo, kaixo. 1316 01:02:25,690 --> 01:02:27,430 Eta lanean ari dela dirudi. 1317 01:02:27,430 --> 01:02:31,000 >> Baina horrek esan nahi du, nonbait, nire ordenagailuaren memorian hitzak dira 1318 01:02:31,000 --> 01:02:35,279 h-e-l-l-o, harridura. 1319 01:02:35,279 --> 01:02:38,070 Eta bihurtzen da, besterik gabe gisa alde batera utzita, zer ordenagailu bat litzateke normalean 1320 01:02:38,070 --> 01:02:40,550 hacerlo daki hori non Gauzak hasteko eta end-- da 1321 01:02:40,550 --> 01:02:42,460 sinbolo berezi bat jarri hemen doa. 1322 01:02:42,460 --> 01:02:46,064 Eta hitzarmena jarri zero zenbakia hitz baten amaieran 1323 01:02:46,064 --> 01:02:48,230 Zu non benetan amaitzen, beraz, 1324 01:02:48,230 --> 01:02:52,750 ez mantendu, gero eta gehiago inprimatzeko karaktere baino benetan asmoa. 1325 01:02:52,750 --> 01:02:55,400 >> Baina eramateko hemen, nahiz eta hau da, nahiko urrutira arren, 1326 01:02:55,400 --> 01:02:58,140 azken finean, hori da nahiko erraza. 1327 01:02:58,140 --> 01:03:04,550 ziren zinta moduko eman duzu, huts bat Espazio horren gainean letrak idatzi ditzakezu. 1328 01:03:04,550 --> 01:03:07,150 Besterik ez duzu bat izatea sinbolo bereziak, arbitrarioki bezala 1329 01:03:07,150 --> 01:03:10,316 zero zenbakia, to amaieran jarri Zure hitzak, beraz, ordenagailu hori ezagutzen, 1330 01:03:10,316 --> 01:03:13,410 oh, inprimatzeko gelditu behar dut ondoren harridura ikusten dut. 1331 01:03:13,410 --> 01:03:16,090 hurrengo gauza ez delako ASCII zero balioa da, 1332 01:03:16,090 --> 01:03:19,125 edo pertsonaia null gisa Norbaitek esango luke. 1333 01:03:19,125 --> 01:03:21,500 Baina ez da arazo bat mota hemen, eta ez dezagun atzera leheneratu 1334 01:03:21,500 --> 01:03:23,320 une batez zenbakiak den. 1335 01:03:23,320 --> 01:03:28,720 Demagun hori egiten dut, hain zuzen ere, zenbakiak array bat, 1336 01:03:28,720 --> 01:03:30,730 eta suposatzen duten Programa naiz idazten da 1337 01:03:30,730 --> 01:03:34,680 kalifikazioa irakasle batek liburu bat bezala eta irakasleak ikasgelan bat. 1338 01:03:34,680 --> 01:03:38,720 Eta programa honek aukera ematen du berari idatzi beren ikasleen puntuazioak 1339 01:03:38,720 --> 01:03:39,960 galdetegiek. 1340 01:03:39,960 --> 01:03:43,750 Eta demagun ikaslea lortzen 100 bere lehen quiz, agian 1341 01:03:43,750 --> 01:03:49,920 80 bat hurrengo batean, orduan bat bezala 75, gero 90 bat laugarren galdetegi orrian. 1342 01:03:49,920 --> 01:03:54,150 >> Beraz, istorioa Puntu honetan, array tamaina lau da. 1343 01:03:54,150 --> 01:03:58,470 Ez dago memoria erabat gehiago izan du ordenagailua, baina array, nolabait esateko, 1344 01:03:58,470 --> 01:04:00,350 tamaina lau da. 1345 01:04:00,350 --> 01:04:06,060 Demagun orain, irakasleak nahi duen bosgarren klasean galdetegi bat esleitzeko. 1346 01:04:06,060 --> 01:04:08,510 Beno, gauza bat zuen edo zuen egin behar joan 1347 01:04:08,510 --> 01:04:10,650 da orain balio gehigarri bat gordetzeko hemen. 1348 01:04:10,650 --> 01:04:15,490 Baina array bada irakaslearen ditu Programa honetan sortutako tamaina da, 1349 01:04:15,490 --> 01:04:22,440 sorta batekin arazo bat dela Ezin besterik mantentzeko duzu memoria gehituz. 1350 01:04:22,440 --> 01:04:26,470 Zeren bada beste zati Programa hitzaren ditu "hey" bertan? 1351 01:04:26,470 --> 01:04:29,650 >> Beste era batera esanda, nire memoria izan daiteke programa batean ezer erabil. 1352 01:04:29,650 --> 01:04:33,250 Eta aldez aurretik bada idatzi dut, beno, Nahi sarrerako lau galdetegi partiturak dut, 1353 01:04:33,250 --> 01:04:34,784 Hemen eta hemen go dute agian. 1354 01:04:34,784 --> 01:04:37,700 Eta bat-batean, zure kontuan aldatzeko geroago eta esan bosgarren galdetegi bat egin nahi dut 1355 01:04:37,700 --> 01:04:40,872 puntuak, ezin duzu besterik ez edonon nahi duzun, 1356 01:04:40,872 --> 01:04:42,580 baita zer hau bada memoria erabiltzen ari da 1357 01:04:42,580 --> 01:04:45,990 Zerbait egiteko beste programa batzuk Bestela edo beste programaren ezaugarri batzuk 1358 01:04:45,990 --> 01:04:46,910 ari martxan? 1359 01:04:46,910 --> 01:04:50,650 Beraz, aldez aurretik uste duzu nola zure datuak gorde nahi duzun, 1360 01:04:50,650 --> 01:04:54,480 orain margotu ditudan duzulako yourself izkinan digital bat sartu. 1361 01:04:54,480 --> 01:04:57,280 >> Beraz, irakasle bat egin dezake ordez esan programa bat idazten duzunean 1362 01:04:57,280 --> 01:04:59,360 gordetzeko bere kalifikazio, badakizu zer? 1363 01:04:59,360 --> 01:05:04,180 eskatzeko noa, nire programa idazten denean, 1364 01:05:04,180 --> 01:05:12,070 nahi dut zero, bat, bi, hiru, lau, bost, sei, zortzi kalifikazio osotara. 1365 01:05:12,070 --> 01:05:15,320 Bat, bi, hiru, lau, bost, sei, zazpi, zortzi. 1366 01:05:15,320 --> 01:05:18,612 Irakaslearen ahal pasatxo-esleitu memoria denean bere programa idazten 1367 01:05:18,612 --> 01:05:19,570 eta esan, zer dakizu? 1368 01:05:19,570 --> 01:05:22,236 Inoiz ez naiz gehiago esleitu joan seihileko batean zortzi galdetegiak baino. 1369 01:05:22,236 --> 01:05:23,130 Joseba. 1370 01:05:23,130 --> 01:05:24,470 Ez dut inoiz esleitu dela. 1371 01:05:24,470 --> 01:05:28,270 Beraz, modu honetan, berak ditu denda ikasleen puntuazioak malgutasuna, 1372 01:05:28,270 --> 01:05:33,010 75, 90, eta, agian aparteko non like Ikasleak lortu estrak, 105. 1373 01:05:33,010 --> 01:05:36,130 >> Baina bada irakaslearen inoiz hiru espazio horiek erabiltzen ditu, 1374 01:05:36,130 --> 01:05:38,860 ez intuitiboa eramateko bat da hemen. 1375 01:05:38,860 --> 01:05:41,410 Hark zuzenduko du, hau da, besterik gabe espazioa alferrik galtzen. 1376 01:05:41,410 --> 01:05:44,790 Beraz, beste era batera esanda, ez da hau programazio denerako komunak 1377 01:05:44,790 --> 01:05:48,241 non bai esleitu ahal izango duzu zehazki, askoz ere memoria nahi duzun bezala, 1378 01:05:48,241 --> 01:05:51,490 horietatik hankaz da super zarela efficient-- ari ez parrastatzailea ere 1379 01:05:51,490 --> 01:05:54,640 all-- at baina horrek arazotxo da zer zure kontuan denean aldatzen baldin baduzu 1380 01:05:54,640 --> 01:05:58,780 gorde nahi duzun programa erabiliz Zu baino datu gehiago jatorriz xedea. 1381 01:05:58,780 --> 01:06:03,030 >> Beraz, agian konponbidea da, orduan, programak idazten modu bat, 1382 01:06:03,030 --> 01:06:05,605 memoria gehiago erabiltzen dutela baino benetan behar. 1383 01:06:05,605 --> 01:06:07,730 Horrela ez duzu joan arazo hori sartu exekutatu, 1384 01:06:07,730 --> 01:06:09,730 baina parrastatzailea ere zu. 1385 01:06:09,730 --> 01:06:12,960 Eta orduan eta memoria gehiago erabiltzen du programa, eztabaidatu dugun bezala, atzo, gutxiago 1386 01:06:12,960 --> 01:06:15,410 memoria hori eskuragarri beste programak, 1387 01:06:15,410 --> 01:06:18,790 lehenago zure baliteke ordenagailua motela behera delako memoria birtuala. 1388 01:06:18,790 --> 01:06:22,670 Eta, beraz, irtenbide ezin hobea zer izan liteke? 1389 01:06:22,670 --> 01:06:24,610 >> Under-puntuek dirudi txarra. 1390 01:06:24,610 --> 01:06:27,030 Over-puntuek txarra dela dirudi. 1391 01:06:27,030 --> 01:06:31,120 Beraz, zer hobeto irtenbide bat izan liteke? 1392 01:06:31,120 --> 01:06:32,390 Reallocating. 1393 01:06:32,390 --> 01:06:33,590 Kontuz dinamikoagoa. 1394 01:06:33,590 --> 01:06:37,520 Ez behartu yourself bat aukeratu priori, hasieran, zer nahi duzu. 1395 01:06:37,520 --> 01:06:41,370 Eta, zalantzarik gabe, ez gehiago-esleitu, kausituko izan parrastatzailea. 1396 01:06:41,370 --> 01:06:45,770 >> Eta beraz, helburu hori lortzeko, dugu Behar Datuen egitura hau bota, 1397 01:06:45,770 --> 01:06:48,100 nolabait esateko, kanpoan. 1398 01:06:48,100 --> 01:06:51,080 Eta orain zer programatzailea normalean erabiliko du 1399 01:06:51,080 --> 01:06:55,940 zerbait ez deritzo array baina lotuta zerrenda bat. 1400 01:06:55,940 --> 01:07:00,860 Beste era batera esanda, berak izango hasteko beren memoria pentsatzea 1401 01:07:00,860 --> 01:07:05,280 Forma baten antzeko zerbait izateaz dutela daiteke honela marraztu. 1402 01:07:05,280 --> 01:07:08,520 zenbaki bat gordetzeko ere nahi badut programa bat September da, beraz, 1403 01:07:08,520 --> 01:07:12,600 Eman dut nire ikasleak galdetegi bat; nahi dut ikasleen lehen galdetegi gordetzeko, 1404 01:07:12,600 --> 01:07:16,220 eta 100 bat lortu deitu nuen dute Nire ordenagailua galdetzera joan, 1405 01:07:16,220 --> 01:07:19,540 Programaren dut modu idatzia, memoria zatia bat da. 1406 01:07:19,540 --> 01:07:22,570 Eta ez dut gordetzeko joan 100 zenbakia da, eta hori da. 1407 01:07:22,570 --> 01:07:24,820 >> aste Gero batzuk geroago nire bigarren galdetegia lortu dut, 1408 01:07:24,820 --> 01:07:27,890 eta denbora behar idazten da % 90 horretan, noan 1409 01:07:27,890 --> 01:07:32,129 ordenagailu eskatu, beno, ordenagailua, ahal beste zatia memoria bat behar dut? 1410 01:07:32,129 --> 01:07:34,170 Honez niretzat hau ematera joan memoria zatia hutsik. 1411 01:07:34,170 --> 01:07:39,370 90 zenbakia jarri noa, baina nire programan nolabait edo other-- 1412 01:07:39,370 --> 01:07:42,100 eta ez dugu kezkatu buruz sintaxia dute hau egiteko behar dut 1413 01:07:42,100 --> 01:07:44,430 nolabait kate gauza horiek elkarrekin. 1414 01:07:44,430 --> 01:07:47,430 Eta horiek kate dut elkarrekin zer gezi bat hemen itxura. 1415 01:07:47,430 --> 01:07:50,050 >> Hirugarren quiz datorren, erran nahi dut, beno, ordenagailua, 1416 01:07:50,050 --> 01:07:51,680 ematen dit beste zatia memoria bat. 1417 01:07:51,680 --> 01:07:54,660 Eta ez dut behera jarri nahi dut edozein dela ere, izan zen 75 bezala, 1418 01:07:54,660 --> 01:07:56,920 eta kate honen I elkarrekin orain, nolabait. 1419 01:07:56,920 --> 01:08:00,290 Laugarren galdetegi batera dator, eta, agian, hori lauhilekoaren amaieran da. 1420 01:08:00,290 --> 01:08:03,140 Eta puntu horretan nire programaren arabera memoriarekin izan liteke 1421 01:08:03,140 --> 01:08:05,540 guztiak leku baino gehiago, fisikoki baino gehiago. 1422 01:08:05,540 --> 01:08:08,170 Eta, beraz, besterik ez Jaurtiketa, naiz hau marrazteko aurrera joan 1423 01:08:08,170 --> 01:08:11,260 quiz-- zer zen hura ahaztu dut; I uste agian 80 edo zerbait 1424 01:08:11,260 --> 01:08:12,500 horrela hemen. 1425 01:08:12,500 --> 01:08:15,920 >> Baina hori fina, Pictorially delako lerro hau marraztu dut. 1426 01:08:15,920 --> 01:08:19,063 Beste era batera esanda, egia esan, zure ordenagailuaren hardwarearen ere, 1427 01:08:19,063 --> 01:08:20,979 Lehenengo puntuazio agian azkenean, hemen da delako 1428 01:08:20,979 --> 01:08:22,529 eskubidea lauhilekoaren hasieran. 1429 01:08:22,529 --> 01:08:25,810 Hurrengoa azkenean baliteke hemen denbora pixka bat delako gainditu ditu 1430 01:08:25,810 --> 01:08:27,210 eta programa martxan mantentzen. 1431 01:08:27,210 --> 01:08:30,060 Hurrengo puntuak, eta hori izan zen 75 bat, hemen baino gehiago izan ditzake. 1432 01:08:30,060 --> 01:08:33,420 Eta azken puntuazio izan liteke 80 bat, hemen baino gehiago da. 1433 01:08:33,420 --> 01:08:38,729 >> Beraz, errealitatean, fisikoki, hau izan liteke Zein da zure ordenagailuaren memorian itxura. 1434 01:08:38,729 --> 01:08:41,569 Baina hau ez da mental erabilgarria ordenagailu programatzailea paradigma. 1435 01:08:41,569 --> 01:08:44,649 Zergatik behar non Laguntza heck zure datuak bukatzen da? 1436 01:08:44,649 --> 01:08:46,200 Nahi besterik ez duzu datuak gordetzeko. 1437 01:08:46,200 --> 01:08:49,390 >> Honek mota gure eztabaida bezalako Kuboa marrazketa lehenago. 1438 01:08:49,390 --> 01:08:52,200 Zergatik axola zer angelu kubo da 1439 01:08:52,200 --> 01:08:53,740 eta nola marraztu buelta eman behar duzu? 1440 01:08:53,740 --> 01:08:54,950 Kubo bat Nahi besterik ez duzu. 1441 01:08:54,950 --> 01:08:57,359 Era berean, hemen duzu besterik kalifikazioa book nahi. 1442 01:08:57,359 --> 01:08:59,559 Nahi besterik ez duzu pentsatzen hau zenbakien zerrenda bat bezala. 1443 01:08:59,559 --> 01:09:01,350 Nork zaintzen nola da inplementatu hardware in? 1444 01:09:01,350 --> 01:09:05,180 >> Beraz, abstrakzioa orain Argazki hau hemen da. 1445 01:09:05,180 --> 01:09:07,580 Hau da zerrenda lotuta, gisa programatzailea da deitu litzateke, 1446 01:09:07,580 --> 01:09:10,640 bat duzu heinean zerrenda, zenbakien jakina. 1447 01:09:10,640 --> 01:09:14,990 Baina Pictorially lotu geziak horien bidez, 1448 01:09:14,990 --> 01:09:18,510 eta geziak horiek guztiak are-- azpian kanpaia, ari zaren bitxia bada, 1449 01:09:18,510 --> 01:09:23,210 Gogoratzen gure hardware fisikoak erabiltzen ditu helbideak zero, bat, bi, hiru, lau. 1450 01:09:23,210 --> 01:09:28,465 geziak horiek guztiak dira mapa bat bezalakoa da 90 is-- edo argibideak, non bada orain 1451 01:09:28,465 --> 01:09:29,090 zenbatu lortu nuen. 1452 01:09:29,090 --> 01:09:31,750 >> Zero, bat, bi, hiru, lau, bost, sei, zazpi. 1453 01:09:31,750 --> 01:09:35,640 bezalako 90 at dago erabilgarri memoria helbidea zazpi zenbakia. 1454 01:09:35,640 --> 01:09:38,460 geziak horiek guztiak dira da paper puska bat bezala 1455 01:09:38,460 --> 01:09:42,439 hori norabide emanez Programa dioen mapa hau jarraitu 1456 01:09:42,439 --> 01:09:43,880 to kokapena zazpi iristeko. 1457 01:09:43,880 --> 01:09:46,680 Eta han aurkituko dituzu Ikaslearen bigarren galdetegia puntuazioa. 1458 01:09:46,680 --> 01:09:52,100 Bien bitartean, 75-- hau jarraitzen badut, hau da, zazpi, zortzi, bederatzi, 10, 11, 12, 1459 01:09:52,100 --> 01:09:54,240 13, 14, 15. 1460 01:09:54,240 --> 01:09:59,080 >> beste gezi Hau besterik adierazten memoria kokapena 15era mapa bat. 1461 01:09:59,080 --> 01:10:02,550 Baina, berriro ere, programatzaile, oro har, ez du Ez Xehetasun maila honetan zaintzeko. 1462 01:10:02,550 --> 01:10:05,530 Eta gehien programazio guztietan Hizkuntza gaur, programatzailea 1463 01:10:05,530 --> 01:10:10,490 ez du, nahiz eta jakin non memoria zenbaki horiek benetan dira. 1464 01:10:10,490 --> 01:10:14,830 Guztiak berak ditu ingurukoa da zaintzeko direla nolabait lotuta elkarrekin 1465 01:10:14,830 --> 01:10:18,390 datu-egitura batean. 1466 01:10:18,390 --> 01:10:21,580 >> Baina bihurtzen da, ez gehiegi teknikoak lortzeko. 1467 01:10:21,580 --> 01:10:27,430 Baina ezin dugu agian, besterik ez delako ordaindu eztabaida hau hemen, 1468 01:10:27,430 --> 01:10:33,630 Suposatzen bazenuke dugun Arazo hau hemen array bat. 1469 01:10:33,630 --> 01:10:35,780 Ikus dezagun damutuko dugu hemen gertatzen bada. 1470 01:10:35,780 --> 01:10:42,950 Honek 100, 90, 75, eta 80 da. 1471 01:10:42,950 --> 01:10:44,980 >> Dezagun laburki egin me erreklamazio hau. 1472 01:10:44,980 --> 01:10:48,980 Array bat da, eta, berriro ere, array baten ezaugarri nabarmenetako 1473 01:10:48,980 --> 01:10:52,400 dela zure datu guztiak da atzera back to memoria gordetzeko atzera literalki 1474 01:10:52,400 --> 01:10:56,830 byte bat edo, agian, lau byte, byte kopuru finko batzuk kanpoan. 1475 01:10:56,830 --> 01:11:00,710 lotutako zerrenda bat, eta horrek agian marraztu dugu Hau atsegin, kanpaia azpian nor 1476 01:11:00,710 --> 01:11:02,000 daki non stuff hori da? 1477 01:11:02,000 --> 01:11:03,630 Ez du, nahiz honelako osotasunean behar. 1478 01:11:03,630 --> 01:11:06,050 Datu batzuk izan daiteke Atzera Ezkerretik han. 1479 01:11:06,050 --> 01:11:07,530 Zuk ez duzu, nahiz eta jakin. 1480 01:11:07,530 --> 01:11:15,430 >> Eta orain sorta batekin, bat duzu Ezaugarri ausazko sarbidea bezala ezagutzen. 1481 01:11:15,430 --> 01:11:20,570 Eta zer ausazko sarbidea bide da ordenagailuak berehala salto egin dezake 1482 01:11:20,570 --> 01:11:22,730 Bat kokapena array bat da. 1483 01:11:22,730 --> 01:11:23,580 Zergatik? 1484 01:11:23,580 --> 01:11:26,000 ordenagailua daki delako Lehenengo kokapena dela 1485 01:11:26,000 --> 01:11:29,540 zero, bat, bi, eta hiru. 1486 01:11:29,540 --> 01:11:33,890 >> Eta horrela joan nahi baduzu du elementu batetik honetan, 1487 01:11:33,890 --> 01:11:36,099 literalki, in the ordenagailuaren gogoan, besterik gehi bat. 1488 01:11:36,099 --> 01:11:39,140 Hirugarren elementua joan nahi izanez gero, besterik gehitu hurrengo elementu one--, besterik 1489 01:11:39,140 --> 01:11:40,290 gehi bat. 1490 01:11:40,290 --> 01:11:42,980 Hala ere, bertsio honetan Istorioaren, demagun 1491 01:11:42,980 --> 01:11:46,080 ordenagailuan unean ari da Etxean edo 100 zenbakia aurre. 1492 01:11:46,080 --> 01:11:49,770 Nola lortu hurrengo duzu kalifikazioa liburuan guztirakoak? 1493 01:11:49,770 --> 01:11:52,560 >> zazpi hartu behar duzu urratsak, zein da arbitrarioa. 1494 01:11:52,560 --> 01:11:58,120 Hurrengo bat lortzeko, behar duzu hartu beste zortzi urrats to 15 lortu. 1495 01:11:58,120 --> 01:12:02,250 Beste era batera esanda, ez da bat zenbakiak arteko etengabeko hutsunea, 1496 01:12:02,250 --> 01:12:04,857 eta beraz kontua besterik ez da ordenagailua denbora gehiago puntua da. 1497 01:12:04,857 --> 01:12:06,940 Ordenagailua bilatu ditu ordena memoria bidez 1498 01:12:06,940 --> 01:12:08,990 da zer bilatzen ari zaren aurkitzeko. 1499 01:12:08,990 --> 01:12:14,260 >> Beraz, array bat joera bat izan nahi du, berriz, Datu azkarra structure-- duzulako 1500 01:12:14,260 --> 01:12:17,610 literalki besterik ez dezake aritmetika simple eta non nahi duzu lortuko bidali gehituz, 1501 01:12:17,610 --> 01:12:21,300 lotutako zerrenda bat Adibidez for, Ezaugarri hori sakrifikatu duzu. 1502 01:12:21,300 --> 01:12:24,020 Ezin besterik lehen joan bigarren hirugarren izateko laugarren. 1503 01:12:24,020 --> 01:12:25,240 mapa jarraitu behar duzu. 1504 01:12:25,240 --> 01:12:28,160 urrats gehiago hartu behar duzu balore horiek, iritsi eta bertan 1505 01:12:28,160 --> 01:12:30,230 kostu bat gehituz izan badirudi. 1506 01:12:30,230 --> 01:12:35,910 Beraz prezioa ordaindu ari gara, baina zer zen Ezaugarri Dan hemen bilatuz zen? 1507 01:12:35,910 --> 01:12:38,110 Zer lotutako zerrenda bat egiten du itxuraz egiten uzten digu, 1508 01:12:38,110 --> 01:12:40,240 bertan jatorria izan zen bereziki istorio hau? 1509 01:12:40,240 --> 01:12:43,250 1510 01:12:43,250 --> 01:12:43,830 >> Zehazki. 1511 01:12:43,830 --> 01:12:46,220 tamaina dinamikoa da. 1512 01:12:46,220 --> 01:12:48,040 gehitu ahal izango dugu zerrenda honetan. 1513 01:12:48,040 --> 01:12:51,430 Dugu, nahiz txikitu dezakezu zerrendan, beraz, Hori bakarrik ari gara askoz memoria erabiliz 1514 01:12:51,430 --> 01:12:55,560 Benetan nahi dugu, eta, beraz, Oraindik ez dugu inoiz baino gehiago-puntuek. 1515 01:12:55,560 --> 01:12:58,470 >> Orain besterik benetan Nit-hautakorra izan nahi du, ez ezkutuko kostua. 1516 01:12:58,470 --> 01:13:01,980 Beraz, behar ez bakarrik utzi duzu me konbentzitu duzu hori sinesgarria denerako. 1517 01:13:01,980 --> 01:13:04,190 Badira beste ezkutuko kostua da hemen. 1518 01:13:04,190 --> 01:13:06,550 Prestazioa, argi izan behar da, dela dinamismoa lortu dugu. 1519 01:13:06,550 --> 01:13:10,359 beste elementu bat nahi dut, besterik ezin dut marraztu eta zenbaki bat jarri hor. 1520 01:13:10,359 --> 01:13:12,150 Eta, ondoren, lotu ahal dut argazki batekin hemen, 1521 01:13:12,150 --> 01:13:14,970 hemen baino gehiago, berriz, berriro ere, ez dut bada margotu neure burua txoko batean, 1522 01:13:14,970 --> 01:13:19,410 beste zerbait dagoeneko erabiltzen ari bada memorian hemen, naiz suerte dut. 1523 01:13:19,410 --> 01:13:21,700 Nik margotu dut neure burua txoko sartu. 1524 01:13:21,700 --> 01:13:24,390 >> Baina zer da ezkutatzea argazki hau kostua? 1525 01:13:24,390 --> 01:13:27,690 Ez da zenbatekoa besterik ez da denbora da hartzen duten 1526 01:13:27,690 --> 01:13:29,870 hemendik joan hemen, horietatik zazpi urrats da, ondoren, 1527 01:13:29,870 --> 01:13:32,820 Zortzi urrats, eta horrek bat baino gehiago da. 1528 01:13:32,820 --> 01:13:34,830 Zer da beste ezkutuko kostua? 1529 01:13:34,830 --> 01:13:35,440 Ez bakarrik denbora. 1530 01:13:35,440 --> 01:13:44,790 1531 01:13:44,790 --> 01:13:49,940 Informazio gehiago Beharrezkoa irudi hori lortzeko. 1532 01:13:49,940 --> 01:13:53,210 >> Bai, mapa hori, scrap txiki horiek paper, haiek deskribatzeko jarraitzen dudalarik. 1533 01:13:53,210 --> 01:13:55,650 Hauek horiek geziak baino ez dira doan. 1534 01:13:55,650 --> 01:13:57,660 ordenagailu batek badakizu zer ordenagailu bat dauka. 1535 01:13:57,660 --> 01:13:58,790 zeroen eta bai ditu. 1536 01:13:58,790 --> 01:14:03,170 gezi bat edo bat ordezkatzen nahi badituzu mapa edo zenbaki bat, memoria pixka bat behar duzu. 1537 01:14:03,170 --> 01:14:05,950 Beraz, beste prezioa duzu lotutako zerrenda bat ordaintzeko, 1538 01:14:05,950 --> 01:14:09,070 komun bat informatika baliabide, espazioa ere bada. 1539 01:14:09,070 --> 01:14:11,710 >> Eta hain zuzen ere, beraz, beraz, normalean, Transakzioak artean 1540 01:14:11,710 --> 01:14:15,580 software ingeniaritza diseinatzen sistemak denbora eta espazioa da 1541 01:14:15,580 --> 01:14:18,596 dira zure osagaiak bi, bi Zure garestia osagaiak. 1542 01:14:18,596 --> 01:14:21,220 Hau da, niri balio duten denbora gehiago Mapa honetan jarraitu behar dut, zeren, 1543 01:14:21,220 --> 01:14:25,730 baina, aldi berean niretzat balio duten espazio gehiago Mapa hau mantendu behar dudalako. 1544 01:14:25,730 --> 01:14:28,730 Beraz, itxaropena, mota dugu, gisa Atzo eta gaur egun baino gehiago eztabaidatu, 1545 01:14:28,730 --> 01:14:31,720 onurak dela kostuak gainditzen dira. 1546 01:14:31,720 --> 01:14:33,870 >> Baina ez dago bistako irtenbide hemen. 1547 01:14:33,870 --> 01:14:35,870 Agian better-- da la azkar eta zikin, 1548 01:14:35,870 --> 01:14:38,660 Kareem proposatutako lehenago bezala memoria bota arazoa at. 1549 01:14:38,660 --> 01:14:42,520 Just erosi memoria gehiago, uste gutxiago arazoa konpontzeko buruz gogorra, 1550 01:14:42,520 --> 01:14:44,595 eta konpondu modu errazago batean. 1551 01:14:44,595 --> 01:14:46,720 Eta hain zuzen ere, lehenago, Transakzioak buruz hitz egin dugu, 1552 01:14:46,720 --> 01:14:49,190 ez zen espazioan Ordenagailua eta denbora. 1553 01:14:49,190 --> 01:14:51,810 sustatzailearen denbora, izan zen bertan oraindik beste baliabide bat da. 1554 01:14:51,810 --> 01:14:54,829 >> Beraz, berriro ere, oreka hau da erabakitzen saiatzen gauza horiek zein 1555 01:14:54,829 --> 01:14:55,870 zauden pasatzeko prest? 1556 01:14:55,870 --> 01:14:57,380 Zein da gutxienez garestia da? 1557 01:14:57,380 --> 01:15:01,040 Zein errendimendu du emaitza hobeak? 1558 01:15:01,040 --> 01:15:01,540 Bai? 1559 01:15:01,540 --> 01:15:11,310 1560 01:15:11,310 --> 01:15:12,580 >> Hain zuzen ere. 1561 01:15:12,580 --> 01:15:15,970 Kasu honetan, Oraindik baduzu maps-- zenbakiak ordezkari 1562 01:15:15,970 --> 01:15:18,820 horiek hizkuntza askotan deitzen "Erakusle" edo "helbideak" - 1563 01:15:18,820 --> 01:15:20,390 espazio bikoitza da. 1564 01:15:20,390 --> 01:15:24,390 Hori behar ez bezala bikoitza balitz bezala txarra oraintxe ari gara zenbakiak gordetzeko. 1565 01:15:24,390 --> 01:15:27,410 Demagun ziren gordetzeko dugu hospital-- batean gaixoaren Erregistro 1566 01:15:27,410 --> 01:15:30,870 Pierson izenak, telefono zenbakiak, beraz, segurtasun sozial zenbakiak, medikua 1567 01:15:30,870 --> 01:15:31,540 historia. 1568 01:15:31,540 --> 01:15:34,160 Kutxa honetan, askoz ere izan liteke, askoz handiagoa da, eta kasu horretan 1569 01:15:34,160 --> 01:15:38,000 txiki txiki erakuslea, helbidea sartu hurrengo element-- ez da big aurre. 1570 01:15:38,000 --> 01:15:40,620 hala nola, Fringe bat da kostua ez du axola. 1571 01:15:40,620 --> 01:15:43,210 Baina kasu honetan, bai, bikoiztea da. 1572 01:15:43,210 --> 01:15:45,290 Galdera ona. 1573 01:15:45,290 --> 01:15:47,900 >> Hitz egin dezagun denbora bat egin dezagun gutxi zehazkiago. 1574 01:15:47,900 --> 01:15:50,380 Zer ari da denbora zerrenda honetan bilatzen? 1575 01:15:50,380 --> 01:15:53,640 Demagun bilatu nahi dut ikasleen kalifikazio guztiak bitartez, 1576 01:15:53,640 --> 01:15:55,980 eta ez da, n kalifikazio Datu egitura honetan. 1577 01:15:55,980 --> 01:15:58,830 Hemen ere, maileguan hartu ahal izango dugu lehenago hiztegia. 1578 01:15:58,830 --> 01:16:00,890 Hau lineala datu-egitura bat da. 1579 01:16:00,890 --> 01:16:04,570 >> Big n O da, zer beharrezkoa den zaitez Datu egitura honen amaieran, 1580 01:16:04,570 --> 01:16:08,410 whereas-- eta ez dugu ikusten hau lehenago array bat ematen dizu 1581 01:16:08,410 --> 01:16:13,555 zer izeneko denbora etengabe, eta horrek esan nahi du urrats bat edo bi urrats edo 10 urrats 1582 01:16:13,555 --> 01:16:14,180 ez du axola. 1583 01:16:14,180 --> 01:16:15,440 kopuru finko bat da. 1584 01:16:15,440 --> 01:16:17,440 ezer egin ditu array tamaina. 1585 01:16:17,440 --> 01:16:20,130 Eta horren arrazoia, berriro, ausazko sarbidea da. 1586 01:16:20,130 --> 01:16:23,180 Ordenagailua besterik berehala beste kokaleku salto, 1587 01:16:23,180 --> 01:16:27,770 guztiak berdinak direlako beste guztia distantzia. 1588 01:16:27,770 --> 01:16:29,112 Ez dago pentsamendu parte hartzen da. 1589 01:16:29,112 --> 01:16:31,900 1590 01:16:31,900 --> 01:16:32,400 Ados. 1591 01:16:32,400 --> 01:16:39,230 Beraz, ahal badut, utzi saiatu me margotzeko bi final argazkiak. 1592 01:16:39,230 --> 01:16:42,830 bat oso ohikoa hash taula bat bezala ezagutzen. 1593 01:16:42,830 --> 01:16:51,120 Beraz, eztabaida hau motibatzeko, utzi hau nola egin pentsatzen dit. 1594 01:16:51,120 --> 01:16:52,610 >> Beraz, nola da hau? 1595 01:16:52,610 --> 01:16:55,160 Demagun arazoa dagoela orain konpondu nahi ditugu 1596 01:16:55,160 --> 01:16:58,360 dago hiztegian batean gauzatzeko beraz, ingelesez hitzak sorta oso bat 1597 01:16:58,360 --> 01:16:59,330 edo dena delakoa. 1598 01:16:59,330 --> 01:17:02,724 Eta helburua da erantzun ahal izateko formularioa galderei da hau hitz bat? 1599 01:17:02,724 --> 01:17:04,640 Beraz, nahi ezartzeko zuzentzaileari bat, besterik ez 1600 01:17:04,640 --> 01:17:07,220 hiztegia fisiko bat bezala Gauzak begiratu dezakezu hori. 1601 01:17:07,220 --> 01:17:10,490 Demagun hau egin sorta batekin nengoela. 1602 01:17:10,490 --> 01:17:12,590 Horretarako izan dut. 1603 01:17:12,590 --> 01:17:20,756 >> Eta demagun hitz sagar dira eta platano eta cantaloupe. 1604 01:17:20,756 --> 01:17:23,330 1605 01:17:23,330 --> 01:17:26,465 Eta ezin dut fruituak uste hori d hasiko da, beraz, besterik ez gara 1606 01:17:26,465 --> 01:17:27,590 Hiru fruituak izan da joan. 1607 01:17:27,590 --> 01:17:31,510 Beraz, hau array bat da, eta ez gara hitz hauek guztiak gordetzeko 1608 01:17:31,510 --> 01:17:34,200 Hiztegi hau array gisa ere. 1609 01:17:34,200 --> 01:17:39,350 Galdera da, bada, nola bestela ezin Informazio hau gorde duzu? 1610 01:17:39,350 --> 01:17:43,160 >> Ba, ez dut hemen tranpa mota, baita hitzen letrak horietako bakoitzaren 1611 01:17:43,160 --> 01:17:44,490 benetan banakako byte bat. 1612 01:17:44,490 --> 01:17:46,740 Beraz, nahi dut izan bada nit-hautakorra, benetan behar dut 1613 01:17:46,740 --> 01:17:49,600 den honetan zatitzerakoan askoz sartu memoria zatiak txikiagoak, 1614 01:17:49,600 --> 01:17:51,289 eta zehazki hori egin izan dugu. 1615 01:17:51,289 --> 01:17:53,580 Baina ari gara sartu exekutatu arazoa bera lehen bezala. 1616 01:17:53,580 --> 01:17:56,674 Zer bada, Merriam Webster edo Oxford gisa du aurtengo bakoitzean hitz gehitu dira 1617 01:17:56,674 --> 01:17:59,340 hiztegian ez egiten dugu zertan nahi geure margotzeko 1618 01:17:59,340 --> 01:18:00,780 sorta batekin txoko batean? 1619 01:18:00,780 --> 01:18:05,710 >> Beraz, horren ordez, agian smarter hurbilketa bat sagar jarri bere nodo edo kutxa batean, 1620 01:18:05,710 --> 01:18:11,190 dugu esango lukeen bezala, platano, eta gero hemen cantaloupe behar dugu. 1621 01:18:11,190 --> 01:18:14,990 1622 01:18:14,990 --> 01:18:16,790 Eta dugu kate gauza horiek elkarrekin. 1623 01:18:16,790 --> 01:18:19,980 Beraz, hau array da, eta hau zerrenda lotuta dago. 1624 01:18:19,980 --> 01:18:23,300 Ezin duzu nahiko ikusten baduzu, ez besterik dio "array", eta hau dio "zerrendan." 1625 01:18:23,300 --> 01:18:25,780 >> Beraz, bera dugu gai zehatza, lehen bezala, 1626 01:18:25,780 --> 01:18:28,600 Horren bidez, orain dugu gure zerrendan lotutako dinamismoa. 1627 01:18:28,600 --> 01:18:31,090 Baina nahiko motela dictionary ez dugu. 1628 01:18:31,090 --> 01:18:32,870 Demagun Hitzak bilatzeko bat nahi dut. 1629 01:18:32,870 --> 01:18:35,430 agian niretzat big n O urratsak, baita hitzaren might 1630 01:18:35,430 --> 01:18:37,840 izan modu guztiak amaieran zerrendan, cantaloupe bezala. 1631 01:18:37,840 --> 01:18:40,600 Eta bihurtzen da programazioan, ordenatu 1632 01:18:40,600 --> 01:18:42,700 Datu Grial santua egiturak, zerbait da 1633 01:18:42,700 --> 01:18:46,620 hori ematen dizu etengabeko array bat bezala denbora 1634 01:18:46,620 --> 01:18:50,870 baina hori oraindik dinamismoa ematen dizu. 1635 01:18:50,870 --> 01:18:52,940 >> Beraz, ahal munduak bi onenak izan dugu? 1636 01:18:52,940 --> 01:18:55,570 Eta, hain zuzen ere, zerbait da Hash taula izeneko 1637 01:18:55,570 --> 01:18:59,320 ahalbidetzen duen zehazki egiten duzun , Gutxi gorabehera bada ere. 1638 01:18:59,320 --> 01:19:03,140 Hash taula bat da hazle baten Datu egitura dugun 1639 01:19:03,140 --> 01:19:06,340 gisa pentsa dezakezu array bat konbinazio 1640 01:19:06,340 --> 01:19:12,390 eta ez dut marrazteko Halako eta lotutako zerrendak bezalako 1641 01:19:12,390 --> 01:19:17,310 egingo dut hau bezalako marraztu hemen baino. 1642 01:19:17,310 --> 01:19:19,760 >> Eta bide batez, gauza hau lanak honako hau da. 1643 01:19:19,760 --> 01:19:23,310 1644 01:19:23,310 --> 01:19:29,540 hau bada hash da gaur egun mahaian Nire hirugarren datu-egitura da, 1645 01:19:29,540 --> 01:19:32,590 eta gorde nahi dut Hitz hau, ez dut 1646 01:19:32,590 --> 01:19:35,440 Nahi besterik gordetzeko guztia hitz back to back Itzuli behar. 1647 01:19:35,440 --> 01:19:37,430 zenbait onura ateratzeko nahi dut Informazio pieza 1648 01:19:37,430 --> 01:19:40,330 hitz hori dizute buruz Lortzen me non azkarragoa da. 1649 01:19:40,330 --> 01:19:43,666 >> Beraz, emandako hitzak sagarra eta platano eta cantaloupe, 1650 01:19:43,666 --> 01:19:45,040 nahita hitz horiek aukeratu nuen. 1651 01:19:45,040 --> 01:19:45,340 Zergatik? 1652 01:19:45,340 --> 01:19:47,631 Zer da sort funtsean Hiru buruzko hainbat? 1653 01:19:47,631 --> 01:19:49,950 1654 01:19:49,950 --> 01:19:51,484 Zer da bistako? 1655 01:19:51,484 --> 01:19:52,900 letrak ezberdinekin hasten dira. 1656 01:19:52,900 --> 01:19:53,900 >> Beraz, badakizu zer? 1657 01:19:53,900 --> 01:19:57,120 jarri beharrean baino nire hitz guztiak bera ontzian, nolabait esateko, 1658 01:19:57,120 --> 01:20:00,390 honelako zerrenda bat handi batean, zergatik ez egin Gutxienez saiatu naiz optimizazioa 1659 01:20:00,390 --> 01:20:04,180 eta nire zerrendak 1/26 betiere. 1660 01:20:04,180 --> 01:20:07,440 sinesgarria optimizazioa A zergatik ez izan liteke 1661 01:20:07,440 --> 01:20:10,650 hitz bat txertatzeak I Datu egitura sartu, 1662 01:20:10,650 --> 01:20:14,300 ordenagailuaren memorian, zergatik sartu ez du 'a' hitz guztiak jarri dut hemen, 1663 01:20:14,300 --> 01:20:17,270 guztiak 'b' hitzak, hemen, eta 'c' hitz guztiak hemen? 1664 01:20:17,270 --> 01:20:24,610 Beraz, hau bueltarik, sagar bat jarriz Hemen, platano hemen, cantaloupe hemen, 1665 01:20:24,610 --> 01:20:25,730 eta abar. 1666 01:20:25,730 --> 01:20:31,700 >> Eta gehigarri bat badut hitza bezalakoa Zer da beste bat? 1667 01:20:31,700 --> 01:20:36,640 Apple, banana, madari. 1668 01:20:36,640 --> 01:20:39,370 Edonork fruta bat pentsatzea duten a, b, c edo hasten da? 1669 01:20:39,370 --> 01:20:40,570 Blueberry-- perfektua. 1670 01:20:40,570 --> 01:20:43,990 Hori da azkenean hemen doa. 1671 01:20:43,990 --> 01:20:47,530 Eta horrela izan behar dugu, badirudi mugagabeko irtenbide hobea, 1672 01:20:47,530 --> 01:20:50,820 zeren orain nahi badut bilatu sagarra, I 1673 01:20:50,820 --> 01:20:53,200 lehen aukera ez dut besterik dive Nire datuak egitura sartu. 1674 01:20:53,200 --> 01:20:54,850 Ez dut nire ordenagailuaren memoria murgiltzea. 1675 01:20:54,850 --> 01:20:56,530 gutun lehen lehen dut begiratu. 1676 01:20:56,530 --> 01:20:58,610 >> Eta hau da, ordenagailu bat Zientzialari esango luke. 1677 01:20:58,610 --> 01:21:00,760 hash zure datuak egitura sartu duzu. 1678 01:21:00,760 --> 01:21:04,100 Zure sarrera, eta bertan hartu Kasu honetan sagar bezala, hitz bat da. 1679 01:21:04,100 --> 01:21:07,150 aztertuko duzu, begira Kasu honetan lehenengo letra, 1680 01:21:07,150 --> 01:21:08,340 horrela, osatzerakoan. 1681 01:21:08,340 --> 01:21:10,950 Hashing termino orokor bat da, zeinaren bidez Zerbait sarrera gisa hartu duzu 1682 01:21:10,950 --> 01:21:12,116 eta irteera batzuk ekoizteko duzu. 1683 01:21:12,116 --> 01:21:15,090 Eta hori ere irteera Kasu kokapena da 1684 01:21:15,090 --> 01:21:18,150 bilatu, lehenengoa nahi duzu kokapena, bigarren kokapena, hirugarren. 1685 01:21:18,150 --> 01:21:22,160 Beraz, sarrera sagarra da, irteera da lehenengo. 1686 01:21:22,160 --> 01:21:25,054 sarrera banana, da irteera bigarren izan behar du. 1687 01:21:25,054 --> 01:21:27,220 Sarrerako cantaloupe da, irteera hirugarren izan behar du. 1688 01:21:27,220 --> 01:21:30,320 sarrera Blueberry da irteera berriro izango da bigarren. 1689 01:21:30,320 --> 01:21:34,010 Eta hori zer ematen dizu lasterbideak zure memoria bidez 1690 01:21:34,010 --> 01:21:39,050 Ordena hitz iristeko edo datu gehiago eraginkortasunez. 1691 01:21:39,050 --> 01:21:43,330 >> Orain hau moztu eta behera gure denbora potentzialki bezainbeste bat bezala 26 daudelarik arabera, 1692 01:21:43,330 --> 01:21:45,850 bere gain hartzen duelako bada hori askotan bezala "a" hitzak "z" gisa 1693 01:21:45,850 --> 01:21:48,080 hitzak "q" hitzak, eta horrek Ez da benetan realistic-- 1694 01:21:48,080 --> 01:21:50,830 zehiarketa dute topo egingo duzun alphabet-- hizkiak zenbait 1695 01:21:50,830 --> 01:21:53,204 baina hau gehikuntzaren bat izango litzateke Planteamendu hori uzten du 1696 01:21:53,204 --> 01:21:55,930 Hitzak askoz ere azkar lortu duzu. 1697 01:21:55,930 --> 01:21:59,660 Eta egia esan, sofistikatua programa, munduaren Google du, 1698 01:21:59,660 --> 01:22:02,180 world-- Facebooks du hash taula bat erabili zuten 1699 01:22:02,180 --> 01:22:03,740 Helburu desberdinak asko da. 1700 01:22:03,740 --> 01:22:06,590 Baina ez lukete hain inozoa besterik gutun lehen begiratu 1701 01:22:06,590 --> 01:22:09,700 Sagar edo platano edo madari edo cantaloupe, 1702 01:22:09,700 --> 01:22:13,420 baita horiek ikusi dezakezu bezala zerrendak izan, oraindik lortu luzea. 1703 01:22:13,420 --> 01:22:17,130 >> Eta, beraz, hau agian oraindik sort izan of linear-- beraz sort motela, 1704 01:22:17,130 --> 01:22:19,980 big n O batera bezala eztabaidatu dugun. 1705 01:22:19,980 --> 01:22:25,290 Beraz, zer da benetako ona hash taula bat izango zuzen ere, egin array askoz handiagoa izango da. 1706 01:22:25,290 --> 01:22:28,574 Eta askoz gehiago erabiliko du sofistikatua hash funtzioa, 1707 01:22:28,574 --> 01:22:30,240 beraz, ez da, besterik gabe, begiratu "bat." 1708 01:22:30,240 --> 01:22:35,480 Agian begiratu egiten da "bat-p-p-l-e" eta nolabait bihurtzen bost hizki horiek 1709 01:22:35,480 --> 01:22:38,400 Kokapena sartu non sagar gorde behar dira. 1710 01:22:38,400 --> 01:22:42,660 Oraindik besterik naively letra 'bat' erabiltzen dugu Bakarrik, atsegina eta erraza delako. 1711 01:22:42,660 --> 01:22:44,600 >> Baina hash taula bat, in Azkenean, uste dezakezu 1712 01:22:44,600 --> 01:22:47,270 ren konbinazio gisa array bat, eta bakoitzak bere 1713 01:22:47,270 --> 01:22:51,700 lotutako zerrenda bat dauka haien Ahalik eta laburren izan behar du. 1714 01:22:51,700 --> 01:22:54,364 Eta hau ez da bistako irtenbide bat. 1715 01:22:54,364 --> 01:22:57,280 Izan ere, doitze askoz Hori gertatzen den kanpaia azpian denean 1716 01:22:57,280 --> 01:22:59,654 mota horiek gauzatzeko Datu-egitura sofistikatu 1717 01:22:59,654 --> 01:23:01,640 da zer eskubidea da array luzera? 1718 01:23:01,640 --> 01:23:03,250 Zer da eskuineko hash funtzioa? 1719 01:23:03,250 --> 01:23:04,830 Nola ez, gauzak gordetzeko memorian? 1720 01:23:04,830 --> 01:23:07,249 >> Baina konturatzen nola azkar eztabaida moduko honetan 1721 01:23:07,249 --> 01:23:10,540 areagotu, bai orain arte mota dela bat buru Puntu honetan, baino horrek 1722 01:23:10,540 --> 01:23:11,360 fina da. 1723 01:23:11,360 --> 01:23:18,820 Baina hasi ginen, oroitzapen, benetan dituzten Zerbait behe-mailako eta elektronikoak. 1724 01:23:18,820 --> 01:23:20,819 Eta, beraz, hau da, berriro ere, hau abstrakzioa gaia, 1725 01:23:20,819 --> 01:23:23,610 non behin jartzean hasten zara ematen, OK, baina Nik deitu ez dago 1726 01:23:23,610 --> 01:23:26,680 Memoria fisikoa, Ados, behin kokapen fisikoa helbide bat dauka, 1727 01:23:26,680 --> 01:23:29,910 Ados, lortu nuen, adierazten ahal dut Helbide horiek geziak bezala 1728 01:23:29,910 --> 01:23:34,650 oso azkar hasteko nahi dute elkarrizketetan sofistikatuagoa 1729 01:23:34,650 --> 01:23:38,360 azken batean, badirudi ahalbidetuz gurekin Bilatzen bezalako arazoak konpontzeko 1730 01:23:38,360 --> 01:23:41,620 eta sailkatzeko modu eraginkorrean. 1731 01:23:41,620 --> 01:23:44,190 Eta gainerako ziurtaturik, too-- hau uste dudalako 1732 01:23:44,190 --> 01:23:48,700 da sakonena batzuk sartu ditugu desagertu horiek CS gaiak proper-- dut dugu 1733 01:23:48,700 --> 01:23:51,880 Egun bat eta erdi batean egiten honetan Azpimarratu zer normalean egiten liteke baino gehiago 1734 01:23:51,880 --> 01:23:55,520 zortzi asteko ikastaroa seihileko batean. 1735 01:23:55,520 --> 01:23:59,670 >> horiek edozein galdera? 1736 01:23:59,670 --> 01:24:01,100 No? 1737 01:24:01,100 --> 01:24:01,940 Ados. 1738 01:24:01,940 --> 01:24:05,610 Beno, zergatik ez dago pausatu dugu, hasteko lunch bat minutu batzuk goiz, 1739 01:24:05,610 --> 01:24:07,052 berrekiteko hasi besterik ordubete inguru? 1740 01:24:07,052 --> 01:24:08,760 Eta Dut linger galdera batekin pixka bat. 1741 01:24:08,760 --> 01:24:11,343 Ondoren, naiz joan behar joan hartu pare bat deiak hau da Ados. 1742 01:24:11,343 --> 01:24:15,000 musika batzuk dizut txanda, bien bitartean, baina lunch izkinan ingurukoa izan behar du. 1743 01:24:15,000 --> 01:24:17,862