# MODEL QUESTION PAPER B.E / B.Tech.

Degree Examinations III Semester DATA STRUCTURES AND ALGORITHMSIF 246 Time: 3 Hours Max Marks: 100 Answer all questions PART A (10 x 2 = 20 Marks) 1. Take a linear search algorithms and discuss best-case time analysis. 2. Explain the basic of the Markov algorithm and discuss two ways in which such an algorithm terminates. 3. What is the purpose of a stack in implementing a recursive procedure? Explain. 4. What is the need for using circular array to implement queues? 5. Give the tree T, find the inorder and postorder traversals.

6. Discuss the basis of the Buddy system of allocation. What type of fragmentation still exists? 7. Discuss the timing analysis of the heap-sort algorithm. 8. What are the two broad classes of collision resolution techniques? Explain. 9. With an example explain the Huffman encoding scheme. 10. Explain how the size of a hashing table could be decreased when using (a) linear hashing, (b) dynamic hashing. PART B (5 x 16 = 80 Marks) 11. i) Implement typical stack operation when stacks are represented using (1) arrays and (ii) using singly linked lists. (8 Marks)

ii) Define a binary tree. (2 Marks) iii) Give the iterative algorithm for the inorder traversal of a binary tree. (6 Marks)

12a. i) Design a string manipulation algorithm for duplicating a given character string N times. (6 Marks) ii) Design an algorithm which trims off all the trailing blanks of a character string. (5 Marks) iii) Give a procedure that uses a stack in order to reverse the elements of a circular queue which is stored in an array. (5 Marks) (OR) 12b. i) Given as input a word form assigned to the variable WORD, derive function ORD-SEARCH which searches the ordered array of words looking for the word form. If the word form is present, its index location is returned, else zero is returned. Any search procedure can be used. (6 Marks) ii) Assume we have a priority queue split into several queues. To access these queues we have vectors of pointers to the front and rear of each queue and one to indicate the length of each.

Thus to access the front of the queue representing priority 2, one merely starts at PRIORITY_F[2]. This representation allows each queue to be of different length. Given this representation, devise algorithms to insert and delete from a priority queue. (10 Marks) 13a. i) Give an algorithm to reverse the elements of a single linked lists without using a temporary list. (6 Marks) ii) Write algorithms to insert into and delete elements from a doubly linked list. (6 Marks) iii) Write an algorithms to count the number of nodes in a given singly linked list. (4 Marks)

(OR) 13b. i) Write algorithms to allocate and free nodes in a body system of memory allocation. (10 Marks) ii) Write an algorithm to add two polynomials when the polynomials are represented using singly linked lists. (6 Marks) 14a. i) Give the best case and worst case analysis of the binary search. (8 Marks) ii) Write any one external sorting algorithm in detail. (8 Marks) (OR) 14b. i) Write an algorithm to delete a node from a binary search tree. (8 Marks) ii) Give the radix sort algorithm in detail. (8 Marks) 15a. i) Give in detail the structure of a typical Indexed Sequential file. (8 Marks) ii) Describe the direct file organization and give the procedure to retrieve a record from a direct file given the key. (8 Marks) (OR) 15b. Write notes on:i. Garbage compaction (6 Marks) ii. VASM Files (5 Marks) iii. Virtual Hashing (5 Marks)

CS 1151 DATASTRUCTURES B.E/B.Tech. DEGREE EXAMINATION, MAY/JUNE Third Semester

Electronics and Communication Engineering Time : 3 hours Minimum: 100 Marks PART ± A (10 * 2 = 20 Marks) Answer ALL questions 1. Define ADT. 2. How do you push and pop elements in a linked stack? 3. Prove that the number of odd degree vertices in a connected graph should be even. 4. Define NP hard and NP complete. 5. Define binary search tree. 6. List out and define the performance measures of an algorithm. 7. What is Recursion? Explain with an example. 8. List out the various techniques of hashing. 9. What is the worst case complexity of Quick sort? 10. State the algorithmic technique used in merge sort. PART B (5 * 16 = 80 Marks) 11.(a) Derive the best, average, worst case time complexity of a linear search. Or (b) (i) Develop an algorithm for binary search. Validate the algorithm with a suitable data set. (10) (ii) What is Top down approach? Explain. (6) 12. (a) Write ADT operations for array implementation of polynomial addition. Or (b) Write ADT operations for array implementation of a queue. 13. (a) Write insertion algorithm for AVL tree. Write suitable rotation algorithms. Or (b) (i) Explain the algorithm for separate chaining. ( 8 ) (ii) Explain implementation of priority queue ( 8 ) 14. (a) Write ADT operations for heap sort. Using the above algorithm sort the following: 35 45 25 11 6 85 17 35 Or

(b) (i) Explain the quick sort algorithm. ( 8 ) (ii) Explain external sorting. Give relevant example. ( 8 ) 15. (a) Explain Dijkstra¶s algorithm using the following graph. Find the shortest path between v1, v2, v3, v4, v6 and v7. [Diagram not available] Or (b) (i) Write ADT operation for Prim¶s algorithm. ( 8 ) (ii) Explain the topological sort algorithm. ( 8 )