1 00:00:00,000 --> 00:00:04,419 >> [Musika jotzen] 2 00:00:04,419 --> 00:00:05,401 3 00:00:05,401 --> 00:00:08,460 >> DOUG LLOYD: Ados, beraz bateratze bat moduko da oraindik algoritmoa beste 4 00:00:08,460 --> 00:00:11,200 Hori ordenatzeko erabili ahal izango dugu array bateko elementu. 5 00:00:11,200 --> 00:00:14,480 Baina ikusi dugu, nik lortu bat oso funtsezko aldea 6 00:00:14,480 --> 00:00:17,850 aukeraketa ordenatu, burbuila-tik ordenatu, eta txertatzeko ordenatu 7 00:00:17,850 --> 00:00:20,280 Hori egiteko benetan polita clever da. 8 00:00:20,280 --> 00:00:24,290 >> Oinarrizko ideia batzea atzean moduko da arrayak txikiagoa ordenatzeko 9 00:00:24,290 --> 00:00:27,430 eta, ondoren, array horiek konbinatu elkarrekin, edo batu Horietako 10 00:00:27,430 --> 00:00:31,440 horregatik ordena ordenatuko izen du. 11 00:00:31,440 --> 00:00:34,230 Modu ordenatu egiten batu hau tresna bat aprobetxatuz da 12 00:00:34,230 --> 00:00:37,290 errekurtsio deitzen zaio, hau da, zer ari gara, laster izango da buruz hitz egitera doa, 13 00:00:37,290 --> 00:00:39,720 baina ez, benetan oraindik buruz hitz egin dugu. 14 00:00:39,720 --> 00:00:43,010 >> Hemen oinarrizko ideia sort batu atzean. 15 00:00:43,010 --> 00:00:46,320 Ordenatzeko ezker array erdia, suposatuz n 1 baino handiagoa da. 16 00:00:46,320 --> 00:00:49,980 Eta zer esango dizut, esan nahi dut suposatuz n baino 1 handiagoa da, 17 00:00:49,980 --> 00:00:53,970 Uste dut ados ahal izango dugu array bat bada bakarrik elementu bakar bat osatzen dute, 18 00:00:53,970 --> 00:00:54,680 ordenatuko da. 19 00:00:54,680 --> 00:00:56,560 Egia esan, ez behar dugu ezer egin behar da. 20 00:00:56,560 --> 00:00:58,059 Daiteke besterik aldarrikatzen dugu ordenatuko da. 21 00:00:58,059 --> 00:01:00,110 Elementu bakar bat besterik ez da. 22 00:01:00,110 --> 00:01:03,610 >> Beraz pseudocode, berriro ere, Ezkerretik array erdia ordenatzeko, 23 00:01:03,610 --> 00:01:08,590 ondoren, array eskuineko erdia ordenatzeko, ondoren batu bi erdi elkarrekin. 24 00:01:08,590 --> 00:01:11,040 Orain, dagoeneko duzun liteke pentsatzen, mota besterik ez da 25 00:01:11,040 --> 00:01:14,080 off ari zara jartzen bezalako the-- soinuak Oraindik ez benetan ezer egin duzu. 26 00:01:14,080 --> 00:01:16,330 Oraindik ordenatzeko ezkerreko esanez duzu erdia, eskuineko erdia ordenatzeko, 27 00:01:16,330 --> 00:01:19,335 baina zuk ez diozu me nola egiten ari zarenean. 28 00:01:19,335 --> 00:01:22,220 >> Baina gogoratu, betiere hori array baten elementu bakar bat da, 29 00:01:22,220 --> 00:01:23,705 deklaratu ahal izango dugu horrela antolatu. 30 00:01:23,705 --> 00:01:25,330 Ondoren, besterik ezin dugu konbinatu horiek elkarrekin. 31 00:01:25,330 --> 00:01:27,788 Eta hori da, benetan, sort batu atzean oinarrizko ideia, 32 00:01:27,788 --> 00:01:31,150 da apurtu behera, beraz, Zure arrayak tamaina bat dira. 33 00:01:31,150 --> 00:01:33,430 Eta gero birsortu hortik duzu. 34 00:01:33,430 --> 00:01:35,910 >> Batu ordenatu da betiko Algoritmo korapilatsu bat. 35 00:01:35,910 --> 00:01:38,210 Eta, gainera, apur bat da konplikatua den ikusteko. 36 00:01:38,210 --> 00:01:41,870 Beraz, espero dugu, bistaratzea dudala hemen batera jarraitu ahal izango duzu. 37 00:01:41,870 --> 00:01:45,640 Eta nire onena saiatuko naiz gauzak kontatzeko eta pixka bat gehiago bidez jarraitu 38 00:01:45,640 --> 00:01:49,180 Poliki-poliki beste batzuk baino Besterik ez duzu, zorionez, zure burua lortu 39 00:01:49,180 --> 00:01:51,800 sort batu atzean ideia inguruan. 40 00:01:51,800 --> 00:01:54,680 >> Beraz, array gisa berean egin behar dugu beste ordena bildu bideoak 41 00:01:54,680 --> 00:01:57,120 ikusi dituzun bada Horietako sei elementu sorta bat. 42 00:01:57,120 --> 00:02:02,110 Eta gure pseudocode kodea da hemen ordenatu ezkerreko erdian, eskuineko erdia ordenatzeko, 43 00:02:02,110 --> 00:02:03,890 bi erdi batzea elkarrekin. 44 00:02:03,890 --> 00:02:09,770 Beraz, dezagun adreiluzko oso ilun gorri honetan array eta ezkerreko erdia ordenatzeko. 45 00:02:09,770 --> 00:02:13,380 >> Beraz, oraingoz, goazen eskubidea stuff ikusi egiteko. 46 00:02:13,380 --> 00:02:15,740 Hemen da, baina ez gara Ez urrats hori oraindik ere. 47 00:02:15,740 --> 00:02:18,220 Ez gara modukoak eskuineko array erdia. 48 00:02:18,220 --> 00:02:21,037 Oraindik moduko ezkerreko aldean dugu array erdia. 49 00:02:21,037 --> 00:02:22,870 Eta besterik mesedetan apur bat gehiago izatea 50 00:02:22,870 --> 00:02:26,480 argi, beraz, kontsultatu ahal izan nuen zer urratsera ari gara, 51 00:02:26,480 --> 00:02:29,800 Pizten noa laranja multzo honen kolorea. 52 00:02:29,800 --> 00:02:33,190 Orain, oraindik ere ari gara buruz hitz egiten bera ezker jatorrizko array erdia. 53 00:02:33,190 --> 00:02:38,520 Baina espero dut hori egiteko gai izatea hainbat elementu koloreak izendatzeko, 54 00:02:38,520 --> 00:02:40,900 apur bat gehiago egin beharko da argi zer gertatzen da hemen. 55 00:02:40,900 --> 00:02:43,270 >> Ados, beraz, gaur egun dugun bat Hiru elementu sorta. 56 00:02:43,270 --> 00:02:46,420 Zelan geratzen honen erdia ordenatzeko dugu array, horrek urrats hau ez da oraindik? 57 00:02:46,420 --> 00:02:49,400 Ezkerreko ordenatzeko saiatzen ari gara adreiluzko array gorria erdia 58 00:02:49,400 --> 00:02:52,410 Ezkerreko erdia Nik orain koloretako I laranja. 59 00:02:52,410 --> 00:02:54,840 >> Beno, saiatu izan dugu, eta Prozesu hau errepikatu berriro. 60 00:02:54,840 --> 00:02:56,756 Beraz, oraindik ez gara hasi ordenatzeko saiatzen erdian 61 00:02:56,756 --> 00:02:58,700 ezkerreko multzo osoa erdia. 62 00:02:58,700 --> 00:03:00,450 Ezkerreko erdia array, besterik ez dut joan 63 00:03:00,450 --> 00:03:03,910 arbitrarioki erabaki ezkerreko zatian eskuineko erdia baino txikiagoa izango da, 64 00:03:03,910 --> 00:03:06,550 Hori gertatzen delako Hiru elementu osatuko dute. 65 00:03:06,550 --> 00:03:11,260 >> Eta beraz, ez dut esan nahi duten joan ezker array ezkerreko erdia erdia 66 00:03:11,260 --> 00:03:14,050 besterik elementu bost. 67 00:03:14,050 --> 00:03:18,360 Bost, elementu bakar bat izateaz array, nola ordenatzeko badakigu. 68 00:03:18,360 --> 00:03:21,615 Eta orain bost ordenatuko da. 69 00:03:21,615 --> 00:03:22,990 Besterik ez gara hori aldarrikatzen joan. 70 00:03:22,990 --> 00:03:24,890 Elementu array bakar bat da. 71 00:03:24,890 --> 00:03:29,015 >> Beraz, gaur egun antolatuta gara ezkerreko ezker half-- erdia 72 00:03:29,015 --> 00:03:33,190 edo, hobeto esanda, horrela antolatu dugu egin ezker laranja erdia. 73 00:03:33,190 --> 00:03:37,970 Beraz, orain, ahal izateko, oraindik osatu Array orokorra ezkerreko erdia, 74 00:03:37,970 --> 00:03:43,481 eskuineko erdia ordenatzeko behar dugu laranja, edo gauza hau. 75 00:03:43,481 --> 00:03:44,230 Nola egiten dugu? 76 00:03:44,230 --> 00:03:45,930 Beno, bi elementu array bat dugu. 77 00:03:45,930 --> 00:03:50,470 Beraz ezkerreko erdian ordenatzeko dezakegu array, bi da. 78 00:03:50,470 --> 00:03:52,090 Bi elementu bakar bat da. 79 00:03:52,090 --> 00:03:55,890 Beraz lehenetsita ordenatuko. Ondoren eskuineko erdia ordenatzeko dezakegu 80 00:03:55,890 --> 00:03:58,530 Array, bat-zati hori. 81 00:03:58,530 --> 00:04:00,210 Hori da Ordena lehenetsita. 82 00:04:00,210 --> 00:04:03,610 >> Hau da, gaur egun, lehen aldiz Nik batzea urrats bat lortu dugu. 83 00:04:03,610 --> 00:04:06,135 Osatu dugu, nahiz eta Oraindik orain, mota horretako habiaratu Behera dugu 84 00:04:06,135 --> 00:04:08,420 eta hori da, delikatua moduko errekurtsio gauza da, 85 00:04:08,420 --> 00:04:10,930 Zure mantendu behar duzu zertan garen joatea. 86 00:04:10,930 --> 00:04:15,560 Beraz moduko dugu ezkerraren laranja zati erdia. 87 00:04:15,560 --> 00:04:21,280 >> Eta orain, ez gara ordenazio-erdian eskuin laranja zati erdia. 88 00:04:21,280 --> 00:04:25,320 Eta prozesu horretan, gauden Gaur egun gauza urratsa izango da, 89 00:04:25,320 --> 00:04:27,850 bi erdi batzea elkarrekin. 90 00:04:27,850 --> 00:04:31,700 Noiz begiratu bi erdi egon ginen Array, bi eta bat ikusiko dugu. 91 00:04:31,700 --> 00:04:33,880 Zein elementu txikiagoa da? 92 00:04:33,880 --> 00:04:35,160 One. 93 00:04:35,160 --> 00:04:36,760 >> Orduan, zein elementu txikiagoa da? 94 00:04:36,760 --> 00:04:38,300 Beno, bi edo ezer. 95 00:04:38,300 --> 00:04:39,910 Beraz, bi da. 96 00:04:39,910 --> 00:04:43,690 Beraz, gaur egun, besterik gabe, berriro markoa non daude testuinguruan dugu, 97 00:04:43,690 --> 00:04:48,230 ordenatuko ditugu ezker laranja erdia 98 00:04:48,230 --> 00:04:49,886 eta eskuineko jatorria erdia. 99 00:04:49,886 --> 00:04:52,510 Aldatu dut koloreak ezagutzen dut berriro, baina hori non geunden. 100 00:04:52,510 --> 00:04:54,676 Eta arrazoia nik egin dut prozesu hori delako 101 00:04:54,676 --> 00:04:57,870 jarraitzea, behera errepikatzean joan. 102 00:04:57,870 --> 00:05:00,500 Ezkerreko horrela antolatu dugu laranja ohia erdia 103 00:05:00,500 --> 00:05:02,590 eta eskuin laranja ohia erdia. 104 00:05:02,590 --> 00:05:05,620 >> Orain, horiek batu behar ditugu bi erdi elkarrekin too. 105 00:05:05,620 --> 00:05:07,730 Hori urratsa ari gara ezagutzen da. 106 00:05:07,730 --> 00:05:11,440 Beraz, kontuan hartzen badugu guztia Hori berdea dira orain elementuak, 107 00:05:11,440 --> 00:05:12,972 ezker jatorrizko array erdia. 108 00:05:12,972 --> 00:05:14,680 Eta horiek batu ditugu prozesua bera erabiliz 109 00:05:14,680 --> 00:05:18,660 bi batuz genuen eta duela une bat. 110 00:05:18,660 --> 00:05:23,080 >> Ezkerreko erdia, txikiena elementu ezkerreko erdia bost da. 111 00:05:23,080 --> 00:05:25,620 On txikiena elementu eskuineko erdia da. 112 00:05:25,620 --> 00:05:27,370 Horietako Zein txikiagoa da? 113 00:05:27,370 --> 00:05:29,260 One. 114 00:05:29,260 --> 00:05:32,250 >> On txikiena elementu Ezkerreko erdia bost da. 115 00:05:32,250 --> 00:05:35,540 On txikiena elementu eskuineko erdia bi da. 116 00:05:35,540 --> 00:05:36,970 Zer da txikiena? 117 00:05:36,970 --> 00:05:38,160 Bi. 118 00:05:38,160 --> 00:05:41,540 Eta gero, azkenik, bost eta ezer ez, bost esan dezakegu. 119 00:05:41,540 --> 00:05:43,935 >> Ados, irudi hain handia, dezagun atseden bat hartu bigarren bat 120 00:05:43,935 --> 00:05:46,080 eta irudikatu non gauden. 121 00:05:46,080 --> 00:05:48,580 Hasi ginen badu Oso hasieran, dugu 122 00:05:48,580 --> 00:05:51,640 dute orain osatuta array orokorra besterik 123 00:05:51,640 --> 00:05:53,810 pseudocode kodearen urrats bat hemen. 124 00:05:53,810 --> 00:05:56,645 Ordenatuko ditugu ezker array erdia. 125 00:05:56,645 --> 00:05:59,490 >> Gogoratzen original dela Ordena bost, bi, bat izan zen. 126 00:05:59,490 --> 00:06:02,570 Prozesu honen bidez, joan By eta behera, habia eta errepikatuz, 127 00:06:02,570 --> 00:06:05,990 Arazoa hausteko etengabeko behera zatiak eta txikiago sartu, 128 00:06:05,990 --> 00:06:09,670 bukatu dugu pseudocode bat zapaldu 129 00:06:09,670 --> 00:06:13,940 hasierako array osoa da. 130 00:06:13,940 --> 00:06:16,670 Bere ezkerreko erdia ordenatuko ditugu. 131 00:06:16,670 --> 00:06:18,670 >> Beraz, gaur egun dezagun izoztea ez. 132 00:06:18,670 --> 00:06:23,087 Eta orain ordenatzeko eskubidea utzi jatorrizko array erdia. 133 00:06:23,087 --> 00:06:25,670 Eta ari gara hori egin dituen joan Etorriko bera igaro 134 00:06:25,670 --> 00:06:30,630 Gauzak hautsi behera prozesua eta gero batuz elkarrekin. 135 00:06:30,630 --> 00:06:34,290 >> Beraz, ezkerreko erdia gorria, edo ezkerreko erdia 136 00:06:34,290 --> 00:06:38,830 eskubidea jatorrizkoaren erdiaren array, ez dut esango hiru da. 137 00:06:38,830 --> 00:06:40,312 Berriz ere, koherentea hemen ari naiz. 138 00:06:40,312 --> 00:06:42,020 Bakoitiak bat baldin baduzu elementu kopurua da, 139 00:06:42,020 --> 00:06:44,478 Ez du axola ala txikiago ezkerrekoa egin duzu 140 00:06:44,478 --> 00:06:45,620 edo eskuineko bat txikiagoa. 141 00:06:45,620 --> 00:06:49,230 >> Zer axola, betiere duzula realizaciĆ³n arazo hau topo 142 00:06:49,230 --> 00:06:51,422 bateratze bat, koherentea izan behar duzu. 143 00:06:51,422 --> 00:06:53,505 Bai duzu beti behar den ezkerretik bat txikiagoak egin 144 00:06:53,505 --> 00:06:55,421 edo beti behar egiteko Eskuinaldean txikiagoa. 145 00:06:55,421 --> 00:06:57,720 Hemen, beti aukeratu dudan Ezkerreko aldean, txikiagotu 146 00:06:57,720 --> 00:07:04,380 nire array, edo nire Azpi-sorta, tamaina bat bakoitiak da. 147 00:07:04,380 --> 00:07:07,420 >> Hiru elementu bakar bat da, eta beraz ordenatuko da. 148 00:07:07,420 --> 00:07:10,860 Eta hipotesi horren dugu leveraged gure prozesu osoan orain arte. 149 00:07:10,860 --> 00:07:15,020 Beraz, gaur egungo ordenatzeko eskubidea utzi eskuineko erdia erdiak, 150 00:07:15,020 --> 00:07:18,210 edo eskuineko gorria erdia. 151 00:07:18,210 --> 00:07:20,390 >> Berriz ere, hau zatitu behera egin behar dugu. 152 00:07:20,390 --> 00:07:21,910 Hau ez da elementu sorta bakar batean. 153 00:07:21,910 --> 00:07:23,970 Ezin dugu deklaratzen da ordenatuta. 154 00:07:23,970 --> 00:07:27,060 Eta, beraz, lehen, goazen ezkerreko erdia ordenatzeko. 155 00:07:27,060 --> 00:07:31,620 >> Ezker seihilekoan elementu bakar bat da, beraz Ordena da lehenetsita. 156 00:07:31,620 --> 00:07:34,840 Ondoren gaude eskubidea ordenatzeko joan erdia, elementu bakar bat da. 157 00:07:34,840 --> 00:07:41,250 Honez lehenetsita ordenatuko. Eta, orain, batu ditugu bi horiek elkarrekin. 158 00:07:41,250 --> 00:07:45,820 Lau txikiagoa da, eta txikiago orduan sei da. 159 00:07:45,820 --> 00:07:48,870 >> Berriz ere, zer egin puntu honetan dugun? 160 00:07:48,870 --> 00:07:52,512 Ezkerreko horrela antolatu dugu eskuineko erdia erdiak. 161 00:07:52,512 --> 00:07:54,720 Edo atzera egingo jatorrizkoaren egon ziren koloreak, 162 00:07:54,720 --> 00:07:57,875 ezkerreko horrela antolatu dugu leunagoak gorria erdia. 163 00:07:57,875 --> 00:08:00,416 Jatorriz zen adreiluzko ilun bat egiten gorria eta orain gorri leunagoak da, 164 00:08:00,416 --> 00:08:02,350 edo gorria leunagoak izan zen. 165 00:08:02,350 --> 00:08:05,145 >> Eta gero ordenatuko dugun eskubidea leunagoak gorria erdia. 166 00:08:05,145 --> 00:08:08,270 Orain, bai, berde berriro ari dira, besterik prozesu baten bidez ari garelako. 167 00:08:08,270 --> 00:08:10,720 Eta errepikatu behar dugu baino gehiago hau eta gehiago. 168 00:08:10,720 --> 00:08:14,695 >> Beraz, gaur egun horiek batu ditugu bi erdi elkarrekin. 169 00:08:14,695 --> 00:08:15,820 Eta hori da, zer egiten dugu hemen. 170 00:08:15,820 --> 00:08:17,653 Beraz, lerro beltzak besterik Ezkerreko erdia banatzen 171 00:08:17,653 --> 00:08:19,690 eta eskubidea moduko zatia honen erdia. 172 00:08:19,690 --> 00:08:24,310 >> Balio txikiena alderatu dugu ezker array du bestaldean 173 00:08:24,310 --> 00:08:26,710 edo Barkatu, txikiena Ezkerraldean erdia balio 174 00:08:26,710 --> 00:08:30,790 eskubidearen balio txikiena erdi eta aurkitu duten hiru txikiagoa da. 175 00:08:30,790 --> 00:08:32,530 Eta orain optimizazioa bat apur bat, ezta? 176 00:08:32,530 --> 00:08:35,175 Ez, egia esan, ez da ezer ezkerraldean geratzen. 177 00:08:35,175 --> 00:08:37,440 >> Ez dago ezer gainerako Ezkerreko aldean, 178 00:08:37,440 --> 00:08:40,877 beraz, modu eraginkorrean egin ahal izango dugu besterik move-- deklaratu ahal izango dugu 179 00:08:40,877 --> 00:08:42,960 gainerako benetan ordenatuta eta besterik Tack da 180 00:08:42,960 --> 00:08:45,126 an, zeren ez dago ezer bestela aurka alderatu. 181 00:08:45,126 --> 00:08:49,140 Eta badakigu Eskuinaldean dagoela Eskuinaldean ordenatuko da. 182 00:08:49,140 --> 00:08:52,770 >> Ados, beraz, orain dezagun izoztu berriro eta irudikatu non daude istorioa dugu. 183 00:08:52,770 --> 00:08:56,120 Array orokorrean aztertuta, zer izan dugu lortzen? 184 00:08:56,120 --> 00:08:58,790 Nik, egia esan, egiten dugu orain bat eta urrats bi urrats. 185 00:08:58,790 --> 00:09:03,300 Ezkerreko erdia ordenatuko ditugu, eta eskuineko erdia ordenatuko ditugu. 186 00:09:03,300 --> 00:09:08,210 >> Beraz, gaur egun, ez da geratzen dena da guretzat da bi erdi horiek elkarrekin batzeko. 187 00:09:08,210 --> 00:09:11,670 Beraz, parte hartu izana txikiena alderatu dugu array Zati bakoitzaren elementu 188 00:09:11,670 --> 00:09:13,510 Aldi berean, eta jarraitu. 189 00:09:13,510 --> 00:09:16,535 Bat da hiru baino gutxiago, beraz, bat doa. 190 00:09:16,535 --> 00:09:19,770 >> Bi edo hiru baino gutxiago da, beraz, bi doa. 191 00:09:19,770 --> 00:09:22,740 Hiru 5 baino txikiagoa da, beraz, hiru doa. 192 00:09:22,740 --> 00:09:25,820 Lau 5 baino txikiagoa da, beraz, lau doa. 193 00:09:25,820 --> 00:09:30,210 Ondoren, bost, sei baino gutxiago da, eta sei dela geratzen. 194 00:09:30,210 --> 00:09:31,820 >> Orain, badakit, urrats handia izan zen. 195 00:09:31,820 --> 00:09:33,636 Eta asko utzi dugu Gure estela oroimenaren. 196 00:09:33,636 --> 00:09:35,260 Eta hori da, lauki gris horiek dira. 197 00:09:35,260 --> 00:09:40,540 Eta seguruenik sentitu bezala Partiduaren Asko txertatzeko ordenatu baino luzeagoa, burbuila 198 00:09:40,540 --> 00:09:42,660 ordenatu, edo hautaketa ordena. 199 00:09:42,660 --> 00:09:45,330 >> Baina, egia esan, bat delako Prozesu horietako asko 200 00:09:45,330 --> 00:09:48,260 dira, aldi berean gertatzen bertan dugun zerbait da, berriro, 201 00:09:48,260 --> 00:09:51,100 denean buruz hitz egin dugu buruz hitz egin etorkizun batean errekurtsio video-- 202 00:09:51,100 --> 00:09:53,799 Algoritmo hau benetan Argi eta garbi dago, funtsean, 203 00:09:53,799 --> 00:09:55,590 Ezer baino ezberdinak Aurrez aipatu dugun 204 00:09:55,590 --> 00:09:58,820 baina, era berean, nabarmen eraginkorragoa. 205 00:09:58,820 --> 00:09:59,532 >> Zergatik da hori? 206 00:09:59,532 --> 00:10:01,240 Beno, txarrenean kasurik, ez dugu 207 00:10:01,240 --> 00:10:04,830 n elementu zatitu egin eta, ondoren, birkonbinatu horiek. 208 00:10:04,830 --> 00:10:06,680 Baina orduan birkonbinatu dugu horiek, zer egiten ari garen 209 00:10:06,680 --> 00:10:11,110 Funtsean bikoiztu du arrayak txikiagoa tamaina. 210 00:10:11,110 --> 00:10:14,260 Elementu bat mordo bat daukagu arrayak eraginkortasunez dugu 211 00:10:14,260 --> 00:10:16,290 elementu bi multzo zitezen. 212 00:10:16,290 --> 00:10:18,590 Eta gero horiek hartuko dugu elementu bi multzo 213 00:10:18,590 --> 00:10:21,890 eta elkarrekin konbinatu horiek sartu elementu lau multzo dute, eta, beraz, 214 00:10:21,890 --> 00:10:26,130 eta abar, eta abar, ez dugu arte n elementu array bakar bat izatea. 215 00:10:26,130 --> 00:10:29,910 >> Baina zenbat aldiz biderkatu duela to n lortzeko hartu? 216 00:10:29,910 --> 00:10:31,460 Think telefono book Adibidez itzuli. 217 00:10:31,460 --> 00:10:34,490 Zenbat aldiz egin alderik daukagu Telefono liburuaren erdia, zenbat gehiago 218 00:10:34,490 --> 00:10:38,370 aldiz egin telefono liburua alderik daukagu erdia, bada telefono book tamainaren 219 00:10:38,370 --> 00:10:39,680 bikoiztu? 220 00:10:39,680 --> 00:10:41,960 Ez dago beste besterik ez da, ezta? 221 00:10:41,960 --> 00:10:45,360 >> Beraz, ez dago nolabaiteko da logarithmic elementu hemen. 222 00:10:45,360 --> 00:10:48,590 Baina, era berean, oraindik ez dugu nahi, gutxienez n elementu guztiak begiratu. 223 00:10:48,590 --> 00:10:53,860 Txarrenean ere, orain, ordenatu batzea ere n log n exekutatzen. 224 00:10:53,860 --> 00:10:56,160 Begiratzen dugu n elementu guztiak, 225 00:10:56,160 --> 00:11:02,915 eta konbinatu egin behar dugu elkarrekin log n urrats multzo batean. 226 00:11:02,915 --> 00:11:05,290 Kasurik onenean ere, Array primeran ordenatuko da. 227 00:11:05,290 --> 00:11:06,300 Hori handia. 228 00:11:06,300 --> 00:11:09,980 Baina algoritmoan oinarritutako hemen dugu, oraindik zatitu eta birkonbinatu ditugu. 229 00:11:09,980 --> 00:11:13,290 Kasu honetan badira ere, gurutzagarria eragingabeak mota da. 230 00:11:13,290 --> 00:11:14,720 Ez da beharrezkoa. 231 00:11:14,720 --> 00:11:17,580 Baina oraindik ere igaroko ditugu prozesu osoan, hala ere. 232 00:11:17,580 --> 00:11:21,290 >> Beraz, kasu onenean eta kasurik okerrenean ere, 233 00:11:21,290 --> 00:11:24,970 Algoritmo hau n log n denbora exekutatzen. 234 00:11:24,970 --> 00:11:29,130 Batu ordenatu da, zalantzarik gabe, pixka bat zailagoa Beste ordenazio algoritmo nagusiak baino 235 00:11:29,130 --> 00:11:33,470 CS50 hitz egin dugu, baina ez da funtsean ahaltsuagoa. 236 00:11:33,470 --> 00:11:35,400 >> Eta hala bada inoiz aurkituko duzu Oraingoan da behar den 237 00:11:35,400 --> 00:11:38,480 edo hura erabiltzeko a ordenatzeko Datu handiak ezarri, lortzean 238 00:11:38,480 --> 00:11:41,940 Zure burua errekurtsio ideiaren inguruan da benetan indartsua izango. 239 00:11:41,940 --> 00:11:45,270 Eta hori egiteko joan zure programak benetan askoz eraginkorragoa 240 00:11:45,270 --> 00:11:48,700 batu ordenatu beste ezer versus erabiliz. 241 00:11:48,700 --> 00:11:49,640 Naiz Doug Lloyd. 242 00:11:49,640 --> 00:11:51,970 Hau CS50 da. 243 00:11:51,970 --> 00:11:53,826