Dalam kehidupan stack bisa dinyatakan seperti tumpukan buku yg memiliki konsep:
- LIFO (Last in First Out) : buku yang terakir masuk akan pertama kali keluar
- FILO (First in Last Out) : buku yang pertama kali masuk akan keluar terakir
Dalam stack ada 2 variabel ;
TOP : untuk menunjukan data teratas pada stack
MAX : untuk menujukan jumlah data pada stack
Jika Top = NULL maka stack kosong
jika Top = Max - 1 berarti stack penuh.
Pada stack, jika menambah data maka TOP akan naik dan jika menghapus data TOP akan turun.
Operasi pada stack :
- is_empty(); = untuk mengecek stack kosong
- is_full(); = untuk mengecek stack penuh
- top(); atau peek(); = untuk kembali ke index top
- push(isi); = untuk menambah isi pada TOP didalam stack
- pop(); = untuk menghapus data dari TOP dalam stack
Queue adalah barisan/antrian dari suatu data
Queue memiliki 2 konsep
FIFO (First in First Out) : data yang pertama masuk akan keluar pertama
LILO (Last in Last Out) : data yang terakir masuk akan keluar terakir
Tipe Queue:
Preority Queue : antrian yang suatu datanya ada yang didahulukan
Circular Queue : antrian yang bersika sirkular
Depth First Search (DFS) dan Breadth First Search (BFS)
DFS : pencarian solusi dengan menelusuri lebih dahulu akar - akarnya,jika tidak ketemu pencarian akan dipindah ke node yang lain pada level yang sama
Keuntungan menggunakan metode DFS:
- Membutuhkan memori yang relative kecil, karena hanya node-node pada lintasan yang aktif saja yang disimpan.
- Secara kebetulan, metode depth-first search akan menemukan solusi tanpa harus menguji lebih banyak lagi.
Kekurangan dari metode DFS ini yaitu:
- Memungkinkan tidak ditemukannya tujuan yang diharapakan.
- Hanya akan menemukan 1 solusi pada setiap pencarian.
BFS : pencarian solusi dimana semua node pada level n akan ditelusuri terlebih dahulu
Keuntungan yang didapat apabila menggunakan metode BFS ini yaitu:
- Tidak akan menemui jalan buntu.
- Menjamin ditemukannya solusi (jika solusinya memang ada) dan solusi yang ditemukan pasti yang paling baik.
- Jika ada satu solusi maka bread-first search akan menemukannya.
Dan kekurangan dari metode BFS ini yaitu:
- Menjamin ditemukannya solusi (jika solusinya memang ada) dan solusi yang ditemukan pasti yang paling baik.
- Jika ada satu solusi maka bread-first search akan menemukannya.
Dan kekurangan dari metode BFS ini yaitu:
0 komentar:
Post a Comment