Data Structures and Algorithms | Set 10 - GeeksforGeeks

22 Sep, 2021
Following questions have been asked in GATE CS 2007 exam.
1. The height of a binary tree is the maximum number of edges in any root to leaf path. The maximum number of nodes in a binary tree of height h is:(A) 2^h -1(B) 2^(h-1) – 1(C) 2^(h+1) -1(D) 2*(h+1)
Answer (C)Maximum number of nodes will be there for a complete tree.Number of nodes in a complete tree of height h = 1 + 2 + 2^2 + 2*3 + .... 2^h = 2^(h+1) – 1
2: The maximum number of binary trees that can be formed with three unlabelled nodes is:(A) 1(B) 5(C) 4(D) 3
Answer (B)
             O
          /     \
        O        O
           (i)

            O             
          /                             
       O                 
     /                      
   O                         
        (ii)

         O
       / 
     O
        \
          O
       (iii)

  O                      
     \                        
       O                     
          \                  
           O                                                         
    (iv)

       O
          \
            O
          /
       O               
    (v)

Note that nodes are unlabelled. If the nodes are labeled, we get more number of trees.
3. Which of the following sorting algorithms has the lowest worst-case complexity?(A) Merge sort(B) Bubble sort(C) Quick sort(D) Selection sort
Answer (A)
Worst case complexities for the above sorting algorithms are as follows:Merge Sort — nLognBubble Sort — n^2Quick Sort — n^2Selection Sort — n^2
4. 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
Answer (A)The algorithm for evaluating any postfix expression is fairly straightforward:
1. While there are input tokens left
    o Read the next token from input.
    o If the token is a value
       + Push it onto the stack.
    o Otherwise, the token is an operator 
      (operator here includes both operators, and functions).
       * It is known a priori that the operator takes n arguments.
       * If there are fewer than n values on the stack
        (Error) The user has not input sufficient values in the expression.
       * Else, Pop the top n values from the stack.
       * Evaluate the operator, with the values as arguments.
       * Push the returned results, if any, back onto the stack.
2. If there is only one value in the stack
    o That value is the result of the calculation.
3. If there are more values in the stack
    o (Error)  The user input has too many values.

Source for algorithm: http://en.wikipedia.org/wiki/Reverse_Polish_notation#The_postfix_algorithm
Let us run the above algorithm for the given expression.First three tokens are values, so they are simply pushed. After pushing 8, 2 and 3, the stack is as follows
    8, 2, 3  
When ^ is read, top two are popped and power(2^3) is calculated
    8, 8 
When / is read, top two are popped and division(8/8) is performed
    1 
Next two tokens are values, so they are simply pushed. After pushing 2 and 3, the stack is as follows
    1, 2, 3
When * comes, top two are popped and multiplication is performed.
    1, 6
5. The inorder and preorder traversal of a binary tree are d b e a f c g and a b d e c f g, respectively. The postorder traversal of the binary tree is:(A) d e b f g c a(B) e d b g f c a(C) e d b f g c a(D) d e f g b c a
Answer (A)
Below is the given tree.
                              a 
                           /    \
                        /          \
                      b             c
                   /   \          /   \
                 /       \      /       \
               d         e    f          g

Please see GATE Corner for all previous year paper/solutions/explanations, syllabus, important dates, notes, etc.
Please write comments if you find any of the answers/explanations incorrect, or you want to share more information about the topics discussed above.
saurabh1990aror
GATE-CS-2007
GATE-CS-DS-&-Algo
GATE CS
MCQ
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Comments
Old Comments
Page Replacement Algorithms in Operating Systems
Normal Forms in DBMS
Differences between TCP and UDP
LRU Cache Implementation
Data encryption standard (DES) | Set 1
Data Structures and Algorithms | Set 21
Practice questions on Height balanced/AVL Tree
Operating Systems | Set 1
Computer Networks | Set 1
Computer Networks | Set 2