Архив метки: Фибоначчи

Фибоначчи, Haskell, O(log n)

(Внимание: дальше не написано ничего нового, но если вы не знаете о возведении в степень за \(O(\log n)\), можете чуть-чуть почитать.)

Не секрет, что числа Фибоначчи можно вычислить за экспоненциальное время, используя наивную рекурсию; за линейное время, используя более аккуратный способ; и даже за константное время, используя округление \(\frac{\phi^n}{\sqrt5}\) до ближайшего целого и скрещивая пальцы, что знаков хватит.

Так же не секрет, что, не используя floating point, можно обойтись и \(O(\log n)\) с помощью вычисления степени за \(O(\log n)\). Но всё равно опишу это.

Читать далее Фибоначчи, Haskell, O(log n)