1 / 22

Strukture podataka i algoritmi

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

rose-jordan
Télécharger la présentation

Strukture podataka i algoritmi

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Strukture podataka i algoritmi Linearne strukture

  2. Sadržaj • Linearne strukture • Stek • Red • Lista • Definicija preko ATP • Implementacija

  3. Linearne strukture • Linearna uređenost • Sekvenca elemenata • Jedan prethodnik, jedan sledbenik • Vrste linearnih struktura • Razlikuju se po mestu (lokaciji) gde se vrši ubacivanje i izbacivanje elemenata • Stek • ubaci i izbaci sa istog kraja • Red • ubaci na jednom, izbaci sa drugog • Lista • ubaci/izbaci bilo gde

  4. Stek (stack) • LIFO struktura (Last In First Out) • Primer: Držač za Pez bombone

  5. Stek (stack) • Osnovne operacije • Ubacivanje (Push) • Izbacivanje (Pop) • Ostale operacije • Vrati vrh (Peek) • Prazan stek • Broj elemenata • Primeri

  6. Stek (stack) • Definicija preko ATP public interface IStack { booleanisEmpty(); void Push(int obj); int Pop(); int Peek(); }

  7. Red (queue) • FIFO struktura (First In First Out) • Primer: Red u prodavnici

  8. Red (queue) • Osnovne operacije • Ubacivanje (Enqueue) • Izbacivanje (Dequeue) • Ostale operacije • Broj elemenata • Prazan red

  9. Red (queue) • Definicija preko ATP public interface IQueue { booleanisEmpty(); voidEnqueue(int obj); intDequeue(); int Peek(); }

  10. Lista (list) • Sekvenca elemenata istog tipa • Element (čvor) u sebi čuva vrednost (objekat) • Operacije • Ubacivanje • Izbacivanje • Broj elemenata • Brisanje svih elemenata

  11. Lista (list) • Definicija 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(); }

  12. Implementacija

  13. 12 37 45 2 top Stek (stack) • Kao statička struktura • Primer:

  14. 12 12 37 37 45 45 2 2 17 top top Stek (stack) • Ubacivanje pre nakon

  15. 12 12 37 37 45 45 2 top 2 top Stek (stack) • Izbacivanje pre nakon

  16. Stek (stack) publicclass ArrayStack implements IStack { protectedint[] data; protectedint top; public ArrayStack(int capacity) { data = newint[capacity]; top = -1; } publicboolean IsEmpty() { return top == -1; } nastavak na sledećoj strani

  17. nastavak sa prethodne strane • publicvoid Push(int obj) • { • if(top < data.length - 1) • data[++top] = obj; • } • publicint Pop() • { • if(IsEmpty()) • return Integer.MIN_INT; • int Obj = data[top--]; • return Obj; • } • publicint Peek() • { • if(IsEmpty()) • return Integer.MIN_INT; • return data[top]; • } • }

  18. top 45 2 37 Stak (stack) • Kao dinamička struktura

  19. top top 45 45 2 2 37 37 Stak (stack) • Ubacivanje pre nakon

  20. top top 45 2 2 37 37 Stak (stack) • Izbacivanje pre nakon

  21. Stak (stack) import DataStructures.Interfaces.*; import DataStructures.LinearStructures.Lists.*; publicclass LinkedListStack implements IStack { protected LinkedList myList; public LinkedListStack() { myList = new LinkedList(); } publicboolean IsEmpty() { return myList.IsEmpty(); } nastavak na sledećoj strani

  22. nastavak sa prethodne strane publicint Pop() { return myList.Remove(); } publicvoid Push(int obj) { myList.Add(obj); } publicint Peek() { return myList.Peek(); } }

More Related