Ich würde so wenig formale Definition wie möglich und einfache Mathematik
Die zeitliche Komplexität eines Algorithmus quantifiziert die Zeit, die ein Algorithmus benötigt, um in Abhängigkeit von der Größe der Eingabe für das Problem ausgeführt zu werden. Die zeitliche Komplexität eines Algorithmus wird üblicherweise unter Verwendung der Big-O-Notation ausgedrückt, die multiplikative Konstanten und Terme niedrigerer Ordnung unterdrückt.
Ich würde so wenig formale Definition wie möglich und einfache Mathematik
Was ist der präziseste und effizienteste Weg, um herauszufinden, ob ein JavaScript-Array einen Wert enthält? Dies ist der einzige Weg, den ich kenne: function contains(a, obj) { for (var i = 0; i < a.length; i++) { if (a[i] === obj) { return true; } } return false; } Gibt es einen besseren und...
Ich lerne über Big O Notation-Laufzeiten und amortisierte Zeiten. Ich verstehe den Begriff der linearen Zeit O (n) , was bedeutet, dass die Größe der Eingabe das Wachstum des Algorithmus proportional beeinflusst ... und dasselbe gilt zum Beispiel für die quadratische Zeit O (n 2 ) usw. Selbst...
Project Euler und andere Codierungswettbewerbe haben häufig eine maximale Laufzeit oder die Benutzer geben an, wie schnell ihre jeweilige Lösung ausgeführt wird. Bei Python sind die Ansätze manchmal etwas kludgey - dh das Hinzufügen von Timing-Code zu __main__. Wie lässt sich feststellen, wie lange...
Die Frage Wie finde ich die zeitliche Komplexität eines Algorithmus? Was habe ich getan, bevor ich eine Frage zu SO gestellt habe? Ich habe dies , dieses und viele andere Links durchgesehen Aber nirgends konnte ich eine klare und direkte Erklärung für die Berechnung der Zeitkomplexität finden. Was...
Angesichts der Tatsache, dass Zeichenfolgen in .NET unveränderlich sind, frage ich mich, warum sie so konzipiert wurden, dass stattdessen string.Substring()O ( substring.Length) Zeit benötigtO(1) ? dh was waren die Kompromisse, wenn
Ich verstehe die Big-O-Notation, weiß aber nicht, wie ich sie für viele Funktionen berechnen soll. Insbesondere habe ich versucht, die rechnerische Komplexität der naiven Version der Fibonacci-Sequenz herauszufinden: int Fibonacci(int n) { if (n <= 1) return n; else return Fibonacci(n - 1) +...
Was ist der Unterschied zwischen Big-O- Notation O(n)und Little-O- Notation
Gibt es Fälle, in denen Sie O(log n)Zeitkomplexität der O(1)Zeitkomplexität vorziehen würden ? Oder O(n)zu O(log n)? Hast du irgendwelche
Ressourcen, die ich zur Zeitkomplexität gefunden habe, sind unklar, wann es in Ordnung ist, Begriffe in einer Zeitkomplexitätsgleichung zu ignorieren, insbesondere bei nichtpolynomiellen Beispielen. Mir ist klar, dass bei etwas in der Form n 2 + n + 1 die letzten beiden Begriffe unbedeutend...
Ich habe einige interessante Behauptungen zu SO re Java-Hashmaps und deren Suchzeit gesehen O(1). Kann jemand erklären, warum das so ist? Sofern sich diese Hashmaps nicht wesentlich von den Hashing-Algorithmen unterscheiden, für die ich mich entschieden habe, muss immer ein Datensatz vorhanden...
Ich hörte jemanden sagen, dass die binäre Suche die für die Suche erforderliche Eingabe halbiert und es sich daher um einen log (n) -Algorithmus handelt. Da ich keinen mathematischen Hintergrund habe, kann ich mich nicht darauf beziehen. Kann es jemand etwas genauer erklären? hat es etwas mit der...
Der grundlegende Algorithmus für BFS: set start vertex to visited load it into queue while queue not empty for each edge incident to vertex if its not visited load into queue mark vertex Ich würde also denken, die zeitliche Komplexität wäre: v1 + (incident edges) + v2 + (incident edges) + .... + vn...
Angenommen, wir erhalten ein Array von n ganzen Zahlen, die die Aktienkurse an einem einzelnen Tag darstellen. Wir wollen ein Paar finden (buyDay, sellDay) , mit buyDay ≤ sellDay , so dass , wenn wir den Bestand an gekauft buyDay und verkaufen es an sellDay , würden wir unseren Gewinn...
Welche Algorithmen verwenden wir täglich mit O (1) -, O (n log n) - und O (log n)
Mein Wissen über Big-O ist begrenzt, und wenn Log-Terme in der Gleichung auftauchen, stört mich das noch mehr. Kann mir vielleicht jemand in einfachen Worten erklären, was ein O(log n)Algorithmus ist? Woher kommt der Logarithmus? Dies kam speziell auf, als ich versuchte, diese mittelfristige...
Arrays in JavaScript können sehr einfach durch Hinzufügen und Entfernen von Elementen geändert werden. Es maskiert etwas die Tatsache, dass die meisten Spracharrays eine feste Größe haben und komplexe Operationen erfordern, um die Größe zu ändern. Es scheint, dass JavaScript es einfach macht,...
Diese frühere Frage befasst sich mit einigen Faktoren, die dazu führen können, dass ein Algorithmus eine O (log n) -Komplexität aufweist. Was würde dazu führen, dass ein Algorithmus Zeitkomplexität O (log log n)
Was ist Pseudopolynomzeit ? Wie unterscheidet es sich von der Polynomzeit? Einige Algorithmen, die in pseudopolynomialer Zeit ausgeführt werden, haben Laufzeiten wie O (nW) (für das 0/1-Rucksackproblem ) oder O (√n) (für die Versuchsteilung ). Warum zählt das nicht als
Ich habe Schwierigkeiten zu entscheiden, wie zeitlich komplex Euklids größter gemeinsamer Nenner-Algorithmus ist. Dieser Algorithmus im Pseudocode lautet: function gcd(a, b) while b ≠ 0 t := b b := a mod b a := t return a Es scheint von a und b abzuhängen . Ich denke, dass die zeitliche...