Skip to main content

Stack dan Queue dalam Data Structure

Stack

Stack dalam Data Structure adalah salah satu teknik dalam struktur data yang cukup mudah dipahami. Biasanya kita akan menjumpai topik ini pada awal materi setelah array karena array dibutuhkan dalam implementasi stack.

Konsep Stack adalah bersifat LIFO (Last In First Out) artinya data yang terakhir masuk merupakan data yang akan keluar terlebih dahulu. Stack memiliki 2 variable yaitu:
  • Top yang digunakan untuk yang digunakan untuk menyimpan alamat elemen paling atas dari Stack
  • Max yang digunakan untuk menyimpan jumlah maksimum elemen pada Stack

Stack memiliki beberapa operasi yaitu:
  • push() digunakan untuk memasukkan data pada Stack.
  • pop() digunakan untuk mengeluarkan data terakhir (atas).
  • peek() digunakan untuk melihat data yang berada pada tumpukan paling atas (akan dikeluarkan).
Contoh Stack:

Queue 

Queue dalam struktur data adalah teknik untuk menyimpan elemen-elemennya secara teratur. Queue dapat diimplementasikan dalam array maupun linked list. Data pada Queue disimpan dengan cara FIFO (First In First Out), ini adalah perbedaan utama antara Stack dan Queue.

Queue memiliki 2 variabel yaitu Front dan Rear yang mengarah ke posisi di mana penghapusan dan penyisipan dapat dilakukan masing-masing.

Queue memiliki beberapa operasi yaitu:

  • push() digunakan untuk memasukkan data ke belakang Queue.
  • pop() digunakan untuk menghapus data dari depan Queue.
  • peek() digunakan untuk melihat atau mengembalikan data paling depan dari Queue.
Contoh Queue:

Sumber:



Comments

Popular posts from this blog

Hashing Table and Binary Tree

Hashing Hashing adalah teknik pada Data Strucuture yang digunakan untuk memetakan nilai yang diberikan dengan kunci tertentu untuk akses elemen yang lebih cepat. Misalkan fungsi hash H(x) memetakan nilai x pada indeks x% 10 dalam sebuah array. Sebagai contoh jika daftar nilai adalah [11,12,13,14,15] itu akan disimpan di posisi {1,2,3,4,5} masing-masing dalam array atau tabel hash.  Hash Function pada Data Structure: 1. Division Method Dalam hal ini fungsi hash tergantung pada sisa pembagian. Sebagai contoh, 52,68,99,84 harus ditempatkan di tabel hash dan mari kita ambil ukuran tabel adalah 10. Lalu, (key)=record% table size.  2=52%10  8=68%10 9=99%10 4=84%10 2. Mid Square Method Dalam metode ini pertama kunci kuadrat dan kemudian bagian tengah hasilnya diambil sebagai indeks. Sebagai contoh, pertimbangkan bahwa jika kita ingin menempatkan catatan 3101 dan ukuran tabel adalah 1000. Jadi 3101 * 3101 = 9616201 yaitu h (3101) = 162 (tengah 3 digit) 3.

Heap dan Tries

Heap Heap  adalah struktur data berbasis pohon khusus di mana pohon itu adalah pohon biner lengkap. Secara umum, Heap  terdiri dari dua jenis, yaitu: Max-Heap : Dalam Max-Heap node root harus paling besar di antara node yang ada di semua children-nya. Properti yang sama harus benar secara rekursif untuk semua subtree di Tree tersebut. Min-Heap : Dalam Min-Heap node root harus paling kecil di antara node yang ada di semua children-nya. Properti yang sama harus benar secara rekursif untuk semua subtree di Tree tersebut. Insert Untuk melakukan I nsert , kita harus melakukan operasi up-heap. Tambahkan elemen pada level bawah Heap , Bandingkan elemen yang baru dengan parentnya. Jika berada di urutan yang benar, pembandingan berhenti. Jika tidak, swap elemen dengan parent dan kembalikan ke langkah sebelumnya. Delete Untuk melalkukan delete, kita harus melakukan operai down-heap. Ganti root Heap dengan elemen terakhir pada level terakhir. Bandingkan root baru dengan children-nya. Jika berad