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.

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 …

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 …

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

4
So messen Sie die Sortiertheit
Ich frage mich, ob es eine Standardmethode zum Messen der "Sortierbarkeit" eines Arrays gibt. Würde ein Array mit der mittleren Anzahl möglicher Inversionen als maximal unsortiert betrachtet werden? Damit meine ich, dass es so weit wie möglich von einer Sortierung oder umgekehrten Sortierung entfernt ist.

2
Wie asymptotisch schlimm ist naives Mischen?
Es ist bekannt, dass dieser "naive" Algorithmus zum Mischen eines Arrays durch Tauschen jedes Elements mit einem zufällig ausgewählten nicht richtig funktioniert: for (i=0..n-1) swap(A[i], A[random(n)]); Insbesondere gibt es, da bei jeder von Iterationen eine von Entscheidungen getroffen wird (mit einheitlicher Wahrscheinlichkeit), mögliche "Pfade" durch die Berechnung; weil die Anzahl …





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 

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.