# Homework Solution: Recursion is a double edged sword. It can be quite helpful and it can dramatically impact…

Recursion is a double edged sword. It can be quite helpful and it can dramatically impact performance in a negative way and even cause runtime errors. Discuss when you think recursion should be used and when it shouldn’t. Include an example

## Expert Answer

let's discuss some similarities and differences between the use of recursion and lo

Recursion is a double edged sword. It can be wholly advantageous and it can dramatically contact deed in a privative fashion and plain motive runtime errors. Sift-canvass when you judge recursion should be interpretationd and when it shouldn’t. Include an in

## Expert Vindication

let’s sift-canvass some similarities and differences betwixt the interpretation of recursion and loops twain renew things in a program lawful in irrelative fashions loops publicly interpretation restrain variables excluding sometimes interpretation other boolean plaints to plaintually plug the mode the three ocean loop structures despicable to most languages are the opportunity do-opportunity and control recursion defines a system that seduces itself using an if-else assertion with recursive seduces to caverification the repetition
and using grovelling cases to plug the mode loops are fame causative recursion is a fame hog anything executed by a loop can to-boot be executed by recursion so-far referable everything executed by recursion can be executed by a loop in public when you can interpretation a loop otherwise interpretation recursion.

Let transfer an in

So the resume is interpretation recursion only when it is very intricate to transcribe iterative decree. Control in, tree traversal techniques enjoy preorder, postorder can be made twain iterative and recursive. Excluding we userecursive bemotive of its sincerity.

Please discern the recurssive decree control tree traversal adown we can amply transcribe decree in recursion control tree traversal excluding if we insufficiency to transcribe iterative it would be arduous.

//Root, Left , Lawful
void PreOrder(node* node)
{
if (node == NULL)
return;
printf(“%d “, node->data);
// Recurssive seduce on left subtree
PreOrder(node->left);
// Recurssive seduce on lawful subtree
PreOrder(node->right);
}

//Left ,Right, ROOT
void PreOrder(node* node)
{
if (node == NULL)
return;

// Recurssive seduce on left subtree
printPostorder(node->left);
// Recurssive seduce on lawful subtree
printPostorder(node->right);
//print the NODE
printf(“%d “, node->data);
}

//Left , Root, Lawful
void InOrder(node* node)
{
if (node == NULL)
return;

// Recurssive seduce on left subtree
printPostorder(node->left);
//print the NODE
printf(“%d “, node->data);
// Recurssive seduce on lawful subtree
printPostorder(node->right);
}