FESB NASTAVA
Loading...
    Stručni
    550 Računarstvo
    3. semestar
    Nema predmeta

    Algoritmi i strukture podataka

    (FELP24)
    2024/25 godina
    preduvjeti za upis
    Programiranje 2
    ciljevi predmeta

    Osposobljavanje studenata za:
    • razumijevanje i primjenu temeljnih znanja o analizi složenosti algoritama,
    • trajno usvajanje i produbljivanje znanja iz područja dinamičke alokacije memorije, te baratanje apstraktnim tipovima podataka kao što su stog, red lista te binarno stablo,
    • razumijevanje i primjena jednostavnih i složenih algoritama za sortiranje.

    očekivani ishodi učenja

    Studenti će nakon uspješno savladanog predmeta moći:
    1. definirati temeljne pojmove vezane uz analizu složenosti algoritama,
    2. objasniti i realizirati postupke dodavanja, brisanja, pretraživanja elemenata u jednostruko i dvostruko vezanim listama,
    3. realizirati funkcije za dodavanje elemenata u stog i red, te njihovo uklanjanje,
    4. prepoznati primjenu apstraktnih tipova podataka u rješavanju problema,
    5. opisati postupke dodavanja, brisanja i pretraživanja elemenata elemenata u binarno stablo za pretraživanje,
    6. koristiti osnovne postupke balansiranja AVL stabala,
    7. imenovati i realizirati različite rekurzivne algoritme za pretraživanje.

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

    Analiza složenosti algoritma. Rekurzivni i iterativni algoritmi. Polje. Lista. Red. Stog. Stabla. Jednostavni i složeni algoritmi za sortiranje. Algoritmi za pretraživanje (sekvencijalno, binarno pretraživanje). Hashing.

    preporučena literatura
    • Mark Allen Weiss, “Data Structures and Algorithm Analysis in C”,(poglavlja 1-6)

    dopunska literatura
    • Robert Sedgewick, “Algorithms in C”

    • Richard Neapolitan, Kumarrs Naimipour, “Foundations of Algorithms”

    jezik poduke
    Hrvatski/engleski
    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)

    Ispit se sastoji od teoretskog i laboratorijskog dijela. Jednom kada se neki od dijelova položi, ocjena vrijedi do kraja akademske godine.
    Laboratorijski dio se polaže na računalima po završetku laboratorijskih vježbi, te nakon toga na svakom ispitnom roku.
    Teoretski dio se polaže pismeno i to podijeljen u dva kolokvija. Tijekom semestra bit će organiziran jedan kolokvij, a na svim ostalim rokovima studenti mogu birati koji će kolokvij polagati (mogu i oba istovremeno).
    Uvjeti za pozitivnu ocjenu su: odrađene laboratorijske vježbe 100%, pozitivna ocjena iz laboratorijskih vježbi i više od 50% bodova na svakom od kolokvija.
    Konačna ocjena se računa na slijedeći način:
    Ocjena = 0,5*L + 0,5*T
    L - ocjena iz laboratorijskih vježbi,
    T – ocjena iz teoretskog dijela.
    Ocjena na teoretskom djelu ispita u ovisnosti o broju bodova se formira na slijedeći način:
    50% do 61% - dovoljan (2),
    62% do 74% - dobar (3),
    75% do 87% - vrlo dobar (4),
    88% do 100% - izvrstan (5).
    Ispitni rokovi: Prema kalendaru nastave.

      Nastavne jedinice za Predavanja Broj sati
    1.

    Uvodno predavanje o predmetu, ponavljanje osnovnih elemenata C programskog jezika (rekurzivne funkcije, strukture, pokazivači, dinamičko alociranje memorije, rad s datotekama).

    2 sata
    2.

    Matematička pozadina analize algoritam i proračun vremena izvršavanja algoritma

    2 sata
    3.

    Apstraktni tipovi podataka, jednostavna implementacija vezane liste i osnovnih operacija u vezanoj listi

    2 sata
    4.

    Dvostruko vezane liste, cirkularne liste

    2 sata
    5.

    Stog, primjena stoga (okvir stoga, balansiranje simbola), red

    2 sata
    6.

    Binarna stabla za pretraživanje. i osnovne operacije u binarnom stablu za pretraživanje

    2 sata
    7.

    AVL stabla

    2 sata
    8.

    Osnovne metode sortiranja.

    2 sata
    9.

    Sortiranje indeksa i pokazivača, sortiranje vezanih lista.

    2 sata
    10.

    "ShellSort", "QuickSort"

    2 sata
    11.

    "Mergesort", "Heapsort"

    2 sata
    12.

    Pretraživanje po sekvencijalno i binarno pretraživanje

    2 sata
    13.

    Grupiranje podataka (engl. hashing)

      Nastavne jedinice za Laboratorijske vježbe Broj sati
    1.

    Osnovne operacije u nizu struktura.

    2 sata
    2.

    Dodavanje novog elementa na početak i kraj vezane liste, ispis vezane liste.

    2 sata
    3.

    Upis i čitanje vezane liste iz datoteke.

    2 sata
    4.

    Pretraživanje vezane liste i brisanje elementa iz liste.

    2 sata
    5.

    Dodavanje novog elementa u vezanu listu ispred i iza određenog elementa.

    2 sata
    6.

    Sortiranje vezane liste.

    2 sata
    7.

    Unija i presjek vezanih listi.

    2 sata
    8.

    Stvaranje i ispis binarnog stabla.

    2 sata
    9.

    Sortiranje pomoću "exchange sort" i "selection sort" algoritama.

    2 sata
    10.

    Sortiranje pomoću "insertion sort" i "bubble sort" algoritama.

    2 sata
    11.

    Sortiranje pomoću "Shellsort" algoritma.

    2 sata
    12.

    Sortiranje pomoću "mergesort" algoritma.

    2 sata
    13.

    Sortiranje pomoću "heapsort" algoritma.

    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.