FESB NASTAVA
    Prijediplomski
    120 Računarstvo
    4. semestar
    Nema predmeta

    Algoritmi

    (FELB07)
    2024/25 godina
    preduvjeti za upis
    Uvod u računala i programiranje, Programiranje
    ciljevi predmeta

    Osposobljavanje studenata za:
    • dizajniranje efikasnih algoritama i analiziranje karakteristika algoritama (brzina i memorija)
    • usvajanje praktičnih znanja o algoritmima za sortiranje i graf algoritmima

    očekivani ishodi učenja

    Studenti će nakon uspješno savladanog predmeta moći:
    1. analizirati vrijeme izvršavanja algoritama
    2. objasniti i primijeniti različite algoritme sortiranja
    3. objasniti i primijeniti algoritme temeljene na grafovima
    4. primijeniti tehniku dinamičkog programiranja

    nositelji predmeta
    nastava i predavači
     
    Predavanja
    45 sati
    3 sata tjedno × 15 tjedana
     
    Laboratorijske vježbe
    30 sati
    2 sata tjedno × 15 tjedana
    sadržaj

    Matematička indukcija i logika. Tehnike analize rješavanjem rekurzivnih jednadžbi. Podijeli pa vladaj, greedy metoda, backtracking, branch and bound tehnike, dinamičko programiranje. Analiza efikasnosti algoritama. Dizajn efikasnih algoritama. Algoritmi za sortiranje (heap sort, quick sort, merge sort). Algoritmi za sortiranje u realnom vremenu. Graph algoritmi: DFS, BFS Minimum spanning Tree, Floyd-Warshallov alroritam, najduža zajednička podsekvenca, množenje lanca matrica, FFT, NP-potpunost.

    preporučena literatura
    • Hrvoje Dujmić: „Algoritmi“, interna skripta

    dopunska literatura
    • T.Cormen, C.Leiserson, R.Rivest, C.Stein: „Introduction to Algorithms“, second edition, third printing, McGraw-Hill, 2002

    jezik poduke
    Hrvatski
    način praćenja kvalitete i uspješnosti izvedbe svakog predmeta i/ili modula

    Mišljenja studenata o kvaliteti nastave putem anketa.
    Nastavnici koji podučavaju srodne predmete surađuju i zajednički vode brigu o kvaliteti nastave.
    Povremeno promatranje i evaluacija nastave od strane predstojnika odsjeka/ šefa katedre, itd.

    ispit (način polaganja, ispitni rokovi)

    Tijekom semestra bit će dva međuispita (kolokvija). Prvi međuispit je nakon 8 tjedana nastave, drugi nakon 15 tjedana nastave. Na završnom ispitu studenti polažu dijelove gradiva koje nisu položili na međuispitima. Međuispit se sastoji od 5 pitanja/zadataka. Uvjet za izlazak na kolokvij je 70% prisustva nastavi. Uvjet za pozitivnu ocjenu iz kolokvija je 45% bodova.
    Uvjet za pozitivnu ocjenu je prisustvo laboratorijskim vježbama i položena oba kolokvija.

    Ocjena(%)=0.5*(M1 + M2)
    M1, M2 – ocjena na međuispitima.

    Konačna se ocjena utvrđuje na sljedeći način:
    Postotak Ocjena
    50% do 61% dovoljan (2)
    62% do 74% dobar (3)
    75% do 87% vrlo dobar (4)
    88% do 100% izvrstan (5)

    Studenti koji ne polože ispit preko kolokvija polažu pismeni ispit koji sadrži 6 pitanja/ zadataka.

    Ispitni rokovi:

    Ispiti će se održavati prema rasporedu.

      Nastavne jedinice za Predavanja Broj sati
    1.

    Uvod. Što su algoritmi. Analiziranje algoritama na primjeru 2-D maksimuma.

    3 sata
    2.

    Analiziranje petlji. Rješavanje suma. Rješavanje problema 2-D maksimuma – metoda prelaženja ravnine.

    3 sata
    3.

    Asimptotsko označavanje. Ograničeno pravilo.

    3 sata
    4.

    Tehnika podijeli pa vladaj. Mergesort (pseudokod, analiza vremena izvršavanja). Rekurzija (traženje uzorka, metoda iteracije, metoda rekurzivnog stabla). Master teorem.

    3 sata
    5.

    Heap struktura podataka. Heapsort (pseudokod, analiza vremena izvršavanja).

    3 sata
    6.

    Quicksort (pseudokod, analiza vremena izvršavanja).

    3 sata
    7.

    Donja granica vremena izvršavanja algoritama za sortiranje. Sortiranje s linearnim vremenom. (sortiranje brojenjem, korijensko sortiranje).

    3 sata
    8.

    Algoritmi temeljeni na grafovima (osnovni pojmovi i definicije).

    3 sata
    9.

    Prikaz grafova pomoću matrice susjedstva i pomoću liste susjedstva. Pretraživanje po širini.

    3 sata
    10.

    Najkraći putovi svih parova. Dinamičko programiranje. Floyd-Warshallov algoritam.

    3 sata
    11.

    Dijkstrin algoritam. Složenost Dijkstrinog algoritma. Eulerovi putevi i ciklusi u grafu. Algoritam za nalaženje Eulerovih ciklusa i složenost.

    3 sata
    12.

    Najduža zajednička podsekvenca. Množenje lanca matrica.

    3 sata
    13.

    Problemi odlučivanja. NP i verifikacija polinomskim vremenom. NP potpunost. Redukcija. Hamiltonov put i Hamiltonov ciklus.

    3 sata
      Nastavne jedinice za Laboratorijske vježbe Broj sati
    1.

    Analiza tipičnih vremena izvršavanja algoritama.

    2 sata
    2.

    Rješavanje suma.

    2 sata
    3.

    Mergesort I.

    2 sata
    4.

    Mergesort II

    5.

    Rješavanje rekurzija.

    2 sata
    6.

    Heapsort.

    2 sata
    7.

    Quicksort.

    2 sata
    8.

    Algoritmi za sortiranje u linearnom vremenu.

    2 sata
    9.

    Prikaz grafova.

    2 sata
    10.

    Pretraživanje po širini.

    2 sata
    11.

    Dinamičko programiranje.

    2 sata
    12.

    Dijkstrin algoritam.

    2 sata
    13.

    Najduža zajednička podsekvenca.

    2 sata
    Niste više prijavljeni

    Istekla vam je prethodna prijava te se morate ponovno prijaviti.

    Nastao je problem u radu sustava

    Informacije o problemu smo pohranili i nastojat ćemo ga riješiti. Ako vas ova greška sprječava da obavite nešto važno, možete nas odmah kontaktirati na helpdesk@fesb.hr.

    Vaš preglednik nije podržan

    Koristite web preglednik koji nije podržan. Za puno korisničko iskustvo, preuzmite najnoviju inačicu vašeg preglednika.