Solution is easy to specify for certain conditions – stopping case. Rules for proceeding to a new state which is either a stopping case or eventually leads to a stopping case – recursive steps
if no to any of the following: the algorithm/data structure naturally suited to recursion? Is the recursive solution shorter and more understandable? Does the recursive solution run in acceptable time limits and/or space limits?