Als «data-structures» getaggte Fragen

Fragen zur Speicherung von Daten, damit diese von Algorithmen vorteilhaft genutzt werden können.

3
Aufrechterhaltung einer effizienten Bestellung, bei der Sie Elemente „zwischen“ zwei anderen Elementen in die Bestellung einfügen können?
Stellen Sie sich vor, ich habe eine Bestellung für eine Reihe von Elementen wie folgt: Wo ein Pfeil bedeutet . Es ist auch transitiv: .X.← Y.X←YX \leftarrow Y( X &lt; Y ) ∧ ( Y &lt; Z )X.&lt; YX&lt;YX < Y( X.&lt; Y) ∧ ( Y.&lt; Z)⟹( X.&lt; Z)(X&lt;Y)∧(Y&lt;Z)⟹(X&lt;Z)\left(X < …

1
Bitkomplexität der O (1) -Zeitbereichsabfrage in einem
Betrachten Sie das folgende Problem: Sei eine Konstante. Wir erhalten ein -ary-Array von und . Sei .kkkkkkAd1×…×dkAd1×…×dkA_{d_1\times\ldots\times d_k}000111N=∏ki=1diN=∏i=1kdiN = \prod_{i=1}^k d_i Wir möchten eine Datenstruktur erstellen, indem wir vorverarbeiten , um die folgenden Arten von Abfrageoperationen auszuführen:AAA Gibt es angesichts der Koordinaten einer -ary-Box eine in der Box? kkkDDD111 Geben …

1
Datenstrukturen für allgemeine (nicht tetraedrische) Zellkomplexe
Für polygonale 2D-Netze reichen die QuadEdge- und HalfEdge-Datenstrukturdarstellungen aus, um alle topologischen Informationen und Inzidenzinformationen zu speichern und effizient abzufragen. Gibt es kompakte und effiziente Datenstrukturen für polyedrische 3D-Netze? Ich weiß, dass es in letzter Zeit einige Arbeiten zu kompakten Darstellungen für tetraedrische Netze gegeben hat, wie zum Beispiel SOT …



1
Was nützen die Mindestwerte für Minimax-Bäume?
Betrachten Sie einen Minimax- Baum für ein kontroverses Suchproblem. Zum Beispiel in diesem Bild (Alpha-Beta-Schnitt): 3 B . max = 3 12 8 B . m a x = 3[min,max][min,max][\min,\max]333B.max=3B.max=3B.\max = 3121212888B.max=3B.max=3B.max = 3 Aber warum ist ? Was nützt dieser Wert?B.min=3B.min=3B.\min = 3

1
Inkrementelle stark verbundene Komponenten
Für einen sich ändernden gerichteten Graphen möchte ich Informationen über stark verbundene Komponenten pflegen. Die Diagrammoperationen sind inkrementell: nur Scheitelpunktaddition und Kantenaddition. Welche Datenstrukturen erzielen für diese Operationen die bekannteste amortisierte Komplexität? Wenn der Graph ungerichtet wäre, wäre die Antwort die Union-Find-Struktur. Und da ungerichtete Graphen als Sonderfälle gerichteter Graphen …

1
Präfixsummen im veränderlichen 2D-Array
Angenommen, ich habe ein 2D-Array M[n][n]von Ganzzahlen (tatsächlich ist Binär in Ordnung, aber ich bezweifle, dass es wichtig ist). Ich interessiere mich für wiederholte Abfragen der Form: Wenn ein Koordinatenpaar , was ist Natürlich können alle diese Werte in \ mathcal O (n ^ 2) Zeitsumme berechnet werden , und …


3
Finden Sie gemeinsame min in logarithmischer Zeit
Ich suche nach einer Datenstruktur zum Speichern einer Menge, so dass bei zwei Instanzen der Größe denen bekannt ist, dass sie einen nicht leeren Schnittpunkt haben, das minimale Element des Schnittpunkts in der Zeit kann. Ist dies entweder im schlimmsten Fall oder bei amortisierter Komplexität möglich? Weitere Anforderungen an die …

1
Datenstruktur zum Testen aller Teilmengen einer Abfrage auf Mitgliedschaft
Gibt es eine Datenstruktur, die die folgenden Vorgänge effizient unterstützt? Set hinzufügen Fragen Sie ab, ob eine Teilmenge einer Menge hinzugefügt wurde. Dies könnte mit linearem Overhead implementiert werden, indem jeder hinzugefügte Satz während jeder Abfrage getestet wird. Kann es effizienter umgesetzt werden? Kleine Wahrscheinlichkeiten für falsch positive / negative …


2
Was ist der Vorteil von Heaps gegenüber sortierten Arrays?
Ich bin ziemlich neu in Heaps und versuche, mich darum zu kümmern, warum Min- und Max-Heaps als Bäume dargestellt werden, wenn ein sortiertes Array standardmäßig beide Min / Max-Eigenschaften bietet. Und ein Follow-up: Was ist der Vorteil des Umgangs mit der Komplexität des Einfügens in einen Heap, wenn ein Algorithmus …


2
Warum heißt es in einer Warteschlange mit Mindestpriorität (Heap-basiert) "Verkleinerungsschlüssel" und nicht nur "Set-Schlüssel"?
Wenn Sie in einer Warteschlange mit Mindestpriorität den Verkleinerungsschlüssel aufrufen, legen Sie im Grunde den Schlüssel fest. Sie können versehentlich einen höheren Schlüssel eingeben, oder? Warum heißt es nicht "Set-Key" oder "Update-Key"? Warum (laut Wikipedia und anderen Quellen) hat eine Warteschlange mit minimaler Priorität "Schlüssel verringern" und eine Warteschlange mit …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.