Tuesday, March 3, 2020

Stack, Queue & Priority Queue

    Setelah mempelajari Linked List, ada beberapa Data Structure yang menerapkan sebagian konsep dari Linked List, yakni Stack, Queue, Priority Queue. nah kali ini kita akan membahas apa yang dimaksud dari ketiga Data Structure tersebut.

1. Stack

    Stack adalah suatu tumpukan atau koleksi objek yang menggunakan prinsip Last In First Out (LIFO), yang berarti data yang terakhir kali dimasukkan kedalam Stack akan menjadi data pertama kali keluar dari Stack tersebut. contoh kegunaannya adalah Stack Pointer / Frame Pointer dalam komputer.





2. Queue

    Queue adalah suatu koleksi / antrian objek yg menerapkan prinsip Last In Last Out, yang artinya data yang terakhir dimasukan kedalam Queue akan menjadi data yang terakhir keluar. contoh kegunaan Queue adalah pada CPU Scheduling / Disk Scheduling dimana beberapa proses berjalan secara asynchronous dan dibutuhkan sebuah algoritma untuk men-sinkronisasi transfer data, dimana beberapa algoritma CPU Scheduling mengimplementasikan Queue.






3. Priority Queue

    Priority Queue sama seperti Queue namun data yang dimasukan lebih dulu disortir (valuenya dipertimbangkan) sehingga data yang paling bermakna valuenya akan keluar paling awal. contoh kegunaannya adalah dalam algoritma Dijkstra & A* (A Star) dimana Queuenya harus terurut berdasarkan distance / heuristic.


    Demikian beberapa Data Structure diatas, cukup mirip dengan Linked List bukan? namun stack memiliki implementasi yang cukup berbeda, yakni dengan menggunakan array. sedangkan untuk Queue & Priority Queue dapat menggunakan konsep Linked List sebagai basis implementasinya.

Reference :
- PPT Binusmaya
- Geeksforgeeks

No comments:

Post a Comment