**Anna University, Chennai**

**EC2202 – DATA STRUCTURES AND OBJECT ORIENTED PROGRAMMING IN C++ **

**UNIT I**

1) Explain with the Basic Concepts of object oriented programming. (16)

2) (a) Explain the elements of object oriented programming. (8)

(b) What are the difference between reference variables and normal variables? (8)

3) Explain about call-by-reference and return by reference. (16)

4) (a) Describe the advantages of OOP. (8)

(b) What are the difference between pointers to constants and constant to pointers? (8)

5) (a) Describe the applications of OOP technology. (8) (b) What is function overloading? Explain with an example program. (8)

6) Explain the merits and demerits of object oriented methodology. (16)

7) What is friend function? What is the use of using friend functions in c++? Explain with a program. (16)

8) What is polymorphism? Provide an example to explain it. (16)

9) Describe Abstract base class. Illustrate an example to explain it. (16)

10) What are the advantages of using default arguments? Explain with example program. (8)

11) Write a program to implement nested classes using c++. (16)

13) Write a program to demonstrate how a static data is accessed by a static member function. (16)

14) Write a program to get the student details and print the same using pointers to objects and pointers to members of a class. Create a class student. And use appropriate functions and data members. (16)

15) Explain copy constructor and destructor with suitable C++ coding. (8)

16) Explain about Implementation of simple ADTs. (16)

17) Explain about static member and this pointer with suitable code. (16)

18) What is a Bit field? Explain briefly. (8)

19) Explain about Data Handling and member function. (8)

20) What is a virtual destructor? Explain the use of it. (16)

21) Explain about Unary Operator and Binary Operator Overloading with program. (16)

22) List out the rules for overloading operators with example. (8)

23) Define a supplier class. Assume that the items supplied by any given supplier are different and varying in number. Use dynamic memory allocation in the constructor function to

achieve the solution. (16)

24) Write a C++ Program to check whether the string is palindrome or not? (8)

25) Write a C++ program to define Binary and unary operator. (8)

**UNIT II**

1.Explain the various types of Inheritance with suitable example program. (16)

2.What are the virtual functions? Explain their needs using a suitable example. What are the rules associated with virtual functions? (16)

3.What are the different forms of inheritance supported in c++? Discuss on the visibility of base class members in privately and publicly inherited classes. (16)

4.What are abstract classes? Give an example (with the program) to illustrate the use of

abstract classes. (8)

5.Explain multiple catch statement with help of suitable C++ coding. (16)

6.Explain about Code Reuse with program. (8)

7.Discuss about Run Time Type Identifications. (8)

8.Write notes on Typing conversions and derived class with program. (16)

9. Explain about Exceptions Handlers and Standard Exceptions. (8)

10.Explain about Template and its types with example. (16)

11. Discuss about Streams and stream classes. (8)

12. Write notes on Formatted and Unformatted Console I/O Operations. (16)

13. Explain about File Pointers and Manipulations with example. (16)

14. Discuss about manipulators and file streams with Program. (16)

15.Write on Details about File modes and File I/O. (16)

16.Write notes on Formatted and Unformatted Console I/O Operations. (16)

17.Explain about File Pointers and their manipulations with example. (16)

18.Give the differences between Manipulators and ios Functions. (8)

19.How can we determine errors while dealing with files. (16)

20.Explain in detail about the facilities available for substring operations on the string object? (16)

21.Explain in detail about Sorted Associative Containers. (16)

22. Discuss about different ways of defining namespaces. (8)

23. Define a student class. Inherit that into MCAStudent class and NonMCAStudent. MCA Students inherits into GLSSTudents and NonGLSStudents. A function howPracticalHours can only be applied to MCAStudents. We have a base class Student pointer to a GLSStudent object.Use dynamic_cast ti check that NonMCAStudents do not ShowPracticalHours. (16)

**UNIT III**

1.A)Explain Top down design in detail. (8)

B) Design an algorithm that accepts positive integer and reverse the order of its digits (8)

2. Write the ADT for find routine in the linked list. (16)

3. Write an algorithm to

a) To count the numbers nodes in the linked list (4)

b) Reverse a singly linked list (4)

c) Concatenate tow single linked list (4)

d) Copy one linked list to another (4)

4. Given singly linked list whose first node is pointed to by the pointer variable C formulate an algorithm to delete the first occurrence of X from the list and Insert the element X after the position P in the list. (16)

5. Explain the process of postfix expression evaluation with an example. (16)

6. Write the program to print the elements of single linked list. (16)

7. Explain with an example the creation of linked list, insertion and deletion of nodes and swapping of

any two nodes. (16)

8. Using linked list formulate separate routines to create an empty stack and push an element on to the

stack. (16)

9. Discuss in detail the array implementation of queue (16)

10. Explain the implementation stack using linked list. (16)

11. Explain prefix infix and postfix expressions with example. (16)

12. Explain the operations and the implementations of list ADT. (16)

13. Give a procedure to convert an infix expression a+b*c+(d*e+f)*g to postfix notation. (8)

14. Design and implement an algorithm to search a linear ordered linked list for a given alphabetic

key or name. (16)

15. Define an efficient representation of two stacks in the given area on memory with n words and explain. (16)

