Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Herausforderung: Wie Man die Komplexität Eines Algorithmus Bestimmt | Einführung in ADS
Überblick Über Algorithmen und Datenstrukturen
course content

Kursinhalt

Überblick Über Algorithmen und Datenstrukturen

Überblick Über Algorithmen und Datenstrukturen

1. Einführung in ADS
2. Liste und Array
3. Fortgeschrittene Datenstrukturen
4. Graphen

book
Herausforderung: Wie Man die Komplexität Eines Algorithmus Bestimmt

Hier ist eine vereinfachte Anleitung, wie man die Zeitkomplexität eines Algorithmus bestimmt:

  1. Identifizieren Sie die Schlüsseloperationen: Beginnen Sie damit, die Schlüsseloperationen oder Schritte Ihres Algorithmus zu identifizieren. Diese Operationen könnten Schleifen, rekursive Aufrufe oder andere bedeutende Aktionen sein, die zur Laufzeit des Algorithmus beitragen;

  2. Zählen Sie die dominante Operation: Bestimmen Sie, welche Operation die gesamte Laufzeit des Algorithmus dominiert. Konzentrieren Sie sich auf die Operation, die am meisten zur gesamten Laufzeit beiträgt, insbesondere wenn die Eingabegröße größer wird;

  3. Drücken Sie die Komplexität in Bezug auf die Eingabegröße aus: Drücken Sie die Laufzeit des Algorithmus als Funktion der Eingabegröße aus (normalerweise als "n" bezeichnet). Überlegen Sie, wie die Anzahl der Operationen mit der Größe der Eingabe skaliert;

  4. Entfernen Sie Konstanten und Terme niedrigerer Ordnung: Vereinfachen Sie den Ausdruck, indem Sie Konstanten und Terme niedrigerer Ordnung entfernen. Die Big-O-Notation konzentriert sich auf den dominanten Term, der den größten Einfluss auf die Laufzeit hat, wenn die Eingabegröße gegen unendlich wächst;

  5. Bestimmen Sie die Big-O-Komplexität: Sobald Sie den Ausdruck haben, der die Laufzeit des Algorithmus in Bezug auf "n" darstellt, bestimmen Sie die Big-O-Komplexität, indem Sie den am schnellsten wachsenden Term identifizieren. Dieser Term stellt die obere Schranke der Laufzeit des Algorithmus dar.

Aufgabe

Swipe to start coding

Lassen Sie uns in die Zeitkomplexität eines einfachen Algorithmus eintauchen: Lineare Suche.
Lineare Suche ist eine grundlegende Suchmethode, die jedes Element in einer Liste nacheinander untersucht, bis sie eine Übereinstimmung findet oder die Liste erschöpft ist.
Ihr Ziel ist es, die Anzahl der Vergleiche zu bestimmen, die der Algorithmus benötigt, um das letzte Element der Liste zu finden. Diese Anzahl wird die obere Grenze der Zeitkomplexität des Algorithmus festlegen.

Hinweis

In dieser Aufgabe wollen wir die schlechteste Zeitkomplexität der Linearen Suche bestimmen. Wir müssen das letzte Element in der Liste finden, um es zu schätzen. Dies erfordert das Durchlaufen aller n Elemente der Liste. Folglich ist die Zeitkomplexität der Linearen Suche O(n), da wir jedes Element linear untersuchen müssen, bis wir das Ziel finden.

  1. Initialisieren Sie die Variable comparisons.
  2. Berechnen Sie die Anzahl der Vergleiche während der Ausführung des Algorithmus.
  3. Drucken Sie die Anzahl der Vergleiche am Ende des Programmcodes.

Sobald Sie diese Aufgabe abgeschlossen haben, klicken Sie auf die Schaltfläche unter dem Code, um Ihre Lösung zu überprüfen.

Lösung

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 5
toggle bottom row

book
Herausforderung: Wie Man die Komplexität Eines Algorithmus Bestimmt

Hier ist eine vereinfachte Anleitung, wie man die Zeitkomplexität eines Algorithmus bestimmt:

  1. Identifizieren Sie die Schlüsseloperationen: Beginnen Sie damit, die Schlüsseloperationen oder Schritte Ihres Algorithmus zu identifizieren. Diese Operationen könnten Schleifen, rekursive Aufrufe oder andere bedeutende Aktionen sein, die zur Laufzeit des Algorithmus beitragen;

  2. Zählen Sie die dominante Operation: Bestimmen Sie, welche Operation die gesamte Laufzeit des Algorithmus dominiert. Konzentrieren Sie sich auf die Operation, die am meisten zur gesamten Laufzeit beiträgt, insbesondere wenn die Eingabegröße größer wird;

  3. Drücken Sie die Komplexität in Bezug auf die Eingabegröße aus: Drücken Sie die Laufzeit des Algorithmus als Funktion der Eingabegröße aus (normalerweise als "n" bezeichnet). Überlegen Sie, wie die Anzahl der Operationen mit der Größe der Eingabe skaliert;

  4. Entfernen Sie Konstanten und Terme niedrigerer Ordnung: Vereinfachen Sie den Ausdruck, indem Sie Konstanten und Terme niedrigerer Ordnung entfernen. Die Big-O-Notation konzentriert sich auf den dominanten Term, der den größten Einfluss auf die Laufzeit hat, wenn die Eingabegröße gegen unendlich wächst;

  5. Bestimmen Sie die Big-O-Komplexität: Sobald Sie den Ausdruck haben, der die Laufzeit des Algorithmus in Bezug auf "n" darstellt, bestimmen Sie die Big-O-Komplexität, indem Sie den am schnellsten wachsenden Term identifizieren. Dieser Term stellt die obere Schranke der Laufzeit des Algorithmus dar.

Aufgabe

Swipe to start coding

Lassen Sie uns in die Zeitkomplexität eines einfachen Algorithmus eintauchen: Lineare Suche.
Lineare Suche ist eine grundlegende Suchmethode, die jedes Element in einer Liste nacheinander untersucht, bis sie eine Übereinstimmung findet oder die Liste erschöpft ist.
Ihr Ziel ist es, die Anzahl der Vergleiche zu bestimmen, die der Algorithmus benötigt, um das letzte Element der Liste zu finden. Diese Anzahl wird die obere Grenze der Zeitkomplexität des Algorithmus festlegen.

Hinweis

In dieser Aufgabe wollen wir die schlechteste Zeitkomplexität der Linearen Suche bestimmen. Wir müssen das letzte Element in der Liste finden, um es zu schätzen. Dies erfordert das Durchlaufen aller n Elemente der Liste. Folglich ist die Zeitkomplexität der Linearen Suche O(n), da wir jedes Element linear untersuchen müssen, bis wir das Ziel finden.

  1. Initialisieren Sie die Variable comparisons.
  2. Berechnen Sie die Anzahl der Vergleiche während der Ausführung des Algorithmus.
  3. Drucken Sie die Anzahl der Vergleiche am Ende des Programmcodes.

Sobald Sie diese Aufgabe abgeschlossen haben, klicken Sie auf die Schaltfläche unter dem Code, um Ihre Lösung zu überprüfen.

Lösung

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 5
Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
We're sorry to hear that something went wrong. What happened?
some-alt