Antwort von
nach 67 Tagen
hilfreich
Re^5: Komplexitt von Algorithmen
Hallo alle beisamen!
Leider habe ich diesen Thread jetzt erst gelesen, deshalb meine spaete Reaktion. Ich versuch mal zu motivieren wozu man das Komplexitaetszeugs braucht und was das soll:
Die Gross-Oh Notation, von der Du Bruno hier sprichst, gibt eine OBERE Schranke fuer der Speicherplatz UND Rechenzeitaufwand eines Algorithmusses fuer HINREICHEND grosse Probleminstanzen eines Problems an.
Man spricht auch von einer asympthotischen Aufwandsanschaetzung. Kleine Problemumfaenge werden also vernachlaessigt!
Deshalb ist die Wachstumsordnung einer Funktion f(n) (n-Groesse des Problems, f - Funktion fuer Rechenzeit oder Speicherplatz)), die durch die Funktion beschrieben wird von besonderem Interesse.
Konstanten wachsen mit dem Faktor 1, Polynome mit n^a (a ist eine Konstante), exponentielles Wachstum a^n, n!, n^n, .... .
Man sagt: Probleme fuer die keine Algorithmen existieren, der Komplexitat man durch ein Polynom (n^a) beschreiben kann, lassen sich praktisch nur fuer sehr kleine Problemumfaenge loesen. Das heisst, man will die praktisch loesbaren von den unloesbaren Problemen trennen.
Ein konstanter Faktor b fuer ein Polynom
b * (n ^ a) ist in diesem Betrachtungsrahmen eigentlich irrelevant und wird in asymptotischen Aufwandsabschaetzungen vernachlaessigt, weil dieser Faktor unabhaengig von Programmiersprachen, Maschinen, Betriebssystemen und anderen diversersen, in der Praxis sehr wichigen Einflussgroessen nicht bestimmt werden kann!
Der grosse Haken bei der ganzen Sache besteht darin, dass ein Polynom fuer kleine Problemgroessen exponentielles Wachstum bei weitem ueberschreiten kann. z.B. n=2
n^100 = was sehr Grosses, 2^n = 4
Ein weiteres Problem in der Gross-Oh-Notation besteht darin, dass sie nicht dicht ist. Es existieren ja beliebig viele obere Komplexitaetsschranken zu einem Algorithmus (Problem). Welches ist die, die am dichtesten an der eigentlichen Rechenzeit bzw. Speicherplatzaufwand liegt?
Ich hoffe der ritt in die Komplexitaet von Algorithmen hilft Dir weiter Bruno.
Wenn Du noch Fragen hast, denn stelle Sie nur weiter. Ich beschaeftige mich mit dem Zeugs von berufswegen. Empfehlen dazu kann ich als Einstiegsliteratur Ottmann/ Widmayer:Algorithmen und Datenstrukturen
Tschuess Jan