Articles of Algorithmus

Suchen Sie nach Duplikaten in einem Array

Bei einem Array von n Integer-Elementen finden Sie heraus, ob in dem Array Duplikate in O (n) -Zeit vorhanden sind, ohne zusätzlichen Speicherplatz zu verwenden. Mit zusätzlichem Platz bedeutet es zusätzlichen Platz in der Reihenfolge O (n). Hilft der Xor-Operator in irgendeiner Weise.

Kreis-Kreis-Kollision

Ich werde ein 2-D-Ballspiel entwickeln, bei dem zwei Kugeln (Kreise) kollidieren. Jetzt habe ich das Problem, den Kollisionspunkt zu bestimmen (in der Tat zu bestimmen, ob sie auf der X-Achse / Y-Achse kollidieren). Ich habe die Idee, dass, wenn der Unterschied zwischen der y-Koordinate von 2 Kugeln größer als die x-Koordinatendifferenz ist, sie in ihrer […]

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 […]