(Data Structures and Algorithms 1, 5 cr)
- Analyysin perusteet:
* Algoritmien suunnittelu ja toteutusperiaatteista
* aika- ja vaativuusanalyysi
* paras, keskimääräinen, pahin tapaus
* O, o, Omega, theta
* kompleksisuusluokat
* rekursiorelaatiot rekursiivisten alg. analyysissa (alustavasti)
- Perustietorakenteet
* Lista sukulaisineen
* Puut
* Joukot
* Verkot (kevyesti)
- Perusalgoritmeja
* järjestämisalgoritmeista
- (yksinkertaiset O(n^2) algoritmit (esim. kuplalajittelu)
- pikalajittelu, kasalajittelu, lomituslajittelu, kaukalolajittelu aikavaativuuksineen
* hajautus + törmäyksenvälttämisstrategiat
- Perustietorakenteiden toteuttaminen