Recursive Call - Implementation Issues

Implementation Issues

In actual implementation, rather than a pure recursive function (single check for base case, otherwise recursive step), a number of modifications may be made, for purposes of clarity or efficiency. These include:

  • Wrapper function (at top)
  • Short-circuiting the base case, aka "Arm's-length recursion" (at bottom)
  • Hybrid algorithm (at bottom) – switching to a different algorithm once data is small enough

On the basis of elegance, wrapper functions are generally approved, while short-circuiting the base case is frowned upon, particularly in academia. Hybrid algorithms are often used for efficiency, to reduce the overhead of recursion in small cases, and arm's-length recursion is a special case of this.

Read more about this topic:  Recursive Call

Famous quotes containing the word issues:

    How to attain sufficient clarity of thought to meet the terrifying issues now facing us, before it is too late, is ... important. Of one thing I feel reasonably sure: we can’t stop to discuss whether the table has or hasn’t legs when the house is burning down over our heads. Nor do the classics per se seem to furnish the kind of education which fits people to cope with a fast-changing civilization.
    Mary Barnett Gilson (1877–?)