Share

Ketika kita belajar mata kuliah struktur data, maka akan muncul bab yang membahas stack dan queue atau sering juga mendapatkan istilah LIFO (Last In First Out) atau FIFO (First In First Out).

Array adalah struktur data yang bisa diakses secara acak, dimana setiap elemen dapat diakses secara langsung dan dalam waktu yang konstan. Ilustrasi yang bisa digunakan adalah dalam sebuah buku, setiap halaman buku dapat dibuka secara independen. Akses acak sangat penting untuk banyak algoritma, misalnya pencarian biner.

Sedangkan linked list adalah struktur data yang di akses berurutan, dimana setiap elemen dapat diakses hanya dalam urutan tertentu. Ilustrasi yang bisa digunakan untuk akses sekuensial ini adalah selembar kertas atau rekaman video di mana semua materi sebelumnya harus dibuka untuk mendapatkan data yang Anda inginkan.

Apa itu stack?

stack

Stack adalah struktur data yang dapat ditunjukkan oleh tempat penyisipan dan penghapusan elemen terjadi hanya pada satu tempat yang disebut puncak tumpukan. Cara dasar untuk mengakses data di stack adalah dengan metode Last In First Out (LIFO). Untuk memahami struktur stack, bayangkan setumpuk buku. Seseorang hanya bisa menggunakan ujung atas tumpukan untuk menambahkan atau mengeluarkan buku dari tumpukan. Juga, nomor indeks tidak bisa digunakan ke elemen dalam tumpukan, oleh karena itu, elemen di tengah tumpukan tidak dapat diakses secara langsung.

Dalam Python kita bisa menggunakan list sebagai stack, lebih lanjut mengenai list di Python.  Di bawah ini adalah script sederhananya :

Apa itu queue?
queueQueue adalah struktur data yang bisa diwakili oleh antrian (urutan). Dengan kata lain memiliki depan dan belakang. Contohnya : pada antrian loket tiket, orang baru bergabung di belakang dan orang pertama membeli tiket terlebih dahulu akan pergi lebih dulu. Demikian pula, antrian struktur data ini mengikuti prinsip First In First Out (FIFO). Penambahan elemen disebut “Enqueue” dan Penghapusan elemen disebut “Dequeue”. Enqueue berlangsung di bagian belakang, sementara Dequeue terjadi di depan.

Untuk menggunakan list sebagai queue dalam Python, kita menggunakan collections.deque. Seperti contoh di bawah :

Semoga bermanfaat 🙂