Partitionsverfeinerung ist eine Technik, bei der Sie mit einer endlichen Menge von Objekten beginnen und die Menge schrittweise aufteilen. Einige Probleme, wie die DFA-Minimierung, können mithilfe der Partitionsoptimierung sehr effizient gelöst werden. Ich kenne keine anderen Probleme, die normalerweise durch Partitionsverfeinerung gelöst werden, außer den auf der Wikipedia-Seite aufgelisteten. Von …
WalkSAT und GSAT sind bekannte und einfache lokale Suchalgorithmen zur Lösung des Problems der booleschen Erfüllbarkeit. Der Pseudocode für den GSAT-Algorithmus wird aus der Frage Implementieren des GSAT-Algorithmus kopiert. Wie wird ausgewählt, welches Literal umgedreht werden soll? und unten dargestellt. procedure GSAT(A,Max_Tries,Max_Flips) A: is a CNF formula for i:=1 to …
Ich habe eine Aufgabe, bei der ich einen binären Suchbaum verwenden und ihn so ändern muss, dass sich die Elemente, auf die am häufigsten zugegriffen wird (mit höherer Priorität), am oberen Rand des Baums befinden. Dabei ist der Stamm der Knoten, auf den am häufigsten zugegriffen wird . Der Professor …
Betrachten Sie unbeschriftete, verwurzelte Binärbäume. Wir können solche Bäume komprimieren : wenn es Zeiger auf Teilbäume TTT und mit (interpretieren T = T ' =T′T′T'T=T′T=T′T = T'=== als strukturelle Gleichheit), speichern wir (oBdA) TTT und ersetzen Sie alle Verweise auf T′T′T' mit Zeigern auf TTT . Siehe uli Antwort für …
Bei vielen Max-Flow-Algorithmen, die meiner Meinung nach implementiert sind, bei Dinics Algorithmus, Push Relabel und anderen, können die asymptotischen Zeitkosten durch die Verwendung dynamischer Bäume (auch als Link-Cut-Bäume bezeichnet) verbessert werden . Push-Relabel läuft in oder O ( V 3 ) oder O ( V 2 √O ( V2E)O(V2E)O(V^2E)O ( …
Diese Frage wurde von Stack Overflow migriert, da sie in Computer Science Stack Exchange beantwortet werden kann. Vor 3 Jahren migriert . Dynamische Bäume spielen eine wichtige Rolle bei der Lösung von Problemen wie Netzwerkflüssen, dynamischen Graphen, kombinatorischen Problemen ("Dynamic Trees in Practice" von Tarjan und Werneck) und kürzlich zusammengeführten …
Ich habe ein Array von 100.000 Zeichenfolgen, die alle die Länge . Ich möchte jede Zeichenfolge mit jeder anderen Zeichenfolge vergleichen, um festzustellen, ob sich zwei Zeichenfolgen um ein Zeichen unterscheiden. Im Moment, wenn ich jede Zeichenfolge zum Array hinzufüge, überprüfe ich sie mit jeder Zeichenfolge, die sich bereits im …
Persistente Datenstrukturen sind unveränderliche Datenstrukturen. Operationen auf ihnen geben eine neue "Kopie" der Datenstruktur zurück, die jedoch durch die Operation geändert wurde. Die alte Datenstruktur bleibt jedoch unverändert. Effizienz wird im Allgemeinen dadurch erreicht, dass einige der zugrunde liegenden Daten gemeinsam genutzt werden und ein vollständiges Kopieren der Datenstruktur vermieden …
Ich beschäftige mich mit der Frage nach der asymptotischen Laufzeit des Ukkonen-Algorithmus , dem vielleicht beliebtesten Algorithmus zur Konstruktion von Suffix-Bäumen in linearer (?) Zeit. Hier ist ein Zitat aus dem Buch "Algorithmen für Strings, Bäume und Sequenzen" von Dan Gusfield (Abschnitt 6.5.1): "... die Algorithmen Aho-Corasick, Weiner, Ukkonen und …
Angenommen, wir empfangen Zahlen in einem Stream. Nachdem jede Zahl empfangen wurde, muss eine gewichtete Summe der letzten Zahlen berechnet werden, wobei die Gewichte immer gleich, aber willkürlich sind.NNN Wie effizient kann dies durchgeführt werden, wenn wir eine Datenstruktur zur Unterstützung der Berechnung beibehalten dürfen? Können wir etwas Besseres tun …
Wie viele verschiedene Max-Heaps gibt es für eine Liste von ganzen Zahlen?nnn Beispiel: Liste [1, 2, 3, 4] Der Max-Heap kann entweder sein 4 3 2 1: 4 / \ 3 2 / 1 oder 4 2 3 1: 4 / \ 2 3 / 1
Ich habe kürzlich gelesen, dass es möglich ist, Arrays zu haben, die nicht initialisiert werden müssen, dh, es ist möglich, sie zu verwenden, ohne Zeit aufwenden zu müssen, um jedes Mitglied auf den Standardwert zu setzen. Das heißt, Sie können das Array so verwenden, als ob es mit dem Standardwert …
Gibt es eine Datenstruktur, die eine Sammlung von Mengen (von endlichen Mengen) verwaltet, die die folgenden Operationen unterstützt? Jede sublineare Laufzeit wird geschätzt? Initiere ein leeres Set. Fügen Sie einem Set ein Element hinzu. Geben Sie bei zwei Sätzen an, ob sie sich überschneiden.
Ich habe eine kleine geschichtliche Frage, nämlich, wie der Titel sagt, ich suche nach frühen Verwendungen von Bäumen (als Datenstruktur, Suchbaum, was auch immer) in der Informatik.
Während ich über ein Problem nachdachte, wurde mir klar, dass ich einen effizienten Algorithmus erstellen muss, der die folgende Aufgabe löst: Das Problem: Wir erhalten einen zweidimensionalen quadratischen Kasten der Seite dessen Seiten parallel zu den Achsen sind. Wir können es von oben untersuchen. Es gibt jedoch auch horizontale Segmente. …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.