Articles of Algorithmus

Wie kann ich in Java die Nachkommen eines Baumknotens effizient und elegant streamen?

Angenommen, wir haben eine Sammlung von Objekten, die durch eindeutige String , zusammen mit einer class Tree , die eine Hierarchie für sie definiert. Diese class wird unter Verwendung einer Map von Knoten (dargestellt durch ihre IDs) zu Collection der jeweiligen Kinder-IDs implementiert. class Tree { private Map<String, Collection> edges; // … public Stream descendants(String […]

Algorithmus, der Zahlen oder Wörter nimmt und alle möglichen Kombinationen findet

Ich suche nach einem Algorithmus, der Zahlen oder Wörter nimmt und alle möglichen Variationen von ihnen zusammen findet und ich auch definieren kann, wie viele Werte zusammen zu suchen sind. Beispiel lässt uns sagen, die Zeichenfolge oder das Array ist: cat dog fish dann könnten die Ergebnisse für einen Wert von 2 sein: cat dog […]

Binärsuche in Array

Wie würde ich eine binäre Suche mit nur einem Array implementieren?

In Order Successor im binären Suchbaum

Bei einem Knoten in einem BST: Wie findet man den nächsthöheren Schlüssel?

beste Möglichkeit, eine zufällige Teilmenge aus einer Sammlung auszuwählen?

Ich habe eine Reihe von Objekten in einem Vektor, aus denen ich eine zufällige Teilmenge auswählen möchte (z. B. 100 Elemente kommen zurück; wählen Sie 5 zufällig). In meinem ersten (sehr hastigen) Pass habe ich eine sehr einfache und vielleicht zu clevere Lösung gemacht: Vector itemsVector = getItems(); Collections.shuffle(itemsVector); itemsVector.setSize(5); Obwohl dies den Vorteil hat, […]

Was ist der beste Weg, um den minimalen oder maximalen Wert von einem Array von Zahlen zu erhalten?

Sagen wir, ich habe ein Array von Zahlen: [2,3,3,4,2,2,5,6,7,2] Was ist der beste Weg, um den minimalen oder maximalen Wert in diesem Array zu finden? Um das Maximum zu erhalten, führe ich gerade das Array durch und setze eine Variable auf den Wert zurück, wenn dieser größer als der vorhandene Wert ist: var myArray:Array /* […]

Entfernen Sie Text zwischen Trennzeichen in einer Zeichenfolge (mit einem Regex?)

Berücksichtigen Sie die Anforderung, ein übereinstimmendes Zeichenpaar zu finden und alle Zeichen sowie Zeichen / Trennzeichen zwischen ihnen zu entfernen. Hier sind die Begrenzer: [] square brackets () parentheses “” double quotes ” single quotes Hier sind einige Beispiele für Strings, die übereinstimmen sollten: Given: Results In: ——————————————- Hello “some” World Hello World Give [Me […]

Wie kann ich eine STL-Map nach Wert sortieren?

Wie kann ich die STL-Map-Sortierung nach Wert implementieren? Zum Beispiel habe ich eine Karte m : map m; m[1] = 10; m[2] = 5; m[4] = 6; m[6] = 1; Ich möchte diese Karte nach dem Wert von m sortieren. Also, wenn ich die Karte drucke, möchte ich das Ergebnis wie folgt erhalten: m[6] = […]

Wie konvertiert man 16-Bit RGB565 zu 24-Bit RGB888?

Ich habe ein 16-Bit-rgb565-Bild (speziell einen Framebuffer-Dump für Android) in die Hände bekommen, und ich möchte es in 24-bit rgb888 konvertieren, um es auf einem normalen Monitor anzuzeigen. Die Frage ist, wie konvertiert man einen 5- oder 6-Bit-Kanal zu 8 Bit? Die offensichtliche Antwort ist, es zu verschieben. Ich begann damit, dies zu schreiben: puts(“P6 […]

Emulieren Sie “double” mit 2 “float” s

Ich schreibe ein Programm für eine eingebettete Hardware, die nur 32-Bit-Gleitkommaberechnung mit einfacher Genauigkeit unterstützt. Der Algorithmus, den ich implementiere, erfordert jedoch eine 64-Bit-Addition und einen Vergleich mit doppelter Genauigkeit. Ich versuche, double Datentyp mit einem Tupel von zwei float s zu emulieren. Also wird ein double d als eine struct emuliert, die das Tupel […]