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 …
Es wird oft gesagt, dass die Hash-Tabellensuche in konstanter Zeit abläuft: Sie berechnen den Hash-Wert, der Ihnen einen Index für eine Array-Suche gibt. Dabei werden Kollisionen ignoriert. im schlimmsten Fall landet jedes Objekt im selben Bucket und die Suchzeit wird linear ( ).Θ ( n )Θ(n)\Theta(n) Gibt es Bedingungen für …
Ich habe gerade angefangen, einen Kurs über Datenstrukturen und Algorithmen zu belegen, und mein Lehrassistent hat uns den folgenden Pseudocode zum Sortieren einer Reihe von ganzen Zahlen gegeben: void F3() { for (int i = 1; i < n; i++) { if (A[i-1] > A[i]) { swap(i-1, i) i = …
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 …
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 …
Ich bin neu im Verständnis von Algorithmen der Informatik. Ich verstehe den Prozess der binären Suche, habe aber ein leichtes Missverständnis mit der Effizienz. Bei einer Größe von Elementen würde es im Durchschnitt Schritte dauern, um ein bestimmtes Element zu finden. Nimmt man den Logarithmus zur Basis 2 beider Seiten, …
Ich bin noch nicht einmal ein CS-Student, also ist das vielleicht eine blöde Frage, aber bitte trage sie mit mir ... Im Zeitalter vor dem Computer können wir eine Array-Datenstruktur nur mit so etwas wie einem Array von Schubladen implementieren. Da man die Schublade mit dem entsprechenden Index lokalisieren muss, …
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 . …
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 …
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. …
Bevor ich The Art of Computer Programming (TAOCP) gelesen habe , habe ich diese Fragen nicht gründlich untersucht. Ich würde Pseudocode verwenden, um Algorithmen zu beschreiben, sie zu verstehen und die Laufzeit nur über Wachstumsordnungen zu schätzen. Das TAOCP ändert meine Meinung gründlich. TAOCP verwendet Englisch gemischt mit Schritten und …
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 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 …
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ß …
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.