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

Strukture podataka i algoritmi

  • Upload
    lydia

  • View
    140

  • Download
    0

Embed Size (px)

DESCRIPTION

Strukture podataka i algoritmi. Linearne strukture. Sadržaj. Linearne strukture St e k Red Lista Definicija preko ATP Implementacija. Linearne strukture. Linearna uređenost Sekvenca elemenata Jedan prethodnik, jedan sledbenik Vrste linearnih struktura - PowerPoint PPT Presentation

Citation preview

Page 1: Strukture podataka i algoritmi

Strukture podataka i Strukture podataka i algoritmialgoritmiLinearne Linearne strukturestrukture

Page 2: Strukture podataka i algoritmi

SadržajSadržaj

Linearne struktureLinearne strukture

StSteekk

RedRed

ListaLista

Definicija preko ATPDefinicija preko ATP

ImplementacijaImplementacija

Page 3: Strukture podataka i algoritmi

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: Strukture podataka i algoritmi

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: Strukture podataka i algoritmi

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: Strukture podataka i algoritmi

StSteek k ((stackstack))

Definicija preko ATPDefinicija preko ATP

public interface IStack

{

boolean isEmpty();

void Push(int obj);

int Pop();

int Peek();

}

Page 7: Strukture podataka i algoritmi

Red Red ((queuequeue))

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

Page 8: Strukture podataka i algoritmi

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: Strukture podataka i algoritmi

Red Red ((queuequeue))

Definicija preko ATPDefinicija preko ATP

public interface IQueue

{

boolean isEmpty();

void Enqueue(int obj);

int Dequeue();

int Peek();

}

Page 10: Strukture podataka i algoritmi

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: Strukture podataka i algoritmi

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: Strukture podataka i algoritmi

ImplementacijaImplementacija

Page 13: Strukture podataka i algoritmi

StSteek k ((stackstack))

Kao Kao statička strukturastatička struktura

Primer:Primer: 12 45 237

top

Page 14: Strukture podataka i algoritmi

StSteek k ((stackstack))

UbacivanjeUbacivanje

prepre

nakonnakon

12 45 237

top

12 45 2 1737

top

Page 15: Strukture podataka i algoritmi

StSteek k ((stackstack))

IzbacivanjeIzbacivanje

prepre

nakonnakon

12 45 237

top

top

12 4537 2

Page 16: Strukture podataka i algoritmi

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: Strukture podataka i algoritmi

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: Strukture podataka i algoritmi

Stak Stak ((stackstack))

Kao Kao dinamička strukturadinamička struktura

top45 2 37

Page 19: Strukture podataka i algoritmi

Stak Stak ((stackstack))

UbacivanjeUbacivanje

prepre

nakonnakon

top2 37

top45 2 37

45

Page 20: Strukture podataka i algoritmi

Stak Stak ((stackstack))

IzbacivanjeIzbacivanje

prepre

nakonnakon

top45 2 37

top2 37

Page 21: Strukture podataka i algoritmi

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: Strukture podataka i algoritmi

public int Pop(){

return myList.Remove();}

public void Push(int obj){

myList.Add(obj);}

public int Peek(){

return myList.Peek();}

}

nastavak sa prethodne strane