/ / Merge sort: algoritma darbības apraksts un atšķirības no cita veida datu pasūtīšanas

Apvienot kārtošanu: apraksts par to, kā algoritms darbojas un kā tas atšķiras no citiem datu pasūtīšanas veidiem

Izstrādājot dažādas programmas, praktiskiprogrammētājiem vienmēr ir jāpielieto šķirošana, lai optimizētu darba algoritmus, uzlabotu meklēšanas darbības veiktspēju utt. Mūsdienās ir daudz dažādu metožu, kā kārtot elementus vajadzīgajā secībā: apvienot šķirošanu, izmantot atslēgu utt. Kārtošana ir darbību komplekss, kuras rezultāts noved pie tā paša veida objektu sakārtošanas dilstošā vai augošā secībā atkarībā no konkrētā uzdevuma prasībām.

Visa šķirošanas algoritmu dažādība var būtsadalīts divās kategorijās: masīvu pasūtīšana un failu kārtošana. Pirmā veida objekti var atrasties ne tikai RAM, bet arī uz kāda nesēja, ja vien piekļuve tam ir atvērta tieši. Otrajai objektu kategorijai jābūt materiālā vidē: diskā vai magnētiskajā lentē.

Galvenā atšķirība starp preču pasūtīšanumasīvs un atrašanās vieta deklarētajā failu secībā ir tāda, ka visi masīva dalībnieki ir pieejami jebkurā laikā, kad tiem piekļūstat, un tāpēc šķirošanas process sākas uzreiz no brīža, kad procedūra tiek sākta bez pārtraukumiem viena vai otra elementa nepieejamības dēļ. Tajā pašā laikā, pasūtot failus noteiktā brīdī, piekļuvi var piešķirt tikai ierobežotam dalībnieku kopumam.

Pietiekami bieži, lai kārtotu failustiek izmantota apvienošanas kārtība, kas tiek izstrādāta, pamatojoties uz elementu izkārtojuma pamatprincipiem noteiktā secībā. Šķirošanas procedūru kopumā var raksturot šādi: tiek izvēlēts noteikts datu segments un izmantots kā atslēga. Apsveriet piemēru sūtījumu kārtošanai pēc norādītā indeksa. Rezultātā algoritms neveic pilnīgu informācijas analīzi, bet tajā pašā laikā ar lielu varbūtības pakāpi kārto nepieciešamos elementus.

Galvenā atšķirība starp secīgiem failiem unfaili ar tiešas piekļuves nodrošinājumu ir tādi, ka tos var atrast plašsaziņas līdzekļos, kuriem ir grūti organizēt pastāvīgu tiešu piekļuvi. Arī šādos failos glabātajiem ierakstiem parasti netiek izmantots noteikts garums. Šo funkciju dēļ secīgie faili tiek izmantoti tikai divās situācijās:

- ja nepieciešams, secīgas piekļuves orientēta datu nesēja izmantošana;

- kad ir ērti izmantot mainīga garuma ierakstus.

Apvienošanas kārtība tiek izmantota diezgan biežimūsdienu programmatūras rīkos. Tas ir saistīts ar plašu secīgu failu izplatīšanu. Piemēram, gandrīz visi teksta faili ir secīgi. Neskatoties uz ērtību secīgi organizētu failu uzskatīt par datu masīvu, šāda pieeja nav iespējama, jo fiziski nav iespējams piekļūt visiem faila aparatūras elementiem.

Apvienošanas kārtība faktiski ir kļuvusi par vienīgoveids, kā kārtot secīgus failus. Lai gan mūsdienās ir citas secīgu failu organizēšanas metodes, šī metode joprojām ir viena no populārākajām. Dabiskā apvienošanas kārtība ietver faila sadalīšanu divās daļās, kas vienādas ar informācijas apjomu. Turklāt no katra faila pakāpeniski tiek nolasīts katrs pašreiz pieejamais elements. Pasūtītie elementi tiek kārtoti vajadzīgajā secībā trešajā failā, kas tālāk tiek sadalīts divos līdzīgos izmēros. Šādi tiek veikta apvienošanas kārtošana. Pascal, C, Basic - lielākā daļa zināmo programmēšanas valodu atbalsta šāda veida secīgu failu pasūtīšanu.