Linearer Algorithmus

Linearer Algorithmus

Ein linearer Algorithmus ist ein Algorithmus dessen Laufzeit linear in der Größe der Eingabe ist. Dies bedeutet, dass der Algorithmus für eine doppelt so große Eingabe in etwa doppelt so lange braucht. Man sagt auch: "Der Algorithmus ist in O(n)".

Lineare Algorithmen werden in der Regel als sehr schnelle Algorithmen angesehen. Sie gehören der Klasse der polynomiellen Algorithmen an.

Beispiel

Für die Aufgabe, die größte Zahl aus einer Liste mit n Einträgen zu finden, gibt es einen linearen Algorithmus:

  1. Setze die erste Zahl der Liste als (vorläufiges) Maximum.
  2. Gehe jetzt die restlichen Zahlen der Reihe nach durch und überprüfe jedes Mal, ob …
    diese Zahl größer ist, als das bisherige Maximum.
    Wenn ja, dann ersetze das (vorläufige) Maximum durch diese Zahl.
  3. Der Algorithmus ist fertig, wenn die letzte Zahl überprüft wurde.

Die Größe der Eingabe ist hier die Anzahl der Zahlen in der Liste. Um die Laufzeit des Algorithmus zu berechnen betrachtet man die Anweisungen der Reihe nach:

  • Die erste Anweisung dauert eine Zeiteinheit.
  • Danach kommt eine Schleife, die n-1 mal durchlaufen wird. In der Schleife werden ein oder zwei Anweisungen ausgeführt, damit bekommt man eine Laufzeit l zwischen n-1 und 2·(n-1) für die Schleife.
  • Nimmt man alles zusammen, so ist die Laufzeit c·(n), mit einer Konstanten c, die zwischen 1 und 2 liegt und die von der konkreten Eingabe abhängt. Um solche Abhängigkeiten zu vermeiden benutzt man die sogenannten Landau-Symbole, und schreibt hierfür kurz O(n).

Wikimedia Foundation.

Игры ⚽ Поможем решить контрольную работу

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Linearer Kongruenzgenerator — Die Kongruenzgeneratoren bilden eine Klasse von Algorithmen, die zufällig aussehende Zahlenfolgen erzeugen. Die dadurch erzeugten Zahlen nennt man Pseudozufallszahlen, da sie deterministisch erzeugt werden und somit nicht wirklich zufällig sind.… …   Deutsch Wikipedia

  • Algorithmus — systematische Beschreibung des Verfahrens zur Lösung einer Aufgabe. Beispiele: Gaußscher Algorithmus zur Lösung von Systemen linearer Gleichungen, das Quick Sort Verfahren zum Sortieren von Informationen. Computer Programme bestehen oft aus einer …   Erläuterung wichtiger Begriffe des Bauwesens

  • Simplex-Algorithmus — Das Simplex Verfahren läuft von einer Ecke eines LP Polyeders zur nächsten, bis keine Verbesserung mehr möglich ist. Das Simplex Verfahren (auch Simplex Algorithmus) ist ein Optimierungsverfahren der Numerik zur Lösung linearer… …   Deutsch Wikipedia

  • Hirschberg-Algorithmus — Der Hirschberg Algorithmus berechnet das paarweise Sequenzalignment und hat einen zur Eingabe linearen Speicherbedarf. Der in 1970er Jahren von Dan Hirschberg entwickelte Algorithmus verwendet die Methode der Dynamischen Programmierung und das… …   Deutsch Wikipedia

  • Linearspace-Algorithmus — Der Hirschberg Algorithmus ist ein Algorithmus der Informatik zum Finden einer bestmöglichen Überdeckung zweier Zeichenketten (Sequenzalignment), der auf Dan Hirschberg zurückgeht. Hierbei wird versucht, die Zeichenkette zu ermitteln, die den… …   Deutsch Wikipedia

  • Primal-Dual-Active-Set Algorithmus — Der Primal Dual Active Set Algorithmus ist ein Verfahren zur Lösung eines quadratischen Optimierungsproblems über einer konvexen Teilmenge S eines Hilbertraumes V über der Menge Ω. Inhaltsverzeichnis 1 Das Problem 2 Der Algorithmus 3 Anwendungen …   Deutsch Wikipedia

  • Ellipsoid-Algorithmus — Die Ellipsoidmethode ist ein polynomialer Algorithmus zur Linearen Optimierung. Sie wurde ursprünglich in den Jahren 1976 und 1977 von David Yudin und Arkadi Nemirovski und unabhängig davon von Naum Shor zur Lösung konvexer Optimierungsprobleme… …   Deutsch Wikipedia

  • Gemischter linearer Kongruenzgenerator — Die Kongruenzgeneratoren bilden eine Klasse von Algorithmen, die zufällig aussehende Zahlenfolgen erzeugen. Die dadurch erzeugten Zahlen nennt man Pseudozufallszahlen, da sie deterministisch erzeugt werden und somit nicht wirklich zufällig sind.… …   Deutsch Wikipedia

  • Bluestein-FFT-Algorithmus — Der Bluestein FFT Algorithmus (1968), normalerweise als Chirp z Transformation bezeichnet (1969, englisch chirp, dt. »zirpen«), ist ein FFT Algorithmus, der die Diskrete Fourier Transformation (DFT) von Datenmengen beliebiger Größe… …   Deutsch Wikipedia

  • Zuker-Algorithmus — Der Zuker Algorithmus berechnet die optimale Sekundärstruktur einer RNA Sequenz mit der minimalen freien Energie unter einem gegebenen thermodynamischen Modell. Es ist also ein Algorithmus zur RNA Strukturvorhersage. Der Algorithmus verwendet die …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”