Articles of Algorithmus

Berechnen aller Teilmengen einer Menge von Zahlen

Ich möchte die Untermengen einer Menge von ganzen Zahlen finden. Es ist der erste Schritt des “Sum of Subsets” –Algorithmus mit Backtracking. Ich habe den folgenden Code geschrieben, aber er liefert nicht die richtige Antwort: BTSum(0, nums); ///************** ArrayList list = new ArrayList(); public static ArrayList BTSum(int n, ArrayList numbers) { if (n == numbers.size()) […]

Was ist ein effizienter Algorithmus zum Finden von überlappenden Rechtecken?

Meine Situation Eingabe: eine Reihe von Rechtecken Jedes Rect besteht aus 4 Doubles wie folgt: (x0, y0, x1, y1) Sie werden nicht in irgendeinem angular “gedreht”, sondern sie sind “normale” Rechtecke, die in Bezug auf den Bildschirm “auf / ab” und “links / rechts” gehen sie sind zufällig angeordnet – sie können sich an den […]

Schnellste Möglichkeit, fehlende Nummern in einem Zahlenfeld zu finden

Ich habe eine Reihe von Zahlen von 1 bis 100 (beide inklusive). Die Größe des Arrays ist 100. Die Zahlen werden zufällig zum Array hinzugefügt, aber es gibt einen zufälligen leeren Slot im Array. Was ist der schnellste Weg, um diesen Slot sowie die Nummer zu finden, die in den Slot gesteckt werden soll? Eine […]

Was ist der optimale Algorithmus für das Spiel 2048?

Ich bin kürzlich auf das Spiel 2048 gestoßen. Du machst ähnliche Kacheln zusammen, indem du sie in eine der vier Richtungen bewegst, um “größere” Kacheln zu erstellen. Nach jedem Zug erscheint eine neue Kachel an einer zufälligen leeren Position mit einem Wert von 2 oder 4 . Das Spiel wird beendet, wenn alle Felder gefüllt […]

Wie implementiere ich eine Warteschlange mit zwei Stapeln?

Angenommen wir haben zwei Stapel und keine andere temporäre Variable. Ist es möglich, eine Warteschlangen-Datenstruktur zu konstruieren, indem nur die zwei Stapel verwendet werden?

Erläutern, wie der Suchzyklus-Startknoten in der Zyklus-verknüpften Liste funktioniert?

Ich verstehe, dass das Treffen von Tortoise und Hare die Existenz einer Schleife abschließt, aber wie bewegt sich die Schildkröte zum Beginn der verknüpften Liste, während der Hase am Treffpunkt bleibt, gefolgt von einem Schritt nach dem anderen, um sie am Anfang des Zyklus zu treffen?

Negative Gewichte mit dem Dijkstra-Algorithmus

Ich versuche zu verstehen, warum der Dijkstra–Algorithmus nicht mit negativen Gewichtungen arbeitet. Wenn ich ein Beispiel auf Kürzeste Pfade lese , versuche ich das folgende Szenario herauszufinden: 2 A——-B \ / 3 \ / -2 \ / C Von der Website: Angenommen, die Kanten sind alle von links nach rechts gerichtet. Wenn wir mit A […]

Wie finde ich den kleinsten gemeinsamen Vorfahren zweier Knoten in einem binären Baum?

Der Binärbaum hier ist möglicherweise nicht unbedingt ein binärer Suchbaum. Die Struktur könnte als – genommen werden struct node { int data; struct node *left; struct node *right; }; Die maximale Lösung, die ich mit einem Freund erarbeiten konnte, war etwas in dieser Art – Betrachten Sie diesen Binärbaum : Binärer Baum http://sofde.miximages.com/algorithm/img151.gif Die Invers-Traversierung […]

Finde das kleinste Element in einem binären Suchbaum auf Optimale Weise

Ich muss das kleinste k-te Element im binären Suchbaum finden, ohne eine statische / globale Variable zu verwenden. Wie erreiche ich es effizient? Die Lösung, die ich in meinem Kopf habe, ist die Operation in O (n), dem schlimmsten Fall, da ich vorhabe, eine Inorder-Traversierung des gesamten Baumes durchzuführen. Aber tief in mir fühle ich, […]

Ein effizienter Komprimierungsalgorithmus für kurze Textstrings

Ich suche nach einem Algorithmus zum Komprimieren kleiner Textstrings: 50-1000 Bytes (dh URLs). Welcher Algorithmus funktioniert am besten?