Programming Parallel Computers

HY 2025–2026

SO4: lomituslajittelu ★+

Kirjaudu sisään palauttaaksesi tehtäviä.

Tehtävän ohjeet

Lue ensin tehtävän yleiset ohjeet. Tarkemmat tehtäväkohtaiset ohjeet ovat alla:

Toteuta tehokas rinnakkainen lajittelualgoritmi CPU:lle, joka perustuu lomituslajitteluun (merge sort).

Koodin testaus

Koodin toimintaa testataan ensin erilaisilla testeillä. Voit kokeilla samaa omalla tietokoneellasi komennolla ./grading test.

Jos koodi toimii odotetusti, sille suoritetaan benchmark-testejä. Voit kokeilla tätä omalla tietokoneellasi komennolla ./grading benchmark. Huomaa kuitenkin, että ajoaika omalla tietokoneellasi voi olla eri kuin arviointiin käytetyllä laitteistolla.

Benchmark-testit

Nimi Parametrit
benchmarks/1 n = 100000
syöte sisältää 100000 kokonaislukua, ja tulosteessa tulee olla samat luvut nousevassa järjestyksessä
benchmarks/2 n = 1000000
syöte sisältää 1000000 kokonaislukua, ja tulosteessa tulee olla samat luvut nousevassa järjestyksessä
benchmarks/3a n = 10000000
syöte sisältää 10000000 kokonaislukua, ja tulosteessa tulee olla samat luvut nousevassa järjestyksessä
benchmarks/3b n = 10000000
syöte sisältää 10000000 kokonaislukua, ja tulosteessa tulee olla samat luvut nousevassa järjestyksessä
benchmarks/3c n = 9999997
syöte sisältää 9999997 kokonaislukua, ja tulosteessa tulee olla samat luvut nousevassa järjestyksessä
benchmarks/3d n = 9999998
syöte sisältää 9999998 kokonaislukua, ja tulosteessa tulee olla samat luvut nousevassa järjestyksessä
benchmarks/3e n = 9999999
syöte sisältää 9999999 kokonaislukua, ja tulosteessa tulee olla samat luvut nousevassa järjestyksessä
benchmarks/3f n = 10000001
syöte sisältää 10000001 kokonaislukua, ja tulosteessa tulee olla samat luvut nousevassa järjestyksessä
benchmarks/3g n = 10000002
syöte sisältää 10000002 kokonaislukua, ja tulosteessa tulee olla samat luvut nousevassa järjestyksessä
benchmarks/3h n = 10000003
syöte sisältää 10000003 kokonaislukua, ja tulosteessa tulee olla samat luvut nousevassa järjestyksessä
benchmarks/4 n = 100000000
syöte sisältää 100000000 kokonaislukua, ja tulosteessa tulee olla samat luvut nousevassa järjestyksessä

Arviointi

Tässä tehtävässä palautus arvioidaan benchmarks/4-testin perusteella, jossa syöte sisältää 100000000 kokonaislukua, ja tulosteessa tulee olla samat luvut nousevassa järjestyksessä.

Jos tehtävä palautetaan maanantaihin, 31. elokuuta 2026, klo 23:59:59 (Helsinki) mennessä, se pisteytetään alla olevan taulukon mukaisesti:

AjoaikaPisteet
≤ 3.500 s 1
≤ 2.500 s 2
≤ 1.500 s 3
≤ 1.200 s 4
≤ 1.000 s 5

Myöhästyneistä palautuksista ei saa pisteitä.