www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Englisch
  Status Grammatik
  Status Lektüre
  Status Korrekturlesen
  Status Übersetzung
  Status Sonstiges (Englisch)

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 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" - Sondieren - Rekursion
Sondieren - Rekursion < Algor.+Datenstr. < Theoretische Inform. < Hochschule < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Algorithmen und Datenstrukturen"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Sondieren - Rekursion: Idee
Status: (Frage) beantwortet Status 
Datum: 11:35 So 04.11.2007
Autor: Haase

Aufgabe
a)
Die Fibonacci-Zahlen sind definiert als
f(n) = {
0,
1,
f(n-1) + f(n-2), n>=2}
Finden Sie(z.B. durch Sondieren) eine Formel für die Anzahl Aufrufe der Methode zur rekursiven Berechnung und beweisen Sie mit voll. Indukt.

b)
Ermitteln Sie die Lösung der folgenden Rekursion:
(a) T(1) = 0
(b) T(n) = T(n/2) +1

Guten Tag Allerseits,

wäre nett wenn Ihr mir bei 2 Aufgabe helfen würdet.

Zu a)
Als erstes habe ich Sondiert:
fn = f(n-1) + f(n-2)
    = f(n-2) + 2*f(n-3)+f(n-4)
    = f(n-3) + 3*( f(n-4) + f(n-5) ) + f(n-6)

Wie gehe ich weiter vor?


Zu b)
Ich habe als erstes die Zweierpotenzen  eingesetzt:
T(1) = 0
T(2) = T(1) +1 = 1
T(4) = T(2) +1 = 2
T(8) = T(4) +1 = 3
T(16) = T(8) +1 = 4

Durch raten bin ich auf die Formel : log2(n) gekommen, die auch funktioniert. Nur wie komme ich zu log2(n)?

Vielen Dank im Voraus,
Gruß Haase

        
Bezug
Sondieren - Rekursion: Antwort
Status: (Antwort) fertig Status 
Datum: 13:47 So 04.11.2007
Autor: Martin243

Hallo,

ich beginne mal mit der zweiten Aufgabe, indem ich deine Notizen etwas anders schreibe:
[mm] T(2^0) [/mm] = 0
[mm] T(2^1) [/mm] = T(1) +1 = 1
[mm] T(2^2) [/mm] = T(2) +1 = 2
[mm] T(2^3) [/mm] = T(4) +1 = 3
[mm] T(2^4) [/mm] = T(8) +1 = 4
vermutlich also (was zu beweisen wäre!):
[mm] T(2^n) [/mm] = n

Jetzt nur noch nach n auflösen.


Zur ersten Aufgabe:
Sondiere doch mal für mehrere feste n, z.B. für n=2,3,4,5, und zwar so lange, bis du bei 1 oder 0 angekommen bist, die ja feste Werte haben.
Ich zeige mal, was ich meine:
T(4) = T(2) + T(3) = (T(0) + T(1)) + (T(1) + T(2)) = (T(0) + T(1)) + (T(1) + (T(0) + T(1)))

Wir können von T(0) = T(1) ausgehen, weil f(0) und f(1) Konstanten sind, die nicht weiter berechnet werden müssen, dann kommen wir auf:
T(4) = 5*T(5)

Wenn du das für mehrere n machst, dann findest du ein Muster, das du dann beweisen musst.


Gruß
Martin

Bezug
                
Bezug
Sondieren - Rekursion: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 16:26 So 04.11.2007
Autor: Haase

Danke Dir Martin. Die zweite Aufgabe habe ich gelöst.
Bei der ersten Aufgabe habe ich noch eine Frage.

Du hast T(4) = 5 * T(5) raus.
Den Multiplizierten Faktor "5",weil ich 5 Additionen(T(1)+T(0)+T(1)+T(1)+T(0)) habe?
Wie kommst du auf die 5 in T()?

Wenn ich davon ausgehe, das die 5 die anzahl T's(anzahl additionen) für die Bildung zu T(4) ist, dann komme ich bei T(2),T(3),T(4) zu:

T(2) = 2*T(2)
T(3) = 3*T(3)
T(4) = 5*T(5)

Wie verfahre ich fort?

Bezug
                        
Bezug
Sondieren - Rekursion: Antwort
Status: (Antwort) fertig Status 
Datum: 17:13 So 04.11.2007
Autor: Martin243

Hallo,

ich habe einen klitzekleinen Fehler gemacht. Es sollten ja die Aufrufe gezählt werden, nicht die Terme. Also:
Für 0 und 1 bekommen wir die Werte sofort, also ist kein Aufruf nötig (oder zählen wir das als Aufruf? Wie auch immer, das ist eine Sache der Festlegung.)
T(0) = T(1) = 0

f(2) = f(1) + f(0)
2 Aufrufe + die Aufrufe, die wir für f(0) und f(1) benötigen (hier trivial):
T(2) = 2 + T(1) + T(0) = 2 + 0 + 0 = 2

f(3) = f(2) + f(1)
2 Aufrufe + die Aufrufe, die wir für f(1) und f(2) benötigen:
T(3) = 2 + T(2) + T(1) = 2 + 2 + 0 = 4

f(4) = f(3) + f(2)
2 Aufrufe + die Aufrufe, die wir für f(2) und f(3) benötigen:
T(4) = 2 + T(3) + T(2) = 2 + 4 + 2 = 8
usw.

Wir sehen, dass das aufgrund der rekursiven Definition wohl auch mit den Fibonacci-Zahlen zusamenhängt, nur wie?
Berechne vielleicht noch die nächsten vier Glieder und vergleiche mit der F-Folge.


Gruß
Martin


Bezug
                                
Bezug
Sondieren - Rekursion: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 10:18 Mo 05.11.2007
Autor: Haase

Danke Dir. Ich werde mal rumprobieren.

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


^ Seitenanfang ^
www.englischraum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]