Algoritmi i strukture podataka (ETF RIO ASP 2360)

Opšte informacije

Naziv kursa

Algoritmi i strukture podataka

Oznaka (šifra) predmeta

ETF RIO ASP 2360

Studij

ETF-B

Odsjek

Računarstvo i informatika

Godina

2

Semestar

3

Tip

Obavezni

ECTS

5

Ukupno sati nastave

60

Sati predavanja

38

Sati vježbi

22

Sati tutorijala

0

Cilj kursa - Znanje i vještine koje treba postići student

  Cilj kursa je sticanja koherentnog znanja o tehnikama za implementiranje algoritama i strukturama podataka. U isto vrijeme kurs pruža studentima mogućnost da unaprijede svoje programersko znanje prilikom razvoja i primjene raznih algoritama u okviru konkretnih programskih rješenja.

Program

  1.Uvod u algoritme, analize algoritama, složenost i ocjena složenosti algoritama, notacije.  

2.Definicija i implementacija i aplikacija složenih struktura podatka kao što su:  

3.Nizovi:jednodimenzionalni i visedimenzionalni nizovi; 

4.Liste: jednostruko povezane, dvostruko povezane, prstenovi i specijalni slučajevi kao što su stekovi i redovi; 

5.Stabla: binarna,uravnotežena, stabla za traženje; 

6.Ostalo: heap, hash tabele, grafovi. 

7.Klasični sekvencijalni algoritmi za sortiranje (sekvencionalni sort, bubble sort, quick sort, radix sort, selekcija i razdvajanje, heapsort eksterno sortiranje) i za pretraživanje (sekvencijalno pretraživanje, binarno pretraživanje, binarno pretraživanje po stablu, hashing, eksterno pretraživanje). 

8.Tehnike (paradigme) dizajniranja algoritama kao sto su: podjeli pa ovladaj, dinamičko programiranje, pohlepni algoritmi, algoritmi sa vraćanjem unazad, grananje i ograničavanje, algoritmi sa slučajnim brojevima. 

9.Algoritmi grafova, algoritmi najkraćeg puta, mrežnog toka.  

10.Praktični rad: realizacija karakterističnih struktura i algoritama u programskom jeziku C++. 

Literatura

Obavezna1.Bilješke i slajdovi s predavanja (moći će se preuzeti na WEB siteu Fakulteta); 

2.T. Cormen, C.Leiserson, R. Rivest, C. Stein "Introduction to Algorithms” 2001, MIT Press Cambridge, MA, USA  

3.Alfred V. Aho "Data Structures and Algorithms”, 1983, Addison-Wesley
Preporučena1.S Sahni ”Data Structures, Algorithms, and Applications in C++'', 1999,WCB/McGraw-Hill 

Didaktičke metode

  Kurs se izvodi kroz direktna predavanja u auli. Predavanja su praćena odgovarajućim primjerima od strane nastavnika, s ciljem da studenti ovladaju instrumentima i metodama uvedenim tokom predavanja. Predavanja su integrirana i sa vježbama koje studenti rade u laboratoriji 2 sata sedmično, praćeni i vođeni od strane tutora; svaka vježba obrađuje određenu temu, koristeći konkretne zadatke. 

Vježbe u laboratoriji organizirane su tako da svaki student ima na raspolaganju personalni računar na kojemu, pod vodstvom tutora i uz pomoć aplikativnog softvera obavlja predviđene aktivnosti. 

Kroz tutorijal se, pod vođenjem i pratnjom tutora, riješavanju i drugi zadaci, uključujući i zadatke s prethodnih ispitnih rokova; ove aktivnosti organizirane su na takav način da se već tokom izvođenja nastavnog programa kroz domaće zadaće i parcijalne ispite kontinuirano provjerava stupanj pripremljenosti studenta da ovlada znanjima i vještinama koje treba postići u okviru ovog kursa.

Način provjere znanja

  Tokom trajanja kursa student prikuplja bodove prema slijedećem sistemu: 

- prisustvo satima predavanja, vježbi i tutorijala: 10 bodova, student koji više od tri puta izostane s predavanja,vježbi i/ili tutorijala ne može ostvariti bodove po ovoj osnovi; 

- izrada domaćih zadaća: maksimalno 10 bodova; predviđena je izrada od 5 do 10 domaćih zadaća ravnomjerno raspoređenih tokom semestra; 

- parcijalni ispiti: dva pismena parcijalna ispita, pri čemu svaki pozitivno ocijenjen parcijalni ispit donosi 20 bodova; 

Student koji je tokom trajanja semestra ostvario manje od 20 bodova ponovno upisuje ovaj kurs. 

Student koji je tokom trajanja semestra ostvario 40 i više bodova pristupa usmenom završnom ispitu; ovaj ispit sastoji se iz diskusije zadataka s parcijalnih ispita, domaćih zadaća i odgovora na jednostavna pitanja koja se odnose na teme kursa.  

Usmeni završni ispit donosi maksimalno 40 bodova. Da bi postigao pozitivnu završnu ocjenu, student na ovom ispitu mora ostvariti minimalno 20 bodova.
Student koji ne ostvari ovaj minimum pristupa usmenom dijelu popravnog ispita. 

Student koji je tokom trajanja semestra ostvario 20 i više bodova, a manje od 40 bodova, pristupa popravnom ispitu. Popravni ispit struktuiran je na slijedeći način: 

- pismeni dio koji je struktuiran na isti način kao i pismeni parcijalni ispit; u okviru ovog ispita student polaže zadatke iz tema za koje nije postigao prolaznu ocjenu (10 i više bodova) polažući parcijalne pismene ispite, 

- usmeni dio koji je struktuiran na isti način kao usmeni dio završnog ispita. 

Usmenom dijelu popravnog ispita može pristupiti student koji je nakon polaganja pismenog dijela popravnog ispita uspio stvariti ukupan skor od 40 i više bodova; ovaj skor sastoji se od bodova ostvarenih kroz: prisustvo nastavi, izradu domaćih zadaća, polaganje parcijalnih sipita i polaganje pismenog dijela popravnog ispita. 

Usmeni popravni ispit donosi maksimalno 40 bodova. Da bi postigao pozitivnu završnu ocjenu student na ovom ispitu mora ostvariti minimalno 20 bodova.
Student koji ne ostvari ovaj minimum ponovno upisuje ovaj kurs.

Napomene

  Zadaci koje student treba riješiti na ispitu su istog tipa kao oni rješavani tokom izvođenja predavanja i tutorijala.