Articles of Algorithmus

Schnellere Version von Find für sortierte Vektoren (MATLAB)

Ich habe Code der folgenden Art in MATLAB: indices = find([1 2 2 3 3 3 4 5 6 7 7] == 3) Dies ergibt 4,5,6 – die Indizes der Elemente im Array sind gleich 3. Now. Mein Code macht so etwas mit sehr langen Vektoren. Die Vektoren werden immer sortiert . Daher möchte ich […]

Generieren von Zufallszahlen ohne Wiederholungen

Ich baue eine Website auf, die bei jeder Aktualisierung der Seite nach dem Zufallsprinzip eine Yelp-Liste anzeigt. Die Yelp-Such-API gibt 20 Auflistungen in einem Array zurück. Im Moment benutze ich PHPs function rand (0,19), um jedes Mal, wenn die Seite aktualisiert wird, eine zufällige Liste zu erzeugen ($ business [rand (0,19)]). Kann mir jemand eine […]

Ein Array mit einer minimalen Anzahl von Vergleichen sortieren

Ich brauche Hilfe bei meinen CS-Hausaufgaben. Ich muss eine Sortierroutine schreiben, die ein Array der Länge 5 mit 7 Vergleichen im schlimmsten Fall sortiert (ich habe bewiesen, dass 7 wegen der Höhe des Entscheidungsbaums benötigt wird). Ich überlegte, den Entscheidungsbaum “hart-codiert” zu verwenden, aber das bedeutet, dass der Algorithmus wirklich kompliziert ist und von meinem […]

Wie lösche ich in einer Heap-Datenstruktur?

Ich verstehe, wie Sie den Wurzelknoten aus einem Max-Heap löschen, aber ist das Verfahren zum Löschen eines Knotens aus der Mitte zu entfernen und ersetzen Sie die Wurzel wiederholt, bis der gewünschte Knoten gelöscht wird? Ist O (log n) die optimale Komplexität für diesen Vorgang? Beeinflusst dies die große O-Komplexität, da andere Knoten gelöscht werden […]

Zwei Rechtecke Kreuzung

Ich habe zwei Rechtecke, die jeweils durch 4 Werte gekennzeichnet sind: Linke Position X , obere Position Y , Breite W und Höhe H : X1, Y1, H1, W1 X2, Y2, H2, W2 Rechtecke werden nicht wie folgt gedreht: +——————–> X axis | | (X,Y) (X+W, Y) | +————–+ | | | | | | […]

Einfachste Möglichkeit, die wichtigsten Elemente eines Scala Iterable zu erhalten

Gibt es eine einfache und effiziente Lösung, um die oberen n Elemente eines Scala Iterable zu bestimmen? Ich meine sowas iter.toList.sortBy(_.myAttr).take(2) aber ohne alle Elemente sortieren zu müssen, wenn nur die obersten 2 von Interesse sind. Idealerweise suche ich nach etwas wie iter.top(2, _.myAttr) Siehe auch: Lösung für das oberste Element mit einer Bestellung: In […]

Schnelle Algorithmus-Implementierung zum Sortieren sehr kleiner Listen

Dies ist das Problem, dem ich vor langer Zeit begegnet bin. Ich dachte, ich könnte dich nach deinen Ideen fragen. nehme an, ich habe eine sehr kleine Liste von Zahlen (Integer), 4 oder 8 Elementen, die schnell sortiert werden müssen. Was wäre der beste Ansatz / Algorithmus? Mein Ansatz war, die Max / Min-functionen (10 […]

So finden Sie alle Partitionen eines Sets

Ich habe eine Reihe von eindeutigen Werten. Ich suche nach einer Möglichkeit, alle Partitionen dieser Menge zu generieren, dh alle möglichen Arten, die Menge in Teilmengen zu unterteilen. Zum Beispiel hat die Menge {1, 2, 3} folgende Partitionen: { {1}, {2}, {3} }, { {1, 2}, {3} }, { {1, 3}, {2} }, { {1}, […]

Finden, ob zwei Wörter Anagramme von einander sind

Ich suche nach einer Methode, um herauszufinden, ob zwei Strings Anagramme von einander sind. Ex: string1 – abcde string2 – abced Ans = true Ex: string1 – abcde string2 – abcfed Ans = false Die Lösung, die ich mir ausgedacht habe, besteht darin, beide Zeichenketten zu sortieren und jedes Zeichen von beiden Zeichenketten bis zum […]

Erzeuge eine Liste von Primzahlen bis zu einer bestimmten Anzahl

Ich versuche eine Liste von Primzahlen unter 1 Milliarde zu erstellen. Ich versuche das, aber diese Art von Struktur ist ziemlich beschissen. Irgendwelche Vorschläge? a <- 1:1000000000 d <- 0 b <- for (i in a) {for (j in 1:i) {if (i %% j !=0) {d <- c(d,i)}}}