Darbo tikslas – teoriškai nustatyti ir praktiškai įvertinti rūšiavimo algoritmų veikimo tendencijas skirtingų aibių kontekste.

Tyrimas nr. 1 – atsitiktiniai skaičiai – pasirenkate 5 aibių dydžius, su kiekvienu aibės dydžiu sugeneruojate 5 skirtingas aibes ir kiekvieną iš jų paduodate 6 kartus kiekvienam algoritmui.

Tyrimas nr. 2 – mažėjančios aibės arba beveik surūšiuotos aibės kai du paskutiniai nariai sukeisti vietomis – pasirenkate 5 aibių dydžius, generuojate kiekvienam iš jų po 1 aibę, kiekvieną aibę surūšiuojate 6 kartus.

Bendrosios taisyklės:

    realizuoti paskirtus algoritmus bet kuria jūsų pasirinkta programavimo kalba; skaičius rūšiuoti didėjimo tvarka;
    pagal jums paskirtoje užduotyje suformuluotus reikalavimus ištestuoti algoritmus ir analizuoti gautus testų rezultatus;
    norint gauti trečio  savarankiško darbo įvertinimą reikia iki termino pabaigos:
        apsiginti programą pratybu metu – 2025.12.10 (parodyti, kad su parašyta programa tyrimas bus atliktas prasmingai);
        įkelti tyrimo aprašą ir programą į Moodle iki 2025.12.15.



Smulkesnės taisyklės ir patarimai:

    Darbo rašte priedus pateikti yra būtina, todėl nepamirškite iš karto pasidaryti ekrano nuotraukų. Jeigu priedų nebus, reikės testus atlikti iš naujo.
    Atkreipkite dėmesį kokiais skaičiais yra užpildytos aibės.
    Pasistenkite aibių dydžius pasirinkite tokius, kad su mažiausiu kiekiu rūšiavimo laikas būtų netoli 1 s.
    Rezultatus išsaugokite 2 skaitmenų po kablelio tikslumu (šimtųjų tikslumu).
    Testai yra prasmingi, jeigu:
        ta pati aibė yra paduodama lyginamiems rūšiavimo algoritmams,
        yra skaičuojamas tik rūšiavimo laikas,
        algoritmai testuojami toje pačioje aplinkoje (ant to pačio kompiuterio, tos pačios IDE, tos pačios duomenų struktūros,...).
    Jeigu atlikote, tarkime, 6 testus su viena aibe ir kažkurio testo laikas gerokai skiriasi nuo kitų laikų, tai to laiko į vidurkį neįtraukite. Prasukite testą iš naujo.
4 variantas

Algoritmai:

    Greito rikiavimo (angl. Quicksort). Ašis – vidurinis narys
    Piramidės (angl. Heapsort)
    Šelo (angl. Shell sort) su Knuth atstumų seka

Algoritmai duomenų aibes turi rūšiuoti didėjimo tvarka.

Duomenų aibės:

    Atsitiktinių skaičių aibė.
    Beveik surūšiuota skaičių aibė.


Completion requirements
