as we know that the trees are recursive data structures, We use recurrsion in writing the procedures of tree like delete method of BST etc.
the advantage of recurrsion is, our procedures becomes very small (for example the code of inorder traversal is of only 4 or 5 lines) rather than a non recurrsive procedure which would be lengthy but not as complex as recurssive procedure in understanding perspective. that is why i hate recurrsion and i prefer to write non recurrsive procedure and i have done that in binary serach trees and avl trees.
Now please elaborate that, prefering non recursive procedures over recurrsive procedures is bad or good thing.”
as we know that the trees are recursive data structures, We use recurrsion in
Share
Recursion is a tool like any other. You don’t have to use every tool that’s available but you should at least understand it.
Recursion makes a certain class of problems very easy and elegant to solve and your “hatred” of it is irrational at best. It’s just a different way of doing things.
The “canonical” recursive function (factorial) is shown below in both recursive and iterative forms and, in my opinion, the recursive form more clearly reflects the mathematical definition of
f(1) = 1, f(n) = n*f(n-1) for n>1.Pretty much the only place I would prefer an iterative solution to a recursive one (for solutions that are really well suited for recursion) is when the growth in stack size may lead to problems (the above factorial function may well be one of those since stack growth depends on
nbut it may also be optimised to an iterative solution by the compiler). But this stack overflow rarely happens since:O(logN)and stack use doesn’t grow that fast with increased data. For example, you can process a 16-way tree storing two billion entries with only seven levels of stack (167 =~ 2.6 billion).