1 00:00:00,000 --> 00:00:10,982 2 00:00:10,982 --> 00:00:11,940 DAVID MALAN: Ondo da. 3 00:00:11,940 --> 00:00:16,470 Beraz, hau da CS50, eta hau da, orain astean hiru hasieratik. 4 00:00:16,470 --> 00:00:19,960 >> Beraz, orain arte, dugu sido C programak idaztean 5 00:00:19,960 --> 00:00:23,210 itxura apur bat hau hemen antzeko zerbait. 6 00:00:23,210 --> 00:00:25,470 Beraz, lortu dugu, pare bat zorrotz goialdean dira. 7 00:00:25,470 --> 00:00:28,490 Lortu int, nagusia, void dugu, eta gero zerbait du erditik egin, 8 00:00:28,490 --> 00:00:30,590 Kode bit batzuen barruan funtzio hori. 9 00:00:30,590 --> 00:00:34,170 Baina gakoa duenez, hain zuzen, izan izan dugu void hemen esaten. 10 00:00:34,170 --> 00:00:39,320 Beraz, hutsune, denbora hori guztia, zehazten Programa honetan, denean exekutatu dela, 11 00:00:39,320 --> 00:00:41,300 baino ezin izango da bere izen bidez exekutatu. 12 00:00:41,300 --> 00:00:46,330 Ezin duzu beste edozein hitz idatzi edo programaren izena denean ondoren zenbakiak 13 00:00:46,330 --> 00:00:46,830 exekutatzen ari da. 14 00:00:46,830 --> 00:00:51,200 Beraz, adibidez, programa balira kaixo izeneko fitxategi batean bildu 15 00:00:51,200 --> 00:00:53,480 egin ahal izango duzu, hello, baina hori da. 16 00:00:53,480 --> 00:00:56,750 >> Modu bakarra duzula Could sarrera emateko programa honetara 17 00:00:56,750 --> 00:00:57,960 funtzio bat deituz da. 18 00:00:57,960 --> 00:00:59,790 Esate baterako, zer funtzio dute beraz, orain arte erabiltzen ari izan gara 19 00:00:59,790 --> 00:01:00,950 sarrera erabiltzailea lortzeko? 20 00:01:00,950 --> 00:01:02,117 >> IKUSLEEN: Talde katea. 21 00:01:02,117 --> 00:01:04,700 DAVID MALAN: katea lortzeko, edo lortu int, edo beste batzuk ikusi duzun, 22 00:01:04,700 --> 00:01:07,630 ez baduzu, nahiz eta oraindik erabiltzen horiek, bezala lortu, luze, luze eta antzekoak. 23 00:01:07,630 --> 00:01:09,380 Baina demagun garela benetan hasi nahi 24 00:01:09,380 --> 00:01:12,760 Programak dira gutxi gehiago polifazetikoa, eta, Egia, apur bat gehiago 25 00:01:12,760 --> 00:01:15,090 duzu dut komando bezala dira, lortzean, zorionez, 26 00:01:15,090 --> 00:01:16,550 pixka bat ohituta. 27 00:01:16,550 --> 00:01:18,560 Cd espazio Dropbox bezalako. 28 00:01:18,560 --> 00:01:20,800 Hau, jakina, aldaketak zure gida, suposatuz 29 00:01:20,800 --> 00:01:23,590 Oraindik John Harvard etxean dituzun gida, zure Dropbox karpeta. 30 00:01:23,590 --> 00:01:27,380 Bien bitartean, hau bezalako komando bat pset2 izeneko direktorio berri bat sortuko du, 31 00:01:27,380 --> 00:01:30,290 duzu agian dute dagoeneko edo Izango arazoa laster bi ezarri. 32 00:01:30,290 --> 00:01:33,970 Egin Kaixo, noski, komando bat baizik, izeneko programa bat kaixo eraikitzen 33 00:01:33,970 --> 00:01:35,770 kaixo dot c izeneko fitxategi batetik. 34 00:01:35,770 --> 00:01:39,140 Eta horietako bakoitzean kasu, gaur egun, izan dugu 35 00:01:39,140 --> 00:01:43,620 deiturikoak buruzko argudio bat ematen Komando-lerroan, keinu gonbita, 36 00:01:43,620 --> 00:01:48,540 , beraz, badaki zer eraiki nahi du eta, beraz, mkdir horretara sortzen daki zer karpetan, 37 00:01:48,540 --> 00:01:51,110 eta beraz cd daki nora joan nahi duzun. 38 00:01:51,110 --> 00:01:54,720 Baina orain arte, esaten mantendu dugu duten nagusiak, lehenetsitako funtzioa, 39 00:01:54,720 --> 00:01:58,500 void adierazpen bat dauka parentesi horien barruan, 40 00:01:58,500 --> 00:02:01,250 eta horrek esan nahi duen ezin du argumenturik hartzen. 41 00:02:01,250 --> 00:02:03,240 >> Beraz, gaurtik aurrera, zer egin behar dugu 42 00:02:03,240 --> 00:02:06,270 hau da, hasteko goaz Gauzak euskarri hau ere bezala. 43 00:02:06,270 --> 00:02:08,990 Izan ere, kasu honetan, eta zuk ez dute normalean eskuz, 44 00:02:08,990 --> 00:02:11,130 Egin izan da lan hau egiteko guretzat, ez dira 45 00:02:11,130 --> 00:02:15,840 bat, baina bat, bi, hiru gehigarri programa horrek izendatu ondoren kateak 46 00:02:15,840 --> 00:02:16,850 clang. 47 00:02:16,850 --> 00:02:18,240 Beraz, nola egin hori lortzeko? 48 00:02:18,240 --> 00:02:20,260 >> Beno, gaurtik aurrera, Kasu non nahi dugun 49 00:02:20,260 --> 00:02:22,855 sarrera emateko bidezko deiturikoak komando lerroan, 50 00:02:22,855 --> 00:02:24,980 gehituz hasteko goaz hemen zer yellow-- saioa 51 00:02:24,980 --> 00:02:30,520 int argc koma deuseza ordezkatuz katea argv parentesi irekiak ixteko kortxetea. 52 00:02:30,520 --> 00:02:32,520 Orain hau da interesgarria arrazoi pare bat da. 53 00:02:32,520 --> 00:02:35,690 One, guri idatzi utzi da joan programak direla dinamiko apur bat gehiago. 54 00:02:35,690 --> 00:02:37,570 Baina, gehiago egunkariak, ez da ireki joan 55 00:02:37,570 --> 00:02:40,340 orain elkarrizketa bat bezala zer array benetan 56 00:02:40,340 --> 00:02:43,300 erabiliko dira, zer kate bat benetan kanpaia azpian dago, 57 00:02:43,300 --> 00:02:47,320 Hurrengo aste arte, urpekaritza hasten gara nahiz eta makina-nolakoa behar bezala sakonago 58 00:02:47,320 --> 00:02:48,590 gauzak lan hori guztia egiteko. 59 00:02:48,590 --> 00:02:51,920 Baina orain, dezagun marrazteko, agian, irudi bat. 60 00:02:51,920 --> 00:02:54,950 >> Programa bat idatzi duzu deklaratu nagusiekin 61 00:02:54,950 --> 00:02:58,810 modu horretan, besteak beste, honako hauek direla bi argumentu, int bat hartzen 62 00:02:58,810 --> 00:03:03,233 and-- datuak zer mota bigarren argumentua da? 63 00:03:03,233 --> 00:03:04,529 >> IKUSLEEN: Array. 64 00:03:04,529 --> 00:03:05,320 DAVID MALAN: Array. 65 00:03:05,320 --> 00:03:09,170 Beraz, itxura Lehen begiratuan bat bezala kate, baina konturatu karratu parentesi artean. 66 00:03:09,170 --> 00:03:12,760 Gogoratu azken aldiz sartu dugu array baten ideia du. 67 00:03:12,760 --> 00:03:16,210 Eta arrayak kortxete erabili testuinguru pare batean. 68 00:03:16,210 --> 00:03:19,160 Plazaren erabil dezakezu Parentesi array batean joan 69 00:03:19,160 --> 00:03:22,710 eta elementu jakin bat lortzeko, parentesirik 0 edo bracket 1 edo bracket 2. 70 00:03:22,710 --> 00:03:25,500 Baina, ikusi dugu, labur-labur bada, azken astean, gainera, zuk 71 00:03:25,500 --> 00:03:28,790 to kortxete horiek erabili tamaina deklaratzeko array bat, 72 00:03:28,790 --> 00:03:31,790 zenbat aldez aurretik ezagutzen baduzu ints nola edo askoren kateak edo duzuna 73 00:03:31,790 --> 00:03:32,630 benetan nahi. 74 00:03:32,630 --> 00:03:34,790 Beraz, izarrekin bihurtzen da ez en hirugarren testuinguru batean hemen 75 00:03:34,790 --> 00:03:37,890 duen zenbakia ez duela barruan parentesi karratu. 76 00:03:37,890 --> 00:03:41,920 , When you zehaztu hemen dudan bezala, argv antzeko zerbait izenean, 77 00:03:41,920 --> 00:03:44,550 bertan fancy modu bat besterik ez da argumentu bektorea, esanez bertan 78 00:03:44,550 --> 00:03:47,750 beste modu fancy da argumentuak array bat esanez, 79 00:03:47,750 --> 00:03:50,870 parentesi irekiak ixteko kortxetea besterik esan nahi du ez duzula zertan 80 00:03:50,870 --> 00:03:52,960 aldez aurretik jakin zein handia Array izango da, 81 00:03:52,960 --> 00:03:55,070 baina badakizu, array bat izango da. 82 00:03:55,070 --> 00:03:57,320 Beraz, ez baduzu ezagutzen du zenbakia ez jarri hor, 83 00:03:57,320 --> 00:04:01,160 parentesi irekiak ixteko kortxetea for esan nahi du argv ez da kate bat, 84 00:04:01,160 --> 00:04:03,124 baina kateak array bat. 85 00:04:03,124 --> 00:04:05,040 Beraz, sintaktikoki, baduzu uste back azken astean, 86 00:04:05,040 --> 00:04:09,460 Oso esaten antzekoa da int adin bracket irekita antzeko zerbait, 87 00:04:09,460 --> 00:04:10,984 eta, ondoren, zerbait hortik aurrera. 88 00:04:10,984 --> 00:04:12,150 Beraz, zer itxura? 89 00:04:12,150 --> 00:04:13,399 Demagun irudi bat marraztu benetan. 90 00:04:13,399 --> 00:04:18,756 Beraz, Main programa hau exekutatu haber bi argumentu barruan definitu 91 00:04:18,756 --> 00:04:21,339 Parentesi horiek, zuk funtsean, gutxienez bi zatitan dute 92 00:04:21,339 --> 00:04:23,560 oroimenaren duzu entregatu kanpaia azpian. 93 00:04:23,560 --> 00:04:26,550 One, laukizuzena bezala marrazten dut egingo denez, da argc deitzen dira egingo. 94 00:04:26,550 --> 00:04:30,645 Eta besterik laburpena azkar bat bezala, zer datu argc mota da? 95 00:04:30,645 --> 00:04:31,270 Beraz, int bat da. 96 00:04:31,270 --> 00:04:33,480 Beraz, zenbaki bat da, joan to argc-- txandaka joan 97 00:04:33,480 --> 00:04:35,660 out duten argumentu Aldaketa stands. 98 00:04:35,660 --> 00:04:38,887 Bien bitartean, marrazten dut argv array gisa. 99 00:04:38,887 --> 00:04:40,970 Eta ez dakit zenbat denbora izan da joan, 100 00:04:40,970 --> 00:04:42,470 beraz, gaur egungo helburuetarako dot dot dot. 101 00:04:42,470 --> 00:04:43,636 Luzera batzuen Litekeena da lortu. 102 00:04:43,636 --> 00:04:45,640 Baina irudian hemen dut gutxienez lau laukizuzenak. 103 00:04:45,640 --> 00:04:50,970 Beraz, argv memoria hori dendetan zatia katea katea katea dot dot dot, 104 00:04:50,970 --> 00:04:53,950 eta argc pusketa bat besterik ez da zenbaki oso bat oroimenaren. 105 00:04:53,950 --> 00:04:55,710 >> Beraz, gaur egun, dezagun apur bat gehiago zehatza. 106 00:04:55,710 --> 00:04:59,200 Badago, kateak behar dut array honetan, izeneko 107 00:04:59,200 --> 00:05:03,290 argv, horiek da nahi dut banaka, azken astean bezala, 108 00:05:03,290 --> 00:05:05,670 idazkera erabili goaz argv tarte 0 atsegin 109 00:05:05,670 --> 00:05:07,650 lehenengo gauza array bat lortzeko. 110 00:05:07,650 --> 00:05:10,440 Argv parentesi 1 lortzeko Bigarren gauza, eta abar. 111 00:05:10,440 --> 00:05:14,597 Gakoa hemen izateaz jarraitzen dugu 0 indexed-- ari gara oraindik 0 hasita. 112 00:05:14,597 --> 00:05:16,430 Beraz, gaur egun dezagun benetan honetan zerbait jarri. 113 00:05:16,430 --> 00:05:21,670 Izeneko programa bat konpilatu banintz kaixo kaixo dot c izeneko fitxategi batetik, 114 00:05:21,670 --> 00:05:24,340 eta, ondoren, programa hori exekutatu I dot idatzibarrarik kaixo, 115 00:05:24,340 --> 00:05:28,380 zer nire ordenagailuan, nire ordenagailu eramangarria du, kanpaia azpian itxura 116 00:05:28,380 --> 00:05:31,300 Oraingoz dot exekutatu I barra kaixo eta sakatu Sartu? 117 00:05:31,300 --> 00:05:33,500 Beno, hau da, beharbada, zer deskribatzeko genezake 118 00:05:33,500 --> 00:05:37,010 zure ordenagailuaren edukia gisa memoria, edo RAM Random Access Memory. 119 00:05:37,010 --> 00:05:40,330 Beste era batera esanda, ordenagailua, nolabait duzu magikoki egiteko, 120 00:05:40,330 --> 00:05:45,360 1 zenbakia jartzen argc ere, AKA argcount, eta hitzez hitz dioen katea 121 00:05:45,360 --> 00:05:48,200 Kaixo argv tarte 0 ere. 122 00:05:48,200 --> 00:05:51,750 Ideia ez dut, Egia, zer da argv tartean, 1 edo 2 edo 3, 123 00:05:51,750 --> 00:05:55,550 erabiltzaileak ez badu delako ezer idatzitako hello gain, 124 00:05:55,550 --> 00:05:58,550 to horiek bere gain hartzen goaz ziurrenik zabor balioak, 125 00:05:58,550 --> 00:05:59,700 nolabait esateko. 126 00:05:59,700 --> 00:06:02,650 Memoria zatiak ere existitzen dira, baina ez da gurekin 127 00:06:02,650 --> 00:06:05,710 begiratu, zeren argcount bakarra da. 128 00:06:05,710 --> 00:06:07,870 >> Orain, bere aldetik, badut idatzi beste programa bat exekutatu, 129 00:06:07,870 --> 00:06:12,250 cd, zein komando bat da gehiago behar bezala, Zure prompt-- cd espazio keinuka hasi 130 00:06:12,250 --> 00:06:17,200 Dropbox-- denean exekutatu dut, modu eraginkorrean, cd programa abiatzean, argc, 131 00:06:17,200 --> 00:06:22,270 nire ordenagailuaren memoria, barruan da azkarren gehien bigarren zenbakia 2. 132 00:06:22,270 --> 00:06:25,936 Eta gero, parentesi o argv ditu cd, argv parentesi 1 ditu Dropbox, 133 00:06:25,936 --> 00:06:28,560 eta ondoren, noski komandoa osatzen du, beraz, memoria hori guztia 134 00:06:28,560 --> 00:06:30,420 funtsean doa urrun eta beste zerbait egiteko erabiltzen da. 135 00:06:30,420 --> 00:06:32,270 Eta horregatik esan dut bigarren zati bat besterik ez. 136 00:06:32,270 --> 00:06:35,720 >> Bien bitartean, mkdir pset2 egiten badugu, Irudian ia itxura bera, 137 00:06:35,720 --> 00:06:37,900 baina argv barruan kateak ezberdinekin. 138 00:06:37,900 --> 00:06:42,570 Clang etenaren egin dut kaixo bada kaixo dot c, ideia bera. 139 00:06:42,570 --> 00:06:47,060 Gehiago stuff beteta eman argv, argc eta, jakina, 4 da. 140 00:06:47,060 --> 00:06:49,150 Beraz, beste era batera esanda, are array honetan nahiz 141 00:06:49,150 --> 00:06:52,950 dot liteke dot dot, batzuen luzera aldakorreko, nolabait esateko, 142 00:06:52,950 --> 00:06:56,720 Badakizu beti duzu non amaieran da, argc da esango delako joan 143 00:06:56,720 --> 00:07:00,120 zer puntutan gelditu behar duzu argv elementu begira. 144 00:07:00,120 --> 00:07:03,660 Lauretan bakarrik begiratu dezakezu kasu honetan, guztira. 145 00:07:03,660 --> 00:07:06,600 >> Hargatik begirada bat hartu en orain, agian, programa erraz bat. 146 00:07:06,600 --> 00:07:09,070 Bat besterik ez dio kaixo Zamyla bezalako norbait izateko. 147 00:07:09,070 --> 00:07:12,620 Beraz, programa bat idatzi nahi dut erreklamatzeko I une bat besterik horren bidez egin nezakeen 148 00:07:12,620 --> 00:07:16,670 Kaixo espazio Zamyla, eta egin nahi dut nire programa out zerbait inprimatzeko 149 00:07:16,670 --> 00:07:18,520 super-simple bezalako "kaixo, Zamyla." 150 00:07:18,520 --> 00:07:20,100 Orain iraganean GetString erabili dugu. 151 00:07:20,100 --> 00:07:22,850 Beraz, iraganean, nahiz Oraindik programazio berria, 152 00:07:22,850 --> 00:07:27,180 odds dira Látigo sortu ahal izango duzu bat GetString erabiltzen duen programak 153 00:07:27,180 --> 00:07:29,390 eta, ondoren, erabiltzen printf hi esateko Zamyla izateko. 154 00:07:29,390 --> 00:07:31,290 Baina dezagun erabili ez oraingoan GetString. 155 00:07:31,290 --> 00:07:37,510 Let me ordez Appliant sartu eta ez, besteak beste, I O dot h estandarra. 156 00:07:37,510 --> 00:07:41,160 Dezagun, horrez gain, niretzat CS50 dot h. 157 00:07:41,160 --> 00:07:44,730 Orain int nagusia, eta orain naiz Ez hutsunea egin gaur bertan egingo da. 158 00:07:44,730 --> 00:07:51,200 Horren ordez, naiz int argc egin dut katea argv parentesi irekiak ixteko kortxetea, 159 00:07:51,200 --> 00:07:52,640 Ez zenbaki bat zehaztuz. 160 00:07:52,640 --> 00:07:54,644 Eta orain hemen nire deiturikoak egin. 161 00:07:54,644 --> 00:07:57,560 Orain zer egin nahi dut da naiz fede-jauzi bat pixka bat egin, 162 00:07:57,560 --> 00:08:00,560 To Erabiltzaile dela suposatuko dut programa hau behar bezala erabili behar da, 163 00:08:00,560 --> 00:08:04,980 eta ez dut besterik gabe joan egin printf kaixo,% sn. 164 00:08:04,980 --> 00:08:06,630 Beraz, ezer berririk ez. 165 00:08:06,630 --> 00:08:11,470 Baina orain jarri dena delakoa hitza nahi dut Erabiltzaile mota programaren izena ondoren. 166 00:08:11,470 --> 00:08:16,970 Beraz, espazio hello egiten dut Zamyla bada, I nolabait programazioaren sarbidea nahi 167 00:08:16,970 --> 00:08:20,870 aipatu unquote "Zamyla." beraz, I dezaket nire argudioa bektorea sartu, 168 00:08:20,870 --> 00:08:25,980 nire kateak array, eta komandoa bada, berriro ere, izan zen espazio hello Zamyla, 169 00:08:25,980 --> 00:08:29,340 zer zenbaki egin nahi dut argv jarri hemen? 170 00:08:29,340 --> 00:08:29,840 IKUSLEEN: 1. 171 00:08:29,840 --> 00:08:32,355 DAVID MALAN: 1, zeren tarte 0 bihurtzen 172 00:08:32,355 --> 00:08:34,230 da izango da programaren izena, ikusi dugun bezala. 173 00:08:34,230 --> 00:08:37,789 Beraz, parentesi 1 lehen hitza da dut, erabiltzaileak, idatzi. 174 00:08:37,789 --> 00:08:39,559 Aurretik joan eta gorde hau noa. 175 00:08:39,559 --> 00:08:42,830 Nire karpetan sartu noa Fitxategi hau non kokatuko dut. 176 00:08:42,830 --> 00:08:44,920 Kaixo 3 egin dut. 177 00:08:44,920 --> 00:08:46,230 Comp IO en Ados. 178 00:08:46,230 --> 00:08:51,380 Kaixo Zamyla Sartu. 179 00:08:51,380 --> 00:08:54,480 Zer oker egin dut? 180 00:08:54,480 --> 00:08:57,270 I zen ustekabean harrapatu besterik gabe, une bat ez neure burua. 181 00:08:57,270 --> 00:08:58,230 Zer oker egin dut? 182 00:08:58,230 --> 00:08:59,220 >> IKUSLEEN: Izena. 183 00:08:59,220 --> 00:09:01,767 >> DAVID MALAN: Fitxategiak izango duen benetan hello3.c izenekoa. 184 00:09:01,767 --> 00:09:03,850 Eta hori egin nuen, besterik ez koherentzia, dugu delako 185 00:09:03,850 --> 00:09:06,550 hello.c izan hamarkadan online kodea iraganean. 186 00:09:06,550 --> 00:09:11,550 Hargatik konpondu hello honetan parentesi etenaren 3 Zamyla. 187 00:09:11,550 --> 00:09:12,370 Sartu. 188 00:09:12,370 --> 00:09:14,030 Eta gaur egun dugun kaixo, Zamyla. 189 00:09:14,030 --> 00:09:17,650 Bien bitartean, aldatu ahal ditut honetara Rob, edo benetan beste hitz izan. 190 00:09:17,650 --> 00:09:19,230 >> Baina kontuan hartu dezagun izkinan kasu bat. 191 00:09:19,230 --> 00:09:24,360 Zer liteke izango balitz gertatuko espero duzu Ez dut idazten inoren izen guztietan? 192 00:09:24,360 --> 00:09:25,270 >> IKUSLEEN: Error. 193 00:09:25,270 --> 00:09:27,300 >> DAVID MALAN: Akats bat Nolabaiteko, agian. 194 00:09:27,300 --> 00:09:28,200 Ikus dezagun. 195 00:09:28,200 --> 00:09:29,440 Sartu. 196 00:09:29,440 --> 00:09:30,210 Null. 197 00:09:30,210 --> 00:09:33,870 Beraz printf, benetan ari da gutxi gutako babes 198 00:09:33,870 --> 00:09:38,131 hemen, eta literalki paren inprimatzeko nulua da, baina gauzak are okerrago gerta daiteke. 199 00:09:38,131 --> 00:09:40,130 Eta besterik ez erakusteko zerbait egin nahi duzula 200 00:09:40,130 --> 00:09:42,800 behar ez, goazen, hemen eta hasi kuxkuxean. 201 00:09:42,800 --> 00:09:43,300 Eskuin? 202 00:09:43,300 --> 00:09:46,410 Badakit gero horretan irudian memoria da, funtsean, honetan, 203 00:09:46,410 --> 00:09:52,660 argv parentesi 1 Zamyla, argv ditu tarte 0 ditu hello, edo hello-3. 204 00:09:52,660 --> 00:09:55,400 Zer da parentesi 2? 205 00:09:55,400 --> 00:09:58,210 Beraz, erantzun ahal izango dut Neure burua zalantzan jartzen, ezta? 206 00:09:58,210 --> 00:10:00,460 Besterik ez dut aldatu ahal 1 2 bati. 207 00:10:00,460 --> 00:10:07,270 Dut orain konpilatu ahal kaixo 3, ./hello3 Dezagun gerturatu eta sakatu Sartu. 208 00:10:07,270 --> 00:10:08,270 Whoops. 209 00:10:08,270 --> 00:10:10,660 No aipu marka. 210 00:10:10,660 --> 00:10:12,540 Interesgarria. 211 00:10:12,540 --> 00:10:15,530 Beraz, mota horretako cool ikusi zer gehiago hemen dago. 212 00:10:15,530 --> 00:10:17,130 >> Beraz, zer gehiago nire laptop barruan dago? 213 00:10:17,130 --> 00:10:20,390 Dezagun gorde parentesi 3. 214 00:10:20,390 --> 00:10:25,190 Egin Hello3, hello-3. 215 00:10:25,190 --> 00:10:26,500 Curious. 216 00:10:26,500 --> 00:10:30,560 Eta orain, dezagun benetan bold-- 50. 217 00:10:30,560 --> 00:10:34,340 Beraz, benetan urpekaritza sakona nire ordenagailuaren memorian. 218 00:10:34,340 --> 00:10:35,930 50 indizeak ere. 219 00:10:35,930 --> 00:10:41,950 Beraz, kaixo 3 hello-3. 220 00:10:41,950 --> 00:10:42,680 Curious. 221 00:10:42,680 --> 00:10:44,660 Guztiak eskubidea, gaur egun besterik ez naiz jokatuz iritsi. 222 00:10:44,660 --> 00:10:47,331 Goazen 5.000 en. 223 00:10:47,331 --> 00:10:47,830 Guztiak eskubidea. 224 00:10:47,830 --> 00:10:49,520 Hargatik konpilatu. 225 00:10:49,520 --> 00:10:51,460 Egin Hello3, hello-3. 226 00:10:51,460 --> 00:10:55,780 227 00:10:55,780 --> 00:10:56,460 Ados. 228 00:10:56,460 --> 00:10:59,250 Orain, ez dago agian zuetako batzuk bonbilla bat off joan izan. 229 00:10:59,250 --> 00:11:01,900 Nola asko duzu ikusi Mezu honen aurretik? 230 00:11:01,900 --> 00:11:03,440 Ados. 231 00:11:03,440 --> 00:11:04,420 Beraz, zergatik? 232 00:11:04,420 --> 00:11:07,250 >> Odds are-- eta ez da desberdina hori eragin dezake gauza, 233 00:11:07,250 --> 00:11:09,730 eta argi eta garbi ari onean duzu company-- argi daukagu 234 00:11:09,730 --> 00:11:11,900 zer deitzen eragindako segmentaziuo hutsegitea. 235 00:11:11,900 --> 00:11:15,890 Eta istorio luze gaur laburrean, I memoria segmentu bat ukitu 236 00:11:15,890 --> 00:11:17,060 ez dut behar. 237 00:11:17,060 --> 00:11:19,970 Non segmentu bat besterik zatia esan nahi du oroimenaren hori ez dut behar. 238 00:11:19,970 --> 00:11:25,530 Orain ordenagailua bermatzen du I exekutatu ./helloZamyla dut argv ukitu ahal 239 00:11:25,530 --> 00:11:27,760 tarte 0 eta argv parentesi 1 izan. 240 00:11:27,760 --> 00:11:32,730 Baina argc balioa 2, horrek esan nahi du I am bakarrik allowed-- ohorea moduko da 241 00:11:32,730 --> 00:11:35,180 sistema ukitu tarte 0 eta bracket 1. 242 00:11:35,180 --> 00:11:37,990 Joaten naiz edozein urrunago bada ere, ez da memoria izan nahi ez erabat joan. 243 00:11:37,990 --> 00:11:40,660 Nire RAM existitzen fisikoki ordenagailua ere. 244 00:11:40,660 --> 00:11:42,080 Baina nork daki zer dago? 245 00:11:42,080 --> 00:11:44,450 Izan ere, exekutatzen ari naiz anitz programak une bat. 246 00:11:44,450 --> 00:11:46,910 Baliteke seen-- daukat ez banintz Appliant buruzko lan hau egiteko 247 00:11:46,910 --> 00:11:49,937 baina nire Mac edo PC-- buruzko I izan liteke email baten edukia ikusi. 248 00:11:49,937 --> 00:11:52,270 Instant bat ikusi dut agian Mezu Nik duela gutxi bidali. 249 00:11:52,270 --> 00:11:55,390 Egongo den ezer inguruan lingering oroimenez 250 00:11:55,390 --> 00:11:59,180 zitekeen sar modu kortxetea notazioa arbitrarioa hau. 251 00:11:59,180 --> 00:12:02,850 Edo, okerrago oraindik, agian behar duzu aurkitu nire pasahitzak bat 252 00:12:02,850 --> 00:12:05,859 litzaidake dut duela gutxi idatzi, que programa memorian gordetzen zuen, beraz, 253 00:12:05,859 --> 00:12:07,900 me autentifikatzeko, eta ondoren, besterik gabe mota hori utzi 254 00:12:07,900 --> 00:12:09,910 RAM programa hori utzi nuen arte. 255 00:12:09,910 --> 00:12:12,860 >> Eta, hain zuzen, hau da, bat arriskua eta bat eskumenak 256 00:12:12,860 --> 00:12:15,980 C. bezalako hizkuntza bat erabiliz Unfettered sarbidea izango duzu 257 00:12:15,980 --> 00:12:18,860 eduki osoa izateko programa bat memoria, 258 00:12:18,860 --> 00:12:21,340 eta zer guys txarra ahal are cases-- horietan egin 259 00:12:21,340 --> 00:12:23,807 batez ere, guk web programazioa lortu 260 00:12:23,807 --> 00:12:26,890 seihilekoan amaiera aldera, zaitugu berrirakurtzeko topic-- hau Poke inguruan, 261 00:12:26,890 --> 00:12:31,660 potentzialki, norbait da ordenagailuaren memoria eta, besteak beste, gauza bitxi aurkitu 262 00:12:31,660 --> 00:12:32,570 han ikusi genuen bezala. 263 00:12:32,570 --> 00:12:36,900 Edo are okerrago oraindik, pasahitzak zuela edo zuen ondoren, erabili ahal izango gauza txarrak egin. 264 00:12:36,900 --> 00:12:40,240 >> Beraz, argi eta garbi, ez luke izan hori egin nuen, gauza arraro gertatuko hasten delako. 265 00:12:40,240 --> 00:12:42,310 Izan ere, honen programa bertan behera gelditzen da. 266 00:12:42,310 --> 00:12:44,580 Hau parekoa da Mac OS edo Windows 267 00:12:44,580 --> 00:12:46,770 Programaren leiho bat besterik ez desagertzeko. 268 00:12:46,770 --> 00:12:48,300 Ustekabeko errorea gertatu da. 269 00:12:48,300 --> 00:12:50,840 Komando-lerroan Ingurunean honen antzeko zerbait ikusiko dugu. 270 00:12:50,840 --> 00:12:54,480 Baina horregatik, hau da, besterik gabe, naiz ukitzen memoria hori ez zidan sartzen. 271 00:12:54,480 --> 00:12:57,090 >> Hargatik defendatzeko a honen aurka beste modu batean pixka 272 00:12:57,090 --> 00:12:59,010 Programa honen hemen begira. 273 00:12:59,010 --> 00:13:01,000 Beraz, berriro ere, hezurdura lehenago ikusi dugun 274 00:13:01,000 --> 00:13:02,480 eta azpimarratu dut denbora int hau. 275 00:13:02,480 --> 00:13:05,900 Eta denbora nagusiak hori guztia du balio bat hain zuzen ere, itzuli zen. 276 00:13:05,900 --> 00:13:09,120 Nahiz eta gure hitzaldia gehienetan Adibide inoiz ez behin erabili dugu 277 00:13:09,120 --> 00:13:10,990 nagusian ezer itzultzeko. 278 00:13:10,990 --> 00:13:13,710 Idatzi besterik ez dugu printf itxi kizkur giltza eta hori da. 279 00:13:13,710 --> 00:13:16,500 Baina doan, zer egin konpiladore dira egiten, 280 00:13:16,500 --> 00:13:19,510 eraginkortasunez, itzuli egin da 0 zuretzat. 281 00:13:19,510 --> 00:13:22,950 Turns out-- eta txiki bat da, counterintuitive-- hartzen 0 onak. 282 00:13:22,950 --> 00:13:24,690 Ez du esan nahi faltsua per se. 283 00:13:24,690 --> 00:13:29,080 0 da ona, eta edozein-ez 0 balioa, munduko erabaki du, 284 00:13:29,080 --> 00:13:30,619 Errore bat dakar. 285 00:13:30,619 --> 00:13:32,910 Beraz, inoiz duzun messed bada zerbait sortu zure ordenagailuan, 286 00:13:32,910 --> 00:13:36,600 edo programa bat baino ez da egin duzu hil zen eta okerrak leiho batzuk ahaztuak duzun 287 00:13:36,600 --> 00:13:40,360 Pantailan, esaten error negatiboa 49 edo error kasu egiten 23-- 288 00:13:40,360 --> 00:13:44,170 batzuk itxuraz arbitrarioa balioa hori da, programatzaile hard-kodetuak duelako 289 00:13:44,170 --> 00:13:49,370 negatiboa 49 edo positiboak bezalako balioa 23 edozein zenbaki adierazteko, ausartzen esan, 290 00:13:49,370 --> 00:13:53,340 4 milioi posible gauzak of programa bat ere gaizki joan liteke. 291 00:13:53,340 --> 00:13:55,700 >> Beraz, nola liteke hartzen dut honen abantaila? neuk 292 00:13:55,700 --> 00:13:58,970 Beno, utzi ireki me programa bat idatzi dudala, aldez aurretik, 293 00:13:58,970 --> 00:14:01,450 eta Poke inguruan online kaixo 4 izenekoa. 294 00:14:01,450 --> 00:14:05,650 Eta ia berdina da, izan ezik bere erroreen zainketa pixka bat lortu. 295 00:14:05,650 --> 00:14:09,660 Kasu honetan, nik berriro deklaratu dut bi argumentu hartzen nagusia, 296 00:14:09,660 --> 00:14:13,180 baina oraingo honetan, on line 17, oharra Behatu txeke bat pixka bat egiten ari naiz. 297 00:14:13,180 --> 00:14:17,100 Egiten ari naiz ziur argc berdin berdin 2. 298 00:14:17,100 --> 00:14:18,960 Delako ez balitz, esan nahi du, segurtasunez ahal dut 299 00:14:18,960 --> 00:14:21,420 ukitu ez bakarrik tarte 0, baina parentesi 1. 300 00:14:21,420 --> 00:14:24,330 Eta aurrera dut eta inprimatu, kasu honetan, Zamyla edo Rob 301 00:14:24,330 --> 00:14:26,020 edo dena delakoa hitza out idatzi dut. 302 00:14:26,020 --> 00:14:28,020 Eta orain, besterik lortu apur bat gehiago egokia, 303 00:14:28,020 --> 00:14:31,910 Esplizituki itzultzeko noa Guztiak ondo 0 adierazteko. 304 00:14:31,910 --> 00:14:33,300 Ezer ez da txarra gertatu. 305 00:14:33,300 --> 00:14:38,590 >> Baina konbentzio, ez naiz joan itzultzeko 1, edo Egia Bat-0 ez balio, 306 00:14:38,590 --> 00:14:40,160 zerbait gaizki joan bada. 307 00:14:40,160 --> 00:14:43,270 Orain, erabiltzaileak ez da joan Benetan nabarituko zer ari den gertatzen. 308 00:14:43,270 --> 00:14:50,410 Izan ere joaten naiz direktorio honetan sartu bada, Handiagotzeko dugu eta ez kaixo 4, 309 00:14:50,410 --> 00:14:54,210 hello-4 Zamyla jokatzen du, espero dut. 310 00:14:54,210 --> 00:14:58,570 Baina badut ordez ez idatzi ezer, ezer gutxi gertatzen, 311 00:14:58,570 --> 00:14:59,680 baina ez du huts egin. 312 00:14:59,680 --> 00:15:04,660 Eta gero, zerbait egin beharrean dut Rob bezalako PROCTOR bat da 313 00:15:04,660 --> 00:15:07,550 Thayer-- partekatzea Informazio arbitrarioa. 314 00:15:07,550 --> 00:15:13,680 Baina oharra, argv 1, 2, 3, 4, eta 5 behar orain memorian existitzen. 315 00:15:13,680 --> 00:15:16,540 Hori ere bai, ez da zer da nire programa espero du, 316 00:15:16,540 --> 00:15:20,300 ala dut hautatuta delako argc berdin berdin 2 edo ez. 317 00:15:20,300 --> 00:15:22,140 Beraz, I orain honen aurka defendatzeko naiz. 318 00:15:22,140 --> 00:15:25,290 >> Orain, bat alde batera utzita, genuen programmer-- edo hobeto esanda users-- egin dugu 319 00:15:25,290 --> 00:15:29,670 inoiz ikusi duten 0 eta 1 baina bat erabiliz Debugger, edo beste tresna izeneko tresna, 320 00:15:29,670 --> 00:15:32,250 lehenago ikusi dugu luze, programatzaile duzu 321 00:15:32,250 --> 00:15:36,590 benetan ikusi zer egongo zure programaren barruan, oker joan. 322 00:15:36,590 --> 00:15:39,170 >> Beraz, argc buruzko edozein galdera? 323 00:15:39,170 --> 00:15:40,873 Bai. 324 00:15:40,873 --> 00:15:45,292 >> IKUSLEEN: ikusi dut, non ez dute pertsonaia izan, [INAUDIBLE] 325 00:15:45,292 --> 00:15:49,669 besterik esan katea star d, atsegin pertsonaia Asteriskoa koma. 326 00:15:49,669 --> 00:15:50,710 Hemen pareko dira? 327 00:15:50,710 --> 00:15:51,626 >> DAVID MALAN: ez dira. 328 00:15:51,626 --> 00:15:55,080 Beraz, galdera da, behar duzu noizean behin ikusten programak 329 00:15:55,080 --> 00:15:57,270 hau ez zait gustatzen katea argv parentesi esan 330 00:15:57,270 --> 00:16:01,015 baina horren ordez zerbait esan char izar argv parentesi bezala. 331 00:16:01,015 --> 00:16:03,140 Eta ez da, nahiz eta beste agian ikusten duzun aldaera. 332 00:16:03,140 --> 00:16:04,264 Hain zuzen ere, baliokideak dira. 333 00:16:04,264 --> 00:16:06,240 Oraingoz, hauek ditugu prestakuntza gurpilak moduko 334 00:16:06,240 --> 00:16:09,737 CS50 kate eran an liburutegia, baina astebete pasatxo hasi 335 00:16:09,737 --> 00:16:12,570 edo, beraz, esaten ari gara kentzeko joan eragozpenik guztiz eta benetan 336 00:16:12,570 --> 00:16:16,820 zer char eta izar begiratu dira, eta nola memoria pertain horiek 337 00:16:16,820 --> 00:16:18,140 ordezkaritza oro har. 338 00:16:18,140 --> 00:16:19,540 Beraz, etorri egingo dela itzuliko gara. 339 00:16:19,540 --> 00:16:21,540 >> Gure argv edo argc on Beste galdera? 340 00:16:21,540 --> 00:16:22,397 Bai. 341 00:16:22,397 --> 00:16:24,438 IKUSLEEN: Zergatik itzuli Errore bat [INAUDIBLE]? 342 00:16:24,438 --> 00:16:27,147 343 00:16:27,147 --> 00:16:29,230 DAVID MALAN: Zergatik egin zuen errore bat itzuliko oh only--! 344 00:16:29,230 --> 00:16:31,813 Aurreko kasuan, dugunean ziren inguruan futzing memoria, 345 00:16:31,813 --> 00:16:35,110 zergatik ez zuen errore bat bakarrik itzuli da benetan idatzi dut kopuru handi bat? 346 00:16:35,110 --> 00:16:36,620 Erantzun laburra da, baina besterik ez dugu zorterik. 347 00:16:36,620 --> 00:16:39,240 Oro har, ordenagailu bat memoria bideratzen zatiak, 348 00:16:39,240 --> 00:16:42,900 eta ni bat nahikoa zati handi eman dela Kanpoan lortu nuen, ohartu gabe, 349 00:16:42,900 --> 00:16:46,280 Gaztetxean parentesi 2, parentesi 3, bracket 50, baina ahalik eta azkarren dut bultzatu 350 00:16:46,280 --> 00:16:49,080 nire zorte, haratago joan nintzen memoria zatia mugak 351 00:16:49,080 --> 00:16:50,520 sistema eragilea izan eman dit. 352 00:16:50,520 --> 00:16:52,720 Eta hori da egiten behera lotu eta esan, ez. 353 00:16:52,720 --> 00:16:54,580 Segmentazioa error. 354 00:16:54,580 --> 00:16:55,692 Bai. 355 00:16:55,692 --> 00:16:58,890 >> IKUSLEEN: ordenagailua Nola funtzionatzen du argc balioa ezagutzen? 356 00:16:58,890 --> 00:17:02,390 >> DAVID MALAN: Nola funtzionatzen du ordenagailu argc balioa ezagutzen? 357 00:17:02,390 --> 00:17:07,920 Programa bat exekutatzen baduzu, programa hori, keinu gonbita izaeraren arabera, 358 00:17:07,920 --> 00:17:11,359 sorta banatu da Baliteke idatzi ziren hitzak 359 00:17:11,359 --> 00:17:13,300 gonbitan, hori izan zen gonbitan idatzi. 360 00:17:13,300 --> 00:17:16,569 Eta beraz, zure eragilea da sistema hori, funtsean, 361 00:17:16,569 --> 00:17:20,329 nagusiak argumentuak populates duzu. 362 00:17:20,329 --> 00:17:22,829 Beraz, zerbitzu bat lortu duzu, ordenatzeko ezkutuka 363 00:17:22,829 --> 00:17:24,869 kanpaia azpian Sistema eragile bat. 364 00:17:24,869 --> 00:17:27,118 Beste galdera? 365 00:17:27,118 --> 00:17:27,618 Bai. 366 00:17:27,618 --> 00:17:29,787 >> IKUSLEEN: Zer esan nahi du core dump? 367 00:17:29,787 --> 00:17:31,370 DAVID MALAN: Zer esan nahi du core dump? 368 00:17:31,370 --> 00:17:32,950 Beraz, galdera ona da. 369 00:17:32,950 --> 00:17:35,312 Eta atzera me sartu Direktorio hau hemen. 370 00:17:35,312 --> 00:17:37,270 Eta nabarituko duzula Fitxategi berri bat ez daukat. 371 00:17:37,270 --> 00:17:41,670 Hain zuzen ere, core izenekoa, eta hori da, egia esan, normalean fitxategia duin-tamaina bat. 372 00:17:41,670 --> 00:17:45,300 Hori da, funtsean, argazki bat nire programa memorian edukiak 373 00:17:45,300 --> 00:17:46,902 edo RAM denean huts egin. 374 00:17:46,902 --> 00:17:49,110 Eta hori oso erabilgarria izango da, potentzialki, diagnostikoan, 375 00:17:49,110 --> 00:17:52,850 behin hitz egin dugu, etorkizuneko hitzaldi eta arazketa buruzko atalean, 376 00:17:52,850 --> 00:17:55,730 benetan egin dezakedalako du Autopsia digital baten baliokidea 377 00:17:55,730 --> 00:18:00,300 fitxategia horretan irudikatu laguntzeko programan zer oker egin duzu. 378 00:18:00,300 --> 00:18:01,220 Bai. 379 00:18:01,220 --> 00:18:04,450 >> IKUSLEEN: komando bat argc da bera, edo izena eman duzu ezer? 380 00:18:04,450 --> 00:18:05,575 >> DAVID MALAN: Ona galdera. 381 00:18:05,575 --> 00:18:08,040 Komando bat argc da berez, edo ezin izena eman duzu ezer? 382 00:18:08,040 --> 00:18:09,290 Behin betiko ez-komandoa. 383 00:18:09,290 --> 00:18:13,500 Besterik da, aldagai bat izendatzeko edo argumentu baten izena, 384 00:18:13,500 --> 00:18:15,481 eta beraz, erabat dugu lelo hau deitu daiteke, 385 00:18:15,481 --> 00:18:18,480 bar honetan, joera horrek deitu genezake go-hitzak duen ordenagailu bat izan nahi du 386 00:18:18,480 --> 00:18:19,860 Zientzialari doa. 387 00:18:19,860 --> 00:18:22,820 Baina konbentzio, argc eta argv erabili dugu. 388 00:18:22,820 --> 00:18:25,360 Baina hori giza bat besterik ez konbentzio, ezer gehiago. 389 00:18:25,360 --> 00:18:25,860 Guztiak eskubidea. 390 00:18:25,860 --> 00:18:28,140 Beraz, izarrekin bihurtzen, Izan dut lie-- zuri bat pixka bat kontatzea 391 00:18:28,140 --> 00:18:31,264 eta Egia, etorkizunean, ikusiko duzu izan dugu beste gezur zuri kontatzeko. 392 00:18:31,264 --> 00:18:33,510 Baina orain, goazen itzuli zuritu horietako bat. 393 00:18:33,510 --> 00:18:37,310 Nuenean aurrez Kasu honetan hemen hello edo hello-3 bezalako programa bat ran 394 00:18:37,310 --> 00:18:42,780 Zamyla, edukia izan genuen nire ordenagailuaren memoria gutxi gorabehera antza 395 00:18:42,780 --> 00:18:43,280 honetan. 396 00:18:43,280 --> 00:18:45,070 Baina gogoratzen kate bat zer den. 397 00:18:45,070 --> 00:18:49,279 Zer Duela aste bat zer esan genuen katea benetan kanpaia azpian dago? 398 00:18:49,279 --> 00:18:50,320 IKUSLEEN: karakteretan Array. 399 00:18:50,320 --> 00:18:52,111 DAVID MALAN: ez da bat karakteretan sorta, ezta? 400 00:18:52,111 --> 00:18:55,760 Beraz, array bat izan dugu kateak, baina, aldi berean, kate bat 401 00:18:55,760 --> 00:18:57,150 karaktere array bat da. 402 00:18:57,150 --> 00:19:00,010 Beraz badut benetan izan nahi anal du argazki hau marraztu dut, 403 00:19:00,010 --> 00:19:03,290 Benetan marrazten behar dut Hori guztia hala apur bat gehiago, 404 00:19:03,290 --> 00:19:08,000 horietako bakoitzean horren bidez nire argv array-indizeak, 405 00:19:08,000 --> 00:19:11,432 ez kate oso bat da bere baitan bera array bat da. 406 00:19:11,432 --> 00:19:13,140 Eta orain, gezur zuriak gaur kontatzea ari gara 407 00:19:13,140 --> 00:19:15,181 dela irudi ez nahiko itxura hau. 408 00:19:15,181 --> 00:19:19,110 Izan ere, plazetan gutxi dira normalean laukizuzenak big kanpo 409 00:19:19,110 --> 00:19:19,610 ez. 410 00:19:19,610 --> 00:19:21,280 Baina etorri egingo dugun itzuli aurretik. 411 00:19:21,280 --> 00:19:25,440 Baina hau backslash hello 0 da, duten izaera berezi hori izateagatik 412 00:19:25,440 --> 00:19:28,310 kate baten amaiera mugatzen du, eta nik ondoren beste bat lortu dugu 413 00:19:28,310 --> 00:19:29,360 Zamyla izena. 414 00:19:29,360 --> 00:19:30,900 Beraz, zer esan nahi du horrek? 415 00:19:30,900 --> 00:19:33,410 >> Beno, utzi aurretik, joan eta ireki beste bi adibide 416 00:19:33,410 --> 00:19:35,220 linean erabilgarri dauden. 417 00:19:35,220 --> 00:19:40,590 One deritzo argv1.c eta bestea argv2 da. 418 00:19:40,590 --> 00:19:44,260 Super-simple programa bat da, iragana programak desberdinak 419 00:19:44,260 --> 00:19:47,260 horretan gaur egun erabiltzen dut argc eta argv hemen. 420 00:19:47,260 --> 00:19:54,300 Eta orain I begizta batekin integratzeko naiz 18 linea, i-tik = 0 argc up on batean. 421 00:19:54,300 --> 00:19:56,850 Eta zer ari naiz egingo Hemen, kode-lerro honekin? 422 00:19:56,850 --> 00:19:58,270 Ingles. 423 00:19:58,270 --> 00:20:00,510 Hau, jakina, argc erabilera erakusten du. 424 00:20:00,510 --> 00:20:03,670 Baina ingelesez, zer egiten duen programa hau exekutatu bada egin? 425 00:20:03,670 --> 00:20:04,366 Bai? 426 00:20:04,366 --> 00:20:07,386 >> IKUSLEEN: inprimatzeko joan zure proiektatuko adina aldiz nahi duzun bezala. 427 00:20:07,386 --> 00:20:08,260 DAVID MALAN: Zehazki. 428 00:20:08,260 --> 00:20:10,480 Beraz, edozein izanda ere hitz I gonbitan idatzi, hura izan 429 00:20:10,480 --> 00:20:13,120 to regurgitate joan lerroko me at horietako bat. 430 00:20:13,120 --> 00:20:14,370 Beraz, dezagun aurrera, eta hau egin. 431 00:20:14,370 --> 00:20:17,862 Let me go nire direktorioa sartu eta egin Argv1 ./argv1 egiteko. 432 00:20:17,862 --> 00:20:20,521 433 00:20:20,521 --> 00:20:21,770 Eta orain, dezagun simple mantentzeko. 434 00:20:21,770 --> 00:20:23,834 Egin dezagun deus lehen at dezagun. 435 00:20:23,834 --> 00:20:26,750 Gauza bat inprimatu egin zen, eta hori da, hain zuzen ere, programaren izena, 436 00:20:26,750 --> 00:20:28,240 duten tarte 0 in delako. 437 00:20:28,240 --> 00:20:33,290 Orain esaten dut foo gero, egin da joan bi horiek, eta foo bar diot bada, 438 00:20:33,290 --> 00:20:35,580 nik hiru gauza horiek esan du. 439 00:20:35,580 --> 00:20:37,740 Orain dela zertxobait interesgarria, agian. 440 00:20:37,740 --> 00:20:41,450 Baina gogoratzen argv duten kateen array bat da, 441 00:20:41,450 --> 00:20:45,960 baina kate bat karakteretan array bat da, beraz, gauzak hartu ahal izango dugu Notch bat sortu 442 00:20:45,960 --> 00:20:48,560 eta aplikatzeko oinarrizko dagoela Logika eta kodea ematen diotenak 443 00:20:48,560 --> 00:20:51,160 itxura apur bat gehiago críptica, admittedly. 444 00:20:51,160 --> 00:20:53,540 Baina habiaratua bat izatea begizta, zerbait betean 445 00:20:53,540 --> 00:20:57,030 zer Mario baliteke gogoraraztea, esate baterako, modu honetan egin zenuen gero. 446 00:20:57,030 --> 00:21:00,380 >> Beraz, gaur egun on line 19 nabarituko, naiz berriro nire argudioak baino gehiago errepikatzean, 447 00:21:00,380 --> 00:21:02,410 up on 0tik to argc. 448 00:21:02,410 --> 00:21:05,510 Eta orain lerro 21-- naiz astetik trikimailu bat maileguan 449 00:21:05,510 --> 00:21:11,090 Zer da nabil egiaztapena argv tarte i luzera. 450 00:21:11,090 --> 00:21:12,920 N ere erantzuna gordetzeko naiz. 451 00:21:12,920 --> 00:21:18,230 Eta gero noa j etatik integratzeko n, non j 0 hasieratu gehienez. 452 00:21:18,230 --> 00:21:19,460 Beraz, zenbaketa hitzarmen. 453 00:21:19,460 --> 00:21:22,335 Ondoren erabili dut, bat baduzu habiaratutako begiztaren, ezin duzu i berriro erabiltzea, 454 00:21:22,335 --> 00:21:25,770 bestela idazteko duzu, potentzialki, Barruko begizta kanpo balioa. 455 00:21:25,770 --> 00:21:27,200 Beraz, erabiltzen dut j konbentzio. 456 00:21:27,200 --> 00:21:28,020 K erabili genezake. 457 00:21:28,020 --> 00:21:31,080 K baino gehiago badituzu, seguruenik duzu gehiegi habia dute, normalean. 458 00:21:31,080 --> 00:21:33,800 Baina orain, nabarituko nire printf lerro apur bat desberdina da. 459 00:21:33,800 --> 00:21:37,520 Ez dut% s inprimatzeko, naiz % c inprimatzeko, eta horrek, jakina, 460 00:21:37,520 --> 00:21:39,460 char bat biltegian dago. 461 00:21:39,460 --> 00:21:40,770 >> Eta orain konturatu sintaxia hau. 462 00:21:40,770 --> 00:21:41,270 New. 463 00:21:41,270 --> 00:21:42,630 Ez dugu ikusi aurretik it. 464 00:21:42,630 --> 00:21:47,290 Baina noski, hori esan nahi du igarren argv Kate lortu 465 00:21:47,290 --> 00:21:50,067 eta lortu jth zer? 466 00:21:50,067 --> 00:21:50,900 IKUSLEEN: Character. 467 00:21:50,900 --> 00:21:52,800 DAVID MALAN: kate horretan pertsonaia. 468 00:21:52,800 --> 00:21:57,100 Beraz kortxete erabiliz kortxete jarraian, 469 00:21:57,100 --> 00:22:00,390 hau da urpekaritza lehenengoa argv en kateak sartu, 470 00:22:00,390 --> 00:22:02,225 eta ondoren, bigarrenean, j ekin kortxete 471 00:22:02,225 --> 00:22:06,580 da urpekaritza pertsonaiak sartu argv kate jakin horretan. 472 00:22:06,580 --> 00:22:09,562 Eta, ondoren, neurri ona, Linea berri bat inprimatzeko dut hemen. 473 00:22:09,562 --> 00:22:12,020 Beraz, gaur egun utzi aurrera eta ireki zertxobait handiagoa leiho bat sortu 474 00:22:12,020 --> 00:22:13,600 beraz, ikusi ahal izango dugu ekintza. 475 00:22:13,600 --> 00:22:15,700 Let me go karpeta horretan. 476 00:22:15,700 --> 00:22:22,550 Eta orain egin egin argv-2-- whoops-- argv-2, ./argv 2. 477 00:22:22,550 --> 00:22:23,110 Sartu. 478 00:22:23,110 --> 00:22:24,860 Eta gogorra, apur bat da bertikalean irakurtzeko, 479 00:22:24,860 --> 00:22:27,920 baina hori da, hain zuzen ere, izenaren programa, lerro zuri bat, eta jarraian. 480 00:22:27,920 --> 00:22:30,210 Orain aurrera egin eta zer foo me. 481 00:22:30,210 --> 00:22:33,210 , Era berean, gogor irakurtzeko baina da hain zuzen ere, lerro bakoitzeko pertsonaia inprimatzeko. 482 00:22:33,210 --> 00:22:36,780 Eta bar egiten badut, ez da orain lerroz lerro horiek inprimatzeko. 483 00:22:36,780 --> 00:22:40,140 Beraz takeaway hemen ez da hainbeste , hori wow, trikimailu berria neat begiratu 484 00:22:40,140 --> 00:22:44,750 non edukiak at lor dezakezu array bat pertsonaiak zehatzen, 485 00:22:44,750 --> 00:22:48,380 baizik eta nola oinarrizko horiek hartzen ari gara indexatzeko bezalako ideiak array batean, 486 00:22:48,380 --> 00:22:51,620 eta ondoren bat sartu indexatzeko array array horretan izan zen, 487 00:22:51,620 --> 00:22:56,180 eta, besterik gabe, ideia bera erabili Adibide apur bat sofistikatuagoa. 488 00:22:56,180 --> 00:22:59,560 Baina oinarriak benetan ez aldatu, nahiz eta azken astean geroztik. 489 00:22:59,560 --> 00:23:02,350 >> Azken hau da, sort puntuala, horretan, gogora ekarri, astea zero saioa 490 00:23:02,350 --> 00:23:04,110 jokatu telefono-liburu bat hau atsegin dugu. 491 00:23:04,110 --> 00:23:06,670 Eta hori da, jakina, nahiz eta paper pieza fisikoak, 492 00:23:06,670 --> 00:23:09,150 dezakezu motatako pentsatzea telefono-liburu bat array gisa. 493 00:23:09,150 --> 00:23:12,770 Zalantzarik gabe, to reimplement zinen Pieza honetan paper pieza horiek 494 00:23:12,770 --> 00:23:15,260 Ordenagailu bat ere, ziurrenik, zerbait erabili nahi duzun 495 00:23:15,260 --> 00:23:20,270 bezalako array horiek guztiak gordetzeko Izenak eta zenbakiak A modu guztiak aurrera 496 00:23:20,270 --> 00:23:23,800 Z. bitartez Beraz, hau da, polita, zeren Gurekin aukera bat ematen du, 497 00:23:23,800 --> 00:23:28,310 agian, kontuan hartu behar da nola you might egia esan, horrelako zerbait martxan jartzeko. 498 00:23:28,310 --> 00:23:31,250 Ate sorta bat, hemen gertatzen den bezala. 499 00:23:31,250 --> 00:23:36,380 Beraz, I could-- bada bat behar dugu an sortu etorri boluntarioak. 500 00:23:36,380 --> 00:23:36,980 Ikus dezagun. 501 00:23:36,980 --> 00:23:40,650 Ohituta aurpegi bat, beharbada, Ohituta aurpegia agian. 502 00:23:40,650 --> 00:23:42,090 Nola laranja buruz? 503 00:23:42,090 --> 00:23:42,680 Hemen. 504 00:23:42,680 --> 00:23:45,870 Orange kamiseta, goazen gora. 505 00:23:45,870 --> 00:23:52,230 >> Dezagun aurrera orain, eta mugimendua Bizpahiru baino gehiago ate horiek, 506 00:23:52,230 --> 00:23:54,020 mugitu horiek une batez out bidea. 507 00:23:54,020 --> 00:23:56,600 508 00:23:56,600 --> 00:23:57,760 Zein da zure izena? 509 00:23:57,760 --> 00:23:58,580 >> Ajay: 510 00:23:58,580 --> 00:23:58,655 >> DAVID MALAN: Ajay. 511 00:23:58,655 --> 00:23:58,680 David. 512 00:23:58,680 --> 00:23:59,451 Niza zu ezagutzeaz. 513 00:23:59,451 --> 00:23:59,950 Guztiak eskubidea. 514 00:23:59,950 --> 00:24:04,500 Beraz, sei horien atzean dugun Ate digitalki pantailan 515 00:24:04,500 --> 00:24:07,810 edo, hobeto esanda, zazpi ateak pantaila zenbakiak sorta osoa. 516 00:24:07,810 --> 00:24:10,099 Eta esan duzu ez dut ezer in advance-- adostu? 517 00:24:10,099 --> 00:24:11,140 Ajay: aldez aurretik Nothing. 518 00:24:11,140 --> 00:24:14,730 DAVID MALAN: Guztiak egin nahi dut orain da niretzat aurkitu, eta guretzat, 519 00:24:14,730 --> 00:24:20,920 Benetan, 50 zenbakia da, aldi berean urrats bat. 520 00:24:20,920 --> 00:24:21,830 >> Ajay: Zenbakia 50? 521 00:24:21,830 --> 00:24:22,580 >> DAVID MALAN: 50 kopurua. 522 00:24:22,580 --> 00:24:24,746 Eta zer da agerian dezakezu ate horietako bakoitzaren atzean 523 00:24:24,746 --> 00:24:27,930 besterik da ukituko hatz batekin. 524 00:24:27,930 --> 00:24:31,364 Malditos. [Barreak] 525 00:24:31,364 --> 00:24:34,560 >> [Txaloak] 526 00:24:34,560 --> 00:24:39,540 >> Oso ondo egiten. 527 00:24:39,540 --> 00:24:40,400 Ados. 528 00:24:40,400 --> 00:24:44,090 Opari eder bat daukagu zuretzat sari hemen. 529 00:24:44,090 --> 00:24:46,520 Zure film jaso ditugu joan den astean eztabaidatu. 530 00:24:46,520 --> 00:24:47,362 >> Ajay: Oh, man. 531 00:24:47,362 --> 00:24:49,050 Oh, ez dut inoiz ikusi Spaceballs. 532 00:24:49,050 --> 00:24:49,520 >> DAVID MALAN: Spaceballs. 533 00:24:49,520 --> 00:24:50,140 Guztiak eskubidea. 534 00:24:50,140 --> 00:24:53,790 Beraz, une bat besterik ez askatu. 535 00:24:53,790 --> 00:24:57,430 How-- dezagun honen teachable une batean 536 00:24:57,430 --> 00:25:00,412 nola joan zineten 50 zenbakia aurkitzeko? 537 00:25:00,412 --> 00:25:01,370 Ajay: ausaz aukeratu nuen. 538 00:25:01,370 --> 00:25:03,420 DAVID MALAN: Beraz, aukeratu duzun ausaz eta lortu zortea. 539 00:25:03,420 --> 00:25:03,790 Ajay: Bai. 540 00:25:03,790 --> 00:25:04,456 DAVID MALAN: Ados. 541 00:25:04,456 --> 00:25:05,050 Bikain. 542 00:25:05,050 --> 00:25:08,470 Beraz, gaur egun, izan ez duzula Ahaztuak zortea, zer gehiago 543 00:25:08,470 --> 00:25:10,210 agian gertatu dira ate horien atzean? 544 00:25:10,210 --> 00:25:12,930 Beraz, aurrera joan ahal naiz eta Zenbaki horiek hemen agerian, 545 00:25:12,930 --> 00:25:15,180 benetan dute ausaz daude. 546 00:25:15,180 --> 00:25:17,750 Eta onena izan dezakezu egin, Egia, da, azken finean, 547 00:25:17,750 --> 00:25:19,410 kasurik okerrenean ere, egiaztatuz horiek guztiak. 548 00:25:19,410 --> 00:25:23,000 Beraz, lortu duzu super-zortea, eta horrek Ez da zer algoritmo bat deitzen dugu. 549 00:25:23,000 --> 00:25:24,730 Bai, Zorionak. 550 00:25:24,730 --> 00:25:27,010 Baina orain let's-- umorea zidan, ahal izango banu. 551 00:25:27,010 --> 00:25:28,310 Goazen fitxa honetara hemen. 552 00:25:28,310 --> 00:25:31,460 Eta hemen argi zenbakiak zer badirudi ausaz bat izan nahi du, 553 00:25:31,460 --> 00:25:32,280 eta izan ziren. 554 00:25:32,280 --> 00:25:35,160 Baina orain ordez erreklamazioa badut duten ate horien atzean 555 00:25:35,160 --> 00:25:39,070 antolatuko dira zenbakiak dira. 556 00:25:39,070 --> 00:25:41,780 Helburua da orain ere 50 zenbakia aurkitu digu. 557 00:25:41,780 --> 00:25:45,910 Baina egin ezazu algorithmically, eta kontatu digu nola horri buruz ari zaren. 558 00:25:45,910 --> 00:25:48,020 Eta aurki baduzu, filma mantentzeko duzu. 559 00:25:48,020 --> 00:25:49,520 Ez duzu aurkituko da, eman back duzu. 560 00:25:49,520 --> 00:25:52,720 561 00:25:52,720 --> 00:25:58,112 Ajay: Beraz, ez dut muturrak ikusteko joan lehen, behar bada zehazteko there's-- 562 00:25:58,112 --> 00:26:02,048 [Barreak eta txalo] 563 00:26:02,048 --> 00:26:04,451 564 00:26:04,451 --> 00:26:05,492 DAVID MALAN: Hementxe dituzu. 565 00:26:05,492 --> 00:26:17,080 566 00:26:17,080 --> 00:26:21,700 Ikus dezagun begirada bat Ajay-ren aurrekoek, 567 00:26:21,700 --> 00:26:25,450 Sean, ez zen nahiko zortea. 568 00:26:25,450 --> 00:26:28,670 Ados, beraz, zure zeregina hemen, Sean, honako hau da. 569 00:26:28,670 --> 00:26:32,970 Dut hauen atzean ezkutatuta Ateak zazpi kopurua, 570 00:26:32,970 --> 00:26:37,200 baina kanpoan bilduta ate horietako batzuetan baita beste zenbakiak ez negatiboa dira. 571 00:26:37,200 --> 00:26:40,730 Eta zure helburua da hori, uste zenbakiak goiko errenkadan array bat besterik ez bezala. 572 00:26:40,730 --> 00:26:43,590 Besterik pieza segida bat gara atzean zenbakiak dituzten paper. 573 00:26:43,590 --> 00:26:47,640 Eta zure helburua da, goitik bakarrik erabiliz array hemen, niri zazpi kopurua. 574 00:26:47,640 --> 00:26:51,200 Eta ari gara, ondoren, kritika joan egiten nola joan zaitezke. 575 00:26:51,200 --> 00:26:52,920 Aurkitu Gurekin zazpi kopurua, mesedez. 576 00:26:52,920 --> 00:27:02,570 577 00:27:02,570 --> 00:27:03,070 N º 578 00:27:03,070 --> 00:27:06,760 579 00:27:06,760 --> 00:27:08,179 5, 19, 13. 580 00:27:08,179 --> 00:27:16,752 581 00:27:16,752 --> 00:27:17,835 Ez da trikimailu galdera bat. 582 00:27:17,835 --> 00:27:21,420 583 00:27:21,420 --> 00:27:21,920 1. 584 00:27:21,920 --> 00:27:26,715 585 00:27:26,715 --> 00:27:29,840 Puntu honetan zure puntuazioa ez da oso ona, beraz, baita dezakezu mantendu egingo da. 586 00:27:29,840 --> 00:27:32,870 587 00:27:32,870 --> 00:27:33,370 3. 588 00:27:33,370 --> 00:27:38,570 589 00:27:38,570 --> 00:27:39,802 Joan. 590 00:27:39,802 --> 00:27:42,510 Egia, ezin dut lagundu, baina harritzekoa zer duzu, nahiz eta pentsatzen ari. 591 00:27:42,510 --> 00:27:44,990 >> SEAN: bakarrik goiko errenkadan dut har dezakete. 592 00:27:44,990 --> 00:27:46,240 DAVID MALAN: Goiko ilara bakarra. 593 00:27:46,240 --> 00:27:47,281 Beraz duzun got hiru ezker. 594 00:27:47,281 --> 00:27:48,310 Beraz, aurkituko me 7. 595 00:27:48,310 --> 00:27:54,758 596 00:27:54,758 --> 00:27:59,141 >> [Ikusleen iradokizunak oihuak] 597 00:27:59,141 --> 00:28:22,210 598 00:28:22,210 --> 00:28:26,130 Horiek, beraz, bai harrigarria izan ziren Arrazoi oso desberdina da. 599 00:28:26,130 --> 00:28:29,150 Beraz, hau da, non gauden utzi duela une bat, 600 00:28:29,150 --> 00:28:32,530 eta funtsezko ezagutzeko hemen zen ate horiek zenbakiak izan 601 00:28:32,530 --> 00:28:37,390 horien atzean ordenatuko ziren, ideal zein eramateko dela egin ahal izango duzu 602 00:28:37,390 --> 00:28:39,670 funtsean hobeto Bigarren adibide honetan 603 00:28:39,670 --> 00:28:42,380 eta, hain zuzen ere, hori izan zen Sean ausazko zenbakiak dituzten lehen saiakera 604 00:28:42,380 --> 00:28:45,460 bezain aurretik baina ahalik eta azkarren zenbaki horiek ordenatuko diren bezala, 605 00:28:45,460 --> 00:28:47,980 telefono-liburuan bezala, zer jakina, egin dezakezu? 606 00:28:47,980 --> 00:28:50,090 Edo nola ahal ezagutza duten leverage duzu? 607 00:28:50,090 --> 00:28:51,530 Bai. 608 00:28:51,530 --> 00:28:54,910 >> IKUSLEEN: erdiraino joan duzu [INAUDIBLE]. 609 00:28:54,910 --> 00:28:55,660 DAVID MALAN: Bai. 610 00:28:55,660 --> 00:28:56,160 Zehazki. 611 00:28:56,160 --> 00:28:59,680 Beraz Ajay hasierako sena izan zen muturrak ikusteko, gogoratzen dut, 612 00:28:59,680 --> 00:29:02,320 eta, ondoren, ordenatzeko ditugu bukatutako Adibidez azkar. 613 00:29:02,320 --> 00:29:05,220 Baina hasi badugu hau gehiago egin metodikoki lerro horiek batera, 614 00:29:05,220 --> 00:29:07,860 baina hasita agian ere erdian, ari ordenatuko delako, 615 00:29:07,860 --> 00:29:10,900 agerian dugun bezala bezain laster zenbakia 16, beraz, ezagutzen dugun 616 00:29:10,900 --> 00:29:14,850 eta egin dezagun zehazki dugu horrelako utzi Hortaz jakin 50a, gaur egungo kasuan, 617 00:29:14,850 --> 00:29:16,080 lortu ahal izateko eskubidea izan. 618 00:29:16,080 --> 00:29:18,735 Beraz, besterik ez bezala, aste zero denean ere telefono-liburua Tore dugu erdia 619 00:29:18,735 --> 00:29:21,490 eta erdia bota Arazo kanpoan, ideia bera hemen. 620 00:29:21,490 --> 00:29:23,680 Zati hau bota dugu Arazoaren kanpoan. 621 00:29:23,680 --> 00:29:25,730 Eta, ziurrenik, zer duzu algorithmically egin liteke, 622 00:29:25,730 --> 00:29:28,710 behin 50 behar izan badakizu eskubidea, edozein lekutan bada, 623 00:29:28,710 --> 00:29:31,390 saiatu han, erdian Gainerako ateak. 624 00:29:31,390 --> 00:29:33,450 Jakina, 50 handiagoa da 42 baino gehiago, beraz, ahal dugun 625 00:29:33,450 --> 00:29:36,060 bota hau gainerako arazoa laurdena kanpoan, 626 00:29:36,060 --> 00:29:38,510 eta, azkenik, identifikatzeko 50 antzeko zerbait. 627 00:29:38,510 --> 00:29:41,050 Baina besterik ez bezala telefono-liburua, zenbaki horiek 628 00:29:41,050 --> 00:29:44,560 ziren guretzat dagoeneko eman diren ordena ordenatuko da, eta horrek uzten gaitu 629 00:29:44,560 --> 00:29:47,450 galdera batekin, nola egiten duzu ordenatuko ordena sartu gauzak? 630 00:29:47,450 --> 00:29:49,640 Eta, Egia, zer kostua? 631 00:29:49,640 --> 00:29:51,390 Gauza bat da izan telefono-liburua banatu 632 00:29:51,390 --> 00:29:54,810 eta, ondoren, zure lagunak harritu aurkitzeko arabera telefono benetan azkar, zenbaki bat, ezta? 633 00:29:54,810 --> 00:29:58,520 32 orrialdeak tearing out aurkitu pertsona 4 milioi orriak atera, 634 00:29:58,520 --> 00:30:00,470 Adibide muturreko bat zela esan dugu. 635 00:30:00,470 --> 00:30:03,320 Baina zenbat denbora hartu zuen Verizon telefono liburu hori ordenatzeko? 636 00:30:03,320 --> 00:30:06,170 Zenbat denbora zuen gurekin eraman ezazu zazpi zenbaki horiek ordenatzeko? 637 00:30:06,170 --> 00:30:10,110 Hori galdera bat dugu, beraz, orain arte ez zaio inolako kasurik. 638 00:30:10,110 --> 00:30:12,330 >> Hargatik Erantzun galdera hau orain. 639 00:30:12,330 --> 00:30:15,920 Eta denak filmak atera gara orain, baina estresa pilotak batzuk egiten dugu. 640 00:30:15,920 --> 00:30:19,480 Esan, zortzi boluntario, bada ez litzateke axola gurekin atxikitzeko hemen? 641 00:30:19,480 --> 00:30:24,100 Dezagun aurrera, eta, nola buruz duzu lau, zuk hirutan hemen? 642 00:30:24,100 --> 00:30:25,290 Talde aurpegi berri batzuk. 643 00:30:25,290 --> 00:30:27,220 Eta zuk lau han? 644 00:30:27,220 --> 00:30:30,760 Eta orain ez dezagun biasa hemen eta Zortzi zenbakia hemen bukaeran zehar. 645 00:30:30,760 --> 00:30:32,060 Goazen sortu. 646 00:30:32,060 --> 00:30:32,560 Guztiak eskubidea. 647 00:30:32,560 --> 00:30:37,480 Beraz, hemen zer egin behar dugun zuetako bakoitzak zenbaki bat da. 648 00:30:37,480 --> 00:30:40,055 Joan nahi baduzu Aurrera, hartu zenbaki hau. 649 00:30:40,055 --> 00:30:40,763 Zein da zure izena? 650 00:30:40,763 --> 00:30:41,950 >> Artie: Artie. 651 00:30:41,950 --> 00:30:43,100 >> DAVID MALAN: Artie, ados. 652 00:30:43,100 --> 00:30:44,297 Zenbakia 1 zara. 653 00:30:44,297 --> 00:30:45,310 >> AMIN: Amin. 654 00:30:45,310 --> 00:30:46,060 DAVID MALAN: Amin. 655 00:30:46,060 --> 00:30:46,820 David. 656 00:30:46,820 --> 00:30:47,530 2 zenbakia zara. 657 00:30:47,530 --> 00:30:49,100 Eta joan aurretik, eskuz I gisa duzu paper-orriak, 658 00:30:49,100 --> 00:30:52,130 zuek lerro sortu musikaren aurrean han sortu ordena berean dago. 659 00:30:52,130 --> 00:30:52,660 >> ANDY: Kaixo, Andy. 660 00:30:52,660 --> 00:30:53,970 >> DAVID MALAN: Andy, polita da ikusteko. 661 00:30:53,970 --> 00:30:54,520 3 zenbakia. 662 00:30:54,520 --> 00:30:55,310 >> JACOB: Jacob. 663 00:30:55,310 --> 00:30:56,760 >> DAVID MALAN: Jacob, zenbakia 4. 664 00:30:56,760 --> 00:30:57,549 Ongi etorri itsasontzian. 665 00:30:57,549 --> 00:30:58,090 GRANT: Grant. 666 00:30:58,090 --> 00:30:58,881 DAVID MALAN: Grant. 667 00:30:58,881 --> 00:31:00,348 Zenbakia 5. 668 00:31:00,348 --> 00:31:01,200 >> Alanna: Alanna. 669 00:31:01,200 --> 00:31:02,766 >> DAVID MALAN: Alanna, multzoko 6. 670 00:31:02,766 --> 00:31:03,589 >> FRANCES: Frances. 671 00:31:03,589 --> 00:31:04,880 DAVID MALAN: Frances, kopurua 7. 672 00:31:04,880 --> 00:31:05,200 Eta? 673 00:31:05,200 --> 00:31:05,830 >> RACHEL: Rachel. 674 00:31:05,830 --> 00:31:06,815 >> DAVID MALAN: Rachel, zenbakia 8. 675 00:31:06,815 --> 00:31:07,100 Guztiak eskubidea. 676 00:31:07,100 --> 00:31:08,766 Anima zaitez eta zuk zeuk ordena honetan. 677 00:31:08,766 --> 00:31:11,440 Let me bat jarri gainerako musika leku stand. 678 00:31:11,440 --> 00:31:13,670 Nora egin stand bat behar duzu? 679 00:31:13,670 --> 00:31:14,170 Ados. 680 00:31:14,170 --> 00:31:18,710 Anima zaitez eta jarri zure zenbakiak non ikusleek horien gainean ikusi ahal izango da, 681 00:31:18,710 --> 00:31:20,340 musika stand kanpora begira. 682 00:31:20,340 --> 00:31:27,240 Eta, zorionez, gure lehen behatu check hemen 4, 2, 6. 683 00:31:27,240 --> 00:31:27,890 Oh-oh. 684 00:31:27,890 --> 00:31:29,070 Itxaron minutu bat. 685 00:31:29,070 --> 00:31:31,140 Ez dugu 8. 686 00:31:31,140 --> 00:31:35,180 You kanporatzeko behar dut Adibidez, nolabait. 687 00:31:35,180 --> 00:31:35,680 N º 688 00:31:35,680 --> 00:31:36,940 Ez, hori OK. 689 00:31:36,940 --> 00:31:37,890 Ikus dezagun. 690 00:31:37,890 --> 00:31:38,880 Hau egin ahal izango dugu. 691 00:31:38,880 --> 00:31:39,440 Stand by. 692 00:31:39,440 --> 00:31:43,970 693 00:31:43,970 --> 00:31:45,740 Bertan dugu. 694 00:31:45,740 --> 00:31:46,800 Zuzena. 695 00:31:46,800 --> 00:31:47,360 Guztiak eskubidea. 696 00:31:47,360 --> 00:31:50,260 Beraz, orain dugu 8, 1, 3, 7, 5. 697 00:31:50,260 --> 00:31:50,760 Ados. 698 00:31:50,760 --> 00:31:51,360 Bikain. 699 00:31:51,360 --> 00:31:54,400 >> Beraz, esku artean, galdera da, at zer kostu eta zer metodo bidez, 700 00:31:54,400 --> 00:31:58,580 benetan zenbaki horiek ordenatzeko irudirik dezakegu motatako lan egiten duten atzeraka beraz, 701 00:31:58,580 --> 00:32:02,759 azken finean, eta decide-- da benetan Ikusgarria, benetan eraginkorra, 702 00:32:02,759 --> 00:32:04,550 dudala zatitzea eta konkistatzeko telefono-liburu bat? 703 00:32:04,550 --> 00:32:06,716 Da benetan eraginkorra dela Banatu eta agindu ahal dut 704 00:32:06,716 --> 00:32:08,600 pieza digital horiek paper taula gainean, 705 00:32:08,600 --> 00:32:14,500 nik us kostatuko agian bada denbora edo energia edo CPU zikloetan fortuna 706 00:32:14,500 --> 00:32:17,340 Gure datuak benetan lortu ordena ordenatuko batzuk sartu? 707 00:32:17,340 --> 00:32:18,930 Hargatik eskatu galdera hori. 708 00:32:18,930 --> 00:32:22,077 >> Beraz, lehen off, zenbaki horiek dira nahiko askoz ausaz, 709 00:32:22,077 --> 00:32:24,160 eta naiz, proposatzen dugu I Algoritmo bat, edo prozesua 710 00:32:24,160 --> 00:32:25,970 horren bidez, Folks horiek ordenatzeko dezakegu. 711 00:32:25,970 --> 00:32:28,100 Ra hurbiltzeko noa hau nahiko naively. 712 00:32:28,100 --> 00:32:30,730 Eta ez dut ezagutzen joan asko mota da hori da niretzat 713 00:32:30,730 --> 00:32:32,890 my mind itzulbiratu inguruan Datu osoak aldi berean ezarri. 714 00:32:32,890 --> 00:32:33,640 Baina, zer ezagutzen duzu? 715 00:32:33,640 --> 00:32:37,450 Noa batzuk egiteko marjinala konponketak oso erraza. 716 00:32:37,450 --> 00:32:41,152 4 eta 2 barrutitik kanpo daude, bada Helburua da 8raino on 1etik joan. 717 00:32:41,152 --> 00:32:41,860 Beraz, zer ezagutzen duzu? 718 00:32:41,860 --> 00:32:43,776 Duzu izan nahi dut guys trukatu, aukeratzen baduzu 719 00:32:43,776 --> 00:32:46,380 Fisikoki posizio eta zure pieza paper. 720 00:32:46,380 --> 00:32:47,894 Orain, 4 eta 6, horien ordena dira. 721 00:32:47,894 --> 00:32:49,060 Horiek izan uztea noa. 722 00:32:49,060 --> 00:32:50,227 6 eta 8, horietan komeni da. 723 00:32:50,227 --> 00:32:51,185 Haiekin izan utzi du. 724 00:32:51,185 --> 00:32:52,170 8 and1, behar bezala erabili. 725 00:32:52,170 --> 00:32:54,790 Dituzun bi ez luke axola bada aldaketa. 726 00:32:54,790 --> 00:32:57,300 Orain 8 eta 3, baduzu guys trukatu daiteke. 727 00:32:57,300 --> 00:32:59,320 8 eta 7, baduzu guys trukatu daiteke. 728 00:32:59,320 --> 00:33:01,790 Eta 8 eta 5, baduzu guys trukatu daiteke. 729 00:33:01,790 --> 00:33:03,980 >> Orain, ni egin dut? 730 00:33:03,980 --> 00:33:05,200 Ez, jakina, ez da. 731 00:33:05,200 --> 00:33:07,880 Baina egin ditut egin Egoera hobeto, ezta? 732 00:33:07,880 --> 00:33:09,430 Zer zen berriro zure izena, zenbakia 8? 733 00:33:09,430 --> 00:33:10,055 >> RACHEL: Rachel. 734 00:33:10,055 --> 00:33:12,850 DAVID MALAN: Beraz, Rachel ditu eraginkortasunez bubbled nahiko urrun, 735 00:33:12,850 --> 00:33:15,660 amaieran modu guztiak Nire zenbakiak array hemen. 736 00:33:15,660 --> 00:33:17,310 Eta, beraz, arazo mota hori konpondu. 737 00:33:17,310 --> 00:33:21,670 Orain, argi eta garbi, 2, oraindik ere behar du mugitu pixka bat, eta 4 eta 6 eta 1. 738 00:33:21,670 --> 00:33:24,420 Baina ahaztuak dute bat iruditu zait little konponbidea hurbilago. 739 00:33:24,420 --> 00:33:26,790 Hargatik aplikatu bera honetan inozoa heuristiko berriro. 740 00:33:26,790 --> 00:33:27,690 2 eta 4, OK. 741 00:33:27,690 --> 00:33:28,810 4 eta 6, OK. 742 00:33:28,810 --> 00:33:29,930 6 eta 1, mm-mm. 743 00:33:29,930 --> 00:33:32,230 Dezagun swap. 744 00:33:32,230 --> 00:33:33,200 6 eta 3 mm-mm. 745 00:33:33,200 --> 00:33:34,420 Dezagun swap. 746 00:33:34,420 --> 00:33:35,580 6 eta 7 OK da. 747 00:33:35,580 --> 00:33:36,590 7 eta 5, Laguia. 748 00:33:36,590 --> 00:33:37,790 Dezagun swap. 749 00:33:37,790 --> 00:33:38,470 Eta orain, 7 eta 8. 750 00:33:38,470 --> 00:33:39,862 Eta zein da zure izena berriro? 751 00:33:39,862 --> 00:33:40,570 FRANCES: Frances. 752 00:33:40,570 --> 00:33:41,445 DAVID MALAN: Frances. 753 00:33:41,445 --> 00:33:44,230 Beraz, orain Frances are hobea da jarrera, izan ere, gaur egun, 7 eta 8 754 00:33:44,230 --> 00:33:46,440 behar bezala bubbled goian. 755 00:33:46,440 --> 00:33:47,510 Beraz, 2 eta 4, OK. 756 00:33:47,510 --> 00:33:48,720 4 eta 1, dezagun swap. 757 00:33:48,720 --> 00:33:50,410 4 eta 3, dezagun swap. 758 00:33:50,410 --> 00:33:51,550 4 eta 6, Oraindik Ados. 759 00:33:51,550 --> 00:33:53,340 6 eta 5, dezagun swap. 760 00:33:53,340 --> 00:33:54,590 Eta orain, guys horiek onak dira. 761 00:33:54,590 --> 00:33:55,780 Ia ez gara. 762 00:33:55,780 --> 00:33:57,706 2 eta 1, barrutitik kanpo, beraz trukatu. 763 00:33:57,706 --> 00:33:59,080 Eta orain ni ez behatu check. 764 00:33:59,080 --> 00:34:03,080 2 eta 3, 3 eta 4, 4 eta 5, 5 eta 6, 6 eta 7, 8. 765 00:34:03,080 --> 00:34:05,060 Ados, beraz, egiten ari gara. 766 00:34:05,060 --> 00:34:09,310 >> Baina zer at kostua egin nuen zenbaki horiek ordenatzeko hemen? 767 00:34:09,310 --> 00:34:13,960 Tira, zenbat urrats potentzialki egin nuen Atera Folks horiek ordenatzeko? 768 00:34:13,960 --> 00:34:15,710 Beno, etorri egingo galdera hori itzuli dugu. 769 00:34:15,710 --> 00:34:18,030 Baina, Egia, duzun got bada aspertuta apur bat, hori da 770 00:34:18,030 --> 00:34:22,270 motatako agerian utziz ere hura ez zela agian algoritmo eraginkorrena. 771 00:34:22,270 --> 00:34:25,230 Eta hain zuzen ere, Egia, izerditan naiz are atzera eta aurrera ibiltzeko. 772 00:34:25,230 --> 00:34:26,639 Hori ez sentitzeko bereziki eraginkorra. 773 00:34:26,639 --> 00:34:27,805 Hargatik saiatu beste zerbait. 774 00:34:27,805 --> 00:34:31,870 You guys berrezarri balute zortzi balio horiek zuei. 775 00:34:31,870 --> 00:34:32,969 Lan ona. 776 00:34:32,969 --> 00:34:36,570 >> Ikus dezagun begirada bat digitalki, besterik Une batez, zerbait saiatzen gara, bestela, aurretik, 777 00:34:36,570 --> 00:34:38,179 zer gertatu zen. 778 00:34:38,179 --> 00:34:41,330 Orain arte, zaren bat ikusi buruz zortzi gizakiak horien bistaratzea 779 00:34:41,330 --> 00:34:44,719 Horren bidez, urdin eta gorri tabernak zenbakiak irudikatzeko. 780 00:34:44,719 --> 00:34:46,670 The taller tabernan, handiagoa kopurua. 781 00:34:46,670 --> 00:34:48,510 The laburragoa tabernan, zenbaki txikiagoa. 782 00:34:48,510 --> 00:34:51,560 Eta zer ikusteko zaren da ausaz horietako zortzi baino gehiago. 783 00:34:51,560 --> 00:34:55,830 Taberna horiek ikusten ari zara ohitu algoritmoa, bera horrela antolatu, 784 00:34:55,830 --> 00:34:59,890 edo argibideak pieza, eta horrek dugu aurrerantzean deituko burbuila sort. 785 00:34:59,890 --> 00:35:04,000 Oharra Beraz, bigarren edo, beraz, behin, bi taberna argitzen dira gorriz, 786 00:35:04,000 --> 00:35:05,590 dira alderatu ordenagailua. 787 00:35:05,590 --> 00:35:08,630 Eta gero, gero barra handi eta barra txiki barrutitik kanpo daude, 788 00:35:08,630 --> 00:35:11,220 dutela ari dira niretzat trukatu. 789 00:35:11,220 --> 00:35:15,120 >> Azken hau da, oso lapurtera hau ikustera, zalantzarik gabe, 790 00:35:15,120 --> 00:35:18,630 oso luzea, baina konturatu dira takeaway-- tabernak big eskuinera mugitzen, 791 00:35:18,630 --> 00:35:20,460 taberna gutxi ezkerrera mugitzen. 792 00:35:20,460 --> 00:35:23,380 Dezagun abortatzeko prozesu honetan eta bizkortu hau sortu 793 00:35:23,380 --> 00:35:27,330 askoz azkarragoa izan dadin, beraz, ahal dugun goi mailako zer zentzu bat lortzeko, 794 00:35:27,330 --> 00:35:29,970 hain zuzen ere, burbuila ordenatu egiten da. 795 00:35:29,970 --> 00:35:33,150 Izan ere, sortu bubbling du! eskuineko eskua zerrendaren alde, 796 00:35:33,150 --> 00:35:35,260 edo array, taberna handiagoa. 797 00:35:35,260 --> 00:35:40,020 Eta alderantziz, taberna gutxi dira beren bidea bubbling ezkerreko du behera, 798 00:35:40,020 --> 00:35:42,950 erritmo azkarrago bada ere Aurretik egin dugun baino. 799 00:35:42,950 --> 00:35:45,850 Beraz, gogorragoa gizakiak ikusi, baina ikusmen hori da hain zuzen ere, zer 800 00:35:45,850 --> 00:35:46,540 gertatzen ari zen. 801 00:35:46,540 --> 00:35:49,110 >> Baina gatozen bat saiatu horrek, funtsean, ikuspegi desberdina orain. 802 00:35:49,110 --> 00:35:52,387 Let desberdin bat saiatu Algoritmo horren bidez hemengo 803 00:35:52,387 --> 00:35:59,640 guys original horiek hasteko posizioak, zein izan zen hemen ordena honetan. 804 00:35:59,640 --> 00:36:00,827 Eta dezagun aurrera orain. 805 00:36:00,827 --> 00:36:02,910 Eta ez dut zerbait egin behar da are errazagoa da, ezta? 806 00:36:02,910 --> 00:36:06,710 Atzera begirako, pairwise berriro aldaketa eta, berriro ere, ia pixka bat clever. 807 00:36:06,710 --> 00:36:10,460 Horrek are gehiago naively gauza dezagun, non Folks horiek ordenatu nahi badut, 808 00:36:10,460 --> 00:36:12,560 utzi mantentzeko me besterik bilatzen elementu txikiena da. 809 00:36:12,560 --> 00:36:14,570 Beraz, oraintxe bertan, 4 da txikiena ikusi dut kopurua. 810 00:36:14,570 --> 00:36:15,695 Gogoratzen dut. 811 00:36:15,695 --> 00:36:17,750 Ez, 2 da hobea, eta gogoratu. 812 00:36:17,750 --> 00:36:20,730 1 are txikiagoa da. 813 00:36:20,730 --> 00:36:21,970 3, 7, 5. 814 00:36:21,970 --> 00:36:22,470 Ados. 815 00:36:22,470 --> 00:36:23,750 One-- Zein da zure izena berriro? 816 00:36:23,750 --> 00:36:24,400 >> Artie: Artie. 817 00:36:24,400 --> 00:36:24,610 >> DAVID MALAN: Artie. 818 00:36:24,610 --> 00:36:25,460 Beraz, Artie, aurrera. 819 00:36:25,460 --> 00:36:27,043 Zuk tira line out noa. 820 00:36:27,043 --> 00:36:28,400 Atzera hona etorri balute. 821 00:36:28,400 --> 00:36:30,790 Eta gela egin zion behar dut. 822 00:36:30,790 --> 00:36:32,040 Erabaki puntu bat dugu hemen. 823 00:36:32,040 --> 00:36:36,000 Nola liteke gela egin dugu Artie hemen Hasieran bertan multzoko 1 jabea at? 824 00:36:36,000 --> 00:36:36,770 >> IKUSLEEN: Shift. 825 00:36:36,770 --> 00:36:38,950 >> DAVID MALAN: Ados, dugu Denek filmea daiteke. 826 00:36:38,950 --> 00:36:40,860 Baina optimizatu bat proposatzeko. 827 00:36:40,860 --> 00:36:43,410 Hori sentitzen pixka bat gogaikarriak Niretzat lau pertsonek eskatu 828 00:36:43,410 --> 00:36:44,620 modu guztiak behera eramateko. 829 00:36:44,620 --> 00:36:45,520 Zer gehiago egin nezakeen? 830 00:36:45,520 --> 00:36:46,360 >> IKUSLEEN: Aldatu itzazu. 831 00:36:46,360 --> 00:36:46,850 >> DAVID MALAN: Aldatu itzazu. 832 00:36:46,850 --> 00:36:47,900 Eta zein da zure izena berriro? 833 00:36:47,900 --> 00:36:48,441 >> JACOB: Jacob. 834 00:36:48,441 --> 00:36:50,330 DAVID MALAN: Jacob, mugitu. 835 00:36:50,330 --> 00:36:54,440 Askoz eraginkorragoa besterik behar Jacob swap Artie kokapenak, 836 00:36:54,440 --> 00:36:56,710 behartuz ez bezala guztiak lau Folks horiek, 837 00:36:56,710 --> 00:36:58,734 eskerrik asko, to Beren kokapen zuzena. 838 00:36:58,734 --> 00:37:01,150 Zer da Artie buruz polita gaur egun, da bere jarrera zuzena izan zuen. 839 00:37:01,150 --> 00:37:02,060 Berriro egin dezagun. 840 00:37:02,060 --> 00:37:03,730 2, hori ikusi dut txikiena zenbakia da. 841 00:37:03,730 --> 00:37:05,690 3, 7, 5. 842 00:37:05,690 --> 00:37:06,190 Ados. 843 00:37:06,190 --> 00:37:07,467 2 Behin betiko da txikiena. 844 00:37:07,467 --> 00:37:08,550 Ez dute edozein lan egiteko. 845 00:37:08,550 --> 00:37:09,320 Berriro egin dezagun da. 846 00:37:09,320 --> 00:37:10,070 6. 847 00:37:10,070 --> 00:37:10,640 Txikiena? 848 00:37:10,640 --> 00:37:11,140 8. 849 00:37:11,140 --> 00:37:11,590 Laguia. 850 00:37:11,590 --> 00:37:11,720 4? 851 00:37:11,720 --> 00:37:12,220 Ooh. 852 00:37:12,220 --> 00:37:13,420 Let gogoratu dit 4. 853 00:37:13,420 --> 00:37:13,950 3. 854 00:37:13,950 --> 00:37:15,110 Let gogoratu dit 3. 855 00:37:15,110 --> 00:37:16,080 7, 5. 856 00:37:16,080 --> 00:37:18,490 Txikiena zenbaki dut pass honetan ikus 3 da. 857 00:37:18,490 --> 00:37:20,340 Zinela goazen bada. 858 00:37:20,340 --> 00:37:21,986 Non gaude zuk jarri nahi dut? 859 00:37:21,986 --> 00:37:22,860 Eta zein da zure izena? 860 00:37:22,860 --> 00:37:23,530 >> Alanna: Alanna. 861 00:37:23,530 --> 00:37:25,780 >> DAVID MALAN: Alanna, gaude you kanporatu nahi izan du. 862 00:37:25,780 --> 00:37:28,670 Baina eraginkorragoa dela, bi pertsona besterik ez aldatu, 863 00:37:28,670 --> 00:37:31,850 jende anitz izatea baino benetan sidestep gainean. 864 00:37:31,850 --> 00:37:32,850 Orain Berriro egin dezagun. 865 00:37:32,850 --> 00:37:34,980 4 hautatzeko, beraz, goazen out noa. 866 00:37:34,980 --> 00:37:36,540 Eta nor mugitu egingo da? 867 00:37:36,540 --> 00:37:37,750 Zenbakia 8, jakina. 868 00:37:37,750 --> 00:37:40,260 Orain zenbakia 5 aurkitu dut bada, goazen out. 869 00:37:40,260 --> 00:37:42,104 8 zenbakia da berriro kaleratzen da iritsi. 870 00:37:42,104 --> 00:37:43,770 Naiz orain kopurua 6 aurkitzeko lekuan joan. 871 00:37:43,770 --> 00:37:44,410 Postuan 7. 872 00:37:44,410 --> 00:37:45,080 8 leku. 873 00:37:45,080 --> 00:37:48,590 >> Zer egin dugu orain aukeraketa moduko zerbait deitzen, 874 00:37:48,590 --> 00:37:52,560 eta honek bistaratu badugu, hori apur bat desberdin sentitzen da joan. 875 00:37:52,560 --> 00:37:56,800 Dezagun aurrera, eta hau aurrera menu hemen, visualization-- honetan 876 00:37:56,800 --> 00:38:02,920 dezagun hau aldatu zaie goazen, Firefox. 877 00:38:02,920 --> 00:38:07,610 Hau alda dezagun aukeraketa ordenatu ahal izateko. 878 00:38:07,610 --> 00:38:11,830 Eta dezagun arindu lehen bezala, eta hasi bistaratzea orain. 879 00:38:11,830 --> 00:38:13,990 Eta algoritmo hau dauka bertara hainbat ukitu bat. 880 00:38:13,990 --> 00:38:16,480 Iterazio bakoitzean, Egia, are erraza da. 881 00:38:16,480 --> 00:38:18,385 Besterik elementu txikiena naiz hautatuz. 882 00:38:18,385 --> 00:38:21,510 Orain, Egia, apur zortea bat lortu nuen denbora, izan ere, super-azkar ordenatuko da. 883 00:38:21,510 --> 00:38:22,660 Elementuek ausazko ziren. 884 00:38:22,660 --> 00:38:25,520 Ez da, azkenean dugu gisa Ikus, batez ere azkarrago. 885 00:38:25,520 --> 00:38:29,400 Baina dezagun hirugarren eta final Ea hurbiltzen hemen zer gertatzen den moduan. 886 00:38:29,400 --> 00:38:36,230 Beraz, dezagun aurrera eta mutilak berrezarrita final garai batean, horixe da hemen egotea. 887 00:38:36,230 --> 00:38:38,450 >> Eta orain, ez naiz joan izan apur bat gehiago clever, 888 00:38:38,450 --> 00:38:40,220 besterik biribiltzeko gure algoritmoak. 889 00:38:40,220 --> 00:38:41,230 Horretarako noa. 890 00:38:41,230 --> 00:38:43,140 Ez noa atzera eta aurrera hainbeste. 891 00:38:43,140 --> 00:38:44,900 Egia, nekatuta nago traversing hori guztia. 892 00:38:44,900 --> 00:38:47,691 Besterik ez naiz zer naiz hartzen joan zerrendaren hasieran ematen, 893 00:38:47,691 --> 00:38:49,460 eta naiz ordenatzeko noa duten gero eta han. 894 00:38:49,460 --> 00:38:50,140 Beraz, hemen gaude. 895 00:38:50,140 --> 00:38:51,030 Zenbakia 4. 896 00:38:51,030 --> 00:38:53,680 Zenbakia txertatu noa 4 ordenatutako zerrendan sartu. 897 00:38:53,680 --> 00:38:54,180 Eginda. 898 00:38:54,180 --> 00:38:58,300 Orain aldarrikatzen dut, eta besterik ez hau gehiago egiteko argi eta garbi, nire zerrendako zati honetan ordenatuko da. 899 00:38:58,300 --> 00:39:02,610 Ergelak erreklamazio bat mota da, baina hain zuzen ere, 4 da tamaina bat zerrenda batean ordenatuta. 900 00:39:02,610 --> 00:39:04,210 Orain, naiz den kopurua 2 hartzera joaten nintzen. 901 00:39:04,210 --> 00:39:07,670 Zenbakia 2 orain dut joan Leku egokian txertatzeko. 902 00:39:07,670 --> 00:39:08,680 Beraz, non 2 dagozkio du? 903 00:39:08,680 --> 00:39:09,824 Jakina, hemen baino gehiago. 904 00:39:09,824 --> 00:39:11,490 Beraz, aurrera eta atzera mugitu, ahal izango banu. 905 00:39:11,490 --> 00:39:14,406 Eta zergatik ez duzu guys hartu zure musika zurekin nabarmentzen oraingoan. 906 00:39:14,406 --> 00:39:17,020 Eta dezagun indarrez sartutakoan zerrendaren hasieran sartu. 907 00:39:17,020 --> 00:39:17,936 Beraz, pixka bat gehiago lan. 908 00:39:17,936 --> 00:39:20,890 Inguruan Jacob eraman behar izan nuen, eta zer da zure izena? 909 00:39:20,890 --> 00:39:21,420 >> AMIN: Amin. 910 00:39:21,420 --> 00:39:22,270 >> DAVID MALAN: Amin. 911 00:39:22,270 --> 00:39:24,350 Baina behintzat ez nuen atzera eta aurrera joateko. 912 00:39:24,350 --> 00:39:25,739 Besterik gabe gauzak egiten dudanean joaten naiz eta. 913 00:39:25,739 --> 00:39:27,530 Besterik egin naiz txertatzeak leku egokian. 914 00:39:27,530 --> 00:39:29,220 6, hau da, benetan nahiko erraza. 915 00:39:29,220 --> 00:39:31,510 Dezagun sartzerakoan han, baduzu Nahi baino gehiago pixka bat mugitu. 916 00:39:31,510 --> 00:39:32,870 Zenbakia 8, gainera, nahiko erraza. 917 00:39:32,870 --> 00:39:33,741 Oraintxe han. 918 00:39:33,741 --> 00:39:34,240 Malditos. 919 00:39:34,240 --> 00:39:37,590 Zenbakia 1 Ezin dugu besterik Amin batzuekin trukatu hemen, 920 00:39:37,590 --> 00:39:39,340 hori delako joan nahastea, ordenan izateko. 921 00:39:39,340 --> 00:39:40,660 Beraz, pixka bat gehiago clever izan behar dugu. 922 00:39:40,660 --> 00:39:42,770 Beraz, Artie, baduzu Could babeskopia une batez. 923 00:39:42,770 --> 00:39:46,550 Dezagun aurrera eta filmea, orain, gure aurreko algoritmoak ez bezala, 924 00:39:46,550 --> 00:39:50,910 Artie gela egiteko hementxe hasieran. 925 00:39:50,910 --> 00:39:54,690 Beraz, egunaren bukaeran, mota naiz aurretik ekiditeko zer nahi nuen egiten. 926 00:39:54,690 --> 00:39:57,770 Eta beraz, nire algoritmoa moduko ren alderantziz, intelektualki, 927 00:39:57,770 --> 00:39:59,070 zer zen jatorriz bertatik. 928 00:39:59,070 --> 00:40:01,240 Besterik ez aldatzearen ari naiz egiten beste puntu batean. 929 00:40:01,240 --> 00:40:02,291 Orain naiz 3 at dut. 930 00:40:02,291 --> 00:40:02,790 Oh, madarikatua. 931 00:40:02,790 --> 00:40:04,039 Lan gehiago, berriz ere egin behar dugu. 932 00:40:04,039 --> 00:40:05,060 Hargatik bultza duzu. 933 00:40:05,060 --> 00:40:09,360 Dezagun aurrera 8, 6, 4-- oh oh eta 3 bertan joan da. 934 00:40:09,360 --> 00:40:11,490 Beraz, gutxienez aurrezki arina une honetan. 935 00:40:11,490 --> 00:40:13,100 Egin behar da 7, ez lan gehiegi. 936 00:40:13,100 --> 00:40:15,370 Beraz, pop nahi baduzu itzuli, dezagun sartzerakoan. 937 00:40:15,370 --> 00:40:17,440 Eta, azkenik, 5, baduzu atzera pop nahi, dugu 938 00:40:17,440 --> 00:40:22,610 duzu mugitzeko behar, duzu, duzu, bost arte postuan dago. 939 00:40:22,610 --> 00:40:25,670 >> Beraz, gaur egun hau ikusteko batean maila handia grafikoki, 940 00:40:25,670 --> 00:40:31,080 Egin algoritmo hau utzi bisualizazioa denbora gehigarri bat. 941 00:40:31,080 --> 00:40:33,580 Beraz txertatzeko sort deituko hau dugu. 942 00:40:33,580 --> 00:40:37,700 Exekutatu dugu bezain azkarra, eta hasi da hemen. 943 00:40:37,700 --> 00:40:39,580 Eta hori ere, desberdin sentitzen du. 944 00:40:39,580 --> 00:40:42,180 Honez Ordena hobea lortzean eta hobeto, baina inoiz ez da perfektua da 945 00:40:42,180 --> 00:40:44,630 eta leun joan nintzen arte hutsune horietan. 946 00:40:44,630 --> 00:40:47,860 Zeren eta, berriro ere, ez naiz bakarrik hartuz zer Ez naiz ari da ezkerretik eskuinera eman. 947 00:40:47,860 --> 00:40:50,350 Beraz, ez nuen lortu, beraz, zortea dena ezin hobea izan zen. 948 00:40:50,350 --> 00:40:54,190 Horregatik txiki horiek izan genuen konpondu dugu denboran zehar mispositions. 949 00:40:54,190 --> 00:40:58,890 >> Beraz, algoritmo horiek guztiak badirudi urrats zertxobait ezberdinetan exekutatu. 950 00:40:58,890 --> 00:41:02,030 Izan ere, zein esango zenuke dela onena edo azkarrenak, orain arte? 951 00:41:02,030 --> 00:41:03,450 Burbuila ordenatu, lehena? 952 00:41:03,450 --> 00:41:05,000 Aukeraketa ordenatu, bigarrena? 953 00:41:05,000 --> 00:41:08,450 Txertatzeko sort, hirugarrena? 954 00:41:08,450 --> 00:41:10,710 Aukeraketa mota batzuk entzuten dut. 955 00:41:10,710 --> 00:41:13,280 Beste pentsamenduak? 956 00:41:13,280 --> 00:41:16,880 >> Beraz, izarrekin bihurtzen da Algoritmo horiek guztiak 957 00:41:16,880 --> 00:41:22,400 dira, funtsean, besterik ez bezain eraginkorra other-- bakoitzean edo, alderantziz, hori bezain 958 00:41:22,400 --> 00:41:25,980 bata bestearen gisa eraginkorra, funtsean, egin ahal dugulako 959 00:41:25,980 --> 00:41:28,120 guztiak hiru baino hobeto Algoritmo horiek. 960 00:41:28,120 --> 00:41:29,990 Eta hori gezur zuri bat pixka bat da, gehiegi. 961 00:41:29,990 --> 00:41:32,580 orduan eraginkor gisa esaten dut edo eraginkorra ez bezala, 962 00:41:32,580 --> 00:41:35,040 hori da gutxienez n balioak super-handi. 963 00:41:35,040 --> 00:41:38,450 Zortzi pertsona besterik ez dugu hemen, edo agian 50 edo, beraz, pantailan tabernak, 964 00:41:38,450 --> 00:41:41,645 Erabat ezberdintasunak nabarituko duzu Hiru Algoritmo horien artean. 965 00:41:41,645 --> 00:41:44,020 Baina n bezala, pertsona kopurua, Zenbaki edo kopuruaren arabera, 966 00:41:44,020 --> 00:41:46,350 edo telefonoaren pertsonen kopurua liburu edo web orrialde kopurua 967 00:41:46,350 --> 00:41:48,230 Google-ren datu-basean handiagoa eta handiagoa lortzen du, 968 00:41:48,230 --> 00:41:51,650 Ikusiko dugu hori guztia horien hiru algoritmoak egia esan, nahiko pobrea. 969 00:41:51,650 --> 00:41:54,060 Eta, batez ere egin ahal izango dugu Hori baino hobea. 970 00:41:54,060 --> 00:41:56,830 >> Ikus dezagun begirada bat, azkenik, zer algoritmo horiek erabilgarri dauden 971 00:41:56,830 --> 00:41:59,520 batean bezala soinua beste batzuk testuinguru 972 00:41:59,520 --> 00:42:03,550 baita honen bidez Bisualizazio hemen 973 00:42:03,550 --> 00:42:06,860 gaituen aurkeztuko dute nahi algoritmoak zenbaki bat. 974 00:42:06,860 --> 00:42:10,330 Dezagun aurrera eta zoriondu gure parte hona, horietatik guztiak 975 00:42:10,330 --> 00:42:11,690 oso txukun antolatuta beraiek. 976 00:42:11,690 --> 00:42:15,124 Nahi baduzu parting opari bat hartu. 977 00:42:15,124 --> 00:42:16,540 Zure zenbakiak, baita jarrai dezakezu. 978 00:42:16,540 --> 00:42:19,460 979 00:42:19,460 --> 00:42:22,520 Eta zer ikusiko duzu, edo, hobeto entzuteko, orain, 980 00:42:22,520 --> 00:42:25,710 dela soinuak jarri dugu taberna horietako bakoitzari 981 00:42:25,710 --> 00:42:28,660 eta erlazionatuko softwarea, soinuaren maiztasun ezberdinak, 982 00:42:28,660 --> 00:42:33,970 your mind audioly gehiago itzulbiratu dezakezu zer gauza horiek bakoitzaren inguruan 983 00:42:33,970 --> 00:42:34,470 itxurarik. 984 00:42:34,470 --> 00:42:39,325 Horietatik lehena txertatzeko sort da 985 00:42:39,325 --> 00:42:44,275 >> [TONES] 986 00:42:44,275 --> 00:42:47,245 987 00:42:47,245 --> 00:42:49,720 >> Horrek burbuila sort da. 988 00:42:49,720 --> 00:42:54,175 >> [TONES] 989 00:42:54,175 --> 00:43:17,250 990 00:43:17,250 --> 00:43:18,222 >> Aukeraketa sort. 991 00:43:18,222 --> 00:43:22,596 >> [TONES] 992 00:43:22,596 --> 00:43:33,570 993 00:43:33,570 --> 00:43:35,150 >> Zerbait merge sort deitu. 994 00:43:35,150 --> 00:43:38,140 >> [TONES] 995 00:43:38,140 --> 00:43:49,510 996 00:43:49,510 --> 00:43:51,278 >> Gnome sort. 997 00:43:51,278 --> 00:43:56,390 >> [TONES] 998 00:43:56,390 --> 00:44:08,240 999 00:44:08,240 --> 00:44:09,430 >> Hau CS50 da. 1000 00:44:09,430 --> 00:44:13,360 Asteazkenean ikusiko dugu. 1001 00:44:13,360 --> 00:44:16,671 >> Narratzailea: Eta orain, "Deep Pentsamenduak, "Daven Farnham arabera. 1002 00:44:16,671 --> 00:44:19,910 1003 00:44:19,910 --> 00:44:21,590 Zergatik da loop? 1004 00:44:21,590 --> 00:44:23,200 Zergatik ez da hobea izan dadin? 1005 00:44:23,200 --> 00:44:25,970 Bost begizta bat egin nahiko nuke. 1006 00:44:25,970 --> 00:44:28,720 >> [Barreak]