Fragen zur Wissenschaft und Kunst der Bestimmung der Eigenschaften von Algorithmen, häufig einschließlich Korrektheit, Laufzeit und Speicherplatznutzung. Verwenden Sie das Tag [Laufzeitanalyse] für Fragen zur Laufzeit von Algorithmen.
Hat die geglättete Analyse Eingang in die Hauptstromanalyse von Algorithmen gefunden? Ist es für Algorithmenentwickler üblich, geglättete Analysen auf ihre Algorithmen anzuwenden?
Um die Frage zu formulieren, wollen wir in der Informatik häufig das Produkt mehrerer Wahrscheinlichkeiten berechnen: P(A,B,C) = P(A) * P(B) * P(C) Am einfachsten ist es, diese Zahlen einfach zu multiplizieren, und genau das wollte ich tun. Mein Chef sagte jedoch, es sei besser, das Protokoll der Wahrscheinlichkeiten hinzuzufügen: …
Einige komplizierte Algorithmen ( Union-Find ) haben die nahezu konstante inverse Ackermann-Funktion, die in der asymptotischen Zeitkomplexität auftritt, und sind im ungünstigsten Fall zeitoptimal, wenn der nahezu konstante inverse Ackermann-Term ignoriert wird. Gibt es Beispiele für bekannte Algorithmen mit Laufzeiten, bei denen Funktionen wesentlich langsamer wachsen als inverse Ackermann-Funktionen (z. …
Manchmal ist es einfach, die zeitliche Komplexität eines Algorithmus zu erkennen, wenn ich ihn sorgfältig untersuche. Algorithmen mit zwei verschachtelten Schleifen von NNN sind offensichtlich N2N2N^2 . Algorithmen , die alle möglichen Kombinationen von explore NNN Gruppen von zwei Werten ist offensichtlich 2N2N2^N . Ich weiß jedoch nicht, wie ich …
Ich habe den folgenden Python-Code. def collatz(n): if n <= 1: return True elif (n%2==0): return collatz(n/2) else: return collatz(3*n+1) Wie ist die Laufzeit dieses Algorithmus? Versuchen: Wenn die Laufzeit der Funktion bezeichnet . Dann denke ich, ich habe { T ( n ) = 1 für n ≤ 1 …
Ich beschäftige mich mit der Frage nach der asymptotischen Laufzeit des Ukkonen-Algorithmus , dem vielleicht beliebtesten Algorithmus zur Konstruktion von Suffix-Bäumen in linearer (?) Zeit. Hier ist ein Zitat aus dem Buch "Algorithmen für Strings, Bäume und Sequenzen" von Dan Gusfield (Abschnitt 6.5.1): "... die Algorithmen Aho-Corasick, Weiner, Ukkonen und …
Ich stelle fest, dass in einigen CS-Forschungsarbeiten zum Vergleich der Effizienz von zwei Algorithmen die Gesamtzahl der Schlüsselvergleiche in den Algorithmen verwendet wird und nicht die tatsächlichen Rechenzeiten selbst. Warum können wir nicht vergleichen, welches Programm besser ist, indem wir beide Programme ausführen und die Gesamtzeit für die Ausführung der …
Randomized Quick Sort ist eine Erweiterung von Quick Sort, bei der das Pivot-Element zufällig ausgewählt wird. Was kann der schlimmste Fall sein, Zeit Komplexität dieses Algorithmus. Meiner Meinung nach sollte es , da der schlimmste Fall ein zufällig gewählter Drehpunkt in sortierter oder umgekehrter sortierter Reihenfolge ist. In einigen Texten …
Sie haben ein Array von verschiedenen Elementen. Sie haben Zugriff auf einen Komparator (eine Black-Box-Funktion, die zwei Elemente und und true zurückgibt, falls ) und eine wirklich zufällige Quelle von Bits (eine Black-Box-Funktion, die keine Argumente verwendet und ein unabhängig einheitlich zufälliges Bit zurückgibt). Betrachten Sie die folgenden zwei Aufgaben:a …
In ihrem Buch Randomized Algorithms , Motwani Raghavan und öffnet die Einführung mit einer Beschreibung ihrer Funktion RandQS - Randomisierte quicksort - wobei der Schwenk, zum Unterteilen des Satzes in zwei Teile verwendet wird , wird nach dem Zufallsprinzip ausgewählt. Ich habe seit einiger Zeit mein (zugegebenermaßen etwas unterbewertetes) Gehirn …
Die Kombinatorik spielt in der Informatik eine wichtige Rolle. Sowohl bei der Analyse als auch beim Entwurf von Algorithmen setzen wir häufig kombinatorische Methoden ein. Zum Beispiel kann eine Methode zum Auffinden eines Vertex-Deckungssatzes in einem Diagramm alle möglichen -Untergruppen untersuchen. Während die Binomialfunktionen exponentiell anwachsen, erhalten wir , wenn …
Der schnelle Sortieralgorithmus kann in die folgenden Schritte unterteilt werden Pivot identifizieren. Partitionieren Sie die verknüpfte Liste basierend auf Pivot. Teilen Sie die verknüpfte Liste rekursiv in zwei Teile. Wenn ich immer das letzte Element als Pivot wähle, dauert die Identifizierung des Pivot-Elements (1. Schritt) Mal.O ( n )O(n)\mathcal O(n) …
In dem Buch "Computational Geometry: Algorithms and Applications" von Mark de Berg et al. Gibt es einen sehr einfachen Brute-Force-Algorithmus zur Berechnung von Delaunay-Triangulationen. Der Algorithmus verwendet den Begriff der illegalen Kanten - Kanten, die möglicherweise nicht in einer gültigen Delaunay-Triangulation vorkommen und durch einige andere Kanten ersetzt werden müssen. …
Letztes Jahr las ich einen fantastischen Artikel über „Quantenmechanik für den Kindergarten“ . Es war kein leichtes Papier. Nun frage ich mich, wie ich Quicksort mit möglichst einfachen Worten erklären kann. Wie kann ich beweisen (oder zumindest per Hand), dass die durchschnittliche Komplexität ist und was die besten und die …
Höchstwahrscheinlich wird diese Frage schon einmal gestellt. Es ist aus CLRS (2nd Ed) Problem 6.5-8 - Geben Sie einen -Zeitalgorithmus an, um sortierte Listen zu einer sortierten Liste zusammenzuführen, wobei die Gesamtzahl der Elemente in allen Eingabelisten ist. (Hinweis: Verwenden Sie einen Min-Heap für die Way-Zusammenführung.)O(nlgk)O(nlgk)O(n \lg k)kkknnnkkk Da es …
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.