Stack
stack merupakan suatu gambaran dimana data disimpan sebagai tumpukan(yang pertama masuk, ada di paling bawah sehingga menjadi yang terakhir keluar). Dalam bahasa inggriss dikenal sebagai FILO (First In Last Out)
Adapun stack dapat digunakan pada array maupun linked list, operasi yang ada pada stack adalah :
- push(x) : menambah x (data) ke dalam tumpukan.
- pop() : menghapus data dari tumpukan paling atas.
- top() : memberi tahu/return value dari data yang ada dipaling atas tumpukan.
Notasi aritmatik ada 3, yaitu :
- Infix : operator ditulis bersama operand.
- Prefix : operator ditulis sebelum operand.
- Postfix : operator ditulis setelah operand.
Prefix dan Postfix adalah notasi yang umum digunakan untuk komputasi oleh komputer karena infix menggunakan kurung “( )”untuk memprioritaskan perhitungan yang membuat komputer kesulitan.
Depth First Search
Depth First Search(DFS) adalah algoritma untuk mencari data dari tree atau graph. DFS akan mulai dari suatu titik yang kita assign ataupun dari akar suatu tree lalu mencari sampai ke cabang tree terakhir.DFS menggunakan konsep stack.
Queue
Queue adalah antrian, data disimpan dalam bentuk barisan antrian sehingga yang pertama kali masuk adalah yang pertama kali keluar. Istilah yang sering dipakai dalam bahasa pemprogramman adalah FIFO (First In First Out).
Pada Queue juga ada 3 operasi, yaitu :
- push(x) = menambah data (x) ke paling belakang antrian.
- pop() = menghilangkan data paling depan dalam antrian.
- front() = memberi tahu / return value data yang ada di antiran paling depan.
Circular queue adalah jenis antiran yang akan terus berputar, jika antrian sudah mencapai akhir maka akan kembali ke awal.
Breadth First Search
Breadth First Search (BFS) adalah algoritma untuk mencari suatu data dari tree dan graph. BFS mencari dari akar lalu menelusuri tiap data yang ada di tingkatan yang sama. BFS menggunakan konsep queue.