Zum Inhalt springen

Frage zu Beispiel mit der O-Notation


Empfohlene Beiträge

Hallo,

ich habe folgendes Beispiel vor mir liegen; es geht um die rekursive Berechnung der Fakultät:

FAKULTAET_REKURSIV(n)

1: IF n= 1 THEN

2:      RETURN 1

3: ELSE

4:      RETURN(n*FAKULTAET_REKURSIV(n-1))

Soweit alles klar :-)

Dann gehts zur Rekursionsgleichung:

T(n) = O(1) + T(n-1)

O(1): konstante Zeit, die die Zeilen 1-3 benötigen

T(n-1): Laufzeit um eins verringert, da die Funktion ja mit (n-1) aufgerufen wird

-> auch noch klar :-)

Dann wird die Rekursionsgleichung gelöst und eine allgemeine Formel hergeleitet:

k*O(1) + T(n-k)

-> ja, das ist auch noch klar! :-)

Aber jetzt kommt das Problem:

Man will eine Lösung unabhängig von k. In dem Beispiel vor mir hab ich nun:

"Mit T(1) = T(n-k) bekommt man n-k = 1 => k = n - 1 und setzt das in die obige allgemeine Formel ein."

Warum setzt man hier T(1) = T(n-k)?? das ist ja mMn nicht das Gleiche?!?

Kann mir vllt jemand erklären warum das so ist?

Thx & Lg

buzzzzzz

 

 

Bearbeitet von buzz_lightzyear
Link zu diesem Kommentar
Auf anderen Seiten teilen

Deine Methode ist doch einfach O(n), oder übersehe ich da was?

Deine Rekursion ist im Grunde nichts anderes als eine for (1 .. n) - Schleife.

(Für O(n) nehme ich natürlich an, dass Multiplikation tatsächlich O(1) ist, was man zumindest diskutieren kann)

Bearbeitet von arlegermi
Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...