Data Structure KCS301
Data Structure KCS301
Data Structure KCS301
BTECH
(SEM III) THEORY EXAMINATION 2021-22
DATA STRUCTURE
Time: 3 Hours Total Marks: 100
Note: Attempt all Sections. If you require any missing data, then choose suitably.
SECTION A
1. Attempt all questions in brief. 2X10 = 20
Q No Questions CO
(a) Convert the infix expression (A+B) *(C-D) $E*F to postfix. Give the answer 1
without any spaces.
(b) Rank the following typical bounds in increasing order of growth rate: 2
O(log n), O(n4), O(1), O(n2 log n)
(c) Draw the binary search tree that results from inserting the following numbers in 3
sequence starting with 11: 11, 47, 81, 9, 61, 10, 12,
(d) What does the following recursive function do for a given Linked List with first 4
node as head?
void fun1(struct node* head)
{
if(head == NULL)
return;
fun1(head->next);
printf("%d ", head->data);
}
(e) Define a sparse matrix. Suggest a space efficient representation for space matrices. 5
(f) List the advantages of doubly linked list over single linked list. 1
2
2
1.
03
(g) Give example of one each stable and unstable sorting techniques. 2
24
(h) Write advantages of AVL tree over Binary Search Tree (BST) 3
2_
5.
(i) What is tail recursion? Explain with a suitable example. 4
2P
.5
(j) Write different representations of graphs in the memory. 5
P2
|1
Q No Questions CO
(a) Write advantages and disadvantages of linked list over arrays. Write a 'C' function 1
07
creating new linear linked list by selecting alternate elements of a linear linked list.
6:
(b) Write algorithms of insertion sort. Implement the same on the following numbers; 2
also calculate its time complexity. 13, 16, 10, 11, 4, 12, 6, 7
:2
(c) Differentiate between DFS and BFS. Draw the breadth First Tree for the above 3
13
graph.
2
02
-2
ar
M
9-
(d) Differentiate between liner and binary search algorithm. Write a recursive function 4
|2
SECTION C
3. Attempt any one part of the following: 10X1 = 10
Q No Questions CO
(a) Suppose a three dimensional array A is declared using A[1:10, -5:5, -10:5) 1
(i) Find the length of each dimension and the number of elements in A
(ii) Explain Row major order and Column Major Order in detail with explanation
formula expression.
BTECH
(SEM III) THEORY EXAMINATION 2021-22
DATA STRUCTURE
(b) Discuss the representation of polynomial of single variable using linked list. Write 1
'C' functions to add two such polynomials represented by linked list.
4. Attempt any one part of the following: 10 X1 = 10
Q No Questions CO
(a) (i) Use the merge sort algorithm to sort the following elements in ascending order. 2
13, 16, 10, 11, 4, 12, 6, 7.
What is the time and space complexity of merge sort?
(ii) Use quick sort algorithm to sort 15,22,30,10,15,64,1,3,9,2. Is it a stable sorting
algorithm? Justify.
(b) (i) The keys 12, 17, 13, 2, 5, 43, 5 and 15 are inserted into an initially empty hash 2
table of length 15 using open addressing with hash function h(k) = k mod 10 and
linear probing. What is the resultant hash table?
(ii) Differentiae between linear and quadratic probing techniques.
5. Attempt any one part of the following: 10X1 = 10
Q No Questions CO
(a) Use Dijkstra’s algorithm to find the shortest paths from source to all other vertices in 3
the following graph.
2
2
1.
03
24
2_
5.
2P
(b) Apply Prim’s algorithm to find a minimum spanning tree in the following weighted
.5
3
graph as shown below.
P2
17
Q
|1
07
6:
:2
13
2
Q No Questions CO
-2
(a) (i) Write an iterative function to search a key in Binary Search Tree (BST). 4
(ii) Discuss disadvantages of recursion with some suitable example.
ar
recursive functions.
7. Attempt any one part of the following: 10X1 = 10
|2
Q No Questions CO
(a) (i) Why does time complexity of search operation in B-Tree is better than Binary 5
Search Tree (BST)?
(ii) Insert the following keys into an initially empty B-tree of order 5
a, g, f, b, k, d, h, m, j, e, s, i, r, x, c, l, n, t, u, p
(iii) What will be the resultant B-Tree after deleting keys j, t and d in sequence?
(b) (i) Design a method for keeping two stacks within a single linear array so that 5
neither stack overflow until all the memory is used.
(ii) Write a C program to reverse a string using stack.