Can every recursive algorithm be rewritten iteratively? Can every iterative algorithm be rewritten recursively?
A recursive algorithm can be systematically written iteratively using an auxilliary stack. Essentially you simulate a recursive machine. An iterative algorithm can also be converted into a recursive algorithm systematically. Each looping construct can be replaced with a dedicated recursive function.