Linked List dibagi menjadi 2, Stack dan Queue.
- Stack : Tumpukan, Last In First Out (LIFO) yang berarti terakhir yang masuk yang dapat duluan keluar.
- Queue : Antrian, First in First Out (FIFO) yang berarti pertama yang masuk yang pertama juga yang keluar.
Data yang diinput disebut Push / Enstack Enqueue.
Data yang dioutput disebut Pop / Destack Dequeue.
Contoh Array
Contoh Linked List
Stack memiliki 2 variable :
- Max -> Batas maksimal stack.
- Top -> Max stack saat ini.
Tiap node dalam Linked List Stack memiliki 2 bagian node :
- Menyimpan isi data.
- Yang menyimpan address dari node selanjutnya dan berlanjut.
Pointer START di dalam sebuah Linked List merupakan Top, bila top kosong TOP = NULL.
Stack Operations
- pop() : Melepas / mengeluarkan item pada TOP sebuah stack.
- push(x) : Menambah object atau isi stack dan menjadi TOP sebuat Linked List.
- top() : kembali ke Atas / TOP sebuah stack.
Stack Applications
- Prefix -> 3 4 1 2 3 * + + – (Operand Operand Operator)
- infix -> 1 + (3*2) / 4 (Operand Operator Operand)
- Postfix -> + 3 * 2 3 (Operator Operand Operand)
Why We need Prefix / Postfix notation?
- Tidak membutuhkan tanda “( )” untuk mendahulukan operator.
- Lebih mudah bagi komputer untuk membaca prefix dan postfix daripada infix.
- Lebih mempercepat kerja suatu program.
Depth First Search (DFS)
Algoritma untuk mencari sebuah pohon atau grafik yang dimulai dari atas pohon grafik dan fokus ke bawahnya / keturunannya baru melihat kanan dan kirinya.
Breadth First Search (BFS)
Algoritma untuk mencari sebuah pohon atau grafik yang dimulai dari atas pohon grafik dan fokus ke samping lalu kebawah.