Most people define a function, f(n) on N recursively. I think I can calculate f(n) without dealing with f(n-r) for any 0 < r < n. How do I know that my method isn't still going through the same calculations needed to find f(n-1) (or whatever previous terms are required to find f(n) recursively) -- ?

1. If my method takes many fewer    calculations than the recursive way    of calculating it does that show that    I am not relying on f(n-r) for any 0    < r < n? What would "many fewer" have to mean for this to be significant?

2. The number of calculations    my method takes still depends on n,    just like the recursive way of    calculating f(n), does that alone mean that    the methods are pretty much the same?    

3. If my method takes the same number    (or more) calculations than recursive    way of calculating f(n) is there any    other way of telling if my method is    not, in some way, duplicating the    recursive way of calculating f(n)?