Als «runtime-analysis» getaggte Fragen

Fragen zu Methoden zum Schätzen der Laufzeiterhöhung eines Algorithmus mit zunehmender Eingabegröße.

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 …



3
Warum ist die binäre Suche schneller als die ternäre Suche?
Das Durchsuchen eines Arrays von Elementen mit der binären Suche erfordert im schlimmsten Fall Iterationen, da wir bei jedem Schritt die Hälfte unseres Suchraums abschneiden. Wenn wir stattdessen 'ternäre Suche' verwenden würden, würden wir bei jeder Iteration zwei Drittel unseres Suchraums , daher sollte der schlimmste Fall Iterationen ...log 2 …

3
Wie wird die Komplexität von Algorithmen für funktionale Sprachen modelliert?
Die Komplexität des Algorithmus ist so ausgelegt, dass sie unabhängig von Details auf niedrigeren Ebenen ist. Sie basiert jedoch auf einem zwingenden Modell, z. B. dem Array-Zugriff und dem Ändern eines Knotens in einem Baum. Dies ist in reinen Funktionssprachen nicht der Fall. Die Haskell-Liste benötigt für den Zugriff eine …



2
Warum ist der leere Typ von C nicht analog zum leeren / unteren Typ?
Wikipedia und andere Quellen, die ich gefunden habe, listen den voidTyp C als Einheitentyp und nicht als leeren Typ auf. Ich finde das verwirrend, da es mir so scheint, als ob es voidbesser zur Definition eines Leer- / Bodentyps passt. voidSoweit ich das beurteilen kann, gibt es keine Werte . …
28 type-theory  c  logic  modal-logic  coq  equality  coinduction  artificial-intelligence  computer-architecture  compilers  asymptotics  formal-languages  asymptotics  landau-notation  asymptotics  turing-machines  optimization  decision-problem  rice-theorem  algorithms  arithmetic  floating-point  automata  finite-automata  data-structures  search-trees  balanced-search-trees  complexity-theory  asymptotics  amortized-analysis  complexity-theory  graphs  np-complete  reductions  np-hard  algorithms  string-metrics  computability  artificial-intelligence  halting-problem  turing-machines  computation-models  graph-theory  terminology  complexity-theory  decision-problem  polynomial-time  algorithms  algorithm-analysis  optimization  runtime-analysis  loops  turing-machines  computation-models  recurrence-relation  master-theorem  complexity-theory  asymptotics  parallel-computing  landau-notation  terminology  optimization  decision-problem  complexity-theory  polynomial-time  counting  coding-theory  permutations  encoding-scheme  error-correcting-codes  machine-learning  natural-language-processing  algorithms  graphs  social-networks  network-analysis  relational-algebra  constraint-satisfaction  polymorphisms  algorithms  graphs  trees 

3
Warum wird die Auswahl schneller sortiert als die Blasensortierung?
Auf Wikipedia steht : "... Selektionssortierung übertrifft fast immer Blasensortierung und Gnomensortierung." Kann mir bitte jemand erklären, warum Auswahlsortierung als schneller als Blasensortierung angesehen wird, obwohl beide haben: Zeitliche Komplexität im schlimmsten Fall :O(n2)O(n2)\mathcal O(n^2) Anzahl der Vergleiche : O(n2)O(n2)\mathcal O(n^2) Beste Fallzeitkomplexität : Blasensortierung:O(n)O(n)\mathcal O(n) Auswahlsortierung:O(n2)O(n2)\mathcal O(n^2) Durchschnittliche Fallzeitkomplexität …

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. …



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 …


5
Für welche Art von Daten sind Hashtabellenoperationen O (1)?
Aus den Antworten auf (Wann) ergibt sich die Hash-Tabellensuche O (1)? Ich stelle fest, dass Hash-Tabellen das schlechteste Verhalten von aufweisen, zumindest amortisiert, wenn die Daten bestimmte statistische Bedingungen erfüllen, und dass es Techniken gibt, mit denen sich diese Bedingungen erweitern lassen.O ( 1 )Ö(1)O(1) Aus Sicht eines Programmierers weiß …

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.