Image for
Naslovnica

Strukture podataka i algoritmi

  • Predavanje 30
  • Vježbe 30
  • Samostalni rad 120
Ukupno 180

Naziv predmeta

Strukture podataka i algoritmi

Oznaka predmeta

22-00-506

Semestar

2

ECTS

6

Nastavnici i suradnici

Sadržaj i cilj

Ovaj modul uvodi studente u područje podatkovnih struktura i algoritama iz dvije perspektive: koncepti na kojima se temelje i kako ih primijeniti za rješavanje svakodnevnih programerskih problemskih zadataka.

Ovo je središnji modul u sklopu studija Programskog inženjerstva te studenti proširuju znanja, razumijevanje i vještine stečene pohađanjem modula Programiranje u prvom semestru. Pohađanjem ovog modula, studenti stječu vještine za rješavanje složenijih problemskih zadataka u području programiranja. U sklopu ovog modula, studenti također stječu znanja potrebna za pohađanje budućih modula. Stečene vještine značajno doprinose stručnom razvoju studenata u povezanim profesionalnim područjima.

Studenti će naučiti:
• apstraktne tipove podataka poput popisa, povezanih popisa, stogova, redova čekanja, tablica raspršivanja, rječnika prikazanih binarnim stablima traženja i slično
• konkretnu implementaciju u biblioteku STL
• algoritme povezane s podatkovnim strukturama poput izmjena, pretraživanja, razvrstavanja, ponavljanja i slično
• izraziti i tumačiti algoritamsku složenost.

Modul se podučava u programskom jeziku C++. Završno vrednovanje se temelji na rješavanju niza praktičnih zadataka u programskom jeziku C++ uporabom zadanih alata za razvoj softvera.

Literatura

Obvezna literatura:
1. Demistificirani C++

Preporučena literatura:
1. O'Dwyer, A. (2017) Mastering the C++17 STL: Make full use of the standard library components in C++17. Birmingham: Packt Publishing.

Dodatna literatura:
1. Cormen, T. (2009) Introduction to Algorithms. 3rd edn. Cambridge: MIT Press.

Preuzmi vodič za studente

Minimalni ishodi učenja

  • Utvrditi i obrazložiti vremensku složenost a priori i a posteriori za zadani algoritam izveden u programskom jeziku.
  • Izraditi rješenje upotrebom linearnih podatkovnih struktura (lista, povezana lista, stog, red) i povezanih algoritama.
  • Izraditi rješenje upotrebom hijerarhijskih podatkovnih struktura (binarno stablo, hrpa, prioritetni red) i povezanih algoritama.
  • Izraditi rješenje upotrebom rječnika izvedenih binarnim stablima traženja i povezanih algoritama.
  • Opisati algoritme sortiranja i pretraživanja i izraditi rješenje na temelju algoritama sortiranja i pretraživanja.
  • Izraditi rješenje upotrebom tehnika adresiranja i objasniti njihovu vremensku složenost.

Željeni ishodi učenja

  • Izraditi složenija programska rješenja upotrebom projekata s više datoteka i korisnički definiranim tipovima podataka.
  • Izraditi složenije rješenje upotrebom linearnih podatkovnih struktura (lista, povezana lista, stog, red) i povezanih algoritama.
  • Izraditi složenije rješenje upotrebom hijerarhijskih podatkovnih struktura (binarno stablo, hrpa, prioritetni red) i povezanih algoritama.
  • Izraditi složenije rješenje upotrebom rječnika izvedenih binarnim stablima i povezanih algoritama.
  • Opisati algoritme sortiranja i pretraživanja i izraditi složenije rješenje na temelju algoritama sortiranja i pretraživanja.
  • Izraditi složenije rješenje upotrebom tehnika adresiranja i objasniti njihovu vremensku složenost.
Podijeli: Facebook Twitter