1 00:00:00,000 --> 00:00:00,488 2 00:00:00,488 --> 00:00:10,800 >> [Musika jotzen] 3 00:00:10,800 --> 00:00:13,500 DAVID MALAN: Eskubidea guztiak. 4 00:00:13,500 --> 00:00:14,670 Ongi, ongi etorria itzuli. 5 00:00:14,670 --> 00:00:18,120 Beraz, aste honetan 4 da, hasiera-hasieratik haietan, dagoeneko. 6 00:00:18,120 --> 00:00:21,320 Eta gogora ekarri azken astean duzula ikusiko dugu jarri kodea alde batera bakarrik pixka bat egiteko 7 00:00:21,320 --> 00:00:24,240 eta pixka bat gehiago hitz egiten hasi ginen goi-maila bezala, gauzak 8 00:00:24,240 --> 00:00:28,130 bilatu eta sailkatzeko, eta horrek, nahiz eta zertxobait ideia sinpleak dira, 9 00:00:28,130 --> 00:00:31,840 arazo klase bat ordezkari hasten dira, batez ere konpondu ahal izango duzu 10 00:00:31,840 --> 00:00:34,820 hasten zara pentsatzen azken gisa proiektuak eta interesgarri irtenbideak duzu 11 00:00:34,820 --> 00:00:36,760 baliteke mundu errealeko arazoak izan. 12 00:00:36,760 --> 00:00:39,490 Orain burbuila ordenatu errazena bat izan zen hala nola, algoritmo, eta 13 00:00:39,490 --> 00:00:42,900 txiki zenbaki hauek izatea lan egin zerrenda batean edo array mota de 14 00:00:42,900 --> 00:00:46,530 burbuila beren bidea sortu goian, eta big zenbakiak mugitu bidean behera 15 00:00:46,530 --> 00:00:47,930 zerrendaren amaieran. 16 00:00:47,930 --> 00:00:50,650 >> Eta gogora ekarri ahal izan dugun ikusteko burbuila sort apur bat 17 00:00:50,650 --> 00:00:52,310 honen antzeko zerbait. 18 00:00:52,310 --> 00:00:53,640 Hargatik aurrera ni eta sakatu Hasi. 19 00:00:53,640 --> 00:00:55,350 Hautatuko dut burbuila ordenatu. 20 00:00:55,350 --> 00:00:58,920 Eta gogoratzen baduzu taller urdin hori lerro zenbakiak irudikatzeko handi, txiki 21 00:00:58,920 --> 00:01:03,300 blue lerro zenbakiak irudikatzeko txiki, gisa honen bidez joan gara, behin eta berriz, eta 22 00:01:03,300 --> 00:01:07,680 berriro ere, bi taberna alderatuz ondoan bakoitzean Gorriz beste swap goaz 23 00:01:07,680 --> 00:01:11,010 handiena eta txikiena bada atera dira, ordena. 24 00:01:11,010 --> 00:01:14,150 >> Hau joan egingo da, eta, beraz, joan eta joan , eta ikusiko dela handiagoa izango zara 25 00:01:14,150 --> 00:01:16,700 elementu batzuk bere bidea egiten ari da eskubidea, eta txikiagoa elementuak dira 26 00:01:16,700 --> 00:01:17,900 bere bidea egiten ari da ezkerretik. 27 00:01:17,900 --> 00:01:21,380 Baina zenbatzeko hasi ginen eraginkortasuna da, 28 00:01:21,380 --> 00:01:22,970 algoritmo honen kalitatea. 29 00:01:22,970 --> 00:01:25,200 Eta esan txarrena dela kasuan, algoritmo hau hartu 30 00:01:25,200 --> 00:01:27,940 Gutxi gorabehera, zenbat urrats? 31 00:01:27,940 --> 00:01:28,980 >> Beraz n karratu. 32 00:01:28,980 --> 00:01:30,402 Eta zer izan zen n? 33 00:01:30,402 --> 00:01:31,650 >> Ikusleak: elementu kopurua. 34 00:01:31,650 --> 00:01:32,790 >> DAVID MALAN: Beraz n izan zen elementu kopurua. 35 00:01:32,790 --> 00:01:33,730 Eta, beraz, hau egingo dugu sarritan. 36 00:01:33,730 --> 00:01:36,650 Edonoiz tamaina buruz hitz egin nahi dugu arazo bat edo tamaina 37 00:01:36,650 --> 00:01:39,140 sarrera, edo zenbat denbora da hartzen irteera ekoizteko, besterik ez dugu 38 00:01:39,140 --> 00:01:41,610 orokortua edozein dela ere sarrera-n bezala. 39 00:01:41,610 --> 00:01:45,970 Beraz, atzera Astea 0, zenbaki orrialdeak telefono-liburua izan zen n. 40 00:01:45,970 --> 00:01:47,550 Ikasle kopurua aretoan zen n. 41 00:01:47,550 --> 00:01:49,630 Beraz, hemen ere, jarraituz ari gara eredu hori. 42 00:01:49,630 --> 00:01:52,800 >> Orain n karratuko ez da bereziki azkar, beraz, hobeto egiten saiatu gara. 43 00:01:52,800 --> 00:01:55,970 Eta, beraz, begiratu pare bat dugu beste algoritmoak, eta horien artean 44 00:01:55,970 --> 00:01:57,690 ziren hautaketa ordenatu. 45 00:01:57,690 --> 00:01:59,180 Beraz, aukeraketa sort zen apur bat desberdina da. 46 00:01:59,180 --> 00:02:03,130 Ia-ia errazagoa izan zen, esaten ausartzen naiz, Horren bidez, hasi zen hasieran I 47 00:02:03,130 --> 00:02:06,740 gure boluntarioen zerrenda eta dut berriro eta behin eta berriro joan bidez 48 00:02:06,740 --> 00:02:10,060 zerrendan, eta plucking txikiena aldi berean, elementu eta berarekin jarriz edo 49 00:02:10,060 --> 00:02:13,040 bere zerrendaren hasieran. 50 00:02:13,040 --> 00:02:16,410 >> Baina honetan ere, beste behin pentsatzen hasi ginen matematika eta handiagoa bidez 51 00:02:16,410 --> 00:02:19,860 Irudian, zenbat aldiz pentsatu Itzuli nintzen joan eta aurrera eta atzera 52 00:02:19,860 --> 00:02:24,090 eta aurrera, esan zuen, eta kasurik okerrenean gaude, aukeraketa, ordenatu, ere, izan zen zer? 53 00:02:24,090 --> 00:02:24,960 n karratu. 54 00:02:24,960 --> 00:02:27,490 Gaur egun, mundu errealean, Agian benetan marginalki azkarrago. 55 00:02:27,490 --> 00:02:30,620 Berriro ere, zeren, ez nuen gorde nuen horrela antolatu du beste behin backtracking 56 00:02:30,620 --> 00:02:31,880 txikiena elementuak. 57 00:02:31,880 --> 00:02:35,090 Baina, n oso handia pentsatzen badugu, eta Ordena duzu bada math bezalako 58 00:02:35,090 --> 00:02:39,170 Egin taula gainean I, n karratu dituzten ken zerbait, beste guztia 59 00:02:39,170 --> 00:02:41,850 n, behin karratu n gain lortzen benetan handia da, ez du 60 00:02:41,850 --> 00:02:42,850 benetan axola bezainbeste. 61 00:02:42,850 --> 00:02:45,470 Beraz, ordenagailu zientzialari gisa, mota dugu piztu begi itsu bat txikiagoa 62 00:02:45,470 --> 00:02:49,220 faktoreak eta faktore bakarra buruzko ikuspegia adierazpen hori egiteko joan 63 00:02:49,220 --> 00:02:50,330 diferentzia handiena. 64 00:02:50,330 --> 00:02:52,840 >> Beno, azkenik, begiratu dugu txertatzeko ordenatu zen. 65 00:02:52,840 --> 00:02:56,620 Eta hau izan zen espiritua antzekoa da, baina baino gehiago pasa eta iteratively 66 00:02:56,620 --> 00:03:01,250 hautatu batean elementu txikiena ko denbora hartu ordez dut eskua dut 67 00:03:01,250 --> 00:03:04,070 landu zen, eta erabaki dut, guztia eskubidea, hemen sartzen duzun. 68 00:03:04,070 --> 00:03:06,160 Orduan joan nintzen hurrengo elementua eta erabaki zuen, edo hori 69 00:03:06,160 --> 00:03:07,470 Hemen baita zuen. 70 00:03:07,470 --> 00:03:08,810 Eta, ondoren, mugitu eta nik. 71 00:03:08,810 --> 00:03:11,780 Eta agian I, bidean, mugitzeko mutil hauek egin ahal izateko 72 00:03:11,780 --> 00:03:13,030 horiek egiteko gela. 73 00:03:13,030 --> 00:03:16,880 Horrela mental moduko atzerakada izan zen aukeraketa Ordena dugu 74 00:03:16,880 --> 00:03:18,630 izeneko txertatzeko ordenatu. 75 00:03:18,630 --> 00:03:20,810 >> Gai horiek gertatzeko, beraz, mundu errealean. 76 00:03:20,810 --> 00:03:23,640 Besterik gabe, duela urte batzuk, noiz jakin bat senatari izan zen presidente martxan 77 00:03:23,640 --> 00:03:27,160 Eric Schmidt, garai hartan CEO du Google, benetan aukera izan zuten 78 00:03:27,160 --> 00:03:28,040 zion elkarrizketak. 79 00:03:28,040 --> 00:03:32,010 YouTube eta partekatu genuen pentsatu genuen zuretzat moztu hemen, gora eginez balute 80 00:03:32,010 --> 00:03:32,950 bolumena. 81 00:03:32,950 --> 00:03:39,360 >> [Bideo-erreprodukzioa] 82 00:03:39,360 --> 00:03:44,620 >> -Orain, senataria, zu hemen Google-n, eta Lehendakaritza pentsatzea gustatzen zait 83 00:03:44,620 --> 00:03:46,042 lan elkarrizketa baten ondorioz. 84 00:03:46,042 --> 00:03:47,770 >> [Barreak] 85 00:03:47,770 --> 00:03:50,800 >> -Orain zaila da iritsi presidente gisa lan bat. 86 00:03:50,800 --> 00:03:52,480 Eta bitartez duzu rigors orain. 87 00:03:52,480 --> 00:03:54,330 Era berean, gogor Google-lan bat lortzeko. 88 00:03:54,330 --> 00:03:59,610 Galderak egin ditugu, eta eskatu gure hautagaiak galderak. 89 00:03:59,610 --> 00:04:02,250 Eta hau Larry Schwimmer da. 90 00:04:02,250 --> 00:04:05,325 >> [Barreak] 91 00:04:05,325 --> 00:04:06,400 -Zaudete uste Txantxetan ari naiz? 92 00:04:06,400 --> 00:04:08,750 Eskubidea hemen da. 93 00:04:08,750 --> 00:04:12,110 Zer modurik eraginkorrena da ordenatzeko milioi bat bi-bit osokoak? 94 00:04:12,110 --> 00:04:15,810 >> [Barreak] 95 00:04:15,810 --> 00:04:18,260 >> -Ba, uh - 96 00:04:18,260 --> 00:04:19,029 >> -I'm sorry. 97 00:04:19,029 --> 00:04:19,745 Agian behar dugu - 98 00:04:19,745 --> 00:04:21,000 >> -Ez, ez, ez, ez, ez. 99 00:04:21,000 --> 00:04:21,470 >> -Hori ez da bat - 100 00:04:21,470 --> 00:04:22,185 Ados. 101 00:04:22,185 --> 00:04:25,328 >> -I burbuila ordena uste okerreko bidea joan daiteke. 102 00:04:25,328 --> 00:04:26,792 >> [Barreak] 103 00:04:26,792 --> 00:04:28,510 >> [Eta txaloak txalo] 104 00:04:28,510 --> 00:04:31,211 >> -Tira, nork esan zion hau? 105 00:04:31,211 --> 00:04:32,155 Ados. 106 00:04:32,155 --> 00:04:33,350 >> [END bideo-erreprodukzioa] 107 00:04:33,350 --> 00:04:35,070 >> DAVID MALAN: Beraz, ez daukazu. 108 00:04:35,070 --> 00:04:39,600 Beraz, hauek exekutatzen zenbatzeko hasi ginen aldiz, eta, beraz, hitz egiteko zerbait 109 00:04:39,600 --> 00:04:43,480 izeneko asymptotic idazkera, hau da, besterik gabe, gure inflexio moduko aipatuz 110 00:04:43,480 --> 00:04:47,420 txikiagoa faktore horiek begi itsu eta bakarra exekutatzen denbora begira, 111 00:04:47,420 --> 00:04:51,250 algoritmo hauen errendimendua, n lortzen benetan handi gisa denboran zehar. 112 00:04:51,250 --> 00:04:55,110 Eta, beraz, big O. eta Big O sartu dugu irudikatzen zerbait pentsatu dugu 113 00:04:55,110 --> 00:04:57,000 goiko doazen bezala. 114 00:04:57,000 --> 00:04:59,570 Eta egia esan, Barry, ezin dugu jaistea mic pixka bat baino? 115 00:04:59,570 --> 00:05:01,040 >> Pentsatu da, goiko bat lotu dugu. 116 00:05:01,040 --> 00:05:04,710 Beraz, big n bitartez karratu O duten kasurik okerrenean, zerbait 117 00:05:04,710 --> 00:05:07,780 aukeraketa ordenatu litzateke hartu karratu urrats n. 118 00:05:07,780 --> 00:05:10,310 Edo txertatzeko sort antzeko zerbait litzateke n karratu urratsak. 119 00:05:10,310 --> 00:05:15,150 Txertatzeko moduko zerbait orain ordenatu, txarrena zer gertatu zen? 120 00:05:15,150 --> 00:05:18,200 Emandako array bat, zer txarrena da ahalik eta eszenatoki agian duzula aurkitu 121 00:05:18,200 --> 00:05:20,650 aurrean zure burua? 122 00:05:20,650 --> 00:05:21,860 >> Erabat atzeraka da, ezta? 123 00:05:21,860 --> 00:05:24,530 Zeren erabat atzeraka egin da, lan asko egin behar duzu. 124 00:05:24,530 --> 00:05:26,420 Bazara guztiz atzeraka galtzen delako, aurkitu behar duzu 125 00:05:26,420 --> 00:05:28,840 handiena elementu hemen, nahiz behera pertenece han. 126 00:05:28,840 --> 00:05:31,140 Beraz, esan duzu, bai, at Une honetan, hemen sartzen duzun, 127 00:05:31,140 --> 00:05:32,310 beraz, utzi pakean. 128 00:05:32,310 --> 00:05:35,425 >> Gero, ohartzen zara Oh, madarikatua, behar dut mugitzeko, apur bat txikiagoak elementu 129 00:05:35,425 --> 00:05:36,470 duzu ezkerreko du. 130 00:05:36,470 --> 00:05:38,770 Orduan, berriro egin behar dut eta behin eta berriro. 131 00:05:38,770 --> 00:05:41,410 Ibili eta gero atzera eta aurrera, zu sentitzen de la actuación sailkatuko litzateke 132 00:05:41,410 --> 00:05:45,540 algoritmoa, izan ere, etengabe ari naiz Besteek nahasteko behera hasi 133 00:05:45,540 --> 00:05:46,510 array gela egin behar da. 134 00:05:46,510 --> 00:05:47,750 Beraz, hori txarrena kasua da. 135 00:05:47,750 --> 00:05:48,570 >> Aitzitik - 136 00:05:48,570 --> 00:05:50,320 cliffhanger eta hau izan zen azken aldia - 137 00:05:50,320 --> 00:05:54,065 esan txertatzeko ordenatu duten izan zen zer omega bat? 138 00:05:54,065 --> 00:05:57,530 Zer best-kasuan korrika da txertatzeko Ordena denbora? 139 00:05:57,530 --> 00:05:58,520 Beraz, benetan n. 140 00:05:58,520 --> 00:06:00,980 Hau zurian utzi genituen taula gainean azken aldiz. 141 00:06:00,980 --> 00:06:03,160 >> Eta n omega zergatik delako da? 142 00:06:03,160 --> 00:06:06,630 Beno, onena kasuan, zer txertatzeko ordenatu entregatu egingo da? 143 00:06:06,630 --> 00:06:09,830 Beno, zerrenda bat dela guztiz ordenatuko dagoeneko, gutxieneko lan egin. 144 00:06:09,830 --> 00:06:12,460 Baina zer txertatzeko ordenatu buruzko neat hasten da hemen, zeren eta 145 00:06:12,460 --> 00:06:15,340 erabakitzen du, ai, zenbaki zara bat, hemen sartzen duzun. 146 00:06:15,340 --> 00:06:16,970 Oh, zer zortea bat. 147 00:06:16,970 --> 00:06:17,740 >> Zenbaki bi zara. 148 00:06:17,740 --> 00:06:19,030 Sartzen dira, halaber, hemen. 149 00:06:19,030 --> 00:06:21,010 Hirugarrena, are hobeto, Hemen sartzen duzun. 150 00:06:21,010 --> 00:06:25,210 Bezain laster lortzen amaieran da zerrenda, txertatzeko per ordenatu en pseudocode 151 00:06:25,210 --> 00:06:28,010 hitzez bidez garela ibili azken aldiz, egiten da. 152 00:06:28,010 --> 00:06:32,790 Baina aukeraketa ordenatu, aitzitik, mantendu, zer egiten? 153 00:06:32,790 --> 00:06:35,260 >> Mantendu zerrendan zehar joan behin eta berriro, eta berriro. 154 00:06:35,260 --> 00:06:39,160 Gako ikuspegi han zelako bakarrik duzun begiratu behin modu guztiak 155 00:06:39,160 --> 00:06:42,500 zerrendaren bukaeran ahal izango duzu, zenbait elementu hautatutako zela 156 00:06:42,500 --> 00:06:45,560 hain zuzen ere, gaur egun, txikiena elementua. 157 00:06:45,560 --> 00:06:48,920 Desberdin horien buruko ereduak amaieran, beraz, Oso mundu errealeko yielding sortu 158 00:06:48,920 --> 00:06:53,130 Gurekin desberdintasunak, eta baita horiek teoriko asymptotic ezberdintasunak. 159 00:06:53,130 --> 00:06:56,910 >> Beraz, argibideak nahi izanez gero, big n O karratu, ikusi dugu gutxi batzuk, hala nola, 160 00:06:56,910 --> 00:06:58,350 algoritmoak, beraz, oso urrun. 161 00:06:58,350 --> 00:06:59,580 Big n O? 162 00:06:59,580 --> 00:07:02,870 Zer algoritmo bat izan da esan big n O izateko? 163 00:07:02,870 --> 00:07:06,930 Kasurik okerrenean ere, hartzen urratsen kopurua lineal bat. 164 00:07:06,930 --> 00:07:07,810 >> Ados, lineal bilaketa. 165 00:07:07,810 --> 00:07:10,470 Eta txarrena kasuan, non da denean elementu bila zabiltzan 166 00:07:10,470 --> 00:07:12,950 bilaketa lineala aplikatuz? 167 00:07:12,950 --> 00:07:14,680 >> Ados, txarrena kasuan, ez da, nahiz eta ez. 168 00:07:14,680 --> 00:07:17,000 Edo txarrena bigarren kasuan, haren eta, azkenean, modu batean, hau da, guztiak 169 00:07:17,000 --> 00:07:18,880 gehi-or-ken-ko urratsa aldea. 170 00:07:18,880 --> 00:07:21,180 Beraz, egunaren amaieran, esan lineala dela esan daiteke. 171 00:07:21,180 --> 00:07:23,910 Big n O bilaketa lineala izango litzateke, txarrena kasuan, delako 172 00:07:23,910 --> 00:07:26,610 elementua ez da, nahiz eta ez dago edo oso amaieran modu guztiak. 173 00:07:26,610 --> 00:07:29,370 >> Beno, big n log O. 174 00:07:29,370 --> 00:07:32,760 Ez dugu zehaztasun handiz hitz egin hau, baina ikusi dugu lehenago. 175 00:07:32,760 --> 00:07:36,840 Zer deiturikoak logaritmikoa exekutatzen denbora, txarrena kasuan? 176 00:07:36,840 --> 00:07:38,500 >> Bai, beraz, bilaketa bitarra. 177 00:07:38,500 --> 00:07:42,930 Eta txarrena kasuan bilaketa bitarra elementua izan dezake nonbait hasi 178 00:07:42,930 --> 00:07:45,640 erdi-erdian, edo nonbait array barruan. 179 00:07:45,640 --> 00:07:48,040 Baina besterik ez duzu zuk behin zatitzen zerrenda erdia, hasi 180 00:07:48,040 --> 00:07:48,940 erdia, erdia, erditik. 181 00:07:48,940 --> 00:07:50,200 Eta, ondoren, voila, ez da. 182 00:07:50,200 --> 00:07:52,500 Edo, berriro ere, kasurik okerrenean, ez da, nahiz eta ez. 183 00:07:52,500 --> 00:07:56,770 Baina ez dakizu hori ez Ordena iritsi arte, azken hori 184 00:07:56,770 --> 00:08:00,470 behetik gehien halving by elementuak eta halving halving. 185 00:08:00,470 --> 00:08:01,400 >> Big O 1. 186 00:08:01,400 --> 00:08:03,540 Hain handia, 2, 3 big O O genezake. 187 00:08:03,540 --> 00:08:06,260 Nahi duzun kopurua konstante bat edonoiz, errazteko besterik ez du besterik ez dugu ordenatzeko 188 00:08:06,260 --> 00:08:07,280 big 1 O bezala. 189 00:08:07,280 --> 00:08:10,440 Nahiz eta errealistan, bada hartzen du, nahiz eta 2 edo are 100 urrats, bada bat da 190 00:08:10,440 --> 00:08:13,680 urrats-kopurua konstante esatea besterik ez dugu 1 O big. 191 00:08:13,680 --> 00:08:15,930 Zer algoritmo bat, hori da big 1 O-en? 192 00:08:15,930 --> 00:08:18,350 >> Ikusleak: luzera aurkitzea aldagai bat da. 193 00:08:18,350 --> 00:08:21,090 >> DAVID MALAN: aurkitzea aldagai baten luzera? 194 00:08:21,090 --> 00:08:23,870 >> Ikusleak: Ez, luzera nik dagoeneko antolatuta. 195 00:08:23,870 --> 00:08:24,160 >> DAVID MALAN: Ongi. 196 00:08:24,160 --> 00:08:27,850 Ados, beraz, zerbait luzera aurkitzeko zerbait luzera, nahi izanez 197 00:08:27,850 --> 00:08:30,020 array bat da, aldagai batzuk gordetzen dira. 198 00:08:30,020 --> 00:08:33,380 Ezin duzu besterik ez delako irakurri aldagaia, edo inprimatu aldagaia, edo 199 00:08:33,380 --> 00:08:34,960 oro har sartzeko duen aldagaia. 200 00:08:34,960 --> 00:08:37,299 Eta voila, konstante denbora. 201 00:08:37,299 --> 00:08:38,909 >> Aitzitik, uste itzuli urratu. 202 00:08:38,909 --> 00:08:42,460 Think itzuli C lehenengo astean, besterik printf deituz eta inprimatzeko 203 00:08:42,460 --> 00:08:46,240 pantailan zerbait da, dudarik gabe, etengabeko denbora, besterik ez da hartzen duelako 204 00:08:46,240 --> 00:08:50,880 PUZaren zenbait ziklo kopurua erakusteko pantailan testua. 205 00:08:50,880 --> 00:08:52,720 Edo itxaron - egiten du? 206 00:08:52,720 --> 00:08:56,430 Nola liteke bestela, ereduetan dugu printf errendimendua? 207 00:08:56,430 --> 00:09:00,420 Litzateke norbait nahi ados, hori agian ez da benetan etengabeko denbora? 208 00:09:00,420 --> 00:09:03,600 Zer zentzu baliteke printf da exekutatzen denbora, benetan kate batean inprimatzeko 209 00:09:03,600 --> 00:09:05,580 pantailan, zerbait izango etengabeko beste. 210 00:09:05,580 --> 00:09:07,860 >> Ikusleak: [INAUDIBLE]. 211 00:09:07,860 --> 00:09:08,230 >> DAVID MALAN: Bai. 212 00:09:08,230 --> 00:09:09,300 Araberakoa izango da, beraz, gure ikuspegitik da. 213 00:09:09,300 --> 00:09:13,390 Benetan dugu sarrera bada pentsatzea katea bezala printf, eta 214 00:09:13,390 --> 00:09:16,380 beraz, horren tamaina neurtzen dugu bere luzera by input - Hargatik deitu 215 00:09:16,380 --> 00:09:17,780 luzera n bai - 216 00:09:17,780 --> 00:09:21,990 dudarik gabe, printf da berez n O big Zu zara n urratsak delako joan 217 00:09:21,990 --> 00:09:24,750 inprimatu n horietako bakoitzean pertsonaiak, ziurrenik. 218 00:09:24,750 --> 00:09:27,730 Gutxienez neurri hartu dugun agian hori da begizta erabiliz egiteko 219 00:09:27,730 --> 00:09:28,560 kanpaia azpian. 220 00:09:28,560 --> 00:09:30,860 >> Baina hori begiratu nahi dugu kodea hobeto ulertzeko. 221 00:09:30,860 --> 00:09:33,650 Eta, hain zuzen ere, behin zaudete hasteko Zeure algoritmoak aztertu, ikusiko duzu 222 00:09:33,650 --> 00:09:34,900 hitzez hitz egin besterik ez da. 223 00:09:34,900 --> 00:09:37,765 Eyeball moduko zure kodea, eta uste buruz - eskubidea, begizta hau daukat 224 00:09:37,765 --> 00:09:41,870 hemen edo daukat Habiaratutako kiribil bat hemen, hori gauza n n aldiz egingo, 225 00:09:41,870 --> 00:09:46,050 eta arrazoia dezakezu zure ordenatzeko modu kodearen bidez, nahiz eta oso 226 00:09:46,050 --> 00:09:47,980 pseudocode eta ez benetako kodea. 227 00:09:47,980 --> 00:09:49,730 >> Beraz n karratu de omega buruz zer? 228 00:09:49,730 --> 00:09:53,582 Zein izan zen algoritmoaren onena dela kasuan, oraindik hartu n karratu urratsak? 229 00:09:53,582 --> 00:09:54,014 Bai? 230 00:09:54,014 --> 00:09:54,880 >> Ikusleak: [INAUDIBLE]. 231 00:09:54,880 --> 00:09:55,900 >> DAVID MALAN: Beraz, aukeraketa ordenatu. 232 00:09:55,900 --> 00:09:59,150 Arazo hori benetan murriztu delako Izan ere, berriro ere, ez dakit 233 00:09:59,150 --> 00:10:02,600 Aurkitu dut gaur egungo txikiena arte Checked dut darn elementu guztiak. 234 00:10:02,600 --> 00:10:08,050 , Esan, eta, beraz, omega n, dugu besterik ez zen bat ere. 235 00:10:08,050 --> 00:10:09,300 Txertatzeko ordenatu. 236 00:10:09,300 --> 00:10:12,370 Zerrendan gertatzen ordenatuko nahi baduzu dagoeneko, onenen kasuan besterik ez dugu 237 00:10:12,370 --> 00:10:15,090 pass bat egiteko horren bidez, puntu ziur gaude at. 238 00:10:15,090 --> 00:10:17,890 Eta gero, esan liteke lineala izango da, ziur. 239 00:10:17,890 --> 00:10:20,570 >> 1 omega zer? 240 00:10:20,570 --> 00:10:23,790 Zer da onena, kasu honetan, agian hartu urrats-kopurua konstante bat? 241 00:10:23,790 --> 00:10:27,220 Beraz, bilaketa lineala, besterik ez duzu lortzen bada zortea eta elementu bilatzen ari zaren 242 00:10:27,220 --> 00:10:31,000 eskubidea da zerrendaren hasieran, hori da, non zure zaren hasten bada 243 00:10:31,000 --> 00:10:33,070 lineal zerrenda hori eskuratzea. 244 00:10:33,070 --> 00:10:35,180 >> Eta hau da, benetako gauza kopurua. 245 00:10:35,180 --> 00:10:37,660 Esate baterako, nahiz eta bitar Bilaketa 1 omega da. 246 00:10:37,660 --> 00:10:40,310 Zer gertatuko da benetan delako darn lortuko duzu Zorioneko eta smack-DAB erditik aurrera hasi 247 00:10:40,310 --> 00:10:42,950 Zure array kopurua da bilatzen ari zarena? 248 00:10:42,950 --> 00:10:45,730 Beraz, zortea dezakezu han, bai. 249 00:10:45,730 --> 00:10:49,190 >> Honek, azkenik, n log n omega. 250 00:10:49,190 --> 00:10:52,573 Beraz n log n, ez dugu benetan gabe hitz egin zuen, baina - 251 00:10:52,573 --> 00:10:53,300 >> Ikusleak: Batu ordenatu? 252 00:10:53,300 --> 00:10:53,960 >> DAVID MALAN: Batu ordenatu. 253 00:10:53,960 --> 00:10:56,920 Denbora azken cliffhanger zen, non, proposatu dugu, eta erakutsi dugu 254 00:10:56,920 --> 00:10:58,600 ikusmen, daudela algoritmoak. 255 00:10:58,600 --> 00:11:02,470 Bateratu eta bakar bat, besteak beste, antzeko algoritmoa, funtsean azkarrago 256 00:11:02,470 --> 00:11:03,450 guys horiek beste batzuk baino. 257 00:11:03,450 --> 00:11:07,800 Izan ere, bateratu laburra da, eta ez bakarrik hasi onenak kasu n log n, txarrena en 258 00:11:07,800 --> 00:11:09,460 Kasu n log n. 259 00:11:09,460 --> 00:11:14,540 Eta noiz kasualitatea horren behar duzu omega eta big O gauza bera izatea? 260 00:11:14,540 --> 00:11:17,310 Egia esan, ezin dugu hori deskribatzeko zer gisa izeneko theta, da, nahiz eta bat 261 00:11:17,310 --> 00:11:18,220 zertxobait gutxiago dira. 262 00:11:18,220 --> 00:11:21,730 Baina, besterik gabe esan nahi du bi mugak, kasu honetan, berdinak dira. 263 00:11:21,730 --> 00:11:25,770 >> Beraz, batu, ordenatu, zer da hau benetan irakiten behera Gurekin? 264 00:11:25,770 --> 00:11:27,000 Beno, gogoratzen motibazioa. 265 00:11:27,000 --> 00:11:30,340 Let me tira gora animaziozko beste ez genuen azken aldiz begiratu. 266 00:11:30,340 --> 00:11:33,390 Honek, ideia bera, baina pixka bat handiagoa da. 267 00:11:33,390 --> 00:11:36,160 Eta aurrera joan eta azpimarratu dut lehen - txertatzeko ordenatu izan dugu 268 00:11:36,160 --> 00:11:39,410 goiko ezkerreko eta, ondoren, hautapen ordenatu, burbuila ordenatu, ordenatzen beste pare bat - 269 00:11:39,410 --> 00:11:42,670 Shell eta azkar - ez ditugula hitz buruz, eta zeure ordenatu eta batu. 270 00:11:42,670 --> 00:11:47,090 >> Gutxienez saiatu zure begiak arreta, beraz hiru goiko ezkerreko eta, ondoren, 271 00:11:47,090 --> 00:11:49,120 batu ordenatu nuenean sakatu gezi berdeak honetan. 272 00:11:49,120 --> 00:11:51,900 Baina horiek guztiak exekutatu dut, besterik ez ematen duzu aniztasuna zentzua 273 00:11:51,900 --> 00:11:53,980 algoritmo hori munduko existitzen. 274 00:11:53,980 --> 00:11:56,180 Exekuzio honetan utzi dut besterik gabe, segundo batzuk. 275 00:11:56,180 --> 00:11:59,640 Eta fokua duzu zure begiak bada - hautatzeko bat bildu, zentratu da, besterik gabe, bat 276 00:11:59,640 --> 00:12:02,970 segundo - Hasteko, ikusiko duzu eredua dela ezartzeko. 277 00:12:02,970 --> 00:12:04,530 >> Batu, ordenatu, oharra, eginda dago. 278 00:12:04,530 --> 00:12:06,430 Montón ordenatu, azkarra, ordenatu, shell - 279 00:12:06,430 --> 00:12:09,480 beraz, badirudi hiru sartu dugu txarrena algoritmoak azken astean. 280 00:12:09,480 --> 00:12:12,960 Baina hori onak garela hemen gaur merge ordenatu begiratu, zein da 281 00:12:12,960 --> 00:12:16,500 errazagoa da, bai ikusteko, nahiz ziurrenik zure kontuan, nahiz eta okertu egingo 282 00:12:16,500 --> 00:12:17,490 besterik gabe, apur bat. 283 00:12:17,490 --> 00:12:21,130 Hemen ikusi ahal izango dugu, besterik gabe, zenbat aukeraketa ordenatu sucks. 284 00:12:21,130 --> 00:12:24,600 >> Baina flip albo batean, haren Benetan erraza ezartzea. 285 00:12:24,600 --> 00:12:28,160 Eta, agian, P ezarri 3, hori bat da algoritmoak inplementatzeko aukeratu duzu 286 00:12:28,160 --> 00:12:28,960 estandarra ediziorako. 287 00:12:28,960 --> 00:12:30,970 Primeran fina, erabat zuzena. 288 00:12:30,970 --> 00:12:35,210 >> Baina, berriro, n bezala lortzen handiak, baduzu aukeratu azkarragoa algoritmo bat ezartzeko 289 00:12:35,210 --> 00:12:39,020 gustatzen batu, ordenatu, odds handiagoak dira, eta sarrera handiagoak, zure kodea ez da besterik 290 00:12:39,020 --> 00:12:39,800 azkarrago exekutatu behar. 291 00:12:39,800 --> 00:12:41,090 Zure web orria da hobeto lan egiten du. 292 00:12:41,090 --> 00:12:42,650 Zure erabiltzaile daude zoriontsuagoa izango. 293 00:12:42,650 --> 00:12:45,280 Eta, beraz, ez dira efektu horiek benetan ematea 294 00:12:45,280 --> 00:12:47,350 gurekin batzuk sakonago pentsatu. 295 00:12:47,350 --> 00:12:49,990 >> Beraz dezagun zer batu begirada bat ordenatu da benetan guztiei buruz. 296 00:12:49,990 --> 00:12:52,992 Cool gauza da batzen duten sort besterik ez da hau. 297 00:12:52,992 --> 00:12:56,300 Hau da, berriz ere, zer deitzen dugun pseudocode, pseudocode izaki 298 00:12:56,300 --> 00:12:57,720 English antzerako sintaxia. 299 00:12:57,720 --> 00:12:59,890 Eta soiltasuna da liluragarriak agintzea. 300 00:12:59,890 --> 00:13:02,840 >> Beraz, n elementu sarrera on - beraz, esan nahi du, besterik gabe, hemen array bat da. 301 00:13:02,840 --> 00:13:04,000 Honez lortu n gauzak bertan. 302 00:13:04,000 --> 00:13:05,370 Duten guztiak ez gara esaten da. 303 00:13:05,370 --> 00:13:07,560 >> N 2 baino txikiagoa bada, itzultzeko. 304 00:13:07,560 --> 00:13:08,640 Beraz, hori besterik Bañales kasuan. 305 00:13:08,640 --> 00:13:12,580 N 2 baino gutxiago bada, orduan, jakina, oso 1 edo 0, kasu horretan, gauza 306 00:13:12,580 --> 00:13:14,780 ordenatuko da, dagoeneko existitzen ez den edo, beraz, besterik ez itzultzeko. 307 00:13:14,780 --> 00:13:15,900 Ez da ezer egin behar da. 308 00:13:15,900 --> 00:13:18,360 Beraz, erraz bat Kasu off pluck behar da. 309 00:13:18,360 --> 00:13:20,110 >> Bestela, hiru urrats egin behar dugu. 310 00:13:20,110 --> 00:13:23,650 Ordenatzeko elementuak erdia ezker, eta ordenatu elementuak erdia eskubidea, 311 00:13:23,650 --> 00:13:26,650 eta, ondoren, batu erdi ordenatuko du. 312 00:13:26,650 --> 00:13:29,400 Zer da interesgarria hemen da Punting mota naiz, ezta? 313 00:13:29,400 --> 00:13:32,300 Ez dago zirkular definizio mota da to algoritmo hau. 314 00:13:32,300 --> 00:13:35,986 Zer zentzu da, algoritmo honen Definizio zirkularra? 315 00:13:35,986 --> 00:13:37,850 >> Ikusleak: [INAUDIBLE]. 316 00:13:37,850 --> 00:13:41,670 >> DAVID MALAN: Bai, nire ordena bildu, bere urrats bi dira "Ordenaren 317 00:13:41,670 --> 00:13:44,640 zerbait. "Eta beraz, segurutzat jotzen du galdera, bai, zer am going to erabili dut 318 00:13:44,640 --> 00:13:46,460 Ezkerraldean erdia ordenatzeko eta eskuineko erdia? 319 00:13:46,460 --> 00:13:49,600 Eta edertasuna, hemen da, nahiz eta hori berriz ere, hau da, kontuan-flexiones da 320 00:13:49,600 --> 00:13:54,030 zati potentzialki, bera erabili ahal izango duzu algoritmoa ezkerreko erdia ordenatzeko. 321 00:13:54,030 --> 00:13:54,700 >> Baina itxaron minutu bat. 322 00:13:54,700 --> 00:13:57,070 Duzunean esan ordenatzeko Ezkerraldean erdia, zer bi dira 323 00:13:57,070 --> 00:13:58,240 hurrengo urratsak izango da? 324 00:13:58,240 --> 00:14:00,550 Erdia ezker sailkatuko dugu Ezkerraldean erdi eta eskuin 325 00:14:00,550 --> 00:14:01,420 ezkerreko erdi erdia. 326 00:14:01,420 --> 00:14:04,430 Malditos, nola diren bi sailkatuko dut erdi edo laurden, orain? 327 00:14:04,430 --> 00:14:05,260 >> Baina hori Ados. 328 00:14:05,260 --> 00:14:07,830 Ordenatzeko algoritmo bat dugu hemen. 329 00:14:07,830 --> 00:14:10,660 Eta nahiz eta kezkatu baliteke at Lehenengo hau amaigabea da mota 330 00:14:10,660 --> 00:14:12,780 begizta, ziklo hori inoiz ez da Amaierara joan - da joan 331 00:14:12,780 --> 00:14:15,770 Amaierara behin zer gertatzen da? 332 00:14:15,770 --> 00:14:16,970 Behin n 2 baino gutxiago da. 333 00:14:16,970 --> 00:14:19,180 Horrek, azkenean da gertatuko, mantentzen baduzu eta halving delako 334 00:14:19,180 --> 00:14:23,020 erdi hauetan halving batean, ziur aski halving azkenean amaituko duzu 335 00:14:23,020 --> 00:14:25,350 besterik ez da 1 edo 0 elementuak sortu. 336 00:14:25,350 --> 00:14:28,500 Duen puntua, algoritmoa honetan dio Bukatutakoan. 337 00:14:28,500 --> 00:14:31,020 >> Honetan, benetako magia, hain algoritmoa dirudi en 338 00:14:31,020 --> 00:14:33,470 duen azken urratsa, batuz. 339 00:14:33,470 --> 00:14:37,190 Bi konbinatzeko ideia sinplea duten gauzak, hori da, azken finean, zer gertatzen da 340 00:14:37,190 --> 00:14:40,920 array baten ordenatzeko ahal izateko, demagun, zortzi elementu. 341 00:14:40,920 --> 00:14:44,410 Beraz, zortzi gehiago estresa pilotak daukat sortu Hemen, zortzi paper zatiak, eta bat 342 00:14:44,410 --> 00:14:45,500 Google Glass - 343 00:14:45,500 --> 00:14:46,140 horrek mantentzea lortu dut. 344 00:14:46,140 --> 00:14:46,960 >> [Barreak] 345 00:14:46,960 --> 00:14:48,970 >> DAVID MALAN: zortzi dugu balute boluntarioak, eta ikus dezagun dugu, ahal bada 346 00:14:48,970 --> 00:14:51,430 play hau, beraz. 347 00:14:51,430 --> 00:14:52,500 Wow, OK. 348 00:14:52,500 --> 00:14:53,565 Informatika da fun lortzean. 349 00:14:53,565 --> 00:14:54,320 Guztiak eskubidea. 350 00:14:54,320 --> 00:14:57,770 Beraz, zer egin dezakezu, hiru, handiena, han sortu eskua. 351 00:14:57,770 --> 00:14:58,580 Atzealdean lau. 352 00:14:58,580 --> 00:15:02,220 Eta nola buruz egingo dugu Lerro honetan hiru? 353 00:15:02,220 --> 00:15:03,390 Eta aurreko lau. 354 00:15:03,390 --> 00:15:04,920 Beraz, zortzi, etorri da. 355 00:15:04,920 --> 00:15:12,060 >> [Barreak] 356 00:15:12,060 --> 00:15:13,450 >> DAVID MALAN: benetan naiz ez ziur zer den. 357 00:15:13,450 --> 00:15:14,810 Da estresa pilotak? 358 00:15:14,810 --> 00:15:16,510 Lanparak mahaian? 359 00:15:16,510 --> 00:15:18,650 Materiala? 360 00:15:18,650 --> 00:15:19,680 Interneten? 361 00:15:19,680 --> 00:15:20,160 >> Ados. 362 00:15:20,160 --> 00:15:21,310 Beraz, zatoz gora. 363 00:15:21,310 --> 00:15:22,310 Nor nahi - 364 00:15:22,310 --> 00:15:23,570 Datozen mantentzeko. 365 00:15:23,570 --> 00:15:24,240 Ikus dezagun. 366 00:15:24,240 --> 00:15:26,460 Eta hau jartzen baduzu, kokapen - 367 00:15:26,460 --> 00:15:27,940 Oraindik kokapen bat zara. 368 00:15:27,940 --> 00:15:28,670 Uh-oh, minutu bat itxaron. 369 00:15:28,670 --> 00:15:30,760 1, 2, 3, 4, 5, 6, 7 - Oh, ona da. 370 00:15:30,760 --> 00:15:31,310 Ondo da, onak ditugu. 371 00:15:31,310 --> 00:15:35,130 Guztiak eskubidea, beraz, denek dute eserlekua, baina ez da Google Glass gainean. 372 00:15:35,130 --> 00:15:36,475 Let me up ilara horiek. 373 00:15:36,475 --> 00:15:37,115 Zein da zure izena? 374 00:15:37,115 --> 00:15:37,440 >> MICHELLE: Michelle. 375 00:15:37,440 --> 00:15:38,090 >> DAVID MALAN: Michelle? 376 00:15:38,090 --> 00:15:42,000 Ondo da, eta itxura lortuko duzu geek, hau da Ados. 377 00:15:42,000 --> 00:15:44,625 Beno, gehiegi egin dut, suposatzen dut, besterik gabe, une batez. 378 00:15:44,625 --> 00:15:45,875 Guztiak eskubidea, egonean. 379 00:15:45,875 --> 00:15:48,510 380 00:15:48,510 --> 00:15:50,950 Izan gara etorri batekin saiatzen erabili kasu Google beira, eta guk 381 00:15:50,950 --> 00:15:53,750 uste dibertigarria besterik ez litzateke egin pertsonak dira eszenatokian. honetan 382 00:15:53,750 --> 00:15:57,120 Munduko grabatu egingo dugu bere ikuspuntutik. 383 00:15:57,120 --> 00:15:58,410 Guztiak eskubidea. 384 00:15:58,410 --> 00:15:59,830 Ez da, ziurrenik, Google xedea. 385 00:15:59,830 --> 00:16:02,260 Ondo da, ez baduzu axola jantzita baldar du hurrengo minutu honetan, 386 00:16:02,260 --> 00:16:03,150 hori zoragarria izango litzateke. 387 00:16:03,150 --> 00:16:08,620 >> Ondo da, beraz, hemen dugu array baten elementuak, eta array duten bezala, per 388 00:16:08,620 --> 00:16:11,480 paper zatiak Folks hauetan ' eskuak, gaur egun, Sailkatu gabe. 389 00:16:11,480 --> 00:16:12,050 >> MICHELLE: Oh, hori da hain arraroa. 390 00:16:12,050 --> 00:16:12,810 >> DAVID MALAN: nahiko askoz ausazko da. 391 00:16:12,810 --> 00:16:15,760 Eta besterik gabe, une batean, saiatzen gara batu ordenatu elkarrekin ezartzeko 392 00:16:15,760 --> 00:16:17,950 ikusi eta non ulertzeko gakoa dela. 393 00:16:17,950 --> 00:16:21,970 Eta trikimailu hemen merge Ordena da zerbait ez ditugula bere gain hartu oraindik. 394 00:16:21,970 --> 00:16:24,030 Benetan behar dugu zenbait osagarriak espazioa. 395 00:16:24,030 --> 00:16:26,650 Beraz, batez ere, zer izango honen inguruan interesgarria da horiek 396 00:16:26,650 --> 00:16:29,270 mutilak dira, pixka bat mugitu joan bit, naiz dudalako joan nahi du bere gain hartzen duten 397 00:16:29,270 --> 00:16:31,880 ez espazioa array estra bat da, esan, eskubidea atzean. 398 00:16:31,880 --> 00:16:34,570 >> Hala bada Oraindik bere aulkia atzean dira, duten bigarren mailako array da. 399 00:16:34,570 --> 00:16:36,960 Ari dira eserita, bada, hemen, hori da lehen array. 400 00:16:36,960 --> 00:16:40,170 Baina hau baliabide bat dugula da Ez da, beraz, oso urrun leveraged burbuila batera 401 00:16:40,170 --> 00:16:42,040 ordenatu, hautaketa Ordena, Ordena txertatzeko. 402 00:16:42,040 --> 00:16:44,600 Gogoratzen azken astean, denek besterik nolako lekua nahastu. 403 00:16:44,600 --> 00:16:46,840 Ez zuten erabili osagarriak memoria edozein. 404 00:16:46,840 --> 00:16:49,310 Lagunentzako tokia egin dugu pertsona inguru mugitzen. 405 00:16:49,310 --> 00:16:50,580 >> Beraz, gakoa ikuspegi bat da, gehiegi. 406 00:16:50,580 --> 00:16:53,410 Ez dago hau merkataritza-off da, oro har, informatika, baliabideak. 407 00:16:53,410 --> 00:16:55,800 Nahi duzun azkartzeko zerbait bada denbora bezala, behar duzu 408 00:16:55,800 --> 00:16:56,900 dute prezio bat ordaindu behar izan. 409 00:16:56,900 --> 00:17:00,750 Prezioak, eta horietako bat da, oso maiz espazioa da, memoria edo gogorra 410 00:17:00,750 --> 00:17:01,700 Diskoan lekua erabiltzen ari zaren. 411 00:17:01,700 --> 00:17:03,640 Edo, sinceramente, zenbatekoa programatzaile denbora. 412 00:17:03,640 --> 00:17:06,700 Zenbat aldiz hartzen du, giza, benetan ezartzeko gehiago 413 00:17:06,700 --> 00:17:07,829 konplikatuak algoritmoa. 414 00:17:07,829 --> 00:17:09,760 Baina, gaur egun, merkataritza-off denbora eta espazioa da. 415 00:17:09,760 --> 00:17:11,930 >> Beraz baduzu guys besterik ezin eutsi zure zenbakiak, beraz, ikusten ari zaren dezakegu 416 00:17:11,930 --> 00:17:15,839 hain zuzen ere, 4, 2, 6, 1, 3, 7, 8 betetzen. 417 00:17:15,839 --> 00:17:16,599 Bikain. 418 00:17:16,599 --> 00:17:19,520 Beraz orkestratu saiatu naiz gauzak, baduzu guys besterik 419 00:17:19,520 --> 00:17:21,800 jarraitu nire beruna hemen. 420 00:17:21,800 --> 00:17:26,650 >> Beraz, garatu dut, lehenengo, lehen pseudocode urratsera, hau da, 421 00:17:26,650 --> 00:17:29,440 n elementuen sarrera, n bada on 2 baino gutxiago, eta gero itzultzeko. 422 00:17:29,440 --> 00:17:31,370 Jakina, horrek ez du bada, beraz, mugitzeko dugu. 423 00:17:31,370 --> 00:17:33,340 Beraz ordenatzeko elementuak erdia ezkerrera. 424 00:17:33,340 --> 00:17:36,220 Beraz, horrek esan nahi du, bideratzeko dut nire besterik gabe, horiek une batean arreta 425 00:17:36,220 --> 00:17:37,310 lau mutil hemen. 426 00:17:37,310 --> 00:17:39,774 Guztiak eskubidea, zer egin behar dut hurrengo? 427 00:17:39,774 --> 00:17:40,570 >> Publikoa: Sort ezkerreko erdian. 428 00:17:40,570 --> 00:17:42,780 >> DAVID MALAN: Beraz, orain ordenatzeko daukat mutil hauek erdia ezkerrera. 429 00:17:42,780 --> 00:17:45,580 Zeren eta berriro, zure burua bere gain helburua da ezkerreko erdia ordenatzeko. 430 00:17:45,580 --> 00:17:46,440 Nola egiten da hori? 431 00:17:46,440 --> 00:17:49,140 Just jarraitu, nahiz eta ari gara, nahiz eta egiten ari da berriro. 432 00:17:49,140 --> 00:17:50,160 Beraz ordenatzeko ezkerreko erdian. 433 00:17:50,160 --> 00:17:52,030 Orain bi mutil hauek dut ordenatzeko. 434 00:17:52,030 --> 00:17:53,563 Zer datorrena? 435 00:17:53,563 --> 00:17:54,510 >> Publikoa: Sort ezkerreko erdian. 436 00:17:54,510 --> 00:17:55,460 >> DAVID MALAN: Sort ezkerreko erdian. 437 00:17:55,460 --> 00:18:00,680 Beraz, gaur egun horiek, eserlekua hau hemen, tamaina 1 zerrenda bat da. 438 00:18:00,680 --> 00:18:01,365 Eta zein da zure izena berriro? 439 00:18:01,365 --> 00:18:02,390 >> PRINCESS DAISY: Princess Daisy. 440 00:18:02,390 --> 00:18:03,690 >> DAVID MALAN: Princess Daisy da hemen. 441 00:18:03,690 --> 00:18:07,470 Eta, beraz, berak horrela antolatu da dagoeneko, izan ere, zerrenda tamaina 1 da. 442 00:18:07,470 --> 00:18:09,490 Zer egin hurrengo dut? 443 00:18:09,490 --> 00:18:13,680 Ados, bueltatu, zerrenda hori delako tamaina 1, 2 baino gutxiago. 444 00:18:13,680 --> 00:18:14,320 Orduan, zer da hurrengo urratsa? 445 00:18:14,320 --> 00:18:17,490 Eta orain, mota behar duzu zure gogoan backtrack. 446 00:18:17,490 --> 00:18:19,340 >> Ordenatzeko eskuineko erdia, hau da, - 447 00:18:19,340 --> 00:18:19,570 Zein da zure izena? 448 00:18:19,570 --> 00:18:20,220 >> LINDA: Linda. 449 00:18:20,220 --> 00:18:20,980 >> DAVID MALAN: Linda. 450 00:18:20,980 --> 00:18:23,210 Eta, beraz, zer egin dezaket orain egin dugu tamaina 1 zerrenda bat egin behar dugu? 451 00:18:23,210 --> 00:18:24,440 >> Ikusleak: Sartu. 452 00:18:24,440 --> 00:18:24,760 >> DAVID MALAN: Kontuz. 453 00:18:24,760 --> 00:18:29,540 Lehenengo itzuliko gara, eta, orain, hirugarren urratsa -, eta badut nolako itxura duen 454 00:18:29,540 --> 00:18:33,490 bi eserleku besarkatzen orain, gaur egun I bi elementu horiek batzeko. 455 00:18:33,490 --> 00:18:35,530 Beraz, gaur egun, zoritxarrez, elementu ordenatik kanpo daude. 456 00:18:35,530 --> 00:18:39,920 Baina hori non uztartzeko prozesua da hasten da sinesgarria lortzeko. 457 00:18:39,920 --> 00:18:42,410 >> Beraz baduzu guys zutik zitekeen soilik Une batean, behar duzun noa, batean 458 00:18:42,410 --> 00:18:44,170 Oraingoz, zure aulkia igarotzea. 459 00:18:44,170 --> 00:18:46,480 Eta Linda, 2 duelako bada 4 baino txikiagoa da, zergatik ez 460 00:18:46,480 --> 00:18:48,130 inguruan zatoz lehen? 461 00:18:48,130 --> 00:18:48,690 Egonaldia. 462 00:18:48,690 --> 00:18:50,520 Linda, beraz, inguru zatoz lehen. 463 00:18:50,520 --> 00:18:53,820 >> Errealitatea da gaur egun, besterik ez bada, array bat besterik ezin dugu bere denbora errealean 464 00:18:53,820 --> 00:18:55,360 aulki hau tik Leku hau. 465 00:18:55,360 --> 00:18:57,770 Beraz, imajina hartu duten konstante batzuk 1 urrats kopurua. 466 00:18:57,770 --> 00:18:58,480 Eta orain - 467 00:18:58,480 --> 00:19:01,490 baina jarri behar dugu lehen kokalekua hemen. 468 00:19:01,490 --> 00:19:03,930 >> Eta orain, inguruan zaudela balute, baita ere, nahi dugu 469 00:19:03,930 --> 00:19:06,300 kokapena, bi izango dira. 470 00:19:06,300 --> 00:19:09,120 Eta nahiz eta hau sentitzen duen bezala pixka bat hartu, zer polita da orain 471 00:19:09,120 --> 00:19:14,710 erdia ezkerraldean Ezkerraldean erdia da, gaur egun antolatuta. 472 00:19:14,710 --> 00:19:18,010 Beraz, zer izan zen hurrengo urratsa dugu, orain bada atzeratzeko gehiago istorioan? 473 00:19:18,010 --> 00:19:18,980 >> Ikusleak: Eskuin erdia. 474 00:19:18,980 --> 00:19:19,900 >> DAVID MALAN: Sort eskuineko erdia. 475 00:19:19,900 --> 00:19:21,320 Beraz, you guys dute hori egin ahal izateko, bai. 476 00:19:21,320 --> 00:19:23,510 Beraz, bada, Zutik dezakezu besterik gabe, une batez? 477 00:19:23,510 --> 00:19:25,192 Eta zein da zure izena? 478 00:19:25,192 --> 00:19:25,540 >> Jess: Jess. 479 00:19:25,540 --> 00:19:25,870 >> DAVID MALAN: Jess. 480 00:19:25,870 --> 00:19:29,720 Ados, eta, beraz, gaur egun, Jess Ezkerraldean eskuineko erdia erdia. 481 00:19:29,720 --> 00:19:31,400 Eta, beraz, tamaina 1 zerrenda bat egin zuen. 482 00:19:31,400 --> 00:19:32,380 She da, jakina, ordenatzen. 483 00:19:32,380 --> 00:19:33,070 Eta zure izena berriro? 484 00:19:33,070 --> 00:19:33,630 >> MICHELLE: Michelle. 485 00:19:33,630 --> 00:19:35,340 >> DAVID MALAN: Michelle da, jakina, tamaina 1 zerrenda. 486 00:19:35,340 --> 00:19:36,050 She dagoeneko antolatuta. 487 00:19:36,050 --> 00:19:38,690 Beraz, magia gertatzen da, konbinatzeko prozesua. 488 00:19:38,690 --> 00:19:39,790 Beraz, nork lehenengo etortzen da? 489 00:19:39,790 --> 00:19:41,560 Jakina Michelle. 490 00:19:41,560 --> 00:19:43,280 Hala bada etortzen inguruan asmoz itzuli. 491 00:19:43,280 --> 00:19:47,090 Espazioa bere eskuragarri dugu orain eskuineko aulki hau hemen atzean. 492 00:19:47,090 --> 00:19:51,580 Eta, orain, itzuli baduzu, etorri ahal izan baita, ditugu, argi izan behar da, bi 493 00:19:51,580 --> 00:19:53,810 erdi, tamaina bakoitzeko 2 - 494 00:19:53,810 --> 00:19:57,090 eta besterik irudikatze en onerako, baduzu espazio bat pixka bat egin dezake - 495 00:19:57,090 --> 00:19:59,780 erdia hemen utzi, bat eskuineko erdia hemen. 496 00:19:59,780 --> 00:20:01,160 >> Atzeratzeko gehiago istorioan. 497 00:20:01,160 --> 00:20:02,270 Zer da hurrengo urratsa? 498 00:20:02,270 --> 00:20:03,030 >> Ikusleak: Batu. 499 00:20:03,030 --> 00:20:04,160 >> DAVID MALAN: Beraz, orain batu ditugu. 500 00:20:04,160 --> 00:20:07,490 Beraz, OK, beraz, gaur egun, zorionez, ez dugu besterik askatuko lau aulkiak. 501 00:20:07,490 --> 00:20:11,480 Beraz, erabili dugu bi aldiz memoria askoz, baina eman flip-flopping dezakegu arteko 502 00:20:11,480 --> 00:20:12,330 bi matrizeak. 503 00:20:12,330 --> 00:20:14,190 Beraz, zein da zenbakia lehen etorri nahi? 504 00:20:14,190 --> 00:20:14,850 Beraz, Michelle, jakina. 505 00:20:14,850 --> 00:20:16,680 Beraz, zatoz eta inguruan hartu zure eserlekua hemen. 506 00:20:16,680 --> 00:20:19,120 Eta, ondoren, multzoko 2 da, jakina, hurrengo, eta, beraz, hemen etortzen zara. 507 00:20:19,120 --> 00:20:21,520 4, 6. 508 00:20:21,520 --> 00:20:23,390 Eta, berriro ere, nahiz eta bat inplikatutako oinez pixka, 509 00:20:23,390 --> 00:20:26,010 Benetan, horiek berehala gerta liteke, - ko mugituz 510 00:20:26,010 --> 00:20:26,880 Ados, ongi jokatu. 511 00:20:26,880 --> 00:20:28,350 >> [Barreak] 512 00:20:28,350 --> 00:20:29,680 >> DAVID MALAN: Eta orain gara forma nahiko ona da. 513 00:20:29,680 --> 00:20:34,910 Osoa erdia Ezkerraldean sarrera izan da antolatuta. 514 00:20:34,910 --> 00:20:37,370 Ondo da, beraz, mutil hauek izan nire abantaila - 515 00:20:37,370 --> 00:20:40,340 Nola amaituko da on neskak guztiak utzi eta eskuinera egiten mutilen guztiak? 516 00:20:40,340 --> 00:20:42,450 >> Ados, beraz, mutilak, orain buelta ». 517 00:20:42,450 --> 00:20:44,680 Beraz, ez dut zure bitartez oinez urrats hauek. 518 00:20:44,680 --> 00:20:46,550 Ikusiko dugu reapply bada dizugu berean pseudocode du. 519 00:20:46,550 --> 00:20:50,050 Nahi duzun aurrera, eta stand up bada, eta zaudete, utzi dizu me mic. 520 00:20:50,050 --> 00:20:52,990 Ikusi ez baduzu errepikatzeko zer egin besterik ez dugu hemen an 521 00:20:52,990 --> 00:20:53,880 zerrendaren bukaeran beste. 522 00:20:53,880 --> 00:20:59,530 Nork behar du lehen hitz egiten, algoritmoan oinarritutako? 523 00:20:59,530 --> 00:21:03,210 Beraz, aurretik azaldu zer egiten ari zaren Oinez mugimenduak egin duzu. 524 00:21:03,210 --> 00:21:05,930 >> HIZLARIA 1: Guztiak eskubidea, beraz, geroztik Erdia ezker naiz 525 00:21:05,930 --> 00:21:07,790 Ezkerraldean erdia, I itzultzeko. 526 00:21:07,790 --> 00:21:08,730 Eskuin? 527 00:21:08,730 --> 00:21:09,250 >> DAVID MALAN: Ongi. 528 00:21:09,250 --> 00:21:10,350 >> HIZLARIA 1: Eta gero - 529 00:21:10,350 --> 00:21:11,800 >> DAVID MALAN: nork ez du mic hurrengo joan? 530 00:21:11,800 --> 00:21:12,920 >> HIZLARIA: 1 Hurrengo kopurua. 531 00:21:12,920 --> 00:21:14,720 >> HIZLARIA 2: Beraz, eskuineko erdia naiz ezkerreko erdiko 532 00:21:14,720 --> 00:21:17,830 Ezkerraldean erdia, eta ni itzultzeko. 533 00:21:17,830 --> 00:21:18,050 >> DAVID MALAN: Ongi. 534 00:21:18,050 --> 00:21:18,550 Duzu itzultzeko. 535 00:21:18,550 --> 00:21:21,855 Beraz, orain zer duzu bi hurrengo sortu da? 536 00:21:21,855 --> 00:21:23,740 >> HIZLARIA 2: ikusi nor txikiagoa nahi dugu. 537 00:21:23,740 --> 00:21:24,200 >> DAVID MALAN: Horixe. 538 00:21:24,200 --> 00:21:24,940 Ra batu nahi ditugu. 539 00:21:24,940 --> 00:21:27,590 Espazioa behar batzeko erabili behar dugu baduzu, sartu, nahiz Oraindik 540 00:21:27,590 --> 00:21:30,250 ordenatuko da, jakina, dagoeneko, joan gara berean algoritmoa jarraitzeko. 541 00:21:30,250 --> 00:21:31,560 Beraz, nork atzera lehenengo doa? 542 00:21:31,560 --> 00:21:35,720 3 Beraz, eta, ondoren, 7. 543 00:21:35,720 --> 00:21:38,570 Eta orain, mic doa to mutil hauek, OK? 544 00:21:38,570 --> 00:21:43,590 >> HIZLARIA 3: Beraz erdia eskubidea dut Ezkerraldean erdia, eta nire n baino txikiagoa 545 00:21:43,590 --> 00:21:45,048 1, beraz, besterik ez naiz pasatzen joan - 546 00:21:45,048 --> 00:21:46,380 >> DAVID MALAN: Ongi. 547 00:21:46,380 --> 00:21:49,450 >> HIZLARIA 4: erdia eskubidea dut eskubidea eskuineko erdia erdiak, eta nago 548 00:21:49,450 --> 00:21:51,740 Era berean, pertsona bat, naiz eta, beraz, itzuli egingo da. 549 00:21:51,740 --> 00:21:52,990 Beraz, orain batu ditugu. 550 00:21:52,990 --> 00:21:55,140 551 00:21:55,140 --> 00:21:56,150 >> HIZLARIA 3: Beraz, atzera egingo dugu. 552 00:21:56,150 --> 00:21:57,160 >> DAVID MALAN: Beraz, atzera jo duzun. 553 00:21:57,160 --> 00:21:59,200 Beraz, 5 doa lehenengo eta, ondoren, 8. 554 00:21:59,200 --> 00:22:01,240 Eta orain, ikusleek, eta hori da, urratsera orain atzera egin behar dugu 555 00:22:01,240 --> 00:22:02,200 itzuli gure adimenak? 556 00:22:02,200 --> 00:22:02,940 >> Ikusleak: Batu. 557 00:22:02,940 --> 00:22:07,270 >> DAVID MALAN: batzea ezker erdiko eta eskuineko ezkerreko jatorrizko erdi erdia. 558 00:22:07,270 --> 00:22:08,840 Beraz, orain - 559 00:22:08,840 --> 00:22:10,520 eta, besterik gabe, honek argi eta garbi egiteko, egiteko espazio pixka bat 560 00:22:10,520 --> 00:22:11,690 duzun bitartean, bi mutil. 561 00:22:11,690 --> 00:22:13,800 Beraz, gaur egun, hori da, bi zerrendak, ezkerreko eta eskuineko. 562 00:22:13,800 --> 00:22:18,320 Beraz, nola ez, batu dugu zaudete sartu eserleku-ilara aurrean berriro? 563 00:22:18,320 --> 00:22:19,600 >> 3 doa lehen. 564 00:22:19,600 --> 00:22:20,850 Ondoren, 5, jakina. 565 00:22:20,850 --> 00:22:23,110 566 00:22:23,110 --> 00:22:27,330 Ondoren, 7, 8 eta orain. 567 00:22:27,330 --> 00:22:28,710 Ados, eta orain gauden? 568 00:22:28,710 --> 00:22:29,650 >> AUDIENCE: ez da egin. 569 00:22:29,650 --> 00:22:32,440 >> DAVID MALAN: egin ez delako, jakina, ez dago urrats bat Gainerako da. 570 00:22:32,440 --> 00:22:35,720 Baina, berriro ere, arrazoia dut hau erabiliz "zure kontuan atzeratzeko," bezalako jargon 571 00:22:35,720 --> 00:22:37,160 hori benetan delako da Zer ari da gertatzen. 572 00:22:37,160 --> 00:22:39,610 Urrats guztiak osatu dugu, baina bat gelditzea moduko gara 573 00:22:39,610 --> 00:22:42,480 Oraingoz, sartu sakonago urpekaritza bildu, une batez gelditzea, 574 00:22:42,480 --> 00:22:45,840 urpekaritza algoritmoa barneratu, eta orain, atzeratzeko moduko gure dugu 575 00:22:45,840 --> 00:22:49,430 adimenak eta desegin geruza horiek guztiak dugun Ordena atxikitzen da. 576 00:22:49,430 --> 00:22:51,790 >> Beraz, orain bi tamaina 4 zerrendetan dugu. 577 00:22:51,790 --> 00:22:54,790 Zaudete zutik balute, azken denbora eta espazio pixka bat hemen 578 00:22:54,790 --> 00:22:57,230 argi hori ez dela ezker , jatorrizko erdia 579 00:22:57,230 --> 00:22:58,620 jatorrizko erdia eskuinera. 580 00:22:58,620 --> 00:23:01,060 Nork lehen zenbakia da, guk behar berriro sartu tira? 581 00:23:01,060 --> 00:23:01,870 Michelle, noski. 582 00:23:01,870 --> 00:23:03,230 >> Beraz, Michelle jarri dugu hemen. 583 00:23:03,230 --> 00:23:05,080 Eta nor multzoko 2 du? 584 00:23:05,080 --> 00:23:06,440 Multzoko 2 dator berriro ere. 585 00:23:06,440 --> 00:23:07,800 3 zenbakia? 586 00:23:07,800 --> 00:23:08,510 Bikain. 587 00:23:08,510 --> 00:23:16,570 4 zenbakia, zenbaki 5, 6, 7, eta 8. 588 00:23:16,570 --> 00:23:18,850 >> Ados, beraz, sentitu asko bezala eskailera, ziur. 589 00:23:18,850 --> 00:23:22,390 Baina orain, ikus dezagun, ezin dugu bada baieztatzeko sort intuizioa dela horren 590 00:23:22,390 --> 00:23:26,190 algoritmo batez ere, batez ere n lortzen benetan handia da, nik ikusi dugun bezala 591 00:23:26,190 --> 00:23:29,170 animazioak batera, da funtsean, azkarrago. 592 00:23:29,170 --> 00:23:33,400 Beraz, algoritmo hau aldarrikatzen dut, txarrena en kasuan, eta nahiz eta onena kasuan, 593 00:23:33,400 --> 00:23:36,160 handi n aldiz log n O. 594 00:23:36,160 --> 00:23:39,160 Hau da, honen alderdi batzuk algoritmoa egiten n urratsak, baina 595 00:23:39,160 --> 00:23:43,110 ez beste alderdi bat da, nonbait hasi iterazio dela, begizta duela 596 00:23:43,110 --> 00:23:44,410 hartzen log n urratsak. 597 00:23:44,410 --> 00:23:49,154 Gure hatz jarri dugu zer diren bi zenbakiak erreferentzia? 598 00:23:49,154 --> 00:23:51,320 Beno, non - 599 00:23:51,320 --> 00:23:54,160 where'd mic joan? 600 00:23:54,160 --> 00:23:58,660 >> HIZLARIA: 1 Nahi saioa n Gurekin hausteko bi sartu - 601 00:23:58,660 --> 00:23:59,630 bi, zatituz, funtsean. 602 00:23:59,630 --> 00:24:00,120 >> DAVID MALAN: Horixe. 603 00:24:00,120 --> 00:24:03,000 Edonoiz ikus algoritmoa edozein dugu, beraz, Orain arte, ez da patroi hau izan da 604 00:24:03,000 --> 00:24:04,200 , zatituz zatituz, zatituz. 605 00:24:04,200 --> 00:24:05,700 Eta nik, normalean, murriztu den zerbait da 606 00:24:05,700 --> 00:24:07,100 logaritmikoa, log 2 oinarria. 607 00:24:07,100 --> 00:24:10,180 Baina ezin da ezer izan, baina saioa 2 oinarria. 608 00:24:10,180 --> 00:24:11,330 >> Orain n buruz zer? 609 00:24:11,330 --> 00:24:14,550 Ikusteko nolako dugun banatzen dezaket guys - banatzen duzu, banatzen baduzu, 610 00:24:14,550 --> 00:24:15,910 banatzen duzu, banatzen duzu. 611 00:24:15,910 --> 00:24:18,760 Non amaieran dator? 612 00:24:18,760 --> 00:24:19,810 >> Beraz batzea da. 613 00:24:19,810 --> 00:24:20,610 Buruz uste duelako. 614 00:24:20,610 --> 00:24:25,420 Noiz zortzi pertsona batu batera, Horren bidez, erdiak lau multzo bat dira 615 00:24:25,420 --> 00:24:27,770 eta beste erdia, beste hauek dira lau multzo, nola joan 616 00:24:27,770 --> 00:24:28,820 du batuz egiten? 617 00:24:28,820 --> 00:24:30,830 Beno, zuk guys zuen nahiko intuizioa. 618 00:24:30,830 --> 00:24:34,140 >> Baina nik bada, apur bat gehiago metodikoki, at dut agian adierazi 619 00:24:34,140 --> 00:24:38,090 du ezkerreko pertsona nire ezkerreko lehen alde batetik, eta ezkerreko pertsona at adierazi 620 00:24:38,090 --> 00:24:42,080 nire eskua eskuineko erdia, eta besterik gabe, ondoren barrena ibili 621 00:24:42,080 --> 00:24:46,990 zerrenda, txikiena elementu seinalatuz aldi bakoitzean, nire hatz gainean eta higitzen 622 00:24:46,990 --> 00:24:48,970 gisa baino gehiago zerrendan zehar, behar den. 623 00:24:48,970 --> 00:24:51,890 Baina zer da hau batuz buruzko gakoa prozesu bikote hauek dut alderatuz 624 00:24:51,890 --> 00:24:53,460 elementuen. 625 00:24:53,460 --> 00:24:57,270 Eskuineko erdia eta ezkerretik erdi, inoiz ez dut behin backtracking. 626 00:24:57,270 --> 00:25:00,570 >> Beraz, konbinazio bera hartzen ari da ez baino gehiago n urratsak. 627 00:25:00,570 --> 00:25:03,250 Eta zenbat aldiz egin dut a batuz egin? 628 00:25:03,250 --> 00:25:07,150 Beno, ez n baino askoz gehiago da, eta guk, besterik gabe, urtean behin betiko merge duten. 629 00:25:07,150 --> 00:25:13,120 Eta, beraz, nahi duzu zerbait hartzen bada saioa n urratsak n aldiz, edo alderantziz, 630 00:25:13,120 --> 00:25:15,210 Gurekin n aldiz log n eman behar da joan. 631 00:25:15,210 --> 00:25:16,310 >> Eta zergatik da hau hobeto? 632 00:25:16,310 --> 00:25:19,600 Beno, dagoeneko ezagutzen ditugun log galtzen duten n n baino hobeto - ezta? 633 00:25:19,600 --> 00:25:22,590 Ikusi bilaketa bitarra dugu, telefono-liburua Adibidez, egunkari-n izan zen, zalantzarik gabe, 634 00:25:22,590 --> 00:25:23,760 lineal baino hobeto. 635 00:25:23,760 --> 00:25:28,420 Beraz, horrek esan nahi du n aldiz log n behin betiko n aldiz baino hobeto beste 636 00:25:28,420 --> 00:25:30,390 n, AKA n karratu. 637 00:25:30,390 --> 00:25:32,400 Eta hori da, azken finean, sentitzen dugu. 638 00:25:32,400 --> 00:25:34,928 >> Beraz, txalo zaparrada handia Kopako, bada , ezin dugu mutil hauek egiteko. 639 00:25:34,928 --> 00:25:38,920 >> [Txaloak] 640 00:25:38,920 --> 00:25:41,550 >> DAVID MALAN: Eta zure parting opariak - zenbakiak gorde ahal izango duzu, 641 00:25:41,550 --> 00:25:44,010 Nahi izanez gero. 642 00:25:44,010 --> 00:25:45,620 Eta zure parting oparia, ohikoa den bezala. 643 00:25:45,620 --> 00:25:47,290 Oh, eta duzuela material, Michelle. 644 00:25:47,290 --> 00:25:48,343 Eskerrik asko. 645 00:25:48,343 --> 00:25:49,250 Guztiak eskubidea. 646 00:25:49,250 --> 00:25:50,400 Laguntza zaitez estresa baloi bat. 647 00:25:50,400 --> 00:25:54,110 >> Eta utzi sortu tira niri, bitartean, gure lagun Rob Bowden eskaintzeko 648 00:25:54,110 --> 00:25:59,520 zertxobait ezberdinak honetako ikuspegitik, dezakezu hauei buruzko geroztik uste 649 00:25:59,520 --> 00:26:01,280 urrats pixka bat gertatzen modu ezberdin. 650 00:26:01,280 --> 00:26:04,750 Izan ere, zer da Rob about set-up erakusteko bere gain hartzen dugun 651 00:26:04,750 --> 00:26:09,030 Jadanik egindako zatituko du gora zortzi zerrendak txikitan zerrenda handia, 652 00:26:09,030 --> 00:26:10,570 tamaina 1 bakoitzean. 653 00:26:10,570 --> 00:26:13,350 >> Beraz pseudocode ari gara aldatzen bat pixka bat, besterik gabe, bertan lortzeko moduko 654 00:26:13,350 --> 00:26:15,320 core nola lanak uztartzeko ideia. 655 00:26:15,320 --> 00:26:17,600 Baina zer da denbora martxan egin zuen, buruz da oraindik 656 00:26:17,600 --> 00:26:19,110 bera izango da. 657 00:26:19,110 --> 00:26:23,540 Eta berriro ere, set-up Hemen da zuen zortzi tamaina 1 zerrendak hasi. 658 00:26:23,540 --> 00:26:27,730 Beraz, galdutako duzun zatia non zuen benetan egin egunkari n, egunkari-n, egunkari-n 659 00:26:27,730 --> 00:26:31,205 sarrera zatitu. 660 00:26:31,205 --> 00:26:32,120 >> [Bideo-erreprodukzioa] 661 00:26:32,120 --> 00:26:33,615 >> -Hori da, beste urrats bat da. 662 00:26:33,615 --> 00:26:38,270 Urrats bi, behin eta berriz egiteko batu zerrendak bikoteak. 663 00:26:38,270 --> 00:26:39,210 >> DAVID MALAN: Hm. 664 00:26:39,210 --> 00:26:41,270 Soilik audio is coming nire ordenagailuan daudelarik. 665 00:26:41,270 --> 00:26:42,520 Dezagun saiatu berriro. 666 00:26:42,520 --> 00:26:45,330 667 00:26:45,330 --> 00:26:48,310 >> -Just arbitrarioki hautatu den - orain lau zerrendak dugu. 668 00:26:48,310 --> 00:26:51,590 669 00:26:51,590 --> 00:26:52,120 Argibide aurretik. 670 00:26:52,120 --> 00:26:53,040 >> DAVID MALAN: Ez goaz. 671 00:26:53,040 --> 00:27:00,510 >> -Batzea 108 eta 15, amaituko dugu gora zerrenda-15, 108. 672 00:27:00,510 --> 00:27:07,170 50 eta 4 batzea dugu azkenean, 4, 50. 673 00:27:07,170 --> 00:27:12,990 8 eta 42 batzea dugu azkenean, 8, 42. 674 00:27:12,990 --> 00:27:19,970 Eta 23 eta 16 batuz, dugu azkenean, 16, 23. 675 00:27:19,970 --> 00:27:23,270 >> Orain gure zerrendak guztiak tamaina 2 dira. 676 00:27:23,270 --> 00:27:26,690 Iragarki bakoitzak lau zerrendak dago antolatuta. 677 00:27:26,690 --> 00:27:29,450 Beraz, hasteko batuz dezakegu zerrendak bikoteak berriro. 678 00:27:29,450 --> 00:27:38,420 15 eta 108 eta 4 eta 50 batzea dugu 4 lehenengo hartu eta, ondoren, 15 eta, ondoren, 679 00:27:38,420 --> 00:27:41,500 50 eta, ondoren, 108. 680 00:27:41,500 --> 00:27:50,610 8, 42 eta 16 batzea, 23, hartu dugun lehenengo 8, 16 orduan, eta, ondoren, 23, 681 00:27:50,610 --> 00:27:52,700 ondoren, 42. 682 00:27:52,700 --> 00:27:57,600 >> Beraz, orain bi tamaina zerrendak dugu 4, bakoitza dago antolatuta. 683 00:27:57,600 --> 00:28:01,170 Beraz, orain bi zerrenda horiek batu ditugu. 684 00:28:01,170 --> 00:28:11,835 Lehenik eta behin, 4 hartuko dugu, eta gero hartuko dugu 8, ondoren, 15 hartuko dugu eta, ondoren, 16 eta, ondoren, 685 00:28:11,835 --> 00:28:19,456 23 eta, ondoren, 42, 50, gero, gero, 108. 686 00:28:19,456 --> 00:28:19,872 >> [END bideo-erreprodukzioa] 687 00:28:19,872 --> 00:28:23,430 >> DAVID MALAN: Berriz ere, aldez aurretik abisatu zuen inoiz ukitu bat ematen, kopa bat baino gehiago denbora 688 00:28:23,430 --> 00:28:24,860 it haratago aurrera egin ondoren. 689 00:28:24,860 --> 00:28:26,200 Beraz, inoiz ez zuen errepikatuz. 690 00:28:26,200 --> 00:28:29,850 Beraz, beti zuen alde mugituz, eta hori da gure n ginen. 691 00:28:29,850 --> 00:28:33,290 >> Zergatik ez utzi sortu tira me ko animazioa ikusi dugun bezala, baina oraingo honetan 692 00:28:33,290 --> 00:28:35,110 bakarrik bideratua merge sort on. 693 00:28:35,110 --> 00:28:38,030 Dezagun aurrera me eta zoom hau hemen ere. 694 00:28:38,030 --> 00:28:42,530 Lehenengoa utzi ausazko sarrera bat aukeratu me, handitu honetan, eta ikusi ahal izango duzu, ordenatzeko 695 00:28:42,530 --> 00:28:46,600 zer hartu emana, lehenago genuen, batu ordenatu benetan egiten. 696 00:28:46,600 --> 00:28:50,330 >> Beraz, nabarituko lortu duzu erdi edo laurden horiek edo horien kortxeak du 697 00:28:50,330 --> 00:28:53,140 Arazo bat-batean guztiak hasteko ona forma hartzen. 698 00:28:53,140 --> 00:28:57,070 Eta, azkenik, ikusiko duzu Oso amaiera bam dela, 699 00:28:57,070 --> 00:28:58,860 dena batu elkarrekin. 700 00:28:58,860 --> 00:29:01,690 >> Horiek besterik ez dira, beraz, hiru ideia bera hartzen du. 701 00:29:01,690 --> 00:29:05,980 Baina gakoa ezagutzeko, besterik ez bezalako haustura eta lehen klasean konkistatzeko, 702 00:29:05,980 --> 00:29:10,640 zen erabaki genuen nolabait zatitzea zerbait, big alegia arazoa 703 00:29:10,640 --> 00:29:14,760 zerbait espirituz berdinak ordenatu, baina txikiagoak eta txikiagoak eta txikiagoak 704 00:29:14,760 --> 00:29:15,660 eta txikiagoa da. 705 00:29:15,660 --> 00:29:18,420 >> Orain beste modu dibertigarrian pentsatzeko moduko horiei buruz, hala ere, ez da 706 00:29:18,420 --> 00:29:20,520 emateko berean intuitiboa joan ulertzea da, 707 00:29:20,520 --> 00:29:21,640 Ondorengo animazioan. 708 00:29:21,640 --> 00:29:25,400 Beraz, hau bildu norbaitek bideo bat da lotutako hainbat 709 00:29:25,400 --> 00:29:29,970 eragiketa hainbat soinuak txertatzeko, ordenatu, merge ordenatu, eta 710 00:29:29,970 --> 00:29:31,150 besteak beste pare bat. 711 00:29:31,150 --> 00:29:32,330 Beraz, une batean, Play hit noa. 712 00:29:32,330 --> 00:29:33,600 Minutu bat inguru luze da. 713 00:29:33,600 --> 00:29:37,410 Eta, nahiz eta oraindik ere ikus ereduak, gertatzen ari den garai honetan, ahal duzun 714 00:29:37,410 --> 00:29:41,420 Horrez gain, entzun nola algoritmo horiek ezberdinean eta lantzean 715 00:29:41,420 --> 00:29:43,950 zertxobait ezberdinak ereduak. 716 00:29:43,950 --> 00:29:45,830 >> Hau txertatzeko ordenatu da. 717 00:29:45,830 --> 00:29:50,400 >> [Tonuak JOLASEAN] 718 00:29:50,400 --> 00:29:52,400 >> DAVID MALAN: berriro ere saiatzen ari elementu bakoitzaren txertatzeko 719 00:29:52,400 --> 00:29:52,900 tokian sartu. 720 00:29:52,900 --> 00:29:54,628 Hau da, burbuila ordenatu. 721 00:29:54,628 --> 00:30:10,097 >> [Tonuak JOLASEAN] 722 00:30:10,097 --> 00:30:13,630 >> DAVID MALAN: Eta sentitzen dezakezu ordenatzeko nola nahiko gutxi lan egiten ari da 723 00:30:13,630 --> 00:30:15,834 Urrats bakoitzean. 724 00:30:15,834 --> 00:30:20,470 Hau da, zer tediousness soinuak bezala. 725 00:30:20,470 --> 00:30:21,472 >> [Tonuak JOLASEAN] 726 00:30:21,472 --> 00:30:25,222 >> DAVID MALAN: aukeraketa sort hau da, non elementu nahi dugun aukeratu dugu 727 00:30:25,222 --> 00:30:28,845 igaro eta berriro eta berriro eta jarriz hasieran. 728 00:30:28,845 --> 00:30:37,674 >> [Tonuak JOLASEAN] 729 00:30:37,674 --> 00:30:43,970 >> DAVID MALAN: This ordenatu batzea da, eta horrek benetan dezakezu hasteko sentitzen. 730 00:30:43,970 --> 00:30:51,810 >> [Tonuak JOLASEAN] 731 00:30:51,810 --> 00:30:54,770 >> [Barreak] 732 00:30:54,770 --> 00:30:58,395 >> DAVID MALAN: Zerbait izeneko gnome ordenatu, eta hori ez dugu begiratu at. 733 00:30:58,395 --> 00:31:13,630 >> [Tonuak JOLASEAN] 734 00:31:13,630 --> 00:31:17,910 >> DAVID MALAN: Hargatik me ikusten, orain, arreta espero duzun bezalakoa dira 735 00:31:17,910 --> 00:31:21,110 musika, apur bat badut irrist dezakezu matematika apur hemen. 736 00:31:21,110 --> 00:31:24,850 Beraz, laugarren bidea ahal dugun da horiek zer esan nahi duen pentsatu 737 00:31:24,850 --> 00:31:29,210 funtzioak baino azkarrago izateko dugun ikusi baino lehen. 738 00:31:29,210 --> 00:31:32,470 Eta zaren ikastaroa bada datozen matematika hondo, duzu 739 00:31:32,470 --> 00:31:36,030 egia esan, jakin, agian, dagoeneko duzula epe bat Slap daiteke teknika honetan - 740 00:31:36,030 --> 00:31:40,400 hots errekurtsibitate, funtzioa nolabait deitzen dio berak. 741 00:31:40,400 --> 00:31:44,780 >> Eta, berriz ere, gogora ekarri merge ordenatu duten pseudocode zen recursive zentzuan 742 00:31:44,780 --> 00:31:48,460 merge ordenatu horrek urrats bat sort zen deiari - 743 00:31:48,460 --> 00:31:49,740 hau da, berez. 744 00:31:49,740 --> 00:31:52,480 Baina, zorionez, mantendu dugulako sort deituz, edo ordenatu bateratzeko, 745 00:31:52,480 --> 00:31:55,880 zehazki, on bat txikiagoak eta txikiagoak eta txikiagoa zerrenda dugu, azkenean, 746 00:31:55,880 --> 00:32:00,005 hondo out zer deitu dugu esker Oinarri kasuan, hard-kodetuak kasua dela 747 00:32:00,005 --> 00:32:04,270 esan zerrenda txikia da, bada, 2 baino gutxiago kasu horretan, bakarrik itzultzeko berehala. 748 00:32:04,270 --> 00:32:07,550 Zuen gero, ez dute kasu berezia dela, algoritmoa litzateke inoiz hondoa out, 749 00:32:07,550 --> 00:32:11,010 eta, hain zuzen zenuke beti sartu infinitua benetan betiko begizta. 750 00:32:11,010 --> 00:32:14,330 >> Baina demagun nahi izan dugu, orain jarri honetan, zenbaki batzuk, berriz ere, n 751 00:32:14,330 --> 00:32:15,660 sarrera tamainan. 752 00:32:15,660 --> 00:32:18,680 Eta zuk galdetu nahi nuen, zer inplikatutako guztizko denbora 753 00:32:18,680 --> 00:32:19,800 merge ordenatu lasterketak? 754 00:32:19,800 --> 00:32:22,960 Edo, oro har, zer haren kostua denboran? 755 00:32:22,960 --> 00:32:24,730 >> Beno, nahiko erraza da neurtzen duten. 756 00:32:24,730 --> 00:32:29,010 N 2 baino gutxiago izanez gero, aldiz, parte hartzen duten n elementuak ordenatzeko ere, 757 00:32:29,010 --> 00:32:30,480 non n, 2, 0 da. 758 00:32:30,480 --> 00:32:31,410 Besterik ez dugu itzuliko delako. 759 00:32:31,410 --> 00:32:32,510 Ez dago ez lan egin behar da. 760 00:32:32,510 --> 00:32:35,660 Orain, dudarik gabe, agian oso urrats bat edo bi urratsak irudikatu nahi zenbatekoaren 761 00:32:35,660 --> 00:32:38,420 lan egiten, baina oso hurbil 0 nahikoa dela Besterik ez naiz lana ez da esanen 762 00:32:38,420 --> 00:32:40,940 beharrezkoa da zerrenda oso txikia bada izanarren izango da. 763 00:32:40,940 --> 00:32:42,580 >> Baina kasu honetan oso interesgarria da. 764 00:32:42,580 --> 00:32:47,320 Errekurtsiboaren kasuan adarraren zen pseudocode esan bestela, ordenatu 765 00:32:47,320 --> 00:32:52,000 Ezkerraldean erdian, ordenatzeko eskubidea erdi, bi erdi batzea da. 766 00:32:52,000 --> 00:32:55,530 Orain zergatik, adierazpen honek irudikatzeko gastu hori? 767 00:32:55,530 --> 00:32:58,690 Beno, n T, besterik gabe esan nahi du denbora n elementuak ordenatzeko. 768 00:32:58,690 --> 00:33:03,070 Eta, ondoren, eskuineko eskua gainean berdin zeinu han, n T banatzen 769 00:33:03,070 --> 00:33:06,600 2 da, eta zer kostu buruz? 770 00:33:06,600 --> 00:33:07,570 Ezkerraldean erdia ordenatzeko. 771 00:33:07,570 --> 00:33:10,990 N T beste 2 arabera banatzen da zentzuzkoa kostuaren erreferentzia 772 00:33:10,990 --> 00:33:12,390 ordenatzeko eskuineko erdia. 773 00:33:12,390 --> 00:33:14,590 >> Eta, ondoren, gehi n? 774 00:33:14,590 --> 00:33:15,420 Batzea da. 775 00:33:15,420 --> 00:33:19,120 Bi zerrendak, bat galtzen delako tamaina n 2 baino gehiago, eta beste tamaina n 776 00:33:19,120 --> 00:33:22,580 2 baino gehiago, eta, funtsean, ukitu behar duzu elementu horietako bakoitzak, besterik Rob bezala 777 00:33:22,580 --> 00:33:24,990 ukitu katilu bakoitzean, eta besterik bakoitzean dugun bezala adierazi 778 00:33:24,990 --> 00:33:26,310 Eszenatokira boluntario. 779 00:33:26,310 --> 00:33:28,790 Beraz n batuz kaltetan da. 780 00:33:28,790 --> 00:33:31,780 >> Orain, zoritxarrez, formula hau Era berean, bere burua errekurtsibitatean. 781 00:33:31,780 --> 00:33:36,390 Beraz, bada, galdera da, n bada, esan, 16, badago 16 eszenatokian pertsonen 782 00:33:36,390 --> 00:33:40,670 edo 16 bideo edalontziak, zenbat guztira urratsak ez du haiek ordenatzeko hartu 783 00:33:40,670 --> 00:33:41,550 merge Ordena? 784 00:33:41,550 --> 00:33:45,790 Egia esan, ez da begi-bistakoa erantzun bat, orain, ordenatzeko duzulako 785 00:33:45,790 --> 00:33:48,500 errekurtsiboki erantzun formula hau. 786 00:33:48,500 --> 00:33:51,190 >> Baina hori OK, let me delako proposatzen Hori egin dugu honako hau. 787 00:33:51,190 --> 00:33:56,670 Parte hartzen duten 16 pertsona ordenatzeko edo garai 16 cups da irudikatzen egingo 788 00:33:56,670 --> 00:33:58,020 Oro har, T gisa 16. 789 00:33:58,020 --> 00:34:01,400 Baina hori berdin, horren arabera, gure Aurreko formula, 2 aldiz zenbatekoa 790 00:34:01,400 --> 00:34:04,780 denbora ordenatzeko hartzen du 8 cups plus 16. 791 00:34:04,780 --> 00:34:08,590 Eta berriro, gehi 16 denbora batzea da, eta 8 T bi aldiz da 792 00:34:08,590 --> 00:34:10,790 denbora ezker erdiko eta eskuineko erdia ordenatzeko. 793 00:34:10,790 --> 00:34:11,989 >> Baina, berriro ere, hori ez da nahikoa. 794 00:34:11,989 --> 00:34:13,210 To sakonago batean murgiltzeko aukera dugu. 795 00:34:13,210 --> 00:34:16,409 Horrek esan nahi du erantzun behar dugu galdera, zer 8 T da? 796 00:34:16,409 --> 00:34:19,610 Beno 8 T 2 besterik ez da 4 aldiz plus 8 T. 797 00:34:19,610 --> 00:34:20,520 Beno, 4 T da? 798 00:34:20,520 --> 00:34:23,780 4 T besterik 2 aldiz 2 gehi 4 T da. 799 00:34:23,780 --> 00:34:25,489 Beno, zer 2 T? 800 00:34:25,489 --> 00:34:29,030 2 T besterik 1 2 gehi 2 T da. 801 00:34:29,030 --> 00:34:31,940 >> Eta berriro ere, lortzeko moduko gara ziklo honetan itsatsita. 802 00:34:31,940 --> 00:34:34,790 Baina buruz hit da hori izenekoak oinarri kasu. 803 00:34:34,790 --> 00:34:37,310 Zer 1 T delako, ez dugu aldarrikatzen? 804 00:34:37,310 --> 00:34:37,810 0. 805 00:34:37,810 --> 00:34:39,730 Beraz, orain, azkenik, lan atzeraka egin ahal izango dugu. 806 00:34:39,730 --> 00:34:44,290 >> 1 T 0 bada, orain ezin dut joan atzera gora a guy hau bat hemen, eta I can 807 00:34:44,290 --> 00:34:46,330 T 0 1 plug. 808 00:34:46,330 --> 00:34:51,770 Beraz, horrek esan nahi du 2 aldiz zero berdin da, bestela, 0, gehi 2 bezala ezagutzen. 809 00:34:51,770 --> 00:34:53,739 Eta, beraz, oro har, adierazpen 2. 810 00:34:53,739 --> 00:34:58,740 >> Orain, bada, 2 T, zeinen erantzuna hartzen dut 2, entxufatu lerro erdiko, T sartu 811 00:34:58,740 --> 00:35:02,740 4, ematen dit 2 aldiz Gehi 2, 4, 8, beraz. 812 00:35:02,740 --> 00:35:07,080 Ondoren, I 8 konektatu nahi izanez gero, aurreko line, ematen dit 2 8, 16. 813 00:35:07,080 --> 00:35:12,470 Eta gero, jarraituko dugu gero duen 24, 16 gehituz, azkenean lortu dugu 814 00:35:12,470 --> 00:35:13,820 64 balioa. 815 00:35:13,820 --> 00:35:18,480 >> Orain, eta bera Ordena hitz egiten n idazkera ezer ez da, 816 00:35:18,480 --> 00:35:20,700 big O, omega dugun buruz hitz egiten ari dira. 817 00:35:20,700 --> 00:35:24,890 Baina bihurtzen da, hau da, 64 hain zuzen ere, 16 sarrera tamaina, 818 00:35:24,890 --> 00:35:27,110 saioa oinarria 2 16. 819 00:35:27,110 --> 00:35:30,200 Eta hau da, pixka bat ezagutzen, besterik ez bada Uste atzera, eta itzuli egingo 820 00:35:30,200 --> 00:35:30,700 nahi duzun azkenean. 821 00:35:30,700 --> 00:35:33,775 Hau log 2 oinarria bada, da 2 bezala zer ematen dizu 16 planteatu? 822 00:35:33,775 --> 00:35:36,380 Oh, 4 da, beraz, 16 aldiz 4 da. 823 00:35:36,380 --> 00:35:39,380 >> Eta, berriro ere, ez da big aurre honetan bada bat hazy memoria moduko da orain. 824 00:35:39,380 --> 00:35:43,720 Baina oraingoz, fedea hartu 16 log 16 hori 64 da. 825 00:35:43,720 --> 00:35:46,590 Hain zuzen ere, eta, beraz, erraz hau behatu dituzten egiaztatzeko, baieztatu dugu - 826 00:35:46,590 --> 00:35:48,250 baina ez frogatu formalki - 827 00:35:48,250 --> 00:35:52,800 merge iraupena duen ordenatu da, hain zuzen ere, n n saioa. 828 00:35:52,800 --> 00:35:53,790 >> Beraz, ez da txarra. 829 00:35:53,790 --> 00:35:57,260 Behin betiko baino hobea da algoritmoak ikusi dugu, beraz, orain arte, eta 830 00:35:57,260 --> 00:36:00,710 dugu leveraged delako da, bat, errekurtsio izeneko teknika bat. 831 00:36:00,710 --> 00:36:03,880 Baina hori baino gehiago interesgarria da, konkistatu eta zatitu kontzeptua. 832 00:36:03,880 --> 00:36:07,460 Berriz ere, benetan aste 0 stuff nahiz eta gaur egun batean errepikatutako 833 00:36:07,460 --> 00:36:08,740 gehiago sinesgarria era. 834 00:36:08,740 --> 00:36:11,750 >> Orain fun little ariketa, dudan baduzu inoiz egin hori -, eta ziurrenik 835 00:36:11,750 --> 00:36:14,660 ez luke, zeren normala moduko jendeak ez dut uste hori egin. 836 00:36:14,660 --> 00:36:20,650 Baina google.com eta badut joateko bada Zer ikasi nahi dut 837 00:36:20,650 --> 00:36:22,356 errekurtsibitate, Sartu. 838 00:36:22,356 --> 00:36:25,106 839 00:36:25,106 --> 00:36:29,058 >> [Barreak] 840 00:36:29,058 --> 00:36:32,030 [Gehiago barreak] 841 00:36:32,030 --> 00:36:33,385 DAVID MALAN: Bad txantxa poliki-poliki zabalduz. 842 00:36:33,385 --> 00:36:34,450 [Barreak] 843 00:36:34,450 --> 00:36:36,970 DAVID MALAN: Badaezpada ere, ez da. 844 00:36:36,970 --> 00:36:38,710 Nik ez dut ortografia oker, eta ez da txantxa. 845 00:36:38,710 --> 00:36:40,810 Guztiak eskubidea. 846 00:36:40,810 --> 00:36:42,950 Azaldu pertsonen ondoan baduzu ez da nahiko klik egin du, besterik gabe. 847 00:36:42,950 --> 00:36:47,650 Errekurtsio baina, oro har, aipatzen funtzio bat deituz prozesua 848 00:36:47,650 --> 00:36:51,430 bera, edo, oro har, bat zatituz zerbait sartu daiteke arazoa 849 00:36:51,430 --> 00:36:56,220 konpondu piecemeal berdin-konpontzeko arabera ordezkari arazoak. 850 00:36:56,220 --> 00:36:58,400 >> Beno, goazen aldaketa engranajeak besterik gabe, une batez. 851 00:36:58,400 --> 00:37:00,840 To cliffhangers zenbait amaituko gustatzen zaigu, beraz ezarri hasteko en 852 00:37:00,840 --> 00:37:05,870 etapa, hainbat minutuz, Oso erraza da, ideia on - 853 00:37:05,870 --> 00:37:07,620 bi elementu trukea da, ezta? 854 00:37:07,620 --> 00:37:10,040 Guztiak algoritmo hauek izan gara bikote iragan buruz hitz egiten 855 00:37:10,040 --> 00:37:12,420 hitzaldi inplikatzeko batzuk trukea agintzea. 856 00:37:12,420 --> 00:37:14,630 Gaur egun, izan zen horietako lortzean by bistaratzen bere aulki eta 857 00:37:14,630 --> 00:37:18,570 paseatzea, baina kodean, nahi dugu Just hartu elementu bat array-tik 858 00:37:18,570 --> 00:37:20,370 eta plop da beste. 859 00:37:20,370 --> 00:37:21,880 >> Beraz, nola ez, joan egiten gara? 860 00:37:21,880 --> 00:37:24,850 Beno, goazen aurrera me eta idatzi azkar programa hemen. 861 00:37:24,850 --> 00:37:31,600 Aurrera joan eta egin dut honako hau ere. 862 00:37:31,600 --> 00:37:33,910 Dezagun deitzen hau - 863 00:37:33,910 --> 00:37:38,070 zer lotura bat deitu nahi dugu? 864 00:37:38,070 --> 00:37:38,650 >> Egia esan, ez. 865 00:37:38,650 --> 00:37:39,420 Let me atzeratzeko. 866 00:37:39,420 --> 00:37:41,220 Ez dut nahi hori egin cliffhanger oraindik. 867 00:37:41,220 --> 00:37:42,270 Fun hondatu egingo da. 868 00:37:42,270 --> 00:37:43,600 Egin dezagun ordez. 869 00:37:43,600 --> 00:37:47,430 >> Demagun nahi dut pixka bat idazteko programa, eta, orain, besarkatu honetan 870 00:37:47,430 --> 00:37:48,700 errekurtsio ideia. 871 00:37:48,700 --> 00:37:50,370 Mota lortu nuen aurretik neure burua han. 872 00:37:50,370 --> 00:37:51,420 Honako hau egin behar dut. 873 00:37:51,420 --> 00:38:00,220 >> Lehenik eta behin, azkar estandar bat io.h kontutan, baita cs50.h. kontutan bat 874 00:38:00,220 --> 00:38:03,200 Eta, ondoren, aurrera noa eta deklaratzen int nagusia void 875 00:38:03,200 --> 00:38:04,360 ohiko eran. 876 00:38:04,360 --> 00:38:07,920 Misnamed Nik fitxategia konturatu nintzen, beraz, utzi gehitu besterik ez niri. c luzapena hemen 877 00:38:07,920 --> 00:38:09,510 hori bildu ahal dugun bezala. 878 00:38:09,510 --> 00:38:10,970 Hasi funtzio hau kendu. 879 00:38:10,970 --> 00:38:13,290 >> Eta funtzioa, idazten, nahiko nahi dut besterik gabe, bat duten galdetzen da 880 00:38:13,290 --> 00:38:16,210 zenbaki bat eman eta gero, erabiltzaileak gehitzen arteko zenbaki guztiak 881 00:38:16,210 --> 00:38:19,920 zenbakia eta, esan, 0. 882 00:38:19,920 --> 00:38:22,510 Beraz, lehenengo aurrera noa eta deklaratzen int n. 883 00:38:22,510 --> 00:38:24,760 Ondoren, kode batzuk kopiatu dut pixka bat erabiltzen dugu. 884 00:38:24,760 --> 00:38:26,660 Zerbait egia da bitartean. 885 00:38:26,660 --> 00:38:28,000 Itzuli nahi dut une batean. 886 00:38:28,000 --> 00:38:29,010 >> Zer egin nahi dut? 887 00:38:29,010 --> 00:38:33,460 Printf positiboak esan nahi dut osokoa mesedez. 888 00:38:33,460 --> 00:38:36,130 Eta, ondoren noa esan n lortzen lortu int. 889 00:38:36,130 --> 00:38:38,800 Beraz, berriro ere, boilerplate kodea batzuk dugun erabiltzen aurretik. 890 00:38:38,800 --> 00:38:40,810 Eta hau egin nahi dut n 1 baino gutxiago da. 891 00:38:40,810 --> 00:38:44,120 Beraz, hau izango dela bermatzeko, erabiltzaileak ematen dit oso positibo bat. 892 00:38:44,120 --> 00:38:45,490 >> Eta, gaur egun, honako hauek egin behar dut. 893 00:38:45,490 --> 00:38:51,020 Sortu gehitzeko zenbakiak guztia nahi dut 1 eta n eta, edo 0 eta n, 894 00:38:51,020 --> 00:38:52,570 equivalently, guztira batura lortzeko. 895 00:38:52,570 --> 00:38:55,100 Big sigma ikurra, beraz, agian duzula gogoratzen. 896 00:38:55,100 --> 00:38:59,050 Beraz, hori egin deituz lehenengo noa Sigma izeneko funtzio bat, 897 00:38:59,050 --> 00:39:06,030 pasatuz n, eta ondoren noa printf esan, erantzuna da bertan. 898 00:39:06,030 --> 00:39:08,180 >> Beraz, azken finean, eta lortu dut erabiltzailearen INT. 899 00:39:08,180 --> 00:39:09,280 Positiboa dela ziurtatzeko dut. 900 00:39:09,280 --> 00:39:12,700 Aldakorra izeneko erantzun deklaratzen dut int mota eta denda bertan bueltan 901 00:39:12,700 --> 00:39:15,610 sigma balioa, n sarrera gisa pasatuz. 902 00:39:15,610 --> 00:39:17,060 Eta gero, inprimatzen ditut erantzuna. 903 00:39:17,060 --> 00:39:19,550 >> Zoritxarrez, nahiz eta sigma soinuak zerbait izan liteke bezala 904 00:39:19,550 --> 00:39:24,040 du math.h fitxategia, bere adierazpena, Egia esan, ez da. 905 00:39:24,040 --> 00:39:24,690 Beraz, hori da Ados. 906 00:39:24,690 --> 00:39:26,170 Hau ezartzeko ahal izango dut neure burua. 907 00:39:26,170 --> 00:39:29,160 Izeneko funtzio bat ezarri nahi dut sigma, eta bere bat hartzen joan 908 00:39:29,160 --> 00:39:29,900 Parametro - 909 00:39:29,900 --> 00:39:32,100 dezagun, besterik ez deitu m, besterik beraz, desberdina da. 910 00:39:32,100 --> 00:39:35,910 Eta gero, hemen, esan nahi dut, Beno, m 1 baino txikiagoa bada - hau da, 911 00:39:35,910 --> 00:39:38,180 Oso programa izanarren. 912 00:39:38,180 --> 00:39:41,700 Beraz, aurrera noa, eta berehala itzultzeko 0. 913 00:39:41,700 --> 00:39:45,920 Besterik ez da, ez du zentzurik sortu gehitzeko guztiak 1 eta m m bada arteko zenbakiak 914 00:39:45,920 --> 00:39:48,470 da berez 0 edo negatiboa. 915 00:39:48,470 --> 00:39:50,900 >> Eta, ondoren, aurrera noa egin eta hau oso iteratively. 916 00:39:50,900 --> 00:39:53,090 Zahar-eskola moduko hau egin nahi dut, eta aurrera noa 917 00:39:53,090 --> 00:39:57,150 eta esan dut joan deklaratzeko batura 0 izango da. 918 00:39:57,150 --> 00:39:59,630 Ondoren, behar dut int begizta bat - 919 00:39:59,630 --> 00:40:02,820 eta gure etortzeko da egin me banaketa kodea, beraz, kopia bat izan dezazun 920 00:40:02,820 --> 00:40:07,500 etxean. int 1 lortzen i buruzko baino txikiagoa edo berdina da m i. 921 00:40:07,500 --> 00:40:09,430 i Plus. 922 00:40:09,430 --> 00:40:11,430 Eta, ondoren, honen barruan begizta for - 923 00:40:11,430 --> 00:40:12,440 ia ez gara - 924 00:40:12,440 --> 00:40:15,810 batura batura gehi 1 du. 925 00:40:15,810 --> 00:40:17,670 Eta, ondoren batura itzuliko naiz. 926 00:40:17,670 --> 00:40:19,420 >> Beraz, hau egin nuen, azkar, nahiko Admittedly. 927 00:40:19,420 --> 00:40:22,775 Baina, berriro ere, funtzio nagusia da nahiko erraza, kodea dugu oinarritutako 928 00:40:22,775 --> 00:40:23,190 idatziak, beraz, oso urrun. 929 00:40:23,190 --> 00:40:25,610 Begizta bikoitza erabiltzen du positibo bat lortzeko erabiltzailearen INT. 930 00:40:25,610 --> 00:40:29,870 Pasatzen dut eta gero int duten funtzio berri bat izeneko sigma, eta deituz, berriz, n. 931 00:40:29,870 --> 00:40:33,100 Eta itzulitako balioa, erantzuna gorde dut beltza koadroan egun 932 00:40:33,100 --> 00:40:35,460 sigma bezala ezagutzen da, aldagai batean izeneko erantzuna. 933 00:40:35,460 --> 00:40:36,580 Ondoren, inprimatu dut. 934 00:40:36,580 --> 00:40:39,090 >> Orain, bada, jarraituko dugu istorioa, nola sigma inplementatu? 935 00:40:39,090 --> 00:40:40,840 Honako hauek ezartzea proposatzen dut. 936 00:40:40,840 --> 00:40:43,560 Lehenik eta behin, akatsak egiaztapena pixka bat Ziur erabiltzailea ez da hori egiteko 937 00:40:43,560 --> 00:40:46,480 nirekin eta aldatzeari batean igaro negatiboak edo 0 balioa batzuk. 938 00:40:46,480 --> 00:40:49,710 Ondoren, aldagai bat deitu deklaratzen dut Laburbilduz eta ezarri 0. 939 00:40:49,710 --> 00:40:55,910 >> Eta orain, berdin i mugitzeko hasten naiz 1 bidea sortu eta m guztiak barne, 940 00:40:55,910 --> 00:41:00,130 nahi dut, guztiak ere hartzen duelako m bidez batetik zenbakiak, biak barne. 941 00:41:00,130 --> 00:41:04,350 Eta honen barruan begizta egiteko, egin dut batura lortzen edozein dela gaur egun, gehi 942 00:41:04,350 --> 00:41:08,900 i balioa. 943 00:41:08,900 --> 00:41:10,370 Plus i balioa. 944 00:41:10,370 --> 00:41:14,090 >> Bat alde batera bezala, nik ez baduzu ikusi aurretik, ez dago sintaktiko azukre batzuk 945 00:41:14,090 --> 00:41:14,870 linea honetan. 946 00:41:14,870 --> 00:41:21,120 Hau berridatzi ezin dut gehi berdin i gisa, besterik gabe, neure burua salbatzeko gutxi zanpatze bat 947 00:41:21,120 --> 00:41:22,570 eta pixka freskoago bat bilatzeko. 948 00:41:22,570 --> 00:41:23,140 Baina hori da dena. 949 00:41:23,140 --> 00:41:24,660 Funtzionalki da gauza bera. 950 00:41:24,660 --> 00:41:26,710 >> Zoritxarrez, kode honen oraindik ez dira bildu behar. 951 00:41:26,710 --> 00:41:31,600 Exekutatu dut sigma 0, nola goizeko bada Joatea lortu nahi dut oihu? 952 00:41:31,600 --> 00:41:33,473 Zer egin behar dut gogoko? 953 00:41:33,473 --> 00:41:35,740 >> Ikusleak: [INAUDIBLE]. 954 00:41:35,740 --> 00:41:37,800 >> DAVID MALAN: Bai, ez nuen deklaratzeko goian, eskubidea sortu funtzioa? 955 00:41:37,800 --> 00:41:40,590 C motako ergelak, hau da soilik zer egin behar duen esango dizu, eta zuk 956 00:41:40,590 --> 00:41:41,880 izan da egin behar duten. 957 00:41:41,880 --> 00:41:45,910 Eta beraz hit dut Idatzi hemen bada, noa lortu sigma buruzko abisu bat inplizitu 958 00:41:45,910 --> 00:41:46,860 aitorpena. 959 00:41:46,860 --> 00:41:48,120 >> Oh, ez da arazo bat. 960 00:41:48,120 --> 00:41:50,370 Igo dezaket goian, eta I can esan, guztiak eskuinera, minutu bat itxaron. 961 00:41:50,370 --> 00:41:54,240 Sigma funtzio bat itzultzen da int bat eta bat espero 962 00:41:54,240 --> 00:41:56,620 sarrera, koma gisa int. 963 00:41:56,620 --> 00:41:59,550 Edo funtzio osoa jarri izan dut nagusiak, batez ere, baina, oro har, nahiko nuke 964 00:41:59,550 --> 00:42:02,260 aurka gomendatzen, delako Niza beti nagusiaren goialdean, beraz, at 965 00:42:02,260 --> 00:42:06,310 murgiltze eskuineko ahal izango duzu eta ez dakit zer bat programa nagusia irakurriz lehen egiten. 966 00:42:06,310 --> 00:42:07,930 >> Beraz, orain utzi pantaila garbitu zidan. 967 00:42:07,930 --> 00:42:09,330 Remake sigma 0. 968 00:42:09,330 --> 00:42:10,340 Badirudi guztiak ikusteko. 969 00:42:10,340 --> 00:42:11,970 Let sigma 0 abiarazi dit. 970 00:42:11,970 --> 00:42:12,770 Urte arteko hazkunde positiboa. 971 00:42:12,770 --> 00:42:15,580 Eman dut kopurua 3 it simple mantentzeko. 972 00:42:15,580 --> 00:42:18,710 Beraz, niri eman beharko 3 gehi 2 gehi 1, beraz, 6. 973 00:42:18,710 --> 00:42:20,750 Sartu, eta hain zuzen ere, 6 zait. 974 00:42:20,750 --> 00:42:21,820 >> Zerbait handiagoa egin ahal izango dut - 975 00:42:21,820 --> 00:42:24,080 50, 12, 75. 976 00:42:24,080 --> 00:42:27,690 Just tangente bezala, egin dut zerbait benetan handi bat bezala irrigarri 977 00:42:27,690 --> 00:42:30,375 zenbakia, Oh, benetan lan out - 978 00:42:30,375 --> 00:42:31,600 eh, ez dut uste hori eskuinera. 979 00:42:31,600 --> 00:42:32,810 Ikus dezagun. 980 00:42:32,810 --> 00:42:34,060 Dezagun benetan berarekin mezurik. 981 00:42:34,060 --> 00:42:37,150 982 00:42:37,150 --> 00:42:38,400 >> Hori arazo bat da. 983 00:42:38,400 --> 00:42:43,180 984 00:42:43,180 --> 00:42:44,970 Zer gertatzen da? 985 00:42:44,970 --> 00:42:46,050 Kodea ez da txarra dela. 986 00:42:46,050 --> 00:42:48,470 Oraindik ere ez da lineala. 987 00:42:48,470 --> 00:42:50,810 Txistu ona efektu bat da, baina. 988 00:42:50,810 --> 00:42:52,060 Zer gertatzen da? 989 00:42:52,060 --> 00:42:54,700 990 00:42:54,700 --> 00:42:55,620 >> Ziur entzun ez badut ere. 991 00:42:55,620 --> 00:42:57,620 Beraz bihurtzen da - eta hori alde batera utzi da. 992 00:42:57,620 --> 00:42:59,400 Hau da, ez dute core errekurtsio ideia. 993 00:42:59,400 --> 00:43:02,480 Bihurtzen da, naiz saiatzen ari delako irudikatzeko kopuru handi bat, besteak beste, gehienak 994 00:43:02,480 --> 00:43:06,980 Agian ari misinterpreted ez da zenbaki positibo gisa C arabera, 995 00:43:06,980 --> 00:43:09,980 baina negatiboa. 996 00:43:09,980 --> 00:43:12,690 >> Ez dugu horri buruz hitz egin zuen, baina bihurtzen ez out negatiboak dira zenbakiak 997 00:43:12,690 --> 00:43:14,210 Horrez gain, munduko positiboa zenbakiak. 998 00:43:14,210 --> 00:43:16,290 Eta horrek esan nahi du dezakezu irudikatzeko negatiboa 999 00:43:16,290 --> 00:43:19,530 funtsean, bat erabili duzu bereziak bit adierazten 1000 00:43:19,530 --> 00:43:20,400 negatiboak positiboak baino gehiago. 1001 00:43:20,400 --> 00:43:22,950 Pixka bat gehiago, hori baino konplexuagoa da, baina oinarrizko ideia. 1002 00:43:22,950 --> 00:43:26,740 >> Beraz, tamalez, C bat bada nahasia benetan zentzua gisa bit horien, 1003 00:43:26,740 --> 00:43:30,790 oh, hau negatiboa zenbakia, nire begizta da Hemen, adibidez, ez da inoiz 1004 00:43:30,790 --> 00:43:31,740 amaitutzat eman behar dugu. 1005 00:43:31,740 --> 00:43:33,850 Hala bada, benetan ziren zerbait inprimatzeko behin eta berriro, nahiko genuke 1006 00:43:33,850 --> 00:43:34,650 ikusi osoan asko. 1007 00:43:34,650 --> 00:43:36,220 Baina, berriro, eta hau puntua da gainera. 1008 00:43:36,220 --> 00:43:38,590 Hau da, benetan moduko bat besterik ez du jakin-min intelektuala duten ikusiko dugu 1009 00:43:38,590 --> 00:43:39,550 azkenean, atzera. 1010 00:43:39,550 --> 00:43:43,400 Baina, oraingoz, hau zuzena da ezartzeko bere gain hartzen badugu duela 1011 00:43:43,400 --> 00:43:45,970 Erabiltzaile ints emango duten ints barruan sartzen dira. 1012 00:43:45,970 --> 00:43:49,370 >> Baina kode honek, sinceramente aldarrikatzen dut, egin ahal izango dira, beraz, askoz gehiago, besterik gabe. 1013 00:43:49,370 --> 00:43:54,060 Eskuan helburua da zenbaki bat hartu nahi izanez gero, m bezala, eta gehitu igo guztiak 1014 00:43:54,060 --> 00:43:59,510 da eta 1, edo alderantziz arteko zenbakiak 1 artean, eta, diotenez, I 1015 00:43:59,510 --> 00:44:03,380 Ideia hau batu hori maileguan hartu ahal izango dut sort izan zen arazo bat hartuz 1016 00:44:03,380 --> 00:44:05,660 tamaina hori, eta zatitu zerbait txikiagoa da. 1017 00:44:05,660 --> 00:44:09,875 Agian ez erdia da, baina txikiagoa, baina representatively berdinak. 1018 00:44:09,875 --> 00:44:12,130 Ideia bera, baina txikiagoa arazo bat. 1019 00:44:12,130 --> 00:44:15,470 >> Beraz, benetan ari naiz - utzi fitxategi hau gorde me baten bertsio desberdinak zenbaki batekin. 1020 00:44:15,470 --> 00:44:17,670 Bertsio hau deitu dugu 1 ordez 0. 1021 00:44:17,670 --> 00:44:20,790 Eta ezin dut hori benetan erreklamatzeko dut reimplement hau ordenatu honen 1022 00:44:20,790 --> 00:44:22,160 kontuan-flexiones bidea. 1023 00:44:22,160 --> 00:44:23,710 >> Zati utzi bakarrik noa. 1024 00:44:23,710 --> 00:44:27,710 Esan dut m gutxiago bada baino, edo are berdina 0 - 1025 00:44:27,710 --> 00:44:29,280 Besterik ez naiz pixka bat izango da gehiago anal denbora honetan 1026 00:44:29,280 --> 00:44:30,520 - Nire error with egiaztapena 1027 00:44:30,520 --> 00:44:33,190 Aurrera joan eta 0 itzuliko naiz. 1028 00:44:33,190 --> 00:44:34,490 Hau da arbitrarioa. 1029 00:44:34,490 --> 00:44:37,500 Besterik ez naiz, besterik gabe, erabakitzeko Erabiltzaileak ematen dit zenbaki negatiboa izan, naiz 1030 00:44:37,500 --> 00:44:41,490 0 itzuliz, eta irakurri behar dute dokumentazioa xehetasun gehiago. 1031 00:44:41,490 --> 00:44:42,170 >> Bestela - 1032 00:44:42,170 --> 00:44:44,070 nabarituko zer egin behar dut. 1033 00:44:44,070 --> 00:44:49,260 Bestela m gehi itzuliko naiz - 1034 00:44:49,260 --> 00:44:51,010 zer da m sigma? 1035 00:44:51,010 --> 00:44:56,710 Beno, gehi m m ken 1 sigma, plus m ken 2, gehi m 3 kenduta. 1036 00:44:56,710 --> 00:44:58,030 Ez dut nahi hori guztia idatzi. 1037 00:44:58,030 --> 00:44:59,120 Zergatik ez punt dut? 1038 00:44:59,120 --> 00:45:05,080 Errekurtsiboki deitzen neure burua apur batekin txikiagoa arazoa, puntu eta koma, 1039 00:45:05,080 --> 00:45:06,840 eta deitu egun bat? 1040 00:45:06,840 --> 00:45:07,040 >> Eskuin? 1041 00:45:07,040 --> 00:45:10,980 Orain, hemen ere, sentitzen duzu, edo agian kezkatu hori infinitua begizta naizela da 1042 00:45:10,980 --> 00:45:15,450 inducing, horregatik ezartzeko dut deituz Sigma Sigma arabera. 1043 00:45:15,450 --> 00:45:20,342 Baina hori ezin hobeto OK, dudalako pentsatu aurretik bat gehitu lerro horrek? 1044 00:45:20,342 --> 00:45:22,600 >> Ikusleak: [INAUDIBLE]. 1045 00:45:22,600 --> 00:45:25,430 >> DAVID MALAN: 23, 26, eta horrek nire egoera bada. 1046 00:45:25,430 --> 00:45:28,390 Zer buruzko polita delako kenketa hemen, gorde dudalako 1047 00:45:28,390 --> 00:45:31,180 ematea sigma txikiagoa arazoak, txikiagoa arazoak, txikiagoa da - ez da 1048 00:45:31,180 --> 00:45:31,870 tamaina erdia. 1049 00:45:31,870 --> 00:45:34,380 Bakarrik haurra urrats txikiagoa da, baina hori da Ados. 1050 00:45:34,380 --> 00:45:38,050 Azkenean, lan egiten duelako dugu Gure behera 1 edo 0 bidea. 1051 00:45:38,050 --> 00:45:41,630 Eta behin 0 hit dugu, Sigma ez berak deitzea gehiago joan. 1052 00:45:41,630 --> 00:45:43,590 Berehala itzultzeko 0 da joan. 1053 00:45:43,590 --> 00:45:47,960 >> Beraz, eragina, ordenatu haize badituzu zure kontuan, m gehi gehitzeko 1054 00:45:47,960 --> 00:45:52,740 m ken 1, gehi m ken 2, gehi m ken 3, gehi dot, dot, dot, m ken 1055 00:45:52,740 --> 00:45:57,820 m, azkenean, 0 ematen du, eta efektua da, azken finean, guztien gehitzeko 1056 00:45:57,820 --> 00:45:59,070 gauza horiek elkarrekin. 1057 00:45:59,070 --> 00:46:02,380 Beraz, ez dugu, errekurtsio batera, arazoa konpondu dugu 1058 00:46:02,380 --> 00:46:03,470 ezin konpondu aurretik. 1059 00:46:03,470 --> 00:46:06,840 Izan ere, bertsio hau 0, eta behin data arazoa, izan solvable 1060 00:46:06,840 --> 00:46:09,980 begiztak egiteko bakarrik erabiliz, edo, aldiz, begiztak edo antzeko eraikuntza. 1061 00:46:09,980 --> 00:46:13,150 >> Baina errekurtsio, I daresay, ematen digu pentsatzeko beste modu bat 1062 00:46:13,150 --> 00:46:17,010 arazoak, beraz, bat hartzen badugu dezakezu arazoa, banatu zerbait tik 1063 00:46:17,010 --> 00:46:22,340 zertxobait zerbait handi samarra sartu txikiagoa, hura konpondu ahal izango dugu aldarrikatzen dut 1064 00:46:22,340 --> 00:46:26,040 agian pixka bat gehiago dotore dagokionez diseinua, kode gutxiago, 1065 00:46:26,040 --> 00:46:30,980 eta, agian, are gehiago, arazoak konponduko lukeen gogorragoa izango da, azkenean dizkizugu gisa 1066 00:46:30,980 --> 00:46:33,280 ikusten, guztiz iteratively konpontzeko. 1067 00:46:33,280 --> 00:46:35,980 >> Baina cliffhanger egin ditudan nahi digu utzi behar izan zen hau. 1068 00:46:35,980 --> 00:46:40,720 Let me aurrera eta ireki fitxategi bat sortu du - 1069 00:46:40,720 --> 00:46:44,300 benetan, let me joan eta egiteko benetako azkar honetan. 1070 00:46:44,300 --> 00:46:46,875 Dezagun aurrera me proposatu eta honako hau. 1071 00:46:46,875 --> 00:46:51,160 1072 00:46:51,160 --> 00:46:54,785 Gaur egungo kodearen artean fitxategi hau da hemen. 1073 00:46:54,785 --> 00:47:01,090 1074 00:47:01,090 --> 00:47:03,050 Ko hau hemen, noswap. 1075 00:47:03,050 --> 00:47:06,260 >> Beraz, hau ergelak programa txiki hori da Sortu whipped dut erreklamazioak egin 1076 00:47:06,260 --> 00:47:06,940 honako hau. 1077 00:47:06,940 --> 00:47:10,140 Nagusian, deklaratzen lehen bat int x deitzen da eta esleituko 1078 00:47:10,140 --> 00:47:11,100 1 balioa. 1079 00:47:11,100 --> 00:47:13,520 Ondoren, int y bat adierazten du, eta esleituko da, balio 2. 1080 00:47:13,520 --> 00:47:15,310 Gero inprimatzen zer x eta y da. 1081 00:47:15,310 --> 00:47:17,781 Gero, esaten du, aldaketa dot dot dot. 1082 00:47:17,781 --> 00:47:21,670 >> Ondoren deituz funtzio bat dioen izeneko swap, x eta igaro 1083 00:47:21,670 --> 00:47:24,290 y, ideia den espero duten x eta y atzera etorriko da 1084 00:47:24,290 --> 00:47:25,620 desberdina da, kontrakoa. 1085 00:47:25,620 --> 00:47:27,110 Ondoren, trukatu aldarrikatzen da! 1086 00:47:27,110 --> 00:47:28,420 harridura puntu batekin. 1087 00:47:28,420 --> 00:47:30,190 Gero, bistaratzen da, x eta y. 1088 00:47:30,190 --> 00:47:33,480 >> Baina bihurtzen da hau oso simple manifestazio behera 1089 00:47:33,480 --> 00:47:35,570 Hemen da, benetan, akatsak. 1090 00:47:35,570 --> 00:47:38,870 Nahiz eta aldi baterako geratuko naiz aldagai eta aldi baterako bat jarriz 1091 00:47:38,870 --> 00:47:42,010 Ondoren, naiz kentzea b-ren balioa bat - 1092 00:47:42,010 --> 00:47:45,080 sentitzen den arrazoizkoa dut dudalako gorde temp baten kopia bat. 1093 00:47:45,080 --> 00:47:48,410 Ondoren b eguneratu dut berdina edozein dela aldi baterako izan zen. 1094 00:47:48,410 --> 00:47:51,610 Shell bat mugitzeko moduko joko honetan b sartu eta b bihurtu hau erabiliz 1095 00:47:51,610 --> 00:47:54,360 erdi-man izeneko temp sentitzen primeran arrazoizkoa. 1096 00:47:54,360 --> 00:47:57,270 >> Baina hau aldarrikatzen dut nik kodea, orain bezala, ez dut egingo - 1097 00:47:57,270 --> 00:47:59,490 let me aurrera eta itsatsi hemen. 1098 00:47:59,490 --> 00:48:01,995 Noswap.c hau deituko dut. 1099 00:48:01,995 --> 00:48:05,630 Eta izena dioen bezala, hau ez da zuzena programa bat izango da. 1100 00:48:05,630 --> 00:48:09,460 Egin noswap. / Swap ez. 1101 00:48:09,460 --> 00:48:12,110 x 1, y 2, trukea, trukatu. 1102 00:48:12,110 --> 00:48:14,220 x 1, y 2. 1103 00:48:14,220 --> 00:48:16,920 Hau da, funtsean, oker, nahiz eta badirudi, nahiz eta ezin hobeto 1104 00:48:16,920 --> 00:48:17,730 niretzat arrazoizkoa. 1105 00:48:17,730 --> 00:48:21,330 Eta ez dago arrazoi bat da, baina ez gara arrazoia argitzeko, besterik gabe joan. 1106 00:48:21,330 --> 00:48:24,610 >> Oraingoz cliffhanger bigarren dut nahi utzi ahal izateko, hau da, beti 1107 00:48:24,610 --> 00:48:27,120 kupoi kodeak On mota deialdia. 1108 00:48:27,120 --> 00:48:31,590 Gure egunetan berandu batera, aurten berrikuntza du eragin ez hutsala zenbaki bat 1109 00:48:31,590 --> 00:48:33,830 galdera izan zen, Ez da gure asmoa. 1110 00:48:33,830 --> 00:48:36,590 Kupoi kodeak hauen asmoa, Horren bidez, nahi duzu arazoa zati ote 1111 00:48:36,590 --> 00:48:39,850 ezarri hasieran, horrela, aparteko egun bat lortzean, izan zen benetan guys laguntzeko laguntzeko 1112 00:48:39,850 --> 00:48:42,420 hasieran, ordenatu hasteko yourself duzu incentivizing arabera. 1113 00:48:42,420 --> 00:48:44,880 Laguntzen zama banatu gurekin zehar bulego orduetan, beraz, hobe dela 1114 00:48:44,880 --> 00:48:45,740 Irabazi-irabazi moduko bat da. 1115 00:48:45,740 --> 00:48:48,860 >> Zoritxarrez, nire uste dut jarraibideak ez dira, orain arte, oso argia da, beraz, 1116 00:48:48,860 --> 00:48:52,230 Itzuli nintzen, asteburu honetan eta eguneratu , handiagoa bolder testu batean zehaztutako 1117 00:48:52,230 --> 00:48:53,600 azaldu horrelako balak. 1118 00:48:53,600 --> 00:48:56,900 Eta besterik esateko gehiago publikoki arabera lehenetsia, arazo multzo daude ondorioz, osteguna 1119 00:48:56,900 --> 00:48:58,400 Eguerdian, curriculumaren arabera. 1120 00:48:58,400 --> 00:49:02,030 Hasten baduzu hasieran, parte akabera Asteazkena ezarritako at 12:00 arazoa 1121 00:49:02,030 --> 00:49:05,170 PM, zati hori kupoi bat erlazionatzen kodea, ideia ditzakezun zabaltzeko 1122 00:49:05,170 --> 00:49:07,710 Zure epea P ostiralera arte ezarri. 1123 00:49:07,710 --> 00:49:10,890 Hau da, apur P zati txiki-txiki bat off ezarri nahi du, normalean, zer da erlatiboa 1124 00:49:10,890 --> 00:49:13,200 handiagoa den arazoa, eta erosi zeuk aparteko egun bat. 1125 00:49:13,200 --> 00:49:15,190 Berriz ere, lortzen duzu pentsatzen arazo multzoa, lortzen duzun 1126 00:49:15,190 --> 00:49:16,380 bulegoko ordu lehenago. 1127 00:49:16,380 --> 00:49:20,670 Baina kupoi kodea arazoa da oraindik beharrezkoa bada ere, ez duzu aurkeztuko du. 1128 00:49:20,670 --> 00:49:23,340 >> Baina, hau da, egunkariak. 1129 00:49:23,340 --> 00:49:26,520 (Stage xuxurla) Eta Folks horiek utzi goiztiarrak dira damutuko botako. 1130 00:49:26,520 --> 00:49:28,620 Dira balkoian Folks. 1131 00:49:28,620 --> 00:49:32,510 Dut Folks, aldez aurretik barkamena eskatzen an arrazoi izango da balkoitik 1132 00:49:32,510 --> 00:49:33,920 besterik gabe, une batean garbitu. 1133 00:49:33,920 --> 00:49:37,050 >> Beraz, zorioneko gaude bat izatea CS50 en ohia buru irakasteko bekadun at 1134 00:49:37,050 --> 00:49:39,302 dropbox.com izeneko enpresa bat. 1135 00:49:39,302 --> 00:49:45,500 Oso eskuzabal dute dohaintzan bat kupoi kodea hemen hau askoz espazio, 1136 00:49:45,500 --> 00:49:48,180 hau da, batetik sortu Ohikoa 2 gigabyte. 1137 00:49:48,180 --> 00:49:51,740 Beraz, zer pentsatu nuen honetako genuke egin Azken ohar Giveaway egin da pixka bat, 1138 00:49:51,740 --> 00:49:55,380 Horren bidez, besterik gabe, une batean, agerian izango dugu irabazlea eta nork kupoi bat dauka 1139 00:49:55,380 --> 00:49:57,980 kodea ahal izango dituzu, gero, beren joan web, idatzi, eta voila, get 1140 00:49:57,980 --> 00:50:01,370 asko gehiago Dropbox zure espazioa tresnaren eta zure fitxategiak pertsonalerako. 1141 00:50:01,370 --> 00:50:05,690 >> Eta lehen, nork parte hartu nahi Zozketa honetan? 1142 00:50:05,690 --> 00:50:09,630 Ados, orain egiten are gehiago da dibertigarria. 1143 00:50:09,630 --> 00:50:14,010 Pertsonaren 25 gigako honetan jasotzen kupoi kodea - hau da, orain arte 1144 00:50:14,010 --> 00:50:16,150 gehiago berandu baino sinesgarria egun, gaur egun, agian - 1145 00:50:16,150 --> 00:50:20,620 ko nor da baten gainean eserita dago eserlekuaren azpian kuxin den ez dago 1146 00:50:20,620 --> 00:50:21,620 kupoi kodea duten. 1147 00:50:21,620 --> 00:50:23,480 Orain ikusten azpian zure eserlekua kuxin. 1148 00:50:23,480 --> 00:50:28,710 1149 00:50:28,710 --> 00:50:29,680 >> [Bideo-erreprodukzioa] 1150 00:50:29,680 --> 00:50:31,620 >> -Bat, bi, hiru. 1151 00:50:31,620 --> 00:50:35,015 >> [Garrasi] 1152 00:50:35,015 --> 00:50:35,985 >> You-auto bat lortzeko! 1153 00:50:35,985 --> 00:50:36,670 Auto bat lortuko duzu! 1154 00:50:36,670 --> 00:50:37,970 >> DAVID MALAN: ikusiko dugu Asteazkenean duzu. 1155 00:50:37,970 --> 00:50:38,904 >> You-auto bat lortzeko! 1156 00:50:38,904 --> 00:50:39,371 Auto bat lortuko duzu! 1157 00:50:39,371 --> 00:50:40,305 Auto bat lortuko duzu! 1158 00:50:40,305 --> 00:50:41,706 Auto bat lortuko duzu! 1159 00:50:41,706 --> 00:50:43,107 Auto bat lortuko duzu! 1160 00:50:43,107 --> 00:50:45,530 >> DAVID MALAN: Balkoia lagunok, etorri behera hemen, aurrean, 1161 00:50:45,530 --> 00:50:46,866 non estrak behar dugu. 1162 00:50:46,866 --> 00:50:50,282 >> Denek-auto bat lortzen! 1163 00:50:50,282 --> 00:50:52,234 Denek auto bat lortzen! 1164 00:50:52,234 --> 00:50:52,722 >> [END bideo-erreprodukzioa] 1165 00:50:52,722 --> 00:50:54,590 >> Narratzailea: Hurrengo CS50 At - 1166 00:50:54,590 --> 00:51:00,374 >> HIZLARIA 5: Oh my Gosh Gosh Gosh Gosh Gosh Gosh Gosh Gosh Gosh Gosh - 1167 00:51:00,374 --> 00:51:02,106 >> [UKELELE antzezlanak]