/ / Implementiere eine PriorityQueue mit Hilfe eines BinarySearchTree: C ++ - C ++, Datenstrukturen, Binär-Suchbaum, Priority-Queue

Implementieren Sie eine PriorityQueue mithilfe eines BinarySearchTree: C ++ - c ++, Datenstrukturen, binärer Suchbaum, Prioritätswarteschlange

Ich muss ein Projekt machen: Die Prioritätswarteschlange wird in der binären Suchstruktur dargestellt. Es ist für meine Algorithmen-Klasse. Ich bin nicht sicher, genau, wie Sie einen binären Suchbaum als eine Prioritätswarteschlange verwenden würden. Alle Beispiele, die ich im Internet fand, waren über Haufen und dass "niemals sollten Sie eine Prioritätswarteschlange in einem bst implementieren, sondern nur in Heap". Könnte mir jemand erklären, was ich genau machen soll? Vielen Dank!

Antworten:

0 für die Antwort № 1

Als Hinweis muss eine Prioritätswarteschlange effizient seinunterstützt das Einfügen von Elementen, das Lesen des kleinsten Werts (oder des größten Werts in einer Warteschlange mit maximaler Priorität) und das Entfernen des kleinsten Werts. Ein BST unterstützt bereits schnelle Einfügungen und Löschungen. Wenn Sie also alle Elemente in Ihrer Prioritätswarteschlange in einer BST gespeichert haben, wie würden Sie den kleinsten Wert finden? Sehen Sie, ob Sie die Tatsache nutzen können, dass der BST seine Elemente in sortierter Reihenfolge speichert, um einen sehr schnellen Algorithmus zu finden, um den kleinsten Wert zu finden.