Als «algorithm-analysis» getaggte Fragen

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.


2
Warum ist das Hinzufügen von Protokollwahrscheinlichkeiten schneller als das Multiplizieren von Wahrscheinlichkeiten?
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: …

3
Treten Funktionen mit langsamerem Wachstum als inverse Ackermann-Funktionen im Laufzeitbereich auf?
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. …

7
Was sind die Eigenschaften eines
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 …


1
Wie hängt die Laufzeit des Ukkonen-Algorithmus von der Alphabetgröße ab?
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 …

3
Warum Vergleiche anstelle von Laufzeit verwenden, um zwei Algorithmen zu vergleichen?
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 …


2
Was ist schwieriger: Ein sortiertes Deck mischen oder ein gemischtes Deck sortieren?
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 …

2
Was ist der Vorteil von Randomized Quicksort?
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 …

4
Wiederholungen und generierende Funktionen in Algorithmen
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 …

4
Warum verwenden wir die schnelle Sortierung nicht für eine verknüpfte Liste?
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) …

1
Komplexität des Brute-Force-Delaunay-Triangulationsalgorithmus
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. …

4
Quicksort erklärte den Kindern
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 …

2
Heap - Geben Sie einen
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(nlg⁡k)O(n \lg k)kkknnnkkk Da 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.