16. What is a stack? Write down the procedure for implemention various back operations (8)

17. Explain the various application of stack? (16)

18. Given two sorted lists L1 and L2 write a procedure to impurt L1_ L2 using only the basic

Operation (8)

19. Write a routine to insert an element in a linked list (16)

20. What is a queue? Write an algorithm to implement queue (16)

Page 7

**E****C2202 / Data Structures And Object Oriented Programming In C++**

21. Explain the process of conversion from infix expression to postfix using stack (16)

22. Explain the process of postfix expression evaluation with Example (16)

23. Write the ADT operation to test whether current position is the last in the linked list (16)

24. Write the ADT operation for insertion and deletion routin in linked lists (16)

25. Write example describe how you will measure the efficiency of an algorithm (16)

26. Analyze the search algorithm with example (16)

27. Explain the various aspects of problem solving in detail. Also describe the pros and cons of each (8)

28. Write the ADT operation for insertion and deletion routine in linked Queue (16)

29. Write a suitable C routine to remove and return the top element of stack using

Array implementation? (16)

30. Formulate a routine to implement a stack using linked list and to pop and element

Into the stack. (16)

31. Write a routine to implement a queue using arrays and to enqueue and element in to it. (16)

32. List out the ADT operation to enqueue and Dequeue and element in queue. (16)

33. List out the ADT operations of circular linked list? (16)

34. Define hash function? Write the routines to find and insert an element in separate chaining. (16)

35. Explain rehashing techniques to avoid collision. (16)

36. Explain extendible hashing to resolve collision. (16)

37. Define Heap? State the properties of heap. Explain the Maximum heap and minimum heap with an example? (16)

UNIT – IV

1. Explain the operations of insertion of nodes into and deletion of nodes from, a binary search tree with code. (16)

2. Give the analysis of insertion and deletion operations of nodes in binary search tree. (8)

3. Write a algorithm to locate an element from binary search tree. (8)

4. Draw the binary search tree for the following input list 60,25,75,15,50,66,33,44.Trace an algorithm to delete the nodes 25,75,44 from the tree. (16)

5. Explain the operations of insertion of nodes into and deletion of nodes from, a binary search tree with code. (16)

6. Explain the basic terminologies in trees. (16)

7. How do you insert an element in a binary search tree? (8)

8. Discuss the advantages of linked list representation o f trees over array representation. (8)

9. List out the ADT operations of Binary search tree. (8)

10. Explain BFS and DFS with example. (16)

11. Define AVL trees? Explain the LL, RR, RL, LR case with an example? (16)

12. Explain in detail insertion into AVL Trees. (16)

13. Explain in detail (i) Single rotation (ii) double rotation of an AVL tree. (16)

14. Write an Algorithm to insert a node in AVL tree. (8)

15. Write an Algorithm to delete a node from AVL tree. (8)

16. Write the ADT Routines for AVL tree operation. (8)

17. Explain wit example how u insertion and deletion of a node in AVL tree? Explain the all possible cases. (8)

18. Explain the various representation of graph with example in detail? (16)

19. Define topological sort? Explain with an example? (16)

20. Explain Dijkstra's algorithm with an example? (16)

21. Explain Prim's algorithm with an example? (16)

22. Explain Krushal's algorithm with an example? (16)

23.Explain minimum Spanning tree . (16)

24. Design a single source shortest path algorithm and explain it with example. (16)

25. What are the Graph traversal method? Explain it with example. (16)

26. Give an algorithm to find minimum Spanning tree, Explain it with suitable example. (16)

27.Write an algorithm for finding minimum spanning tree and explain application, illustrate the algorithm with typical data of yours own example. (16)

28. Explain the algorithm for depth first search and breath first search with the following graph(16)

UNIT V

1. Sort the sequence 3, 1, 4,7,5,9,2,6,5 using Insertion sort. (16)

2. Explain the operation and implementation of Insertion sort and shell sort. (16)

3. Explain the operation and implementation of merge sort. (16)

4. Explain the operation and implementation of external sorting. (16)

5. (a) Write quick sort algorithm and explain. (8)

(b) Trace the quick sort algorithm for the following list of numbers.

90,77,60,99,55,88,66 (8)

6. Write down the merge sort algorithm and give its worst case, best case and average case analysis. (16)

7. Show how heap sort processes the input 142,543,123,65,453,879,572,434,111,242 ,811,102. (16)

8.Write ADT operation for Heap sort. Using the above algorithm sort the following

35,45,25,11,6,85,17,35 (16)

9. Explain the Quick sort algorithm with example (16)

10. Explain external sorting. Give an example (16)

11. State and explain to perform heap sort with example (16)

12. Analyse the time complexity of quick sort algorithm. (16)

13. Explain anyone external sorting with an example (16)

14. Briefly explain about quick sort algorithm (16)

15. Trace the quick sort algorithm for the following numbers 90,77,60,99,55,88,66 (16)

16. Explain the stages of heap sort with example (16)

17. Explain the quick sort algorithm with example (16)

19. Explain the Heap sort algorithm with example (16)

20. Briefly explain about Greedy algorithm with example (16)

21. Briefly explain about Dynamic programming (16)

22. Explain the divide and conquer technique with the help of merge sort (16)