Predgovor

Udžbenik pred vama je namenjen studentima druge godine Matematičkog fakulteta Univerziteta u Beogradu i koristi se za predmet “Konstrukcija i analiza algoritama” na drugoj godini studijskog programa Informatika.

Pretpostavlja se da su studenti u ranijem školovanju uspešno savladali osnovne elemente programiranja i da su ovladali osnovama algoritmike (asimptotskom analizom složenosti i \(O\)-notacijom, osnovnim tehnikama konstrukcije i analize algoritama i osnovnim strukturama podataka).

Teorijski pregledi algoritama i struktura podataka daju informacije na osnovu kojih bi čitalac trebalo da bude u mogućnosti da samostalno kreira implementaciju u programskom jeziku koji odabere. Ipak, ilustracije radi, algoritmi su implementirani u savremenom jeziku C++ uz intenzivno korišćenje standardne biblioteke tog programskog jezika. Znanje ovog jezika i biblioteke se, stoga, podrazumeva.

Materijal izložen u ovom udžbeniku prevazilazi okvire jednog jednosemestralnog kursa i na nastavniku je da odabere podskup tema koje želi da obradi u toku kursa. Neke teme se mogu i ostaviti studentima za samostalni rad.

Nakon svakog poglavlja dato je nekoliko zadataka koji ilustruju primene opisanih tehnika. Ti zadaci predstavljaju samo ilustraciju, a studentima koji žele da steknu bolje programerske veštine se savetuje da prorade veći broj zadataka koji se mogu naći u namenskim zbirkama zadataka iz oblasti algoritmike, ali i na mnogim onlajn portalima posvećenim učenju programiranja (na primer, petlja.org, codeforces.com, leetcode.com, geeksforgeeks.org itd.).

Knjiga ima i prateće online izdanje u kome se nalaze interaktivni apleti koji mogu pomoći studentima u razumevanju nekih tema.

Mole se čitaoci da na sve propuste i eventualne greške ukažu autorima.

Na veoma pažljivom čitanju i komentarima i sugestijama koje su doprinele kvalitetu knjige zahvaljujemo recenzentima Miodragu Živkoviću, Predragu Janičiću i Draganu Uroševiću, koleginici Tijani Šukilović. Takođe se zahvaljujemo studentima koji su svojim komentarima doprineli ispravljanju uočenih grešaka i propusta.

Autori