On 23.10.2016 21:59, Minas Mina wrote:
On Sunday, 23 October 2016 at 13:04:30 UTC, Stefam Koch wrote:
Hi Guys,

while brushing up on my C and algorithm skills, accidently created a
version of fibbonaci which I deem to be faster then the other ones
floating around.

It's also more concise

the code is :

int computeFib(int n)
{
    int t = 1;
    int result = 0;

    while(n--)
    {
        result = t - result;
        t = t + result;
    }

   return result;
}

You can even calculate Fibonacci in O(1).

The closed form does not give you an O(1) procedure that computes the same as the above code (with the same wrap-around-behaviour).

If arbitrary precision is used, the result grows linearly, so the calculation cannot be better than linear. I don't think the closed form gives you a procedure that is faster than Θ(n·log n) in that case.

Reply via email to