Saturs
Saraksta vienību šķirošana ir bieži sastopams uzdevums programmēšanā. Bieži vien cilvēks var veikt šo uzdevumu intuitīvi. Tomēr datorprogrammai ir jāievēro precīza instrukciju secība, lai to pabeigtu, un šo secību sauc par algoritmu. Šķirošanas algoritms ir metode, ko izmanto, lai noteiktu kārtību nesakārtotu objektu sarakstu. Pasūtīšanas secību nosaka atslēga. Ir vairāki šķirošanas algoritmi, kas atšķiras pēc efektivitātes un veiktspējas. Daži no šī veida zināmajiem un svarīgākajiem ir: burbuļu šķirošana, atlases kārtošana, ievietošanas kārtība un ātra kārtība.
Daudzus priekšmetus var pasūtīt ar algoritmu (Thinkstock / Comstock / Getty Images)
Burbulis
Burbuļu kārtošana atkārtoti mainās blakus esošos elementus, kas nav kārtībā, līdz katrs vienumu saraksts ir kārtībā. Šādā veidā vienumi svārstās sarakstā atbilstoši to vērtībām, lielākais (augošā secībā), kas beidzas katra iterācijas beigās.
Šī algoritma galvenā priekšrocība ir tā, ka tās ieviešana ir vienkārša un pazīstama. Turklāt burbuļu šķirnē elementi tiek nomainīti, neizmantojot pagaidu uzglabāšanu, kas padara telpu prasību minimālu. Galvenais trūkums ir fakts, ka tas nerāda labus rezultātus, ja sarakstā ir daudz priekšmetu. Tas ir tāpēc, ka šāda veida pasūtīšanai ir nepieciešami n2 apstrādes soļi katram numuram, kas tiks sakārtots. Tāpēc akadēmiskajai mācīšanai ir norādīts burbuļu veids, bet ne reālām lietojumprogrammām.
Atlases kārtība
Atlases kārtība atkārtoti šķērso vienumu sarakstu, vienu reizi izvēloties vienu vienumu un ievietojot to pareizajā secības pozīcijā.
Galvenā atlases veida priekšrocība ir tā, ka tā labi darbojas nelielā sarakstā. Turklāt, tā kā tas ir vietas pasūtīšanas algoritms, tam nav nepieciešama pagaidu glabāšana, kas pārsniedz sākotnējā saraksta glabāšanai nepieciešamo. Galvenais trūkums ir tā zemais efektivitāte lielos sarakstos. Tāpat kā burbulis, katram n elementam ir vajadzīgs n2 soļu skaits. Turklāt tā darbību viegli ietekmē preču sākotnējā secība pirms skrīninga procesa. Šī iemesla dēļ šī tipa izvēle ir piemērota tikai sarakstam, kurā daži elementi ir nejaušā secībā.
Ievietošanas kārtība
Ievietot kārtot šķiro sarakstu atkārtoti un katru reizi ievieto neatbilstoša secības vienumu pareizajā pozīcijā.
Ievietošanas pasūtījuma galvenā priekšrocība ir tās vienkāršība, kā arī labs sniegums mazos sarakstos. Tas ir vietas pasūtīšanas algoritms, tāpēc telpas prasība ir minimāla. Negatīvie ir tas, ka tas nedarbojas, kā arī citi šķirošanas algoritmi. N2 darbiem, kas nepieciešami darbam, ievietojiet šķirni nedarbojas labi ar lieliem sarakstiem. Tomēr tas ir īpaši noderīgi ar dažu vienību sarakstiem.
Ātra kārtošana
Ātra kārtošana darbojas ar dalīšanas un iekarošanas principu. Pirmkārt, tas sadala elementu sarakstu divos apakšgrupās, pamatojoties uz pagrieziena elementu. Visi pirmās apakšgrupas elementi ir sakārtoti tā, lai tie būtu mazāki par pagriezienu, turpretī visi otrā apakšgrupas elementi ir sakārtoti lielāki par pagriezienu. Līdzīgs sadalīšanas un organizēšanas process tiek izpildīts atkārtoti iegūtajos apakšnoros, līdz viss saraksts ir sakārtots.
Daži uzskata, ka ātrā kārtošana ir labākais šķirošanas algoritms, jo tā ir nozīmīga priekšrocība efektivitātes ziņā, jo tā darbojas labi ar lielu objektu sarakstu. Pasūtot uz vietas, nav arī papildu uzglabāšanas vietas. Nelielais trūkums, ko tas rada, ir tas, ka tā sliktākā veiktspēja ir līdzīga citu iepriekš aprakstīto algoritmu vidējai veiktspējai. Tomēr ir svarīgi atzīmēt, ka šis sliktākais gadījums ir ļoti reti. Vispārīgāk sakot, ātra kārtošana rada visefektīvāko un plaši izmantoto metodi jebkura lieluma saraksta organizēšanai.