SlideShare una empresa de Scribd logo
1 de 19
Strukture podataka i algoritmi
Prvo predavanje gradivni
elementi strukture podataka
LISTE
Tekstualni editor
Heksa-
decimalni
editor
Strukture podataka i
algoritmi
Strukture podataka:
“statički aspekt programa”
Algoritmi:
“dinamički aspekt programa”
Rješavanje problema metodom
postepenog profinjavanja
problem
matematički model
globalni opis
algoritma problema
apstraktni tipovi podataka
algoritam
zapisan pseudo kodom
algoritam zapisan u
programskom jeziku
strukture podataka
rješenje
Definicije pojmova (podaci)
Tip podataka:
skup vrijednosti koje neki podatak može
poprimiti (integer, real)
Apstraktni tip podataka
zadan jedan ili više tipova podataka, te
jedna ili više operacija (procedura; funkcija)
primjer kompleksni brojevi
Struktura podataka
Skupina varijabli u nekom programu i veza
među tim varijablama
Algoritam
Konkretna realizacija apstraktnog tipa
podataka u nekom programu.
Konačni niz instrukcija od kojih svaka ima
jasno značenje i može biti izvršena u
konačnom vremenu
Iste instrukcije mogu se izvršiti više puta
pod pretpostavkom da same instrukcije
ukazuju na ponavljanje
Elementi od kojih se grade
strukture podataka
Klijetka (engl. cell)
Polje
Zapis
Pokazivač (engl. pointer)
Kursor
Klijetka (engl. cell)
Varijabla koju promatramo kao
zasebnu cjelinu
Relativan pojam jer možemo
analizirati i njenu unutarnju građu u
određenim okolnostima
Svaka klijetka ima tip i adresa
Sadržaj klijetke odgovarajućeg tipa
Gradivni element polja
Polje
Mehanizam
udruživanja manjih
dijelova strukture u
veće
Više klijetki istog tipa
pohranjeni na
uzastopnim adresama
Broj klijetki je
unaprijed zadan i
nepromjenljiv
Indeksi cjelobrojne
konstante
1
2
3
4
5
6
Zapis
Još jedan način udruživanja
manjih cjelina u veće
strukture
Zapis čini više klijetki koje ne
moraju biti istog tipa ali su
pohranjene na uzastopnim
adresama
Pojedina klijetka zove se
komponenta zapisa
Zapise možemo kombinirati u
polja
Pokazivač ( engl. Pointer)
Klijetka koja pokazuje na
neku drugu klijetku
Služi za uspostavljanje
veze između dijelova
strukture
Sadržaj pokazivača je
adresa klijetke koju treba
pokazati
Kursor
Također povezuje dijelove
strukture
Klijetka tipa integer koja
pokazuje na element u polju
Sadržaj kursora je indeks tog
elementa polja
i
Primjer strukture podataka
4 2
1 1.3 3
2 3.4 0
3 5.6 2
4 7.8 1
Lista (općenito)
 Lista je konačan niz ( od nule ili više podataka
istog tipa. Podaci koji čine listu nazivaju se
elementima liste
 [a1,a2,a3,…an ]
 n - duljina liste
 Ako je n=0 prazna lista
 Definiran prethodnik i sljedbenik
 Broj elemenata nije fiksan
 Identitet elementa liste određen njegovim
pozicijom
Primjer liste
Polinom
P(x)=anxe
n+ anxe
n+… anxe
n
Gdje je 0<e1<e2…<en
Zapravo se radi o listi
[(a1 ,e1),(a2 ,e2), … ,(an ,en)]
Operacije nad listama
END(L) – funkcija koja vraća poziciju na kraj liste
MAKE_NULL(L) – pretvara listu u praznu listu i vraća
poziciju END(L)
INSERT(x,p,L) – ubacuje podatak x na poziciju p u listi L
DELETE(p,L) – izbacuje element p iz liste L
FIRST(L) – funkcija vraća prvu poziciju u listi, za praznu
listi vraća END(L)
NEXT(p,L), PREVIOUS(p,L) vraća poziciju ispred
odnosno iza u listi
RETRIVE(p,L)
Implementacija listi
Pomoću polja Pomoću pokazivača
1 a1
2 a2
3 a3
4 a4
5 a5
6 a6
a1
a2
a4
a5 a3
Glava
(header)

Más contenido relacionado

Más de OsnovnakolaJovanCvij

Más de OsnovnakolaJovanCvij (10)

CS02.ppt
CS02.pptCS02.ppt
CS02.ppt
 
5.4.1._tehnicka_dokumentacija_0.pptx
5.4.1._tehnicka_dokumentacija_0.pptx5.4.1._tehnicka_dokumentacija_0.pptx
5.4.1._tehnicka_dokumentacija_0.pptx
 
346913768-Mjerenja-ppt.ppt
346913768-Mjerenja-ppt.ppt346913768-Mjerenja-ppt.ppt
346913768-Mjerenja-ppt.ppt
 
abc_algoritmi_teorija.ppt
abc_algoritmi_teorija.pptabc_algoritmi_teorija.ppt
abc_algoritmi_teorija.ppt
 
značaj_i_primena_računara(2).ppt
značaj_i_primena_računara(2).pptznačaj_i_primena_računara(2).ppt
značaj_i_primena_računara(2).ppt
 
01 _ Brojni sistemi i predstavljanje brojeva _ 2013.ppt
01 _ Brojni sistemi i predstavljanje brojeva _ 2013.ppt01 _ Brojni sistemi i predstavljanje brojeva _ 2013.ppt
01 _ Brojni sistemi i predstavljanje brojeva _ 2013.ppt
 
Presentation1.pptx
Presentation1.pptxPresentation1.pptx
Presentation1.pptx
 
Presentation1.pptx
Presentation1.pptxPresentation1.pptx
Presentation1.pptx
 
5 Pred5.ppt
5 Pred5.ppt5 Pred5.ppt
5 Pred5.ppt
 
Техничка документација 1.pptx
Техничка документација 1.pptxТехничка документација 1.pptx
Техничка документација 1.pptx
 

spa1.ppt

  • 1. Strukture podataka i algoritmi Prvo predavanje gradivni elementi strukture podataka LISTE
  • 2.
  • 5. Strukture podataka i algoritmi Strukture podataka: “statički aspekt programa” Algoritmi: “dinamički aspekt programa”
  • 6. Rješavanje problema metodom postepenog profinjavanja problem matematički model globalni opis algoritma problema apstraktni tipovi podataka algoritam zapisan pseudo kodom algoritam zapisan u programskom jeziku strukture podataka rješenje
  • 7. Definicije pojmova (podaci) Tip podataka: skup vrijednosti koje neki podatak može poprimiti (integer, real) Apstraktni tip podataka zadan jedan ili više tipova podataka, te jedna ili više operacija (procedura; funkcija) primjer kompleksni brojevi Struktura podataka Skupina varijabli u nekom programu i veza među tim varijablama
  • 8. Algoritam Konkretna realizacija apstraktnog tipa podataka u nekom programu. Konačni niz instrukcija od kojih svaka ima jasno značenje i može biti izvršena u konačnom vremenu Iste instrukcije mogu se izvršiti više puta pod pretpostavkom da same instrukcije ukazuju na ponavljanje
  • 9. Elementi od kojih se grade strukture podataka Klijetka (engl. cell) Polje Zapis Pokazivač (engl. pointer) Kursor
  • 10. Klijetka (engl. cell) Varijabla koju promatramo kao zasebnu cjelinu Relativan pojam jer možemo analizirati i njenu unutarnju građu u određenim okolnostima Svaka klijetka ima tip i adresa Sadržaj klijetke odgovarajućeg tipa Gradivni element polja
  • 11. Polje Mehanizam udruživanja manjih dijelova strukture u veće Više klijetki istog tipa pohranjeni na uzastopnim adresama Broj klijetki je unaprijed zadan i nepromjenljiv Indeksi cjelobrojne konstante 1 2 3 4 5 6
  • 12. Zapis Još jedan način udruživanja manjih cjelina u veće strukture Zapis čini više klijetki koje ne moraju biti istog tipa ali su pohranjene na uzastopnim adresama Pojedina klijetka zove se komponenta zapisa Zapise možemo kombinirati u polja
  • 13. Pokazivač ( engl. Pointer) Klijetka koja pokazuje na neku drugu klijetku Služi za uspostavljanje veze između dijelova strukture Sadržaj pokazivača je adresa klijetke koju treba pokazati
  • 14. Kursor Također povezuje dijelove strukture Klijetka tipa integer koja pokazuje na element u polju Sadržaj kursora je indeks tog elementa polja i
  • 15. Primjer strukture podataka 4 2 1 1.3 3 2 3.4 0 3 5.6 2 4 7.8 1
  • 16. Lista (općenito)  Lista je konačan niz ( od nule ili više podataka istog tipa. Podaci koji čine listu nazivaju se elementima liste  [a1,a2,a3,…an ]  n - duljina liste  Ako je n=0 prazna lista  Definiran prethodnik i sljedbenik  Broj elemenata nije fiksan  Identitet elementa liste određen njegovim pozicijom
  • 17. Primjer liste Polinom P(x)=anxe n+ anxe n+… anxe n Gdje je 0<e1<e2…<en Zapravo se radi o listi [(a1 ,e1),(a2 ,e2), … ,(an ,en)]
  • 18. Operacije nad listama END(L) – funkcija koja vraća poziciju na kraj liste MAKE_NULL(L) – pretvara listu u praznu listu i vraća poziciju END(L) INSERT(x,p,L) – ubacuje podatak x na poziciju p u listi L DELETE(p,L) – izbacuje element p iz liste L FIRST(L) – funkcija vraća prvu poziciju u listi, za praznu listi vraća END(L) NEXT(p,L), PREVIOUS(p,L) vraća poziciju ispred odnosno iza u listi RETRIVE(p,L)
  • 19. Implementacija listi Pomoću polja Pomoću pokazivača 1 a1 2 a2 3 a3 4 a4 5 a5 6 a6 a1 a2 a4 a5 a3 Glava (header)