ProgramPROGRAMMING AND DATA STRUCTURESming and Data Structures

Preview:

DESCRIPTION

PROGRAMMING AND DATA STRUCTURESSyllabus of 3rd Sem Anna University

Citation preview

CS6301 PROGRAMMING AND DATA STRUCTURES II L T P C3 0 0 3OBJECTIVES:The student should be made to: Be familiar with the C++ concepts of abstraction, encapsulation, constructor, polymorphism,overloading and Inheritance. Learn advanced nonlinear data structures. Be exposed to graph algorithms Learn to apply Tree and Graph structuresUNIT I OBJECT ORIENTED PROGRAMMING FUNDAMENTALS 9C++ Programming features - Data Abstraction - Encapsulation - class - object - constructors static members constant members member functions pointers references - Role of this pointer Storage classes function as arguments.UNIT II OBJECT ORIENTED PROGRAMMING CONCEPTS 9String Handling Copy Constructor - Polymorphism compile time and run time polymorphisms function overloading operators overloading dynamic memory allocation - Nested classes -Inheritance virtual functions.UNIT III C++ PROGRAMMING ADVANCED FEATURES 9Abstract class Exception handling - Standard libraries - Generic Programming - templates class template - function template STL containers iterators function adaptors allocators -Parameterizing the class - File handling concepts.UNIT IV ADVANCED NON-LINEAR DATA STRUCTURES 9AVL trees B-Trees Red-Black trees Splay trees - Binomial Heaps Fibonacci Heaps DisjointSets Amortized Analysis accounting method potential method aggregate analysis.UNIT V GRAPHS 9Representation of Graphs Breadth-first search Depth-first search Topological sort Minimum Spanning Trees Kruskal and Prim algorithm Shortest path algorithm Dijkstras algorithm Bellman-Ford algorithm Floyd - Warshall algorithm.TOTAL: 45 PERIODSOUTCOMES:At the end of the course, the student should be able to: Design problem solutions using Object Oriented Techniques. Apply the concepts of data abstraction, encapsulation and inheritance for problem solutions. Use the control structures of C++ appropriately. Critically analyse the various algorithms. Apply the different data structures to problem solutions.TEXT BOOKS:1. Bjarne Stroustrup, The C++ Programming Language, 3rd Edition, Pearson Education, 2007.2. Mark Allen Weiss, Data Structures and Algorithm Analysis in C++, 2nd Edition, Pearson Education, 2005REFERENCES:1. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein, "Introduction to Algorithms", Second Edition, Mc Graw Hill, 2002.2. Michael T Goodrich, Roberto Tamassia, David Mount, Data Structures and Algorithms in C++, 7th Edition, Wiley Publishers, 2004.CS6311 PROGRAMMING AND DATA STRUCTURE LABORATORY II L T P C0 0 3 2OBJECTIVES:The student should be made to: Be familiarized with good programming design methods, particularly Top- Down design. Getting exposure in implementing the different data structures using C++ Appreciate recursive algorithms.LIST OF EXPERIMENTS:IMPLEMENTATION IN THE FOLLOWING TOPICS:1. Constructors & Destructors, Copy Constructor.2. Friend Function & Friend Class.3. Inheritance.4. Polymorphism & Function Overloading.5. Virtual Functions.6. Overload Unary & Binary Operators Both as Member Function & Non Member Function.7. Class Templates & Function Templates.8. Exception Handling Mechanism.9. Standard Template Library concept.10. File Stream classes.11. Applications of Stack and Queue12. Binary Search Tree13. Tree traversal Techniques14. Minimum Spanning Trees15. Shortest Path AlgorithmsTOTAL: 45 PERIODSOUTCOMES:At the end of the course, the student should be able to: Design and implement C++ programs for manipulating stacks, queues, linked lists, trees, and graphs. Apply good programming design methods for program development. Apply the different data structures for implementing solutions to practical problems. Develop recursive programs using trees and graphs.REFERENCE:spoken-tutorial.org.LIST OF EQUIPMENT FOR A BATCH OF 30 STUDENTS:Standalone desktops with C++ complier 30 Nos.(or)Server with C++ compiler supporting 30 terminals or more.

Recommended