Zum Inhalt springen

Diskussion:Zeitkomplexität

Seiteninhalte werden in anderen Sprachen nicht unterstützt.
aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 17. Dezember 2004 um 09:23 Uhr durch Bodo Thiesen (Diskussion | Beiträge) (Wiki mag kein :<pre>). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Unter der Zeitkomplexität eines Problems versteht man die (minimale) Anzahl an Rechenschritten, ... Also das halte ich für ein Gerücht. Ein Algorithmus braucht für n Aktionen immer mindestens O(1), ob er nun etwas tut oder nicht. Steht - zumindest in der Informatik - O nicht eher für die maximale Anzahl? --Bodo Thiesen 06:24, 14. Dez 2004 (CET)

Wie schaffst Du denn n Aktionen in O(1)? Selbst wenn jede dieser Aktionen in konstanter Zeit (also O(1)) machbar ist, brauchst Du für n Aktionen. Mit der O-Notation wird in der Informatik eine Funktion angegeben, die mindestens genauso stark wächst, wie das, was man abschätzen möchte (in diesem Fall also die Laufzeit Deines Algorithmus). Siehe auch Landau-Symbole. --Pinguin.tk 13:54, 14. Dez 2004 (CET)
int fake_strlen(char * string) { return 42; }
Laufzeitkomplexität? Richtig, O(1) und nicht O(n). Jeder Algorithmus ist mindestens O(1). Die meisten sind selbstverständlich komplexer, aber O(1) ist jeder (mindestens). Und die Formulierung von oben interpretiere ich so, daß ich einfach für einen gegebenen Algorithmus sage "Jo, der beaucht mindestens Zeit für Pro- und Epilog, und macht dann auch noch irgendwas, also ist er mindestens O(1)", und kann dann diesen Algorithmus ohne weitere Betrachtung als O(1) einstufen. Das ist selbstverständlich nicht richtig, aber das ist die Aussage des Satzes. Ich meine, es wäre die "maximale" Anzahl an Operationen, die O angibt, nicht die Minimale. --Bodo Thiesen 08:16, 17. Dez 2004 (CET)