GATE CS 2012
Question 1 |
Which of the followings is/are automatically added to every class, if we do not write our own.
Copy Constructor | |
Assignment Operator | |
A constructor without any parameter | |
All of the above |
Discuss it
Question 1 Explanation:
In C++, if we do not write our own, then compiler automatically creates a default constructor, a copy constructor and a assignment operator for every class.
Question 2 |
Consider the following logical inferences.
I1: If it rains then the cricket match will not be played.
The cricket match was played.
Inference: There was no rain.
I2: If it rains then the cricket match will not be played.
It did not rain.
Inference: The cricket match was played.
Which of the following is TRUE?
Both I1 and I2 are correct inferences | |
I1 is correct but I2 is not a correct inference | |
I1 is not correct but I2 is a correct inference | |
Both I1 and I2 are not correct inferences |
Discuss it
Question 2 Explanation:
The cricket match may not be played even if doesn't rain.
Question 3 |
Which of the following is TRUE?
Every relation in 3NF is also in BCNF | |
A relation R is in 3NF if every non-prime attribute of R is fully functionally dependent on every key of R | |
Every relation in BCNF is also in 3NF | |
No relation can be in both BCNF and 3NF |
Discuss it
Question 4 |
What will be the output of the following C program segment?
char inchar = 'A'; switch (inchar) { case 'A' : printf ("choice A n") ; case 'B' : printf ("choice B ") ; case 'C' : case 'D' : case 'E' : default: printf ("No Choice") ; }
No choice | |
Choice A | |
Choice A Choice B No choice | |
Program gives no output as it is erroneous |
Discuss it
Question 4 Explanation:
There is no break statement in case ‘A’. If a case is executed and it doesn’t contain break, then all the subsequent cases are executed until a break statement is found. That is why everything inside the switch is printed.
Try following program as an exercise.
int main() { char inchar = 'A'; switch (inchar) { case 'A' : printf ("choice A \n") ; case 'B' : { printf ("choice B") ; break; } case 'C' : case 'D' : case 'E' : default: printf ("No Choice") ; } }
Question 5 |
Assuming P != NP, which of the following is true ? (A) NP-complete = NP (B) NP-completeP =
(C) NP-hard = NP (D) P = NP-complete
A | |
B | |
C | |
D |
Discuss it
Question 5 Explanation:
The answer is B (no NP-Complete problem can be solved in polynomial time). Because, if one NP-Complete problem can be solved in polynomial time, then all NP problems can solved in polynomial time. If that is the case, then NP and P set become same which contradicts the given condition.
Related Article: NP-Completeness | Set 1 (Introduction) P versus NP problem (Wikipedia)Question 6 |
The worst case running time to search for an element in a balanced in a binary search tree with n2^n elements is
(A)(B)
(C)
(D)
![]()
A | |
B | |
C | |
D |
Discuss it
Question 6 Explanation:
-> The search time in a binary search tree depends on the form of the tree, that is on the order in which its nodes were inserted. A pathological case: The n nodes were inserted by increasing order of the keys, yielding something like a linear list (but with a worse space consumption), with O(n) search time(in the case of skew tree).
-> A balanced tree is a tree where every leaf is “not more than a certain distance” away from the root than any other leaf.So in balanced tree, the height of the tree is balanced to make distance between root and leafs nodes a low as possible. In a balanced tree, the height of tree is log2(n).
-> So , if a Balanced Binary Search Tree contains n2n elements then Time complexity to search an item:
Time Complexity = log(n2n) = log (n) + log(2n)
= log (n) +n = O(n)
So Answer is C.
See http://www.geeksforgeeks.org/data-structures-and-algorithms-set-28/
This solution is contributed by Nirmal Bharadwaj
Question 7 |
X | |
X+Y | |
X xor Y | |
Y |
Discuss it
Question 7 Explanation:
The value of f(X, Y) is same as X for all input pairs.
Also sum of product form of expression we get,
= XY’+XY = X(Y’+Y) = X *1 = XWe see from truth table –
Column x = f(x,y) So , f(x,y)=xOption (A) is correct.
Question 8 |
The decimal value 0.5 in IEEE single precision floating point representation has
fraction bits of 000…000 and exponent value of 0 | |
fraction bits of 000…000 and exponent value of −1 | |
fraction bits of 100…000 and exponent value of 0 | |
no exact representation |
Discuss it
Question 8 Explanation:
The IEEE 754 standard specifies following distribution of bits:
Sign bit: 1 bit
Exponent width: 8 bits
Significand or Fraction: 24 (23 explicitly stored)
0.5 in base 10 means 1 X 2-1 in base 2.
So exponent bits have value -1 and all fraction bits are 0.
Question 9 |
A process executes the code
fork(); fork(); fork();The total number of child processes created is
3 | |
4 | |
7 | |
8 |
Discuss it
Question 9 Explanation:
Let us put some label names for the three lines
fork (); // Line 1 fork (); // Line 2 fork (); // Line 3 L1 // There will be 1 child process created by line 1 / \ L2 L2 // There will be 2 child processes created by line 2 / \ / \ L3 L3 L3 L3 // There will be 4 child processes created by line 3We can also use direct formula to get the number of child processes. With n fork statements, there are always 2^n – 1 child processes. Also see this post for more details.
Question 10 |
Consider the function f(x) = sin(x) in the interval [π/4, 7π/4]. The number and location(s) of the local minima of this function are
One, at π/2 | |
One, at 3π/2 | |
Two, at π/2 and 3π/2 | |
Two, at π/4 and 3π/2 |
Discuss it
There are 60 questions to complete.