
Program „Osnovne strukture podataka i algoritmi 2.0“ namijenjen je učenicima koji poznaju osnove C++ programiranja i žele naučiti rješavati zahtjevnije takmičarske zadatke. Polaznici upoznaju strukture podataka i algoritamske tehnike koje omogućavaju efikasnu obradu podataka, pretragu i pronalaženje rješenja.
Kroz praktične zadatke i simulacije takmičenja uče prepoznati koji pristup odgovara problemu, procijeniti njegovu složenost i provjeriti ispravnost rješenja. Program obuhvata sortiranje, STL kontejnere, osnovnu teoriju brojeva, bitovne operacije, prefiksne sume, binarnu pretragu, dva pokazivača, greedy pristup i rekurzivnu pretragu.
Potrebno je znanje na nivou programa „Uvod u takmičarsko programiranje 2.0“. Polaznici trebaju samostalno pisati jednostavne C++ programe koristeći unos i ispis podataka, uslove, petlje, nizove, vektore, stringove i funkcije te biti spremni redovno vježbati između predavanja.
Po završetku programa, polaznici će moći:
Procijeniti vremensku i memorijsku složenost rješenja i povezati je s ograničenjima zadatka.
Sortirati podatke prema različitim kriterijima i koristiti odgovarajuće STL kontejnere.
Primjenjivati osnovne tehnike teorije brojeva, modularnu aritmetiku i brzo stepenovanje.
Koristiti bitovne operacije i bitmaske za predstavljanje i obradu podskupova.
Rješavati zadatke pomoću prefiksnih suma, dva pokazivača, kliznog prozora i binarne pretrage.
Prepoznati i obrazložiti jednostavne greedy pristupe te koristiti rekurziju i backtracking za pretragu mogućih rješenja.
Provjeravati rješenja na graničnim i nasumično generisanim primjerima te koristiti memoizaciju za izbjegavanje ponovljenih računanja.
Stečeno znanje predstavlja osnovu za nastavak učenja u programu „Napredne strukture podataka i algoritmi 2.0“.
Please wait...