Zawsze myślałem, że stosy i kolejki priorytetowe były synonimami - streszczenie struktura danych, która wspiera insert
, findMin
i deleteMin
operacje.
Wygląda na to, że część literatury jest ze mną zgodna - na przykład struktury danych funkcjonalne Chrisa Okasakiego (rozdział 3).
Z drugiej strony strona sterty Wikipedii definiuje ją jako strukturę danych opartą na drzewach i stwierdza, że sterty są konkretną implementacją kolejek priorytetowych.
Trudno mi to pogodzić z faktem, że mogę wymyślić więcej niż jedną implementację stosu - stosy lewicowe, stosy dwumianowe, stosy rozrzucone ...
Czy prosty fakt, że stertę można wdrożyć przy użyciu różnych struktur danych, nie oznacza z definicji, że jest to abstrakcyjna struktura danych? A jeśli tak, to czy rzeczywiście istnieje różnica w stosunku do kolejek priorytetowych?