Langsung ke konten utama

Stack & Queue

Jadi ini adalah rangkuman dari pertemuan keempat tepatnya pada tanggal 3 Maret 2020. Nah pada post kali ini, saya akan merangkum tentang stack & queue pada data structure. Mari kita bahas mereka satu persatu.

Stack

Kita semua pasti familiar dengan game yang bernama DoTA kan? Sebenernya ngga terlalu berhubungan sih, tapi dalam DoTA ada teknik yang bernama stack. Teknik ini membuat monster jungle dapat spawn meskipun seharusnya tidak bisa spawn karena masih ada monster jungle. Nah, stack membuat monster jungle itu lebih banyak. Bisa kita simpulkan bahwa stack itu jika di data structure akan menyimpan elemennya dalam urut. Nah, kalo di dalam DoTA, kita harus membuat monster jungle pergi dari spawn box agar monster lainnya bisa spawn lagi. Hal ini mirip dengan data structure, yaitu ketika kita mau menambah elemen ditengah misalnya, kita harus membongkar elemennya dari paling atas, lalu kita bisa menghapus atau menambah elemen di dalamnya. Nah, dalam stack ini, ada dua urutan yaitu LIFO (last in first out) atau FILO (first in last out). Untuk lebih jelas, sebaiknya lihat gambar yang saya akan lampirkan dibawah.


Ilustrasi Stack dari geeksforgeeks

Biasanya, operasi dari stack ada 3, yaitu push, pop, dan top. Push adalah operasi untuk menambah sesuatu dari atas dari stack paling atas (top). Pop adalah operasi untuk menghapus sesuatu dari stack paling atas (top). Sedangkan, top adalah operasi untuk menampilkan siapa yang ada di posisi top sekarang. Contoh dari operasi - operasi tersebut dapat dilihat dibawah.



Ilustrasi operasi yang ada di Stack dari BinusMaya

Queue

Nah sekarang kita akan membahas tentang queue atau antrian. Jika dalam stack kita menambah data dari paling atas (top), dalam queue kita menambah data dari paling belakang. Ilustrasi yang paling gampang adalah ketika kita mengantri untuk masuk ke dalam restoran yang ramai. Nah jika kita datang paling lama dari yang lain, maka dalam waiting list, kita akan ada di paling bawah kan? Nah, orang yang ada di waiting list nomor pertama pasti akan mendapatkan tempat duduk duluan. Ketika ada yang ingin masuk ke dalam waiting list lagi, maka orang itu akan mendapatkan tempat di waiting list paling bawah. Nah, di dalam queue di data structure cara kerjanya mirip seperti itu. Jadi, data yang paling awal dimasukkan yang dihapus dan data yang baru ditambahkan yang ditambah. Untuk lebih jelasnya dapat dilihat pada gambar dibawah. Urutan dari queue adalah FIFO (first in, first out). Bukan merk hape yang itu ya...

Ilustrasi queue dari geeksforgeeks

Dalam queue, data yang masuk dimasukkan ke dalam rear dan data yang keluar dikeluarkan dari front. Operasi - operasi yang dapat digunakan pada queue adalah push, pop, dan queue. Operasi push digunakan untuk menambah data dari paling belakang dari queue. Operasi pop digunakan untuk menghapus data dari paling depan dari queue. Sedangkan fungsi front digunakan untuk melihat data apakah yang ada di front. Operasi - operasi ini lebih jelasnya dapat dijelaskan dengan gambar dibawah.

Ilustrasi operasi pada Queue dari BinusMaya

Perbedaan pada Stack dan Queue

Perbedaan yang sangat mendasar antara Stack dan Queue terletak pada penghapusan data. Jika di dalam Stack data yang dihapus adalah data yang baru ditambahkan, dalam Queue data yang dihapus adalah data yang paling pertama ditambahkan.

Sumber:

Komentar

Postingan populer dari blog ini

How do you get to the top of Mt Coronet in Pokemon Diamond?

Note: If you are going to try to catch Dialga or Palkia (diamond or pearl) make sure you have a bunch of Ultra and Dusk balls!! First, Fly to Hearthome city and head west, Route 208. Enter the cave and once inside, you should go north.When you first enter the cave, you need to head west to the opposite side. Once you reach the west entrance, head north and surf across the pond. Use rock climb to reach the stairs up. In the next room: Go- North, West, South, Upstairs, North, West over bridge, down stairs, up north, stairs,up stairs, cross bridge, down stairs, down stairs, upstairs and in cave door. In the Next room: Up stairs, up stairs Again Next room: up stairs, north, west, south, Out. Now you are outside. Follow the path and use rock climb when you get there. Now don't use rock climb again, instead, head west and through the grass until you reach another cave. Inside, use rock climb, follow the path, down the stairs then east, you're out of the cave. ...

Binary Search Tree

Pengertian Binary Search Tree Binary search tree adalah sebuah metode dari data structure yang mempunyai ciri sebagai berikut: Bagian kiri dari subtree adalah nodus yang mempunyai nilai yang lebih kecil Bagian kanan dari subtree adalah nodus yang mempunyai nilai yang lebih besar Bagian kiri dan kanan dari subtree harus berupa binary search tree juga Mencari Sebuah Angka (searching) Ilustrasi Binary Search Tree dari geeksforgeeks Bisa kita lihat dari contoh diatas, bagian kiri dari binary search tree merupakan nilai yang kecil sedangkan bagian kanannya adalah nilai-nilai yang besar. Kita bisa mengambil contoh angka 7. Ketika angka 7 ingin dicari pada binary search tree diatas, maka dia akan mengecek. Apakah 8 lebih kecil atau besar dari 7? Karena lebih kecil, maka 7 akan dicari di bagian kiri. Kemudian, akan dicek lagi. Apakah 7 lebih kecil daripada 3? Jawabannya adalah tidak, sehingga 7 dicari dibagian kanan. Lalu ketika sampai di 6, karena 7 lebih besar...

Heaps & tries

Heap Minggu lalu kita sudah membahas AVL Tree dan sekarang kita akan membahas Heap & Tries. Heap adalah sebuah struktur data dengan konsep binary tree. Heap mempunyai dua jenis yaitu: Min - heap Max - heap Min - Max heap Heap dapat diimplementasikan dengan linked list, namun akan lebih gampang jika menggunakan array. Agar lebih jelas, lebih baik kita lihat gambar berikut ini. Heap dari geeksforgeeks Min - Heap Pada min - heap terdapat aturan agar heap itu dapat dibuat. Aturan tersebut adalah angka atau huruf yang ada di root harus paling kecil daripada anak - anaknya. Hal ini juga berlaku pada subtree lainnya secara rekursif. Jadi, yang diatas harus lebih kecil daripada bawahnya. Insertion Berbeda dengan BST yang mempunyai aturan kiri harus yang kecil dan kanan yang besar, min - heap hanya menghiraukan atasnya. Pada kasus min - heap berarti atasnya harus lebih kecil daripada bawahnya. Agar kita mengerti cara menginsertnya, lihat gambar berikut: Kita ak...