Articles of Algorithmus

Wie kann ich die vergangene Zeit mit Joda-Time berechnen?

Ich muss die verstrichene Zeit von einem bestimmten Datum bis jetzt berechnen und sie im selben Format wie StackOverflow-Fragen anzeigen, dh: 15s ago 2min ago 2hours ago 2days ago 25th Dec 08 Wissen Sie, wie Sie es mit der Java Joda-Time Bibliothek erreichen ? Gibt es eine Hilfsmethode, die es bereits implementiert, oder sollte ich […]

Wie berechne ich einen angular von drei Punkten?

Sagen wir, Sie haben folgendes: P1 = (x=2, y=50) P2 = (x=9, y=40) P3 = (x=5, y=20) Angenommen, P1 ist der Mittelpunkt eines Kreises. Es ist immer das Gleiche. Ich möchte den angular, der aus P2 und P3 , also den angular, der neben P1 . Der innere angular, um genau zu sein. Es wird […]

Sortierung gezippter (gesperrter) Container in C ++ mit Boost oder der STL

Was ich machen möchte: Ich möchte 2 oder 3 oder N Vektoren zusammenschließen, ohne sie in ein Tupel zu kopieren . Das heißt, die Ausführlichkeit beiseite lassen, etwas wie: vector v1 = { 1, 2, 3, 4, 5}; vector v2 = { 11, 22, 33, 44, 55}; vector v3 = {111, 222, 333, 444, 555}; […]

Finden Sie alle Pfade zwischen zwei Grafikknoten

Ich arbeite an einer Implementierung des Dijkstras-Algorithmus, um den kürzesten Pfad zwischen verbundenen Knoten in einem Netzwerk von Routen abzurufen. Ich habe die Umsetzung funktioniert. Es gibt alle kürzesten Pfade zu allen Knoten zurück, wenn ich den Startknoten in den Algorithmus überlasse. Meine Frage: Wie geht man alle möglichen Wege von Knoten A zu Knoten […]

Implementieren Sie eine Warteschlange, in der push_rear (), pop_front () und get_min () alle konstante Zeitoperationen sind

Ich bin auf diese Frage gestoßen : Implementiere eine Warteschlange, in der push_rear (), pop_front () und get_min () alle konstante Zeitoperationen sind. Ich dachte anfangs über die Verwendung einer Min-Heap-Datenstruktur mit O (1) -Komplexität für eine get_min (). Aber push_rear () und pop_front () wären O (log (n)). Weiß jemand, was der beste Weg […]

Quicksort: Auswählen des Drehpunkts

Bei der Implementierung von Quicksort müssen Sie beispielsweise einen Pivot auswählen. Aber wenn ich einen Pseudocode wie den unten stehenden anschaue, ist nicht klar, wie ich den Drehpunkt wählen soll. Erstes Element der Liste? Etwas anderes? function quicksort(array) var list less, greater if length(array) ≤ 1 return array select and remove a pivot value pivot […]

Mindestens gemeinsames Vielfaches für 3 oder mehr Zahlen

Wie berechnen Sie das kleinste gemeinsame Vielfache von mehreren Zahlen? Bisher konnte ich nur zwischen zwei Zahlen rechnen. Aber habe keine Ahnung, wie man es ausdehnt, um 3 oder mehr Zahlen zu berechnen. So weit habe ich es gemacht LCM = num1 * num2 / gcd ( num1 , num2 ) Mit gcd ist die […]

Schnelle Permutation -> Anzahl -> Permutations-Mapping-Algorithmen

Ich habe n Elemente. Um ein Beispiel zu nennen, sagen wir 7 Elemente, 1234567. Ich weiß, dass es 7 gibt! = 5040 mögliche Permutationen dieser 7 Elemente. Ich möchte einen schnellen Algorithmus mit zwei functionen: f (Zahl) bildet eine Zahl zwischen 0 und 5039 zu einer eindeutigen Permutation ab, und f ‘(Permutation) bildet die Permutation […]

Wählen Sie k zufällige Elemente aus einer Liste, deren Elemente Gewichte haben

Die Auswahl ohne Gewichte (gleiche Wahrscheinlichkeiten) ist hier schön beschrieben. Ich habe mich gefragt, ob es einen Weg gibt, diesen Ansatz in einen gewichteten zu verwandeln. Ich bin auch an anderen Ansätzen interessiert. Update: Sampling ohne Ersatz

Löcher in 2D-Punktsets finden?

Ich habe 2d points . Sie sind X,Y coordinates auf einem kartesischen Standardrastersystem (in diesem Fall eine UTM zone ). Ich muss die Löcher in diesem Punktsatz finden, vorzugsweise mit einer gewissen Fähigkeit, die Empfindlichkeit des Algorithmus einzustellen, der diese Löcher findet. Typischerweise sind diese Punktmengen sehr dicht, aber manche können viel weniger dicht sein. […]