1 00:00:00,000 --> 00:00:02,826 >> [Musika jotzen] 2 00:00:02,826 --> 00:00:05,660 3 00:00:05,660 --> 00:00:09,370 >> DOUG LLOYD: Beraz txertatzeko moduko bat da, algoritmoa array bat ordenatzeko erabili ahal izango dugu. 4 00:00:09,370 --> 00:00:12,350 Algoritmo honen atzean dagoen ideia da zure ordenatuko array eraikitzeko 5 00:00:12,350 --> 00:00:19,670 lekuan, aldatzearen elementu daudelarik Bide batez, joan ahala, gela egiteko. 6 00:00:19,670 --> 00:00:22,240 Hau da, apur bat desberdinak hautaketa ordena edo burbuila-tik 7 00:00:22,240 --> 00:00:25,460 ordenatu, adibidez, non kokapenak egokituz ari gara, 8 00:00:25,460 --> 00:00:26,910 non swaps egiten ari gara. 9 00:00:26,910 --> 00:00:29,760 >> Kasu honetan zer benetan gara egiten elementu irristakorra da 10 00:00:29,760 --> 00:00:31,390 baino gehiago, modu daudelarik. 11 00:00:31,390 --> 00:00:34,030 Nola algoritmo hau ez pseudocode lan? 12 00:00:34,030 --> 00:00:37,646 Beno dezagun arbitrarioki esan du hori array lehen elementu ordenatuko da. 13 00:00:37,646 --> 00:00:38,770 Eraikitzen ari gara lekuan. 14 00:00:38,770 --> 00:00:42,660 >> Botako elementu bat joan gara aldi berean eta eraiki da, eta beraz, ikusiko dugun lehenengo gauza 15 00:00:42,660 --> 00:00:43,890 elementu bat array bat da. 16 00:00:43,890 --> 00:00:47,720 Eta berez, bata elementu array ordenatuko da. 17 00:00:47,720 --> 00:00:50,850 >> Ondoren, prozesu hau errepikatu beharko dugu until-- Prozesu hau errepikatu beharko dugu 18 00:00:50,850 --> 00:00:52,900 elementu guztiak arte antolatuko dira. 19 00:00:52,900 --> 00:00:57,770 Begira hurrengo Unsorted elementu aztertu eta sartu ordenatzen zati, 20 00:00:57,770 --> 00:01:01,209 eskatutako kopurua aldatzearen elementu bidea out of. 21 00:01:01,209 --> 00:01:03,750 Zorionez bisualizazio honetan Ikusten duzu zehazki zer da lagunduko dizu 22 00:01:03,750 --> 00:01:05,980 gertatzen Ordena txertatzeko. 23 00:01:05,980 --> 00:01:08,010 >> Beraz, berriro ere, hona hemen gure osoa Sailkatu array, 24 00:01:08,010 --> 00:01:10,970 elementu guztiak gorriz adierazita. 25 00:01:10,970 --> 00:01:13,320 Eta utzi jarraitu hamarkadan Gure pseudocode pausoak. 26 00:01:13,320 --> 00:01:16,970 Lehenengo gauza egin dugu, hau da deitzen dugun array lehen elementu, ordenatuta. 27 00:01:16,970 --> 00:01:20,920 Beraz, besterik botako esan nahi dugu bost, Orain ari ordenatuko duzu. 28 00:01:20,920 --> 00:01:24,570 >> Ondoren, begiratu hurrengo at dugu array elementu Sailkatu 29 00:01:24,570 --> 00:01:27,610 eta hori sartu nahi dugun ordenatzen zati, 30 00:01:27,610 --> 00:01:29,750 elementu aldatzearen baino gehiago. 31 00:01:29,750 --> 00:01:33,470 Beraz, bi da hurrengo Unsorted array elementu. 32 00:01:33,470 --> 00:01:36,250 Bistan denez pertenece aurretik bost, beraz, zer egin botako Oraindik dugu 33 00:01:36,250 --> 00:01:41,580 moduko bi eutsi albo batera bigarren bat, filmea bost baino gehiago, eta, ondoren, bi txertatu 34 00:01:41,580 --> 00:01:43,210 bost aurretik, nora joan behar. 35 00:01:43,210 --> 00:01:45,280 Eta, esan dezakegu orain dela bi ordenatuko da. 36 00:01:45,280 --> 00:01:48,400 >> Beraz, ikusi ahal izango duzu, besterik ez dugu orain arte bi array elementu begiratu zion. 37 00:01:48,400 --> 00:01:50,600 Ez dugu begiratu zion atseden guztietan, baina dugu 38 00:01:50,600 --> 00:01:54,582 got bi elementu horiek horrela antolatu aldatzearen mekanismoa modu. 39 00:01:54,582 --> 00:01:56,410 >> Beraz, prozesua errepikatu dugu berriro. 40 00:01:56,410 --> 00:01:58,850 Begira hurrengo ordenatu gabe dauden elementu, hori ez da. 41 00:01:58,850 --> 00:02:04,010 Dezagun eutsi alde batera bigarren bat, filmea baino gehiago dena, eta jarri bat 42 00:02:04,010 --> 00:02:05,570 non joan behar du. 43 00:02:05,570 --> 00:02:08,110 >> Berriz ere, oraindik ere, bakarrik inoiz ez dugu Bat, bi, eta bost begiratu zion. 44 00:02:08,110 --> 00:02:12,480 Ez dakigu zer gehiago da, datozen baina hiru elementu horiek horrela antolatu dugu. 45 00:02:12,480 --> 00:02:16,030 >> Hurrengo elementu Unsorted da hiru, beraz, ezarri egingo dugu alde batera utzi. 46 00:02:16,030 --> 00:02:18,200 Egingo mugitzeko dugu zer garen behar den, oraingo honetan 47 00:02:18,200 --> 00:02:21,820 ez da guztia, aurreko urtean bezala Bi kasuetan, besterik ez da bost. 48 00:02:21,820 --> 00:02:25,440 Eta gero laburra jarri dugu, hiru, Bi eta bost artean. 49 00:02:25,440 --> 00:02:27,849 >> Sei da hurrengo Unsorted array elementu. 50 00:02:27,849 --> 00:02:31,140 Eta hain zuzen ere, sei eta bost baino handiagoa da, eta beraz, ere ez dugu edozein aldaketa egin behar. 51 00:02:31,140 --> 00:02:35,710 Besterik ezin dugu Tack sei egokian on ordenatzen zati amaieran. 52 00:02:35,710 --> 00:02:38,270 >> Azkenik, lau da azken Unsorted elementu. 53 00:02:38,270 --> 00:02:42,060 Beraz, ezarri dugu, eta hura alde batera utzita, filmea baino gehiago elementuen gainean mugitzeko behar dugu, 54 00:02:42,060 --> 00:02:43,780 eta, ondoren, jarri lau tokian. 55 00:02:43,780 --> 00:02:46,400 Eta orain, begira, ordenatu dugu elementu guztiak. 56 00:02:46,400 --> 00:02:48,150 Txertatze nabarituko ordenatu, ez genuen 57 00:02:48,150 --> 00:02:50,240 atzera eta aurrera array zehar joateko. 58 00:02:50,240 --> 00:02:54,720 Bakarrik array zehar joan ginen garai batean, eta gauza desplaza dugu 59 00:02:54,720 --> 00:02:59,870 jadanik genuke, ordena horretan elementu berriak egiteko lekua uzteko. 60 00:02:59,870 --> 00:03:02,820 >> Beraz, zein da kasu txarrena Ordena txertatzeko eszenatoki? 61 00:03:02,820 --> 00:03:05,090 Kasurik okerrenean ere, array alderantzizko ordenan. 62 00:03:05,090 --> 00:03:11,180 N elementuetako bakoitza filmea duzu n posizioak arte, behin denbora dugu bakar 63 00:03:11,180 --> 00:03:12,880 Txertatze bat egiteko. 64 00:03:12,880 --> 00:03:15,720 Hori ikusita asko da. 65 00:03:15,720 --> 00:03:18,014 >> Kasurik onenean ere, array primeran ordenatuko da. 66 00:03:18,014 --> 00:03:20,680 Eta moduko zer gertatu zen bezala bost eta sei Adibide batera, 67 00:03:20,680 --> 00:03:23,779 non besterik ezin dugu Tack gainean Edozein aldatzearen egin beharrik gabe, 68 00:03:23,779 --> 00:03:24,820 funtsean ez litzaidake. 69 00:03:24,820 --> 00:03:27,560 >> Imajinatu baduzu, gure array sei bidez bat izan zen, 70 00:03:27,560 --> 00:03:29,900 hasteko off genuke arabera Bat geratuko ordenatuko da. 71 00:03:29,900 --> 00:03:33,300 Bi bat ondoren dator, beraz, besterik ezin dugu esaten, OK, bai eta bi antolatuko dira. 72 00:03:33,300 --> 00:03:36,190 Hiru dator bi beraz, ondoren, Ados, Bat eta bi eta hiru ordenatuko dira. 73 00:03:36,190 --> 00:03:39,590 >> Ez gara trukeak edozein egiteko, gaude lerro arbitrarioak honetan mugitzen 74 00:03:39,590 --> 00:03:42,460 ordenatuko artean eta ordenatu gabe joan gara. 75 00:03:42,460 --> 00:03:46,646 Eraginkortasunez adibidean egin dugun bezala, elementu inflexio urdin, aurrera jarraitu dugu. 76 00:03:46,646 --> 00:03:48,270 Beraz, zer da kasu exekuzio txarrena, orduan? 77 00:03:48,270 --> 00:03:51,854 Gogoratu, bakoitza, mugitu behar badugu n elementuen seguru n postuetan, 78 00:03:51,854 --> 00:03:54,020 Zorionez hori ematen dizu Ideia bat kasu txarrena 79 00:03:54,020 --> 00:03:57,770 runtime da Big n O karratu. 80 00:03:57,770 --> 00:04:00,220 >> Array primeran bada ordenatuta, guztiak egin behar dugu 81 00:04:00,220 --> 00:04:04,480 da elementu bakoitza begiratu behin, eta, ondoren, egiten ari gara. 82 00:04:04,480 --> 00:04:08,440 Beraz, onena kasuan, n omega da. 83 00:04:08,440 --> 00:04:09,490 >> Naiz Doug Lloyd. 84 00:04:09,490 --> 00:04:11,760 Hau CS50 da. 85 00:04:11,760 --> 00:04:13,119