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.
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 …
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 …
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 …
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 …
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 …
Ein binär indizierter Baum hat im Vergleich zu anderen Datenstrukturen sehr wenig oder relativ wenig Literatur. Der einzige Ort, an dem es unterrichtet wird, ist das Topcoder-Tutorial . Obwohl das Tutorial in allen Erklärungen vollständig ist, kann ich die Intuition hinter einem solchen Baum nicht verstehen? Wie wurde es erfunden? …
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 …
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 …
Es gibt zwei QuickSort-Partitionsmethoden, die in Cormen erwähnt werden: Hoare-Partition(A, p, r) x = A[p] i = p - 1 j = r + 1 while true repeat j = j - 1 until A[j] <= x repeat i = i + 1 until A[i] >= x if i < …
Wenn graphische Darstellungen der Suche gibt es zwei einfache Algorithmen: Breite erste und depth-first ( In der Regel erfolgt , indem all adjactent Graph Knoten zu einer Warteschlange hinzuzufügen (Breite-first) oder Stapel (depth-first)). Gibt es Vorteile eines gegenüber dem anderen? Die, an die ich denken konnte: Wenn Sie erwarten, dass …
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, …
Vor einigen Jahren wurde MapReduce als Revolution der verteilten Programmierung gefeiert. Es gab auch Kritiker, aber im Großen und Ganzen gab es einen begeisterten Hype. Es wurde sogar patentiert! [1] Der Name erinnert an mapund reducein der funktionalen Programmierung, aber wenn ich lese (Wikipedia) Zuordnungsschritt: Der Masterknoten nimmt die Eingabe …
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 …
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 …
Ich versuche, ein Skript zu schreiben, das zufällige Diagramme generiert, und ich muss wissen, ob eine Kante in einem gewichteten Diagramm den Wert 0 haben kann. Eigentlich macht es Sinn, dass 0 als Kantengewicht verwendet werden kann, aber ich habe in den letzten Tagen mit Diagrammen gearbeitet und noch nie …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.