Als «algorithms» getaggte Fragen

Ein Algorithmus ist eine Folge genau definierter Schritte, die eine abstrakte Lösung für ein Problem definieren. Verwenden Sie dieses Tag, wenn Ihr Problem mit dem Entwurf und der Analyse von Algorithmen zusammenhängt.

11
Warum ist Quicksort in der Praxis besser als andere Sortieralgorithmen?
In einem Standard - Algorithmen Kurs werden wir gelehrt , dass quicksort ist im Durchschnitt und im schlimmsten Fall. Gleichzeitig werden andere Sortieralgorithmen untersucht, die im schlimmsten Fall (wie Mergesort und Heapsort ) und im besten Fall sogar eine lineare Zeit (wie Bubblesort ) sind, jedoch einige zusätzliche Speicheranforderungen haben.O …

3
Gibt es ein System hinter der Magie der Algorithmusanalyse?
Es gibt viele Fragen zur Laufzeitanalyse von Algorithmen (siehe zB Laufzeitanalyse und Algorithmusanalyse ). Viele sind ähnlich, zum Beispiel diejenigen, die nach einer Kostenanalyse von verschachtelten Schleifen oder Divide & Conquer-Algorithmen fragen, aber die meisten Antworten scheinen maßgeschneidert zu sein. Andererseits erklären die Antworten auf eine andere allgemeine Frage das …

14
Warum kann ich eine Grafik betrachten und sofort den nächstgelegenen Punkt zu einem anderen Punkt finden, aber ich benötige O (n) Zeit für die Programmierung?
Lassen Sie mich erklären: Wenn ich bei einem Streudiagramm mit einer bestimmten Anzahl von Punkten n mental den nächsten Punkt zu einem beliebigen Punkt im Diagramm finden möchte, kann ich die meisten Punkte im Diagramm sofort ignorieren und meine Auswahl auf eine kleine, konstante Anzahl von Punkten in der Nähe …

4
Wie konvertiere ich endliche Automaten in reguläre Ausdrücke?
Die Konvertierung regulärer Ausdrücke in (minimale) NFA, die dieselbe Sprache akzeptieren, ist mit Standardalgorithmen, z . B. dem Thompson-Algorithmus, einfach . Die andere Richtung scheint jedoch langweiliger zu sein, und manchmal sind die resultierenden Ausdrücke chaotisch. Welche Algorithmen gibt es, um NFA in gleichwertige reguläre Ausdrücke umzuwandeln? Gibt es Vorteile …

13
So täuschen Sie die Heuristik „probieren Sie einige Testfälle aus“: Algorithmen, die korrekt erscheinen, aber tatsächlich falsch sind
Um zu testen, ob ein Algorithmus für ein Problem korrekt ist, versuchen Sie in der Regel, den Algorithmus für eine Reihe einfacher Testfälle von Hand auszuführen. Versuchen Sie es an einigen Beispiel-Problemfällen, einschließlich einiger einfacher Eckfälle ". Dies ist eine großartige Heuristik: Es ist eine großartige Möglichkeit, viele fehlerhafte Versuche …


5
Was sind die Gründe, um verschiedene Algorithmen / Datenstrukturen zu lernen, die dem gleichen Zweck dienen?
Ich habe mich über diese Frage gewundert, seit ich Student war. Es ist eine allgemeine Frage, aber ich werde sie im Folgenden anhand von Beispielen erläutern. Ich habe viele Algorithmen gesehen - zum Beispiel für Probleme mit maximalem Durchfluss kenne ich 3 Algorithmen, die das Problem lösen können: Ford-Fulkerson, Edmonds-Karp …

3
Woher weiß man, welche Notation der Zeitkomplexitätsanalyse zu verwenden ist?
In den meisten einführenden Algorithmusklassen werden Notationen wie (Big O) und Θ verwendetOOOΘΘ\Theta eingeführt, und ein Schüler lernt normalerweise, die Zeitkomplexität mit einer dieser Methoden zu bestimmen. Es gibt jedoch auch andere Bezeichnungen wie , Ω und ω . Gibt es spezielle Szenarien, in denen eine Notation einer anderen vorzuziehen …



6
Wie können wir annehmen, dass grundlegende Operationen mit Zahlen eine konstante Zeit benötigen?
Normalerweise kümmern wir uns in Algorithmen nicht um Vergleich, Addition oder Subtraktion von Zahlen - wir gehen davon aus, dass sie in der Zeit ablaufen . Wir nehmen dies beispielsweise an, wenn wir sagen, dass die vergleichsbasierte Sortierung ist. Wenn Zahlen jedoch zu groß sind, um in Register zu passen, …


3
In-Place-Algorithmus zum Verschachteln eines Arrays
Sie erhalten ein Array von Elementen2n2n2n a1,a2,…,an,b1,b2,…bna1,a2,…,an,b1,b2,…bna_1, a_2, \dots, a_n, b_1, b_2, \dots b_n Die Aufgabe besteht darin, das Array mithilfe eines In-Place-Algorithmus so zu verschachteln, dass das resultierende Array aussieht b1,a1,b2,a2,…,bn,anb1,a1,b2,a2,…,bn,anb_1, a_1, b_2, a_2, \dots , b_n, a_n Wenn die Vor-Ort-Anforderung nicht vorhanden wäre, könnten wir leicht ein neues …

9
Gibt es Probleme, die mit zunehmender Größe einfacher werden?
Dies mag eine lächerliche Frage sein, aber ist es möglich, dass ein Problem auftritt, das mit zunehmender Größe der Eingaben tatsächlich einfacher wird? Ich bezweifle, dass solche praktischen Probleme vorliegen, aber vielleicht können wir ein entartetes Problem erfinden, das diese Eigenschaft hat. Vielleicht beginnt es sich zu "lösen", wenn es …


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.