By Tom Moertel (tmoertel) from Pittsburgh.pm
Target audience: Any
You can find more information on the speaker's site:
It is well known that recursive algorithms can be converted into iteratitive algorithms. What is not well known is that this conversion can be done through a series of mostly mechanical steps. These steps not only preserve the correctness of the original, and therefore let you to use your existing tests every step of the way, but also result in efficient implementations that use dynamic programming and are comparable to what skilled implementors might create from scratch.