You are on page 1of 9

Algoritmi i Strukture Podataka

[13E112ASP]

Profesor: Milo Tomašević (mvt@etf.bg.ac.rs, kab. 54)


Asistenti: Marko Mišić (marko.misic@etf.bg.ac.rs, kab. 37)
Sanja Delčev (sanjad@etf.bg.ac.rs, kab. 37)
Maja Vukasović (majav@etf.bg.ac.rs, kab. 37)

http://rti.etf.bg.ac.rs/
Pregled gradiva planiranog za auditorne vežbe

• Generatori pseudoslučajnih brojeva, kompresija, BWT


• Linearne strukture (nizovi, liste, stekovi, redovi)
• Stabla (obilasci, primene)
• Kompresija podataka (LZW, statički i dinamički Huffman-
ov algoritam)
KOLOKVIJUM
• Grafovi
• Osnovne metode pretraživanja
• Stabla binarnog pretraživanja
• Stabla opšteg pretraživanja
• Heširanje
• Sortiranje
Elektrotehnički fakultet, Algoritmi i Strukture Podataka 1
Beograd
Polaganje ispita

• Kolokvijum
– zadaci i pitanja iz teorije
– poeni važe do kraja školske godine
– popravni kolokvijum (samo jednom)
– učestvuje 30% u konačnoj oceni

• Ispit
– zadaci i pitanja iz teorije
– učestvuje 70% u konačnoj oceni

• Jedan od zadataka na ispitu je pisanje programa (C/C++)


u vezi sa gradivom obrađenim na predavanjima i vežbama
– Može se zameniti domaćim zadatkom

Elektrotehnički fakultet, Algoritmi i Strukture Podataka 2


Beograd
Uvod – Šta su algoritmi, a šta strukture podataka?
• Kako, u tri koraka, smestiti slona u frižider?
– otvoriti vrata frižidera
– staviti slona u frižider
– zatvoriti vrata frižidera

• Da li je ovo algoritam?
• Definicija algoritma:
– precizno definisana procedura, konačan skup naredbi
– 0 ili više ulaznih podataka
– 1 ili više izlaznih podataka (rezultat primene algoritma)
– nedvosmislenost, za iste ulazne podatke uvek isti izlazni
– konačno vreme izvršenja
– svaka naredba dovoljno jednostavna
Elektrotehnički fakultet, Algoritmi i Strukture Podataka 3
Beograd
Uvod – Šta su algoritmi, a šta strukture podataka?

• Postupak je jasno formulisan, konačan, nedvosmislen


• Problem: i dalje ne znamo – kako izvesti?
• Na scenu stupa struktura podataka:
– predstavlja implementaciju apstraktnog tipa podatka
– apstraktni tip podataka: (mat.) model + skup operacija
– gradi se grupisanjem prostih (osnovnih) tipova podataka

• Za primenu ovog postupka, potrebna je implementacija


modela frižidera sa 3 operacije
(otvaranje, stavljanje, zatvaranje)

Elektrotehnički fakultet, Algoritmi i Strukture Podataka 4


Beograd
Uvod – Šta su algoritmi, a šta strukture podataka?

• Struktura podataka
– konkretizuje apstrakciju uočenu prilikom rešavanja problema
– opšti naziv za složen tip podatka
kome se pridružuje skup mogućih operacija

• Algoritam
– formalni postupak rešavanja određene klase problema
– precizira redosled primene operacija nad prostim tipovima
i strukturama podataka

• Kada to znate:
kako, u četiri koraka, smestiti žirafu u frižider?

Elektrotehnički fakultet, Algoritmi i Strukture Podataka 5


Beograd
Odakle potiče reč "algoritam"? (ako je verovati Vikipediji)

• Al-Khwārizmī – persijski astronom i matematičar


• 825. napisao delo "O računu indijskim brojevima"
• U XII veku delo prevedeno na latinski
"Algoritmi de numero Indorum"
• "Algoritmi" – prevodiočeva transliteracija imena autora
• Pogrešno shvaćeno kao množina reči "Algoritmus"
• Na engleskom: algorithm
• th se verovatno pojavilo zbog pogrešnog združivanja
sa grčkom reči arithmos (broj).

Elektrotehnički fakultet, Algoritmi i Strukture Podataka 6


Beograd
Zašto su bitni Algoritmi i Strukture podataka?

The thing that we can't afford to do […] is teach candidates


how to think critically, to be effective problem solvers, and to
have basic mastery of programming languages, data
structures, algorithms, concurrency, networking, computer
architecture, and discrete math / probability / statistics.
I can't begin to emphasize the importance of
algorithms and data structures to the work we do here […].
With multi-terabyte disks, bigger broadband pipes, etc. on the
way, the big data problems that demand these skills […] are
quickly going to be in need in a huge number of programming
contexts.

Izjava (industrijskog) komentatora,


preuzeta iz ACM/IEEE Computer Science Curriculum 2008

Elektrotehnički fakultet, Algoritmi i Strukture Podataka 7


Beograd
Zašto su bitni Algoritmi i Strukture podataka? (2)

[...] Bez obzira da li je praksa ili zaposlenje u pitanju


[u Microsoft-ovom razvojnom centru u Beogradu], potrebno
je proći jedan pismeni test i nakon toga intervju. Da bi se to
prošlo, na osnovu mog iskustva dovoljno je malo ponoviti
matematiku iz prve godine,
osnove verovatnoće, ali pre svega Algoritme i Strukture
Podataka iz 2. godine. [...]

Miodrag Radulović
Microsoft, Beograd
Bivši demonstrator ETF/RTI

Elektrotehnički fakultet, Algoritmi i Strukture Podataka 8


Beograd

You might also like