Stack

Stack adalah tumpukan objek yang di insert dan di remove dengan prinsip LIFO (Last in First out).

Pada stack, dikenal Top merupakan sebutan untuk item / elemen untuk menyimpan alamat paling atas dari suatu stack.

Jika TOP == NULL, maka berarti stack kosong.

Jika TOP == Max-1, berarti stack sudah full.

391px-Data_stack.svg

Ada beberapa operasi / fungsi dalam Stack:

  • Push() : Menambah item ke tumpukan paling atas
  • Pop()   : Menghapus / mengambil item dari tumpukan paling atas
  • Top()  : Mengembalikan item paling atas dari stack

Queuesqueue

Queue sesuai namanya adalah kebalikan dari Stack.

Queue menggunakan prinsip FIFA (First in First out) dan dapat diimplementasikan dengan array atau Linked List.

  • Front: Item / Elemen yang akan di remove terlebih dahulu (jika di pop(), akan yang pertama di remove)
  • Rear : Tempat dimana item akan dimasukan pertama kali (jika di pop(), akan menjadi yang terakhir di remove)

 

Ada beberapa operasi / fungsi dalam Queues:

  • Push() : Menambah item ke belakang barisan
  • Pop()   : Menghapus / mengeluarkan item paling depan
  • Front()  : Menunjukan item paling depan dari barisan

Infix, Prefix, Postfix

postpre

Dalam Struktur Data, ada 3 notasi operasi aritmatika, yaitu:

  • Infix     : Operator yang ditulis di antara 2 operand
  • Prefix   : Operator yang ditulis sebelum operand
  • Postfix : Operator yang ditulis setelah operand

DFS & BFS

Justsearch1DFS (Depth-First-Search) mencari atau berjalan dalam struktur tree secara ke bawah (ke dalam) terlebih dahulu dan dapat diselesaikan dengan bantuan struktur data Stack.

BFS (Breadth-First-Search) mencari atau berjalan dalam struktur tree secara horizontal / menyamping terlebih dahulu dan dapat diselesaikan dengan banturan struktur data Queues.