Sind Ergebnisse bekannt, die das Vorhandensein von "Too Good To Be True" -Datenstrukturen ausschließen?
Beispiel: Kann man einer Auftragsverwaltungsdatenstruktur (siehe Dietz und Sleator STOC '87 ) die Funktionen und J o i n hinzufügen und trotzdem O ( 1 ) -Zeitoperationen erhalten ?
Oder: Kann man eine geordnete Menge mit ganzzahligen Schlüsseln und -Zeitoperationen implementieren ? Dies ist natürlich mindestens so schwierig wie die Entdeckung eines linearen Zeitalgorithmus zum Sortieren ganzer Zahlen.
Hat sich herausgestellt, dass die Antwort für jede dieser Fragen Nein ist ? Sind untere Ergebnisgrenzen für eine natürliche Datenstruktur bekannt?
ds.data-structures
big-list
lower-bounds
time-complexity
Shaun Harker
quelle
quelle
Antworten:
Es gibt einen sehr schönen Vortrag über die dynamischen Untergrenzen von Graphen von Mihai Pătraşcu. Zusammenfassend (auf Seite 20 der Folien) haben wir die Untergrenzen in Bezug auf die Abfragezeit und die Aktualisierungszeit t u (Einfügen einer Kante):tq tu
Einzelheiten finden Sie im Papier . Einige andere Artikel von Mihai sind auch relevant und nett.
UPDATE: Ich fand heraus, dass seine Doktorarbeit " Lower Bound Techniques for Data Structures " mit den von ihm entwickelten Techniken untere Grenzen für viele zentrale Datenstrukturprobleme liefert. Es ist auf jeden Fall eine Lektüre wert.
quelle
Die Antwort auf eine Ihrer Fragen hängt vom Berechnungsmodell ab. Zum Beispiel ist das Multiplizieren von ganzen Zahlen auf vielen Maschinen teurer als das Addieren. Einige Modelle spiegeln dies wider, andere nicht.
quelle
In Ergänzung zu dem, was Sie zu Ihrer Frage erwähnt haben, wird als klassisches Beispiel die Tatsache verwendet, dass Ganzzahlen nicht schneller als durch Vergleiche sortiert werden könnenO ( n logn ) um das Fehlen von Aufbauten zu beweisen.
Darüber hinaus ist es nicht ungewöhnlich, informationstheoretische Argumente (z. B. Kolmogorov-Komplexität) zu verwenden, um untere Grenzen für Datenstrukturen zu beweisen.
quelle