Program se primenjuje od 23.07.2017..
Sticanje opštih znanja o algoritmima i strukturama podataka. Razumevanje složenosti algoritama i učenje brojnih algoritama za česte programerske probleme.
Naučeni osnovni algoritmi i strukture podataka. Stečena znanja o njihovoj implementaciji i praktično razumevanje složenosti izvršavanja.
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, …). 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, …). 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 u kriptografiji, kompresiji podataka, rad sa stringovima, ...)
Predavanja; auditorne i računarske vežbe; konsultacije.
Autori | Naziv | Godina | Izdavač | Jezik |
---|
A. Erdeljan | Štampani materijal koji pokriva izlaganja i vežbe | 2016 | | Srpski jezik |
Cormen, T.H. et al. | Introduction to Algorithms | 2009 | MIT Press, Cambridge | Engleski |
Thomas H. Cormen | Algorithms Unlocked | 2013 | MIT Press | Engleski |
Wirth, N. | Algorithms and data structures | 1986 | Prentice-Hall, Englewood Cliffs | Engleski |
Hotomski Petar, Malbaški Dušan | Matematička logika i principi programiranja | 2000 | Univerzitet, Novi Sad | Srpski jezik |
Uhr, Leonard | Algorithm-Structured Computer Arrays and Networks | 1984 | Academic Press | Engleski |
Yatsko, A., Suslow, W. | Insight into Theoretical and Applied Informatics : Introduction to Information Technologies and Computer Science | 2015 | De Gruyter Open, Berlin | Engleski |
Stojaković Mirko | Algoritmi i automati | 1972 | Radnički univerzitet "Radivoj Ćirpanov", Novi Sad | Srpski jezik |
Knuth, D.E. | The Art of Computer Programming | 1998 | Addison-Wesley, Upper Saddle River | Engleski |
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 |
Test | da | da | 10.00 |
Usmeni deo ispita | ne | da | 30.00 |
| Ime i prezime | Vid nastave |
---|
| | Predavanja |
| | Računarske vežbe |
| | Računarske vežbe |
| | Računarske vežbe |
| | Računarske vežbe |