Stack vs Antrian
Stack adalah daftar terurut di mana penyisipan dan penghapusan item daftar hanya dapat dilakukan di satu ujung yang disebut bagian atas. Karena alasan ini, tumpukan dianggap sebagai struktur data Last in First out (LIFO). Antrian juga merupakan daftar terurut di mana penyisipan item daftar dilakukan di satu ujung yang disebut belakang, dan penghapusan item dilakukan di ujung lain yang disebut depan. Mekanisme penyisipan dan penghapusan ini membuat antrian menjadi struktur data First in First out (FIFO).
Apa itu Stack?
Seperti yang disebutkan sebelumnya, tumpukan adalah struktur data di mana elemen ditambahkan dan dihapus hanya dari satu ujung yang disebut atas. Tumpukan hanya mengizinkan dua operasi dasar yang disebut push dan pop. Operasi push menambahkan elemen baru ke bagian atas tumpukan. Operasi pop menghapus elemen dari atas tumpukan. Jika tumpukan sudah penuh, ketika operasi push dilakukan, itu dianggap sebagai stack overflow. Jika operasi pop dilakukan pada tumpukan yang sudah kosong, itu dianggap sebagai tumpukan underflow. Karena sejumlah kecil operasi yang dapat dilakukan pada tumpukan, itu dianggap sebagai struktur data terbatas. Selain itu, menurut cara operasi push dan pop didefinisikan, jelas bahwa elemen yang ditambahkan terakhir ke dalam tumpukan akan keluar dari tumpukan terlebih dahulu. Oleh karena itu stack dianggap sebagai struktur data LIFO.
Apa itu Antrian?
Dalam antrian, elemen ditambahkan dari belakang antrian dan dihapus dari depan antrian. Karena elemen yang ditambahkan pertama akan dihapus dari antrian terlebih dahulu, ia mempertahankan urutan FIFO. Karena urutan penambahan dan penghapusan elemen ini, antrian mewakili ide dari jalur checkout. Operasi umum yang didukung oleh antrian adalah operasi en-queue dan de-queue. Operasi en-queue akan menambahkan elemen di bagian belakang antrian, sedangkan operasi de-queue menghapus elemen dari depan antrian. Secara umum, antrian tidak memiliki batasan jumlah elemen yang dapat ditambahkan ke antrian selain batasan memori.
Apa perbedaan antara Stack dan Queue?
Meskipun tumpukan dan antrian adalah jenis daftar terurut, mereka memiliki beberapa perbedaan penting. Pada stack, penambahan atau penghapusan item hanya dapat dilakukan dari satu ujung yang disebut atas, sedangkan pada antrian penambahan item dilakukan dari salah satu ujung yang disebut bagian belakang dan penghapusan item dilakukan dari ujung yang lain yang disebut bagian depan. Dalam tumpukan, item yang ditambahkan terakhir ke tumpukan akan dihapus terlebih dahulu dari tumpukan. Oleh karena itu tumpukan dianggap sebagai struktur data LIFO. Dalam antrian, item yang ditambahkan terlebih dahulu akan dikeluarkan dari antrian terlebih dahulu. Oleh karena itu antrian dianggap sebagai struktur data FIFO.
Link Terkait:
Perbedaan Antara Tumpukan dan Tumpukan