Kaj je razvrščanje matrike?

Razvrščanje matrike je proces vzetja posameznih elementov matrike in njihovega razvrščanja v nekakšen logični vrstni red v skladu z vrsto pravil, ki jih določi uporabnik. Postopek vključuje prehod skozi matriko, en element naenkrat, in testiranje tega elementa glede na okoliške elemente, da ugotovimo, ali ga je treba premakniti v drug indeks znotraj matrike. Pri izvajanju razvrščanja nizov je mogoče uporabiti več algoritmov, še posebej, če so pogoji razvrščanja številčni v nasprotju z nečim bolj poljubnim. Večina algoritmov za razvrščanje nizov se meri s hitrostjo in učinkovitostjo, pri čemer je najpočasnejše algoritme najlažje programirati, najhitrejše pa veliko bolj zapletene.

Najpreprostejši algoritem za razvrščanje nizov se imenuje razvrščanje z mehurčki in je tudi najpočasnejši. Postopek se začne z zanko, ki bo prehodila vsak element v matriki. Trenutni element se primerja z naslednjim elementom v matriki in, če je vrednost naslednjega elementa nižja od trenutnega elementa, se podatki pri indeksih zamenjajo. Pomanjkljivost razvrščanja z mehurčki je v tem, da se mora večkrat pomakniti skozi matriko, da izvede vse potrebne zamenjave za razvrščanje matrike. V najosnovnejših izvedbah se bo razvrščanje za vsak element, ki ga vsebuje, enkrat zankalo skozi celotno matriko.

Razvrščanje z izborom uporablja algoritem, ki izvaja razvrščanje matrike na nekoliko učinkovitejši način kot razvrščanje z mehurčki, vendar še vedno zahteva več ponovitev skozi matriko. Ta razvrstitev se začne z vrtenjem po matriki, da poišče element z najnižjo vrednostjo. Ta element se nato postavi v prvi indeks matrike in nekatere spremenljivke sledenja se povečajo. Cikel se nato ponovi in ​​zdaj išče naslednjo najnižjo vrednost, ki bo nato postavljena v drugi indeks matrike. Postopek se nadaljuje, dokler element z najvišjo vrednostjo ni postavljen v zadnji indeks matrike.

Metoda razvrščanja nizov, ki je lahko učinkovita, a včasih zapletena za izvedbo, je znana kot hitro razvrščanje. Hitro razvrščanje vključuje vzetje vrednosti, ki je na sredini vseh možnih vrednosti v matriki. Algoritem se sprehodi skozi vse elemente matrike in postavi vse vrednosti, ki so večje od mediane števila na koncu matrike, in nižje vrednosti na začetku. Ta postopek se izvaja rekurzivno na blokih matrike, dokler na koncu ni razvrščen celoten niz. Ob predpostavki, da je srednja vrednost, uporabljena za matriko, dokaj natančna, je to lahko zelo hiter način razvrščanja.

Eden od dejavnikov, ki lahko vpliva na algoritem razvrščanja nizov, je način, s katerim se podatki testirajo na enakovrednost. Enostavne številke je enostavno primerjati, pri katerih je vrednost večja, vendar to morda ne velja za kompleksne podatkovne razrede, v katerih je treba primerjati več pogojev. Dlje ko traja primerjava, ali je en element večji ali manjši od drugega, dlje bo trajalo, da bo algoritem razvrstil matriko.