A directory of Objective Type Questions covering all the Computer Science subjects. Here you can access and discuss Multiple choice questions and answers for various compitative exams and interviews.

21. Following is C like pseudo code of a function that takes a number as an argument, and uses a stack S to do processing.

void fun(int n)
{
Stack S; // Say it creates an empty stack S
while (n > 0)
{
// This line pushes the value of n%2 to stack S
push(&S, n%2);

n = n/2;
}

// Run while Stack S is not empty
while (!isEmpty(&S))
printf("%d ", pop(&S)); // pop an element from S and print it
}

What does the above function do in general?
a. Prints binary representation of n in reverse order
b. Prints binary representation of n
c. Prints the value of Logn
d. Prints the value of Logn in reverse order
View Answer Report Discuss Too Difficult! Search Google
Answer: (b).Prints binary representation of n

22. Which one of the following is an application of Stack Data Structure?
a. Managing function calls
b. The stock span problem
c. Arithmetic expression evaluation
d. All of the above
View Answer Report Discuss Too Difficult! Search Google
Answer: (d).All of the above

23. Which of the following is true about linked list implementation of stack?
a. In push operation, if new nodes are inserted at the beginning of linked list, then in pop operation, nodes must be removed from end.
b. In push operation, if new nodes are inserted at the end, then in pop operation, nodes must be removed from the beginning.
c. Both of the above
d. None of the above
View Answer Report Discuss Too Difficult! Search Google
Answer: (d).None of the above

24. Consider the following pseudo code that uses a stack

declare a stack of characters
while ( there are more characters in the word to read )
{
   read a character
   push the character on the stack
}
while ( the stack is not empty )
{
   pop a character off the stack
   write the character to the screen
}

What is output for input "computersciencebits"?
a. computersciencebitscomputersciencebits
b. stibecneicsretupmoc
c. computersciencebits
d. None of the above
View Answer Report Discuss Too Difficult! Search Google
Answer: (b).stibecneicsretupmoc

25. Following is an incorrect pseudocode for the algorithm which is supposed to determine whether a sequence of parentheses is balanced:

declare a character stack
while ( more input is available)
{
read a character
if ( the character is a '(' )
push it on the stack
else if ( the character is a ')' and the stack is not empty )
pop a character off the stack
else
print "unbalanced" and exit
}
print "balanced"

Which of these unbalanced sequences does the above code think is balanced?
a. ((())
b. ())(()
c. (()()))
d. (()))()
View Answer Report Discuss Too Difficult! Search Google
Answer: (a).((())

26. The following postfix expression with single digit operands is evaluated using a stack:
8 2 3 ^ / 2 3 * + 5 1 * -

Note that ^ is the exponentiation operator. The top two elements of the stack after the first * is evaluated are:
a. 6, 1
b. 5, 7
c. 3, 2
d. 1, 5
View Answer Report Discuss Too Difficult! Search Google
Answer: (a).6, 1

27. Let S be a stack of size n >= 1. Starting with the empty stack, suppose we push the first n natural numbers in sequence, and then perform n pop operations. Assume that Push and Pop operation take X seconds each, and Y seconds elapse between the end of one such stack operation and the start of the next operation. For m >= 1, define the stack-life of m as the time elapsed from the end of Push(m) to the start of the pop operation that removes m from S. The average stack-life of an element of this stack is
a. n(X+ Y)
b. 3Y + 2X
c. n(X + Y)-X
d. Y + 2X
View Answer Report Discuss Too Difficult! Search Google
Answer: (c).n(X + Y)-X

28. A single array A[1..MAXSIZE] is used to implement two stacks. The two stacks grow from opposite ends of the array. Variables top1 and top2 (topl< top 2) point to the location of the topmost element in each of the stacks. If the space is to be used efficiently, the condition for “stack full” is
a. (top1 = MAXSIZE/2) and (top2 = MAXSIZE/2+1)
b. top1 + top2 = MAXSIZE
c. (top1= MAXSIZE/2) or (top2 = MAXSIZE)
d. top1= top2 -1
View Answer Report Discuss Too Difficult! Search Google
Answer: (d).top1= top2 -1

29. Assume that the operators +, -, × are left associative and ^ is right associative. The order of precedence (from highest to lowest) is ^, x , +, -. The postfix expression corresponding to the infix expression a + b × c - d ^ e ^ f is
a. abc × + def ^ ^ -
b. abc × + de ^ f ^ -
c. ab + c × d - e ^ f ^
d. - + a × bc ^ ^ def
View Answer Report Discuss Too Difficult! Search Google
Answer: (a).abc × + def ^ ^ -

30. To evaluate an expression without any embedded function calls:
a. One stack is enough
b. Two stacks are needed
c. As many stacks as the height of the expression tree are needed
d. A Turing machine is needed in the general case
View Answer Report Discuss Too Difficult! Search Google
Answer: (a).One stack is enough

Page 3 of 12