2

Click here to load reader

Fibonacci-Zahlen mit Python - icp.uni-stuttgart.deicp/mediawiki/images/c/c4/WS... · Fibonacci-Zahlen mit Python Olaf Lenz 14. Dezember 2011 Inhaltsverzeichnis 1 De nition der Fibonacci-Zahlen

Embed Size (px)

Citation preview

Page 1: Fibonacci-Zahlen mit Python - icp.uni-stuttgart.deicp/mediawiki/images/c/c4/WS... · Fibonacci-Zahlen mit Python Olaf Lenz 14. Dezember 2011 Inhaltsverzeichnis 1 De nition der Fibonacci-Zahlen

Fibonacci-Zahlen mit Python

Olaf Lenz

14. Dezember 2011

Inhaltsverzeichnis

1 Definition der Fibonacci-Zahlen 1

2 Laufzeiten 1

1 Definition der Fibonacci-Zahlen

Die Fibonacci-Zahlen werden normalerweise wie in Gleichung (1) definiert.

fib(n) =

{1 falls n ≤ 1

fib(n− 1) + fib(n− 2) sonst(1)

Eine aquivalente Definition der Fibonacci-Zahlen ist in Gleichung (2) gegeben.

fibeff(n) = fib1,1(n) (2)

wobei

fiba,b(n) =

a falls n = 0

b falls n = 1

fibb,(a+b)(n− 1) sonst

2 Laufzeiten

Wenn man die in Abschnitt 1 definitierten Funktionen in Python1 implementiert, dannerhalt man die in Tabelle 1 auf Seite 2 angegebenen Ergebnisse und Laufzeiten. Dersemilogarithmische Plot der Laufzeiten in Abbildung 1 auf Seite 2 zeigt, daß die Laufzeitder Definition nach Gleichung (1) exponentiell anwachst und dass dieses Verhalten nichtvon der Geschwindigkeit des Rechners abhangt.

1http://www.python.org

1

Page 2: Fibonacci-Zahlen mit Python - icp.uni-stuttgart.deicp/mediawiki/images/c/c4/WS... · Fibonacci-Zahlen mit Python Olaf Lenz 14. Dezember 2011 Inhaltsverzeichnis 1 De nition der Fibonacci-Zahlen

N fib(N) T1 [ns] T2 [ns]

4 5 1566 9645 8 2586 11966 13 4320 14327 21 7078 16558 34 11413 19019 55 18639 2122

10 89 29678 237011 144 49550 261212 233 77177 285613 377 126073 310114 610 206695 337715 987 329708 365716 1597 539469 393017 2584 872702 4140

Tabelle 1: Ergebnisse und Laufzeiten der Berechnung von Fibonacci-Zahlen mit Hilfevon Python.

Abbildung 1: Semilogarithmischer Plot der Laufzeiten der Berechnung von Fibonacci-Zahlen mit Hilfe von Python auf verschiedenen Plattformen.

2