Articles of Algorithmus

Wie funktioniert Math.Pow (und so weiter)?

Also habe ich lange gegoogelt und fast nichts gefunden. Ich habe einige Informationen über eine mögliche Implementierung von Math.Pow von dieser URL gefunden , aber sie sind ungenau, zum Beispiel dieser Code public static double PowerA(double a, double b) { int tmp = (int)(BitConverter.DoubleToInt64Bits(a) >> 32); int tmp2 = (int)(b * (tmp – 1072632447) + […]

Projekt Euler Frage 14 (Collatz Problem)

Die folgende iterative Sequenz ist für die Menge der positiven ganzen Zahlen definiert: n -> n / 2 (n ist gerade) n -> 3n + 1 (n ist ungerade) Unter Verwendung der obigen Regel und beginnend mit 13 erzeugen wir die folgende Sequenz: 13 40 20 10 5 16 8 4 2 1 Es ist […]

Java – Generiert den Power-Set einer bestimmten Liste

Ich versuche, eine Sammlung aller 2 ^ N – 1 möglichen Kombinationen einer gegebenen Liste der Länge N zu erzeugen. Die Sammlung wird die Anzahl der Elemente in einer Kombination einer geordneten Liste von Kombinationen zuordnen, die Kombinationen der spezifischen Länge enthalten. Zum Beispiel für die Liste: [A, B, C, D] Ich möchte die Karte […]

Wie findet man alle möglichen Teilmengen eines gegebenen Arrays?

Ich möchte alle möglichen Untergruppen eines Arrays in C # oder C ++ extrahieren und dann die Summe aller Elemente der Subset-Arrays berechnen, um zu prüfen, wie viele von ihnen einer gegebenen Zahl entsprechen. Nach was ich suche, ist der Algorithmus. Ich verstehe die Logik hier, aber ich konnte diese jetzt nicht implementieren.

Java, finde den Schnittpunkt zweier Arrays

Ich habe bereits einige andere Stack-Überlauf-Threads gelesen: um die Schnittmenge zweier Multisets in Java zu finden Wie bekomme ich den Schnittpunkt zwischen zwei Arrays als neues Array? public static int[] intersection (int [] x, int numELementsInX, int [] y, int numElementsInY) { Ich versuche, zwei Arrays sowie ihre Anzahl von Elementen (numElementsInX und numElementsInY) zu […]

Modulus Power von großen Zahlen

Ich versuche den SAFER + Algorithmus zu implementieren. Der Algorithmus erfordert das Auffinden des Moduls einer Potenzfunktion wie folgt: pow(45, x) mod 257 Die Variable x ist ein Byte und kann daher von 0 bis 255 reichen. Dementsprechend kann das Ergebnis der Potenzfunktion SEHR groß sein, was zu falschen Werten führt, wenn es unter Verwendung […]

Parallele Reduktion in logarithmischer Zeit

Bei n Partialsummen ist es möglich, alle Partialsummen in log2 parallelen Schritten zu summieren. s0, s1, s2, s3, s4, s5, s6, s7 es gibt acht Threads mit acht Teilsummen: s0, s1, s2, s3, s4, s5, s6, s7 . Dies könnte in log2(8) = 3 aufeinanderfolgenden Schritten wie log2(8) = 3 reduziert werden; thread0 thread1 thread2 […]

Speicherbeschränkte externe Sortierung von Strings mit kombinierten und gezählten Duplikaten auf einem kritischen Server (Milliarden von Dateinamen)

Unser Server erzeugt Dateien wie {c521c143-2a23-42ef-89d1-557915e2323a}-sign.xml in seinem Protokollordner. Der erste Teil ist GUID; Der zweite Teil ist eine Namensvorlage. Ich möchte die Anzahl der Dateien mit derselben Namensvorlage zählen. Zum Beispiel haben wir {c521c143-2a23-42ef-89d1-557915e2323a}-sign.xml {aa3718d1-98e2-4559-bab0-1c69f04eb7ec}-hero.xml {0c7a50dc-972e-4062-a60c-062a51c7b32c}-sign.xml Das Ergebnis sollte sein sign.xml,2 hero.xml,1 Die Gesamtzahl der möglichen Namensvorlagen ist unbekannt und überschreitet möglicherweise int.MaxValue . […]

Erzeugen von ganzen Zahlen in aufsteigender Reihenfolge unter Verwendung einer Menge von Primzahlen

Ich habe eine Menge von Primzahlen und ich muss ganze Zahlen erzeugen, indem ich nur diese Primfaktoren in aufsteigender Reihenfolge benutze. Wenn die Menge beispielsweise p = {2, 5} ist, sollten meine Ganzzahlen 1, 2, 4, 5, 8, 10, 16, 20, 25, … sein. Gibt es einen effizienten Algorithmus, um dieses Problem zu lösen?

Schnelle Lösung für Subsetsumme

Betrachten Sie diese Möglichkeit, das Subsummenproblem zu lösen: def subset_summing_to_zero (activities): subsets = {0: []} for (activity, cost) in activities.iteritems(): old_subsets = subsets subsets = {} for (prev_sum, subset) in old_subsets.iteritems(): subsets[prev_sum] = subset new_sum = prev_sum + cost new_subset = subset + [activity] if 0 == new_sum: new_subset.sort() return new_subset else: subsets[new_sum] = new_subset […]