www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Algorithmen und Datenstrukturen" - Laufzeitberechnung
Laufzeitberechnung < Algor.+Datenstr. < Theoretische Inform. < Hochschule < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Algorithmen und Datenstrukturen"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Laufzeitberechnung: Tipp
Status: (Frage) überfällig Status 
Datum: 11:52 Mi 03.03.2010
Autor: original_tom

Aufgabe
a) T(n) = T(n-2) - T(n-4)
b)  T(n) = T(n-1)  

Hallo,

hab ein kleines Problem beim den obigen Laufzeitberechnungen.

bei a) setze ich iterativ weiß aber nicht ob die Lösung so stimmt, das minus wirft mich hier irgendwie aus der Bahn:
T(n) = T(n-2) - T(n-4)
T(n-2) = T(n-4) - T(n-6)
T(n-4) = T(n-6) - T(n-8)
T(n) = T(n-4) - T(n-6) - T(n-4) .... T(n-4)-T(n-4) = T(n-4)
T(n) = T(n-6) - T(n-6) - T(n-8) .... T(n-6)-T(n-6) = T(n-6)

T(n) = T(n-k) - T(n - (k+2))

mit T(1) = O(1)   ergibt sich n = k;

-->n Aufrufe   --> T(n) = O(n)

b) kann ich hier auch T(n) = T(n-1) +O(1) schreiben

sodass ich schlussendlich auf T(n-k)+k*O(1) komme und mit k=n O(n) als Lösung erhalte?

lg Tom

        
Bezug
Laufzeitberechnung: Antwort
Status: (Antwort) fertig Status 
Datum: 14:18 Fr 05.03.2010
Autor: steppenhahn

Hallo Tom,

> a) T(n) = T(n-2) - T(n-4)
>  b)  T(n) = T(n-1)
> Hallo,
>  
> hab ein kleines Problem beim den obigen
> Laufzeitberechnungen.
>  
> bei a) setze ich iterativ weiß aber nicht ob die Lösung
> so stimmt, das minus wirft mich hier irgendwie aus der
> Bahn:
>  T(n) = T(n-2) - T(n-4)
> T(n-2) = T(n-4) - T(n-6)
>  T(n-4) = T(n-6) - T(n-8)
>  T(n) = T(n-4) - T(n-6) - T(n-4) .... T(n-4)-T(n-4) =
> T(n-4)
>  T(n) = T(n-6) - T(n-6) - T(n-8) .... T(n-6)-T(n-6) =
> T(n-6)
>  
> T(n) = T(n-k) - T(n - (k+2))
>  
> mit T(1) = O(1)   ergibt sich n = k;

>

> -->n Aufrufe   --> T(n) = O(n)

Wegen

T(n) = T(n-2) - T(n-4)

und

T(n-2) = T((n-2)-2) - T((n-2)-4) = T(n-4) - T(n-6)

komme ich auf das zugegebenermaßen komische Ergebnis:

T(n ) = -T(n-6).

und weiter

T(n) = T(n-12).


Zu b):

> b) kann ich hier auch T(n) = T(n-1) +O(1) schreiben

Nein. Wenn, dann T(n) = T(n-1) + O(0).

> sodass ich schlussendlich auf T(n-k)+k*O(1) komme und mit
> k=n O(n) als Lösung erhalte?

Nein. Die Laufzeit ist O(1).
Die Rekursionsformel sagt doch nichts anderes aus, als dass die Laufzeit bei n "Daten" genau dieselbe ist wie bei n-1 "Daten". Also erhältst du:

T(n) = T(n-1) = ... = T(1).

Du musst also nur noch wissen, wie sich die Laufzeit bei T(1) verhält, und das ist dann auch die von T(n).

Grüße,
Stefan

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Algorithmen und Datenstrukturen"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]