Articles of Algorithmus

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

Erstelle einen Hashcode mit zwei Zahlen

Ich versuche, eine schnelle Hashcode-function für eine komplexe Zahlenklasse (a + b) in C # zu erstellen. Ich habe wiederholt die a.GetHashcode()^b.GetHashCode() -Methode gesehen. Dies ergibt jedoch den gleichen Hashcode für (a,b) und (b,a) . Gibt es einen Standard-Algorithmus, um dies zu tun und gibt es irgendwelche functionen im .Net-Framework, um zu helfen?

Schaltjahr Berechnung

Um Schaltjahre zu finden, warum muss das Jahr durch 100 teilbar und durch 400 teilbar sein? Ich verstehe, warum es durch 4 teilbar sein muss. Bitte erläutern Sie den Algorithmus.

Zufällige gewichtete Wahl

Betrachten Sie die folgende class, die einen Broker darstellt: public class Broker { public string Name = string.Empty; public int Weight = 0; public Broker(string n, int w) { this.Name = n; this.Weight = w; } } Ich möchte zufällig einen Broker aus einem Array unter Berücksichtigung ihrer Gewichte auswählen. Was denkst du über den […]