Zum Inhalt springen

Empfohlene Beiträge

Geschrieben (bearbeitet)

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
Geschrieben (bearbeitet)

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
Geschrieben

Hallo,

danke für deine Antwort, ja es ist O(n). Trotzdem weiß ich eben nicht, wo das  T(1) = T(n-k) herkommt... Unser Prof. nimmt das eben immer als so einfach an, dass sowas nicht erwähnt werden muss. -.-

Thx & Lg

 

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

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...