フィボナッチ数のO(1)計算法の課題

数学アルゴリズムフィボナッチ数列計算量浮動小数点
フィボナッチ数列の第n項を求めるプログラムって、素朴に再帰で実装するとO(2^n)でヤバいけど、メモ化再帰やDPを使うとO(n)になるよね?でも一般項を初めから書いておけばO(1)じゃね?計算精度的な問題があるのかな?
21:45
リュウツー先生
リュウツー先生
おっしゃるとおり、Binetの公式を使えば「一見」O(1)O(1)で計算できそうですね。でも実際にはいくつか検討すべきポイントがあります。
まず、あなたが特にどこを気にしているのか教えてもらえる?

1. 「計算精度(丸め誤差)の問題」について詳しく知りたいのか?
2. 定数時間といっても5\sqrt5φnφ^nのべき乗計算には実はコストがある話を知りたいのか?
3. それとも「nがどのくらい大きい場合まで正しく整数として得られるか」を気にしている?
4. その他、何か具体的な利用シーン(言語や用途)がある?

どれについて掘り下げると分かりやすいかな?
21:45
0 / 2000
マイセオくん