Strukture podataka i algoritmi Prvo predavanje gradivni elementi
- Slides: 19
Strukture podataka i algoritmi Prvo predavanje gradivni elementi strukture podataka LISTE
Tekstualni editor
Heksadecimalni editor
Strukture podataka i algoritmi v. Strukture podataka: “statički aspekt programa” v. 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 strukture podataka algoritam zapisan u programskom jeziku rješenje
Definicije pojmova (podaci) v Tip podataka: Ø skup vrijednosti koje neki podatak može poprimiti (integer, real) v Apstraktni tip podataka Ø zadan jedan ili više tipova podataka, te jedna ili više operacija (procedura; funkcija) primjer kompleksni brojevi v Struktura podataka Ø Skupina varijabli u nekom programu i veza među tim varijablama
Algoritam v 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 v Klijetka (engl. cell) v Polje v Zapis v Pokazivač (engl. pointer) v 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 3. 4 0 5. 6 2 7. 8 1 4
Lista (općenito) v Lista je konačan niz ( od nule ili više podataka istog tipa. Podaci koji čine listu nazivaju se elementima liste ü [a 1, a 2, a 3, …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)=anxen+… anxen Gdje je 0<e 1<e 2…<en Zapravo se radi o listi [(a 1 , e 1), (a 2 , e 2), … , (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 1 2 a 2 3 a 3 4 a 4 5 a 5 6 a 6 Pomoću pokazivača a 1 Glava (header) a 2 a 4 a 5 a 3
- Težinski graf
- Relacioni operatori
- Programski jezici i strukture podataka
- što su pridjevi
- Najmanji gradivni element slike
- Prvo osobno računalo
- Putuja
- Prvo pomagalo za računanje
- Prvo elektroničko računalo
- Prvo
- Prvo ljubavno pismo luko paljetak
- Prvo pomagalo za računanje
- Prvo leto služim besedilo
- Prvo pomagalo za računanje
- Gradovi u kojima je sveti pavao propovijedao
- Prvo kirchhoffovo pravilo
- Matricna organizaciona struktura
- Funkcionalni model organizacione strukture
- Nativna
- Organizacioni dizajn