Consider the following recursive function.
Int function (int x, int y) {
If (y <= 0) return x;
return function (y, x%y);
}
The above recursive function computes ______.
Consider x = 10 and y = 25
CASE1:
If (y <= 0) return x; // 25<=0 (false)
return function (y, x%y); return function(25, 10)
CASE 2:
x = 25, y= 10
If (y <= 0) return x; // 10<=0 (False)
return function (y, x%y); // return function (10, 5)
CASE 3:
x =10, y =5
If (y <= 0) return x; // 5<=0 (false)
return function (y, x%y); //return function(5, 0)
CASE 4:
x = 5, y =0
If (y <= 0) return x; // condition true, return 5
return function (y, x%y);
Output = 5
Which is greatest common divisor of 10 and 25.
So, given program computes GCD of x and y
The Preorder traversal of a tree given below is:
The correct solution is 'option 1'.
Key Points
Algo Preorder(tree root)
{
}
Thus, the correct answer is: A B D F E C G I H J K L
Additional Information
Tree traversal | ||||||
Method flow |
Inorder | preorder | postorder |
Converse Inorder |
Converse Preorder | Converse Postorder |
|
|
|
|
|
|
The stack is an abstract data type that follows an order LIFO (last in first out) to evaluate any expression.
The element that is inserted at the last into the stack will be the first to get out of the stack.
Application of the stack:
1) Converting infix to postfix/prefix expression
2) parenthesis matching
3) Expression evaluation etc.
Explanation:
Only one stack is enough to evaluate any expression or to convert one form to another form of expression.
Suppose we have a postfix expression: 15 3 * 10 – 5 /
For evaluating this:
1) Push 15 in the stack, push 3 in the stack
2) when * operator comes, pop 15 and 3 from the stack
3) Push 15 * 3 = 45 in the stack
4) push 10 in the stack
5) when – operator occurs, pop 45 and 10 from the stack
6) push 45 – 10 = 35 in the stack
7) push 5 in the stack
8) when / operator comes, pop 35 and 5 from the stack
9) Push 35 / 5 = 7 in the stack
Consider the following recursive function.
Int function (int x, int y) {
If (y <= 0) return x;
return function (y, x%y);
}
The above recursive function computes ______.
Consider x = 10 and y = 25
CASE1:
If (y <= 0) return x; // 25<=0 (false)
return function (y, x%y); return function(25, 10)
CASE 2:
x = 25, y= 10
If (y <= 0) return x; // 10<=0 (False)
return function (y, x%y); // return function (10, 5)
CASE 3:
x =10, y =5
If (y <= 0) return x; // 5<=0 (false)
return function (y, x%y); //return function(5, 0)
CASE 4:
x = 5, y =0
If (y <= 0) return x; // condition true, return 5
return function (y, x%y);
Output = 5
Which is greatest common divisor of 10 and 25.
So, given program computes GCD of x and y
Concept:
Explanation:
A recursive problem like the Tower of Hanoi can be rewritten using system stack or user-defined stack
Recurrence relation of tower of Hanoi: T(n) = 2T(n - 1) + 1
Additional Information
Number of moves required for n disc in a Tower of Hanoi is 2n – 1 = 27 – 1 = 127.
Stack underflow happens when one tries to pop (remove) an item from the stack when nothing is actually there to remove.
Total MCQS : 128
gradeTotal MCQS : 37
gradeTotal MCQS : 133
gradeTotal MCQS : 166
gradeTotal MCQS : 165
gradeTotal MCQS : 61
gradeTotal MCQS : 133
gradeTotal MCQS : 120
gradeTotal MCQS : 7
gradeTotal MCQS : 36
gradeTotal MCQS : 7
gradeTotal MCQS : 175
gradeTotal MCQS : 2533
gradeTotal MCQS : 9
gradeTotal MCQS : 11
grade191 Points
54 Points
53 Points
52 Points
49 Points