# Data Structures and Algorithms | Set 1

Following questions have been asked in GATE CS exam

**1. Let LASTPOST, LASTIN and LASTPRE denote the last vertex visited in a postorder, inorder and preorder traversal. Respectively, of a complete binary tree. Which of the following is always true? (GATE CS 2000)**

(a) LASTIN = LASTPOST

(b) LASTIN = LASTPRE

(c) LASTPRE = LASTPOST

(d) None of the above

Answer (d)

It is given that the given tree is complete binary tree. For a complete binary tree, the last visited node will always be same for inorder and preorder traversal. None of the above is true even for a complete binary tree.

The option (a) is incorrect because the last node visited in Inorder traversal is right child and last node visited in Postorder traversal is root.

The option (c) is incorrect because the last node visited in Preorder traversal is right child and last node visited in Postorder traversal is root.

For option (b), see the following counter example. Thanks to Hunaif Muhammed for providing the correct explanation.

1 / \ 2 3 / \ / 4 5 6 Inorder traversal is 4 2 5 1 6 3 Preorder traversal is 1 2 4 5 3 6

2. The most appropriate matching for the following pairs

X: depth first search 1: heap Y: breadth-first search 2: queue Z: sorting 3: stack

**is (GATE CS 2000):**

(a) X—1 Y—2 Z-3

(b) X—3 Y—1 Z-2

(c) X—3 Y—2 Z-1

(d) X—2 Y—3 Z-1

Answer: (c)

Stack is used for Depth first Search

Queue is used for Breadth First Search

Heap is used for sorting

3. Consider the following nested representation of binary trees: (X Y Z) indicates Y and Z are the left and right sub stress, respectively, of node X. Note that Y and Z may be NULL, or further nested. Which of the following represents a valid binary tree?

(a) (1 2 (4 5 6 7))

(b) (1 (2 3 4) 5 6) 7)

(c) (1 (2 3 4)(5 6 7))

(d) (1 (2 3 NULL) (4 5))

Answer (c)

4. Let s be a sorted array of n integers. Let t(n) denote the time taken for the most efficient algorithm to determined if there are two elements with sum less than 1000 in s. which of the following statements is true? (GATE CS 2000)

a) t (n) is 0 (1)

b) n < t (n) < n log_{2}n

c) n log_{2}n < t (n) < ^{n}C_{2}

d) t (n) = ^{n}C_{2}

Answer (a)

Let array be sorted in ascending order, if sum of first two elements is less than 1000 then there are two elements with sum less than 1000 otherwise not. For array sorted in descending order we need to check last two elements. For an array data structure, number of operations are fixed in both the cases and not dependent on n, complexity is O(1)

5. B+ trees are preferred to binary trees in databases because (GATE CS 2000)

(a) Disk capacities are greater than memory capacities

(b) Disk access is much slower than memory access

(c) Disk data transfer rates are much less than memory data transfer rates

(d) Disks are more reliable than memory

Answer (b)

Disk access is slow and B+ Tree provide search in less number of disk hits. This is primarily because unlike binary seach trees, B+ trees have very high fanout (typically on the order of 100 or more), which reduces the number of I/O operations required to find an element in the tree.

## Recommended Posts:

- Data Structures and Algorithms | Set 36
- Data Structures and Algorithms | Set 31
- Data Structures and Algorithms | Set 30
- Data Structures and Algorithms | Set 29
- Data Structures and Algorithms | Set 28
- Data Structures and Algorithms | Set 38
- Data Structures and Algorithms | Set 32
- Data Structures and Algorithms | Set 33
- Data Structures and Algorithms | Set 35
- Data Structures and Algorithms | Set 37
- Data Structures and Algorithms | Set 34
- Data Structures and Algorithms | Set 27
- Data Structures and Algorithms | Set 9
- Data Structures and Algorithms | Set 10
- Data Structures and Algorithms | Set 25