Saya selalu berpikir bahwa tumpukan dan antrian prioritas adalah sinonim - struktur data abstrak yang mendukung insert
, findMin
dan deleteMin
operasi.
Beberapa literatur tampaknya setuju dengan saya - Struktur Data Murni Fungsional Chris Okasaki (bab 3), misalnya.
Di sisi lain, halaman tumpukan Wikipedia mendefinisikannya sebagai struktur data berbasis pohon, dan menyatakan bahwa tumpukan adalah implementasi konkret dari antrian prioritas.
Saya mengalami kesulitan mendamaikan ini dengan fakta bahwa saya dapat memikirkan lebih dari satu implementasi tumpukan - tumpukan kiri, tumpukan binomial, tumpukan hamparan ...
Apakah fakta sederhana bahwa tumpukan dapat diimplementasikan dengan struktur data yang berbeda tidak berarti, menurut definisi, bahwa itu adalah struktur data abstrak? Dan jika itu masalahnya, apakah ada perbedaan aktual dengan antrian prioritas?