Viikko 3 Palautus

Kolme järjestämisalgoritmia on nyt implementoitu, mergesort, smoothsort sekä introsort. Shellsortin pudotin listalta sillä O(n^2) -aikavaativuudellisen algoritmin pyörittäminen pääohjelmassa kesti ikuisuuden ja vertailu on hieman nätimpi kun kaikkien algoritmien aikavaativuus on noin O(n log(n)) -luokkaa.

Mahdollisesti otan vielä heapsortin ja quicksortin omiksi sorttereikseen vertailuun mukaan, ne on kuitenkin jo introsortissa implementoitu joten varsinaista koodaustyötä siitä ei juuri tule.

Tämän lisäksi on kirjoitettu pienet testipätkät kaikille sorttereille, sekä muutamalle metodille. Varsinaisesti testit eivät tarkasta muuta kuin sen, että järjestämisalgoritmit kokonaisuuttena toimivat, yksittäisten metodien testit pitää vielä kirjoittaa.

Asiaan liittyen koodia on myös jonkun verran refaktoroitu ja muutama monsterimetodi on saatu karsittua pienemmäksi. Pientä refaktoitavaa löytyy kuitenkin vielä sieltä täältä.

Pääohjelma ei toistaiseksi tee muuta kuin käyttää jokaista sorttausalgoritmia kerran kolmeen erikokoiseen satunnaisgeneroituun taulukkoon ja printtaa kuluneen ajan.

Javadocia on myös aloiteltu, kaikki sortteriluokat on dokumentoitu ja samoin osa metodeista.

Ensi viikolla sitten refaktorointia, lisää javadocia, testejä ja pääohjelman rakennusta. Ainakin erinäköisiä testitaulukoiden erikoistapauksia täytyy varmaan ruveta rakentamaan satunnaisgeneroitujen lisäksi.