You are on page 1of 3

AIM To provide an in-depth knowledge in problem solving techniques and data structures.

OBJECTIVES To learn the systematic way of solving problems To understand the different methods of organizing large amounts of data To learn to program in C++ To efficiently implement the different data structures To efficiently implement solutions for specific problems UNIT I PRINCIPLES OF OBJECT ORIENTED PROGRAMMING 9 Introduction- Tokens-Expressions-contour Structures Functions in C++, classes and objects, constructors and destructors ,operators overloading and type conversions . UNIT II ADVANCED OBJECT ORIENTED PROGRAMMING 9 Inheritance, Extending classes, Pointers, Virtual functions and polymorphism, File Handling Templates ,Exception handling, Manipulating strings. UNIT III DATA STRUCTURES & ALGORITHMS 9 Algorithm, Analysis, Lists, Stacks and queues, Priority queues-Binary HeapApplication, Heapshashing-hash tables without linked lists UNIT IV NONLINEAR DATA STRUCTURES 9 Trees-Binary trees, search tree ADT, AVL trees, Graph Algorithms-Topological sort,shortest path algorithm network flow problems-minimum spanning tree Introduction to NP - completeness. UNIT V SORTING AND SEARCHING 9 Sorting Insertion sort, Shell sort, Heap sort, Merge sort, Quick sort, Indirect sorting, Bucket sort, Introduction to Algorithm Design Techniques Greedy algorithm (Minimum Spanning Tree), Divide and Conquer (Merge Sort), Dynamic Programming (All pairs Shortest Path Problem). Total hours = 45 TEXT BOOKS: 1. Mark Allen Weiss, Data Structures and Algorithm Analysis in C, 3 rd ed, Pearson Education Asia, 2007. 2. E. Balagurusamy, Object Oriented Programming with C++, McGraw Hill Company Ltd., 2007.

147353 DATA STRUCTURES AND OBJECT ORIENTED PROGRAMMING LAB 1. Basic Programs for C++ Concepts 2. Array implementation of List Abstract Data Type (ADT) 3. Linked list implementation of List ADT 4. Cursor implementation of List ADT 5. Stack ADT - Array and linked list implementations The next two exercises are to be done by implementing the following source files (a) Program source files for Stack Application 1 (b) Array implementation of Stack ADT (c) Linked list implementation of Stack ADT (d) Program source files for Stack Application 2 An appropriate header file for the Stack ADT should be #included in (a) and (d) 6. Implement any Stack Application using array implementation of Stack ADT (by implementing files (a) and (b) given above) and then using linked list implementation of Stack ADT (by using files (a) and implementing file c)) 7. Queue ADT Array and linked list implementations 8. Search Tree ADT - Binary Search Tree 9. Heap Sort 10. Quick Sort

142301 DATA STRUCTURES AND ALGORITHMS 3 0 0 3 Aim: To master the design and applications of linear, tree, and graph structures. To understand various algorithm design and analysis techniques. UNIT I Linear Structures 9 Abstract Data Types (ADT) List ADT array-based implementation linked list implementation cursor-based linked lists doubly-linked lists applications of lists Stack ADT Queue ADT circular queue implementation Applications of stacks and queues UNIT II Tree Structures 9 Tree ADT tree traversals left child right sibling data structures for general trees Binary Tree ADT expression trees applications of trees binary search tree ADT AVL trees binary heaps UNIT III Hashing and Sets 9 Hashing Separate chaining open addressing rehashing extendible hashing Disjoint Set ADT dynamic equivalence problem smart union algorithms path compression applications of Sets UNIT IV Graphs 9 Definitions Topological sort breadth-first traversal - shortest-path algorithms minimum spanning tree Prim's and Kruskal's algorithms Depthfirst traversal biconnectivity Euler circuits applications of graphs UNIT V Algorithm design and analysis 9 Introduction to algorithm design techniques: Greedy algorithms, Divide and conquer, Dynamic programming, backtracking, branch and bound, Randomized algorithms Introduction to algorithm analysis: asymptotic notations, recurrences Introduction to NP-complete problems Total: 45 TEXT BOOK: 1. M. A. Weiss, Data Structures and Algorithm Analysis in C, Second Edition, Pearson Education, 1997. REFERENCES: 1. A. V. Aho, J. E. Hopcroft, and J. D. Ullman, Data Structures and Algorithms, Pearson Education, 1983. 2. R. F. Gilberg, B. A. Forouzan, Data Structures, Second Edition, Thomson India Edition, 2005. 3. A. M. Tenenbaum, Y. Langsam, and M. J. Augenstein, Data Structures using C, Pearson Education, 1998. 4. K.S. Easwarakumar, Object Oriented Data Structures using C++, Vikas Publishing House pvt. Ltd., 2000 5. Sara Baase and A. Van Gelder, Computer Algorithms, Third Edition, Pearson Education, 2000.

You might also like