Rikiavimo algoritmas: Skirtumas tarp puslapio versijų

Ištrintas turinys Pridėtas turinys
MTSbot (aptarimas | indėlis)
S robotas Prideda: uk, vi
Nėra keitimo santraukos
Eilutė 1:
'''RūšiavimoRikiavimo algoritmas''' - tai algoritmas, dėstantis duomenis tam tikra tvarka. Algoritmo darbas priklauso nuo duomenų tvarkos apibrėžimo, [[duomenų struktūra|duomenų struktūros]], rūšiuojamų laukųrikiuojamų, atminties panaudojimo rūšiavimuirikiavimui, duomenų pateikimo vienalaikiškumo, eiliškumo, kitų veiksnių.
 
== Skirstymas ==
RūšiavimoRikiavimo algoritmai gali būti skirstomi keliais būdais:
*Pagal naudojamą atmintį. Priklausomai nuo to, ar naudoja tik vidinę kompiuterio atmintį, ar jiems reikia ir išorinės, rūšiavimorikiavimo algoritmai skirstomi į '''vidinio rūšiavimorikiavimo''' ir [[Išorinio rūšiavimo algoritmas|'''išorinio rūšiavimorikiavimo''']]. Taip pat algoritmus galima skirtytiskirstyti ir pagal reikiamos atminties kiekį (nereikia visai; reikia tik rodyklėms; papildomai reikia tiek, kiek yra duomenų).
*Pagal [[Stabilus rūšiavimo algoritmas|stabilumą]]. '''Stabilūs algoritmai''' nekeičia lygių elementų tvarkos, o '''nestabilūs algoritmai''' to negarantuoja.
*Pagal [[Algoritmo sudėtingumas|sudėtingumą]].
Eilutė 10:
Naudojant daugiaprocesorinį kompiuterį ar paskirstytą kompiuterių tinklą galima pasiekti ir dar geresnių rezultatų. Geriausiu atveju pasiekiamas sudėtingumas [[Algoritmų sudėtingumas | O]] ((log N)²).
 
== RūšiavimoRikiavimo algoritmų sudėtingumas ==
Dažnai greitam darbui su duomenimis būtina duomenis surūšiuotisusirikiuoti, bet esant dideliems duomenų kiekiams labai svarbu ir pačio '''rūšiavimorikiavimo algoritmo sudėtingumas''' - atlikimo greičio (arba tam tikrų, pasirenktųpasirinktų operacijų skaičiaus) priklausomybė nuo duomenų kiekio.
 
[[algoritmų sudėtingumas|Algoritmų analizėje]] duomenų rūšiavimorikiavimo problema laikoma pačia svarbiausia, nes tai viena dažniausiai pasitaikančių operacijų programavime. Efektyvus rūšiavimorikiavimo algoritmo pasirinkimas gali turėti netgi lemiamą įtaką programos vykdymo spartai didėjant duomenų kiekiui.
 
=== Algoritmų sudėtingumų lentelė ===
Eilutė 21:
|[[Skaitmeninis rūšiavimo algoritmas|Skaitmeninis]]<br>''radixsort'' || O(2d N) || O(2d N) || O(2d N) || Tik skaitmeninėms teigiamoms duomenų reikšmėms, kur d yra skaitmenų sk. Reikalauja papildomos atminties
|-
|[[Greitojo rūšiavimo algoritmas|Greitojo rūšiavimorikiavimo]] (''quicksort'')|| O(N<sup>2</sup>) || O(N log N) || O(N log N) || Beveik nenaudoja papildomos atminties
|-
|Kombinuotas || O(N log N) ||nowrap| O(N (log N)&sup2;) || &nbsp; || &nbsp;
Eilutė 39:
 
== Nuorodos ==
* [[:Kategorija:Rūšiavimo algoritmai|Įvairūs rūšiavimorikiavimo algoritmai]]
* [[Išorinis rūšiavimas]] (''external sorting'')