linearne strukture.ppt

Post on 21-Dec-2015

226 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Strukture podataka i Strukture podataka i algoritmialgoritmiLinearne Linearne strukturestrukture

SadržajSadržaj

Linearne struktureLinearne strukture

StSteekk

RedRed

ListaLista

Definicija preko ATPDefinicija preko ATP

ImplementacijaImplementacija

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

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

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

StSteek k ((stackstack))

Definicija preko ATPDefinicija preko ATP

public interface IStack

{

boolean isEmpty();

void Push(int obj);

int Pop();

int Peek();

}

Red Red ((queuequeue))

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

Red Red ((queuequeue))

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

Ostale operacijeOstale operacije– Broj elemenataBroj elemenata– Prazan redPrazan red

Red Red ((queuequeue))

Definicija preko ATPDefinicija preko ATP

public interface IQueue

{

boolean isEmpty();

void Enqueue(int obj);

int Dequeue();

int Peek();

}

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

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();

}

ImplementacijaImplementacija

StSteek k ((stackstack))

Kao Kao statička strukturastatička struktura

Primer:Primer: 12 45 237

top

StSteek k ((stackstack))

UbacivanjeUbacivanje

prepre

nakonnakon

12 45 237

top

12 45 2 1737

top

StSteek k ((stackstack))

IzbacivanjeIzbacivanje

prepre

nakonnakon

12 45 237

top

top

12 4537 2

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

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

Stak Stak ((stackstack))

Kao Kao dinamička strukturadinamička struktura

top45 2 37

Stak Stak ((stackstack))

UbacivanjeUbacivanje

prepre

nakonnakon

top2 37

top45 2 37

45

Stak Stak ((stackstack))

IzbacivanjeIzbacivanje

prepre

nakonnakon

top45 2 37

top2 37

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

public int Pop(){

return myList.Remove();}

public void Push(int obj){

myList.Add(obj);}

public int Peek(){

return myList.Peek();}

}

nastavak sa prethodne strane

top related