# Data Structures and Algorithms | Set 18

Following questions have been asked in GATE CS 2006 exam.

**1. Consider the polynomial p(x) = a0 + a1x + a2x^2 +a3x^3, where ai != 0, for all i. The minimum number of multiplications needed to evaluate p on an input x is:**

(A) 3

(B) 4

(C) 6

(D) 9

Answer (A)

Multiplications can be minimized using following order for evaluation of the given expression.

p(x) = a0 + x(a1 + x(a2 + a3x))

**2. To implement Dijkstra’s shortest path algorithm on unweighted graphs so that it runs in linear time, the data structure to be used is:**

(A) Queue

(B) Stack

(C) Heap

(D) B-Tree

Answer(A)

The shortest path in an un-weighted graph means the smallest number of edges that must be traversed in order to reach the destination in the graph. This is the same problem as solving the weighted version where all the weights happen to be 1. If we use Queue (FIFO) instead of Priority Queue (Min Heap), we get the shortest path in linear time O(|V| + |E|). Basically we do BFS traversal of the graph to get the shortest paths.

**3. A 3-ary max heap is like a binary max heap, but instead of 2 children, nodes have 3 children. A 3-ary heap can be represented by an array as follows: The root is stored in the first location, a[0], nodes in the next level, from left to right, is stored from a[1] to a[3]. The nodes from the second level of the tree from left to right are stored from a[4] location onward. An item x can be inserted into a 3-ary heap containing n items by placing x in the location a[n] and pushing it up the tree to satisfy the heap property.**

** Which one of the following is a valid sequence of elements in an array representing 3-ary max heap?**

(A) 1, 3, 5, 6, 8, 9

(B) 9, 6, 3, 1, 8, 5

(C) 9, 3, 6, 8, 5, 1

(D) 9, 5, 6, 8, 3, 1

Answer (D)

9 / | \ / | \ 5 6 8 / | / | 3 1

**4. Suppose the elements 7, 2, 10 and 4 are inserted, in that order, into the valid 3- ary max heap found in the above question, Which one of the following is the sequence of items in the array representing the resultant heap?
**(A) 10, 7, 9, 8, 3, 1, 5, 2, 6, 4

(B) 10, 9, 8, 7, 6, 5, 4, 3, 2, 1

(C) 10, 9, 4, 5, 7, 6, 8, 2, 1, 3

(D) 10, 8, 6, 9, 7, 2, 3, 4, 1, 5

Answer(A)

After insertion of 7 9 / | \ / | \ 7 6 8 / | \ / | \ 3 1 5

After insertion of 2

9 / | \ / | \ 7 6 8 / | \ / / | \ / 3 1 5 2

After insertion of 10

10 / | \ / | \ 7 9 8 / | \ / | / | \ / | 3 1 5 2 6

After insertion of 4

10 / | \ / | \ 7 9 8 / | \ / | \ / | \ / | \ 3 1 5 2 6 4

Please write comments if you find any of the answers/explanations incorrect, or you want to share more information about the topics discussed above.

## Recommended Posts:

- Data Structures and Algorithms | Set 29
- Data Structures and Algorithms | Set 28
- Data Structures and Algorithms | Set 34
- Data Structures and Algorithms | Set 35
- Data Structures and Algorithms | Set 31
- Data Structures and Algorithms | Set 36
- Data Structures and Algorithms | Set 38
- Data Structures and Algorithms | Set 30
- Data Structures and Algorithms | Set 37
- Data Structures and Algorithms | Set 33
- Data Structures and Algorithms | Set 1
- Data Structures and Algorithms | Set 15
- Data Structures and Algorithms | Set 17
- Data Structures and Algorithms | Set 22
- Data Structures and Algorithms | Set 16