22
Strukture Strukture podataka i podataka i algoritmi algoritmi Linearne Linearne strukture strukture

Linearne strukture.ppt

Embed Size (px)

Citation preview

Page 1: Linearne strukture.ppt

Strukture podataka i Strukture podataka i algoritmialgoritmiLinearne Linearne strukturestrukture

Page 2: Linearne strukture.ppt

SadržajSadržaj

Linearne struktureLinearne strukture

StSteekk

RedRed

ListaLista

Definicija preko ATPDefinicija preko ATP

ImplementacijaImplementacija

Page 3: Linearne strukture.ppt

Linearne struktureLinearne strukture

Linearna uređenostLinearna uređenost– Sekvenca elemenataSekvenca elemenata– Jedan prethodnik, jedan sledbenikJedan prethodnik, jedan sledbenik

Vrste linearnih strukturaVrste linearnih struktura– Razlikuju se po mestu (lokaciji) gde se vrši Razlikuju se po mestu (lokaciji) gde se vrši

ubacivanje i izbacivanje elemenataubacivanje i izbacivanje elemenata– StSteek k

ubaci i izbaci sa istog krajaubaci i izbaci sa istog kraja

– Red Red ubaci na jednom, izbaci sa drugogubaci na jednom, izbaci sa drugog

– Lista Lista ubaci/izbaci bilo gdeubaci/izbaci bilo gde

Page 4: Linearne strukture.ppt

StSteek k ((stackstack))

LIFO struktura (Last In First Out)LIFO struktura (Last In First Out) Primer: Držač za Pez bombonePrimer: Držač za Pez bombone

Page 5: Linearne strukture.ppt

StSteek k ((stackstack))

Osnovne operacijeOsnovne operacije– Ubacivanje (Push)Ubacivanje (Push)– Izbacivanje (Pop)Izbacivanje (Pop)

Ostale operacijeOstale operacije– Vrati vrh (Peek)Vrati vrh (Peek)– Prazan stPrazan steek k – Broj elemenataBroj elemenata

PrimeriPrimeri

Page 6: Linearne strukture.ppt

StSteek k ((stackstack))

Definicija preko ATPDefinicija preko ATP

public interface IStack

{

boolean isEmpty();

void Push(int obj);

int Pop();

int Peek();

}

Page 7: Linearne strukture.ppt

Red Red ((queuequeue))

FIFO struktura (First In First Out)FIFO struktura (First In First Out) Primer: Red u prodavniciPrimer: Red u prodavnici

Page 8: Linearne strukture.ppt

Red Red ((queuequeue))

Osnovne operacijeOsnovne operacije– Ubacivanje (Enqueue)Ubacivanje (Enqueue)– Izbacivanje (Dequeue)Izbacivanje (Dequeue)

Ostale operacijeOstale operacije– Broj elemenataBroj elemenata– Prazan redPrazan red

Page 9: Linearne strukture.ppt

Red Red ((queuequeue))

Definicija preko ATPDefinicija preko ATP

public interface IQueue

{

boolean isEmpty();

void Enqueue(int obj);

int Dequeue();

int Peek();

}

Page 10: Linearne strukture.ppt

Lista Lista ((listlist))

Sekvenca elemenata istog tipaSekvenca elemenata istog tipa Element (čvor) u sebi čuva vrednost Element (čvor) u sebi čuva vrednost

(objekat)(objekat) OperacijeOperacije

– Ubacivanje Ubacivanje – IzbacivanjeIzbacivanje– Broj elemenataBroj elemenata– Brisanje svih elemenataBrisanje svih elemenata

Page 11: Linearne strukture.ppt

Lista Lista ((listlist))

Definicija preko ATPDefinicija preko ATP

public interface ILinkedList{

void InsertBefore(int Data);void InsertAfter(int Data);int Remove();boolean MovePrevious();boolean MoveNext();void MoveTo(int index);void Clear();int Count();

}

Page 12: Linearne strukture.ppt

ImplementacijaImplementacija

Page 13: Linearne strukture.ppt

StSteek k ((stackstack))

Kao Kao statička strukturastatička struktura

Primer:Primer: 12 45 237

top

Page 14: Linearne strukture.ppt

StSteek k ((stackstack))

UbacivanjeUbacivanje

prepre

nakonnakon

12 45 237

top

12 45 2 1737

top

Page 15: Linearne strukture.ppt

StSteek k ((stackstack))

IzbacivanjeIzbacivanje

prepre

nakonnakon

12 45 237

top

top

12 4537 2

Page 16: Linearne strukture.ppt

StSteek k ((stackstack))

public class ArrayStack implements IStack {

protected int[] data;protected int top;

public ArrayStack(int capacity){

data = new int[capacity];top = -1;

}

public boolean IsEmpty(){

return top == -1;}

nastavak na sledećoj strani

Page 17: Linearne strukture.ppt

public void Push(int obj){

if(top < data.length - 1)data[++top] = obj;

}public int Pop(){

if(IsEmpty())return Integer.MIN_INT;

int Obj = data[top--];return Obj;

}public int Peek(){

if(IsEmpty())return Integer.MIN_INT;

return data[top];}

}

nastavak sa prethodne strane

Page 18: Linearne strukture.ppt

Stak Stak ((stackstack))

Kao Kao dinamička strukturadinamička struktura

top45 2 37

Page 19: Linearne strukture.ppt

Stak Stak ((stackstack))

UbacivanjeUbacivanje

prepre

nakonnakon

top2 37

top45 2 37

45

Page 20: Linearne strukture.ppt

Stak Stak ((stackstack))

IzbacivanjeIzbacivanje

prepre

nakonnakon

top45 2 37

top2 37

Page 21: Linearne strukture.ppt

Stak Stak ((stackstack))

import DataStructures.Interfaces.*;import DataStructures.LinearStructures.Lists.*;

public class LinkedListStack implements IStack{

protected LinkedList myList;public LinkedListStack(){

myList = new LinkedList();}

public boolean IsEmpty(){

return myList.IsEmpty();}

nastavak na sledećoj strani

Page 22: Linearne strukture.ppt

public int Pop(){

return myList.Remove();}

public void Push(int obj){

myList.Add(obj);}

public int Peek(){

return myList.Peek();}

}

nastavak sa prethodne strane