Saturs
Vienību komplekta pasūtīšana sarakstā ir bieži sastopams uzdevums programmēšanā. Bieži vien cilvēks šo uzdevumu var veikt intuitīvi. Tomēr datorprogrammai ir jāievēro precīza instrukciju secība, lai to pabeigtu, un šo secību sauc par algoritmu. Pasūtīšanas algoritms ir metode, ko izmanto, lai dezorganizēto priekšmetu sarakstu ievietotu noteiktā secībā. 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 zināmi un svarīgi šāda veida veidi ir: burbuļu kārtošana, atlases kārtošana, ievietošanas kārtošana un ātrā kārtošana.
Burbuļu šķirošana
Burbuļu kārtošana atkārtoti apmainās ar blakus esošajiem elementiem, kas nav kārtībā, līdz viss vienumu saraksts ir secīgs. Tādā veidā vienumi sarakstā peld pēc to vērtībām, un lielākais (augšupejošas kārtības gadījumā) beidzas pēc katras atkārtošanas.
Šī algoritma galvenā priekšrocība ir tā, ka tā ieviešana ir vienkārša un zināma. Turklāt burbuļu kārtošanā elementi tiek mainīti vietām, neizmantojot pagaidu krātuvi, kas minimālu vietu prasa. Galvenais trūkums ir fakts, ka tas neuzrāda labus rezultātus, ja sarakstā ir daudz vienumu. Tas ir tāpēc, ka šāda veida šķirošana prasa n² apstrādes darbības katram n šķirojamo elementu skaitam. Tāpēc burbuļu veids ir piemērots akadēmiskai izglītībai, bet ne reālai lietošanai.
Atlases kārtošana
Atlases kārtošana atkārtoti meklē vienumu sarakstu, vienlaikus atlasot vienu elementu un ievietojot to secībā pareizajā pozīcijā.
Atlases kārtošanas galvenā priekšrocība ir tā, ka tā labi darbojas īsā sarakstā. Turklāt, tā kā tas ir vietas pasūtīšanas algoritms, tam nav nepieciešama pagaidu krātuve, izņemot to, kas nepieciešams sākotnējā saraksta glabāšanai. Galvenais trūkums ir tā zemā efektivitāte lielos sarakstos. Tāpat kā burbuļu kārtošanai, katram n elementam tas prasa n² soļu skaitu. Turklāt tā veiktspēju viegli ietekmē vienumu sākotnējā secība pirms šķirošanas procesa. Tāpēc šis atlases veids ir piemērots tikai sarakstam, kurā daži elementi atrodas nejaušā secībā.
Ievietošanas kārtība
Ievietošanas kārtošana atkārtoti skenē sarakstu un katru reizi pareizajā pozīcijā ievieto vienumu no nesakārtotās secības.
Galvenā šķirošanas pēc ievietošanas priekšrocība ir tā vienkāršība, turklāt tā parāda labu sniegumu mazos sarakstos. Tas ir vietas pasūtīšanas algoritms, tāpēc vietas pieprasījums ir minimāls. Trūkums ir tāds, ka tas nedarbojas tik labi, kā citi šķirošanas algoritmi. Tā kā darbam nepieciešamas n² darbības, ievietošanas kārtošana nedarbojas arī lielos sarakstos. Tomēr tas ir īpaši noderīgi, pievienojot dažus vienumus.
Ātra kārtošana
Ātra šķirošana darbojas pēc sadalīšanas un iekarošanas principa. Pirmkārt, tas sadala vienumu sarakstu divos apakškārtos, pamatojoties uz pagrieziena elementu. Visi pirmā apakškārtas elementi ir sakārtoti tā, lai tie būtu mazāki par rakursi, bet visi otrā apakškārtas elementi ir sakārtoti tā, lai tie būtu lielāki par šarnīru. Rezultātā esošajos apakškārtos atkārtoti veic vienu un to pašu sadalīšanas un organizēšanas procesu, līdz viss saraksts ir sakārtots.
Daži uzskata ātro šķirošanu par labāko šķirošanas algoritmu, jo tam ir ievērojama efektivitātes priekšrocība, jo tas labi darbojas ar lielu vienumu sarakstu. Pasūtot uz vietas, nav nepieciešama arī papildu uzglabāšanas vieta. Neliels 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. Ātra šķirošana nodrošina visefektīvāko un plaši izmantoto metodi jebkura lieluma saraksta sakārtošanai.