Stack and Queue

Stack and Queue in Data Structures

Halo pada hari ini, saya akan menjelaskan mengenai Stack and Queue dalam Data Structure!

Stack adalah struktur data linear di mana elemen dapat dimasukkan dan dihapus hanya dari 1 sisi daftar, yang disebut bagian atas. Tumpukan elemen Stack mengikuti prinsip LIFO (Last In First Out), yaitu elemen yang dimasukkan terakhir adalah elemen yang pertama keluar. Proses memasukkan elemen ke sebuah stack disebut operasi push, dan proses penghapusan elemen dari stack disebut operasi pop. Dalam stack, kita selalu melacak elemen terakhir yang ada dalam daftar dengan pointer yang disebut top. 

Ilustrasi cara kerja dari stack seperti di bawah ini: 

Queue seperti bahasa indonesianya yaitu antri, queue adalah struktur data linear di mana elemen yang disisipkan hanya dari 1 sisi daftar yang disebut belakang, dan elemen dapat dihapus hanya dari sisi lain yang disebut depan. Struktur data queue mengikuti prinsip FIFO (First In First Out), yaitu elemen yang dimasukkan pertama kali dalam daftar, adalah elemen pertama yang akan dihapus dari daftar. Proses memasukkan elemen ke dalam queue disebut operasi enqueue, dan proses penghapusan sebuah elemen disebut dequeue. Berbeda dengan stack, di dalam queue kita selalu mempertahankan 2 pointer, 1 menunjuk ke elemen yang disisipkan di pertama dan masih ada dalam daftar dengan pointer depan dan pointer ke-2 menunjuk ke elemen yang dimasukkan terakhir dengan pointer belakang.

Ilustrasi cara kerja dari queue seperti dibawah ini: 
Perbedaan antara Stack and Queue adalah:

 Stack
Queue 
 Menggunakan prinsip LIFO
Menggunakan prinsip FIFO 
 Proses memasukkan dan menghapus elemen di stack hanya terjadi di satu ujung daftar yang disebut top
Proses memasukkan terjadi di bagian belakang dan proses menghapus dilakukan dari bagian depan daftar 
 Proses memasukkan sebuah elemen disebut push
Proses memasukkan sebuah elemen disebut enqueue 
 Proses penghapusan sebuah elemen disebut pop
Proses penghapusan sebuah elemen disebut dequeue 
 Di dalam stack, hanya mempertahankan 1 pointer, yang namanya top, yang selalu menunjuk ke elemen terakhir
Di dalam queue, mempertahankan 2 pointer. 1 pointer untuk elemen pertama dan 1 pointer lagi untuk elemen terakhir 

Sumber :

Comments

Popular posts from this blog

Hashing Table & Binary Tree

Linked List

Binary Search Tree