CDS Q10
CDS Q10
(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.
5. Following is an incorrect pseudo code for the algorithm which is supposed to determine
whether a sequence of parentheses is balanced:
Which of these unbalanced sequences does the above code think is balanced?
6. The following postfix expression with single digit operands is evaluated using a stack:
823^/23*+51*-
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
2
7. 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
8. 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 (GATE CS 2004)
9. 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
11. Following is C like pseudo code of a function that takes a number as an argument, and uses a
3
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
}
12. In linked representation of stack ....... holds the elements of the stack.
13. ........ form of access is used to add remove nodes from a stack.
14. In the linked representation of the stack ......... behaves as the top pointer variable of stack.
4
15. Entries in a stack are "ordered". What is the meaning of this statement?
17. The operation for removing an entry from a stack is traditionally called:
18. Which of the following stack operations could result in stack underflow?
20. Which of the following permutations can be obtained in the output(in the same order using
the stack),assuming that the input is the sequence 1, 2, 3, 4, 5 in that order?
5
(a) 3, 4, 5, 1, 2 (b) 3, 4, 5, 2, 1
(c) 1, 5, 2, 3, 4 (d) 5, 4, 3, 2, 1