Articles of Algorithmus

Warum wird die Konstante immer aus der großen O-Analyse entfernt?

Ich versuche, einen bestimmten Aspekt der Big O–Analyse im Zusammenhang mit dem Ausführen von Programmen auf einem PC zu verstehen. Angenommen, ich habe einen Algorithmus mit einer performance von O (n + 2). Wenn n wirklich groß wird, wird die 2 unbedeutend. In diesem Fall ist es vollkommen klar, dass die wirkliche performance O (n) […]

Nächste Nachbarn in hochdimensionalen Daten?

Ich habe vor ein paar Tagen eine Frage gestellt, wie man die nächsten Nachbarn für einen gegebenen Vektor findet. Mein Vektor ist jetzt 21 Dimensionen und bevor ich weiter gehe, weil ich nicht aus dem Bereich des maschinellen Lernens oder Mathematik komme, fange ich an, mir einige grundsätzliche Fragen zu stellen: Ist die euklidische Distanz […]

Wie validiert man einen binären Suchbaum?

Ich habe hier eine Übung in Interviews gelesen, die als validation eines binären Suchbaums bekannt ist. Wie genau funktioniert das? Wonach würde man bei der validation eines binären Suchbaums suchen? Ich habe einen einfachen Suchbaum geschrieben, aber noch nie von diesem Konzept gehört.

Pseudozufallszahlengenerator – Exponentielle Verteilung

Ich möchte einige Pseudozufallszahlen erzeugen und war bis jetzt sehr zufrieden mit der Random.Next(int min, int max) -function der .Net-Bibliothek. PRNGs dieser Sorte sollen eine Uniform-Verteilung verwenden , aber ich möchte sehr gerne einige Zahlen mit einer Exponentialverteilung erzeugen. Ich programmiere in C #, obwohl ich Pseudocode oder C ++, Java oder ähnliches akzeptiere. Irgendwelche […]

Wie kann ich effizient feststellen, ob ein Polygon konvex, nicht konvex oder komplex ist?

Von der Manpage für XFillPolygon : Wenn shape Complex ist , kann sich der Pfad selbst schneiden. Beachten Sie, dass zusammenhängende Punkte im Pfad nicht als Selbstschnittpunkt behandelt werden. Wenn die shape Convex ist , schneidet das Liniensegment, das sie verbindet, den Pfad nicht für jedes Punktepaar innerhalb des Polygons. Wenn der Client dies angibt, […]

Welcher Algorithmus gibt Vorschläge in einer Rechtschreibprüfung?

Welcher Algorithmus wird normalerweise verwendet, wenn eine Rechtschreibprüfung implementiert wird, die mit Wortvorschlägen versehen ist? Zuerst dachte ich, es könnte Sinn machen, jedes neue Wort, das im Lexikon nicht gefunden wurde, auf seine Levenshtein-Entfernung von jedem anderen Wort im Wörterbuch zu überprüfen und die besten Ergebnisse zurückzugeben. Dies scheint jedoch sehr ineffizient zu sein, da […]

Algorithmus zum zufälligen Erzeugen einer ästhetisch ansprechenden Farbpalette

Ich suche nach einem einfachen Algorithmus, um eine große Anzahl zufälliger, ästhetisch ansprechender colors zu erzeugen. Also keine verrückten Neonfarben, colors, die an Fäkalien erinnern, etc. Ich habe Lösungen für dieses Problem gefunden, aber sie verlassen sich auf alternative Farbpaletten als RGB. Ich würde lieber nur geradliniges RGB als das Mapping hin und her verwenden. […]

Speichern Sie die größten 5000 Nummern aus einem Zahlenstrom

Angesichts des folgenden Problems: “Speichere die größten 5000 Nummern aus einem Zahlenstrom” Die Lösung, die mir in den Sinn kommt, ist ein binärer Suchbaum, der eine Anzahl der Knoten im Baum und eine Referenz auf den kleinsten Knoten hält, sobald der Zählwert 5000 erreicht. Wenn der Zählwert 5000 erreicht, kann jede neue Zahl verglichen werden […]

Connect 4 Check für einen Gewinn-Algorithmus

Ich weiß, dass es viele Fragen bezüglich connect 4 nach einem Gewinn gibt. Das Problem ist, dass die meisten anderen Algorithmen zu Laufzeiterrorsn in meinem Programm führen, weil sie versuchen, auf einen Index außerhalb meines Arrays zuzugreifen. Mein Algorithmus ist so: private int checkWin(int[][] gridTable,int rowNum,int colNum, int maxRow, int maxCol) { // For checking […]

Algorithmus, um k kleinste Zahlen in einem Array von n Elementen zu finden

Ich versuche einen Algorithmus zu schreiben, der die kleinsten k Zahlen in einem n-Size-Array in O (n) Zeit drucken kann, aber ich kann die Zeitkomplexität nicht auf n reduzieren. Wie kann ich das machen?