Jelena Ignjatovi STRUKTURE PODATAKA Strukture podataka Pojam struktura

  • Slides: 12
Download presentation
Jelena Ignjatović STRUKTURE PODATAKA

Jelena Ignjatović STRUKTURE PODATAKA

Strukture podataka Pojam struktura podataka označava način podrške podacima od strane računara, koja omogućava

Strukture podataka Pojam struktura podataka označava način podrške podacima od strane računara, koja omogućava efikasnu uporabu tih podataka. Vrlo često dobar izbor strukture podataka omogućuje i uporabu efikasnijeg algoritma obrade. Različite vrste struktura podataka odgovaraju različitim vrstama programskih problema. U rešavanju složenih programskih zadataka, izbor struktura podataka koje će se primjeniti jedan je od najvažnijih koraka. Izborom odovarajuće strukture podataka, često je određen i algoritam kojeg treba upotrebiti. Ukratko, možemo reći da je “struktura podataka” logički ili matematički model određene organizacije podataka. .

Osnovne strukture Sledeće strukture podataka i operacije na njima predstavljaju osnovni elementi brojnih algoritama:

Osnovne strukture Sledeće strukture podataka i operacije na njima predstavljaju osnovni elementi brojnih algoritama: Niz ili polje (eng. array) – sekvencijalni niz podataka istog tipa koje imaju zajedničko ime

Osnovne strukture Slog (eng. record) - skup podataka koji mogu biti različitog tipa, niz

Osnovne strukture Slog (eng. record) - skup podataka koji mogu biti različitog tipa, niz slogova obično je deo datoteke ili tablice Lista, povezana lista (eng. linked list) – niz elemenata koji sadrže podatke i pokazivače na sledeći element Stek (eng. stack) – niz elemenata u kome se ubacivanje i brisanje elemenata može vršiti samo na jednom kraju niza Red (eng. queue) – niz elemenata kod koga se elementi dodaju na jedan kraj i brišu sa drugog Stablo, binarno stablo (eng. binary tree) – hijerarhijska struktura u kojoj svaki element može imati najviše jednog prethodnika Graf (eng. graph) – struktura u kojoj svaki element može biti povezan sa više drugih elemenata

Linearne i nelinearne strukture Struktura je linearna ako njeni elementi čine niz– linearnu listu.

Linearne i nelinearne strukture Struktura je linearna ako njeni elementi čine niz– linearnu listu. Postoje dva osnovna načina prikaza linearnih struktura u memoriji računara: v linearna veza između elemenata ostvarena je nizom memorijskih lokacija – karakteristično za nizove v linearna veza između elemenata ostvarena je pokazivačima – karakteristično za povezane liste Nelinearne strukture su stabla i grafovi.

Statičke i dinamičke strukture Strukture podataka možemo podeliti na statičke i dinamičke. Statičke strukture

Statičke i dinamičke strukture Strukture podataka možemo podeliti na statičke i dinamičke. Statičke strukture podataka su fiksne veličine i ta veličina se određuje u fazi kompajliranja programa. U ove strukture podataka spadaju na primer nizovi, jer njihovu veličinu zadajemo prilikom deklaracije. Nasuprot statičkim strukturama postoje i dinamičke strukture podataka čija veličina može da se menja u toku izvršavanja programa. Statičke strukture se u programima brže obrađuju, ali je njihova mana što mogu zauzimati mnogo više od potrebne memorije.

Statičke i dinamičke strukture U tom smislu dinamičke strukture imaju prednost jer koriste tačno

Statičke i dinamičke strukture U tom smislu dinamičke strukture imaju prednost jer koriste tačno onoliko memorije koliko je potrebno, ali su, sa druge strane one teže za implementaciju jer je potrebno implementirati i deo koji se odnosi na upravljanje memorijom. Dinamičke strukture podataka se implementiraju korišćenjem pokazivača.

MATRICE Matrica ili dvodimenzionalni niz je niz čiji su elementi jednodimenzionalni nizovi. Matricu možemo

MATRICE Matrica ili dvodimenzionalni niz je niz čiji su elementi jednodimenzionalni nizovi. Matricu možemo predstaviti kao tabelu koja ima n vrsta i m kolona.

Ovde vidimo da se elementi jednodimenzionalnog niza identifikuju sa a[i][j] gde su i i

Ovde vidimo da se elementi jednodimenzionalnog niza identifikuju sa a[i][j] gde su i i j pozitivni celi brojevi i predstavljaju indekse nizova. Dvodimenzionalni nizovi se mogu inicijalizovati na sličan način kao jednodimenzionalni, dodelom vrednosti svim elementima niza na sledeći način:

Štampanje elemenata na glavnoj dijagonali matrice Strukture u C-u nam omogućavaju da napravimo nove

Štampanje elemenata na glavnoj dijagonali matrice Strukture u C-u nam omogućavaju da napravimo nove tipove podataka koji predstavljaju kolekciju podataka različitog tipa. Sintaksa kojom se kreira struktura je struct [oznaka_strukture]{ definicija jednog člana strukture; . . . };

Strukture se najčešće definišu na početku, pre funckije main, i koriste se u funkciji

Strukture se najčešće definišu na početku, pre funckije main, i koriste se u funkciji main i u drugim funkcijama. Svaka struktura je poseban tip podataka i mogu se deklarisati promenljive tipa strukture (strukturne promenljive) i u okviru tih promenljivih može se pristupati pojedinačnim elementima strukture, mogu im se dodeljivati, čitati i menjati vrednosti i mogu se koristiti u izrazima. Pojedinačnim elementima strukture pristupa se korišćenjem tačke, na sledeći način: naziv. Promenljive. naziv. Elementa

Definicija tipa - typedef Strukture se često koriste zajedno sa oznakom za definiciju tipa

Definicija tipa - typedef Strukture se često koriste zajedno sa oznakom za definiciju tipa typedef. Reč typedef se koristi u C-u za definisanje novih tipova na osnovu postojećih i preimenovanje tipa, na primer: typedef int ceo_broj; uvodi novo ime ceo_broj za tip podataka int. Posle ovakve definicije možemo da deklarišemo promenljivu na sledeći način: ceo_broj br; Ako se koristi sa strukturom, reč typedef uvodi novi tip podataka strukture.