Ich verwende eine Prioritätswarteschlange, die anfänglich die Priorität ihrer Elemente auf einer Heuristik basiert. Wenn Elemente aus der Warteschlange genommen werden, wird die Heuristik aktualisiert, und die Elemente, die sich derzeit in der Warteschlange befinden, können ihre Schlüssel erhöht haben.Ein Min-Heap mit besser als O (logn) erhöhen Schlüssel?
Ich weiß, es gibt Haufen (Fibonacci Heaps speziell), die amortisiert haben O (1) verringern Tastenoperationen, aber gibt es irgendwelche Heap-Strukturen, die ähnliche Grenzen auf die Erhöhung der Tastenoperationen haben?
Für meine Anwendung ist dies weit von einem Leistungsproblem (ein binärer Haufen funktioniert gut), es ist wirklich nur akademische Neugier.
Edit: um zu klären, ich bin auf der Suche nach einer Datenstruktur, die eine schnellere als O (logn) Zeit für die Erhöhung Taste Betrieb hat, nicht Schlüssel zu verringern. Meine Anwendung verringert niemals den Schlüssel, da die Heuristik die Priorität überschätzt.
Paarungshaufen klingt interessant, aber verbessern sie O (logn) für Tastenerweiterungen? –