Fakultet tehničkih nauka

Predmet: Softverski algoritmi u sistemima automatskog upravljanja (17.E2312)

Matične organizacione jedinice predmeta: Odsek za automatiku, geomatiku i upravljanje sistemima
Osnovne informacije:
 
Kategorija Stručno-aplikativni
Uža naučna oblast Automatika i upravljanje sistemima
Multidisciplinarna Ne
ESPB 8
Cilj:

Sticanje opštih znanja o algoritmima i strukturama podataka. Razumevanje složenosti algoritama i učenje brojnih algoritama za česte programerske probleme i primene u upravljačkim sistemima.

Ishod:

Primena algoritama i struktura podataka u realizaciji softvera u upravljačkim sistema. Stečena znanja o njihovoj implementaciji i praktično razumevanje složenosti izvršavanja.

Sadržaj:

Osnove algoritama (definicija, osobine, analiza algoritama, opis algoritma, osnovni problemi, složenost algoritma, asimptotske notacije …). Problem pretrage (presudo kod, linearna pretraga, binarna pretraga). Problem sortiranja i algoritmi sortiranja (selection sort, Insertion sort, rekurzija i tehnika podeli i vladaj, merge sort, quicksort, Heap struktura i heapsort, red sa prioritetima, …). Algoritmi sortiranja linearne složenosti (counting sort, radix sort, bucket sort). Redosledna statistika (opis problema, minimum i maksimum, medijana, select algoritam). Strukture podataka (osnovne strukture podataka, stek i red, povezane liste, tipovi lista, operacije, implementacija lista, stabla, binarna stabla, binarno stablo pretrage, AVL stablo, …). Heširanje (rečnik podataka, operacije, funkcije heširanja, kolizije, otvoreno adresiranje i ulančavanje, asimptotska složenost algoritma, rad u realnom vremenu, …). Grafovi (definicija, primena i tipovi grafova, usmereni aciklični graf, predstavljanje grafova (matrica i lista susedstva). Algoritmi rada sa grafovima (topološko sortiranje, obilazak grafa, pretraga u širinu, pretraga u dubinu, bojenje grafa, podela grafa, …). Najkraći put u težinskom grafu (najkraći put u DAG, Dijkstra algoritam, Bellman-Ford algoritam, …). Klasifikacije problema (P i NP problemi, NP-kompletan problem, NP-teški problemi, eksponencijalni problemi, primeri problema). Dinamičko programiranje (primena, primeri). Paralelni algoritmi (sekvencijalni i paralelni algoritmi, Amdalov zakon, poteškoće u implementaciji, primeri). Primeri algoritama sa primenama.

Metodologija izvođenja nastave:

Predavanja. Računarske vežbe. Konsultacije.

Literatura:
Autori Naziv Godina Izdavač Jezik
Thomas H. Cormen Algorithms Unlocked 2013 MIT Press Engleski
Papadimitriou, C.H., Steiglitz, K. Combinatorial optimization: algorithms and complexity 1982 Prentice Hall, Englewood Cliffs Engleski
D. Čapko Štampani materijal koji pokriva izlaganja i vežbe 2017 FTN Srpski jezik
Cormen, T.H. et al. Introduction to Algorithms 2009 MIT Press, Cambridge Engleski
Formiranje ocene:
Predmetna aktivnost Predispitna Obavezna Broj poena
Predmetni projekat Da Da 30.00
Test Da Da 10.00
Test Da Da 10.00
Test Da Da 10.00
Usmeni deo ispita Ne Da 30.00
Test Da Da 10.00
Izvođači nastave:
Računarske vežbe
Računarske vežbe
API Image

prof. dr Čapko Darko

Redovni profesor

Predavanja