Syllabus Data Structures using C++ - (CS25C05) Data Abstraction & Overloading : Overview of C++, Structures, Class Scope and Accessing Class Members, Reference Variables, Initialization, Constructors, Destructors, Member Functions and Classes, Friend Function, Dynamic Memory Allocation, Static Class Members, Container Classes and Integrators, Proxy Classes, Overloading : Function overloading and Operator Overloading. (Chapter - 1) Practical : 1. Program to Implement Constructors and Destructors. 2. Program to implement Member Functions, Classes and Friend Functions. 3. Program to Implement Dynamic Memory Allocation and Overloading. Inheritance & Polymorphism : Base Classes and Derived Classes, Protected Members, Casting Class pointers and Member Functions, Overriding, Public, Protected and Private Inheritance - Constructors and Destructors in derived Classes, Implicit Derived, Class Object to Base, Class Object Conversion, Composition Vs. Inheritance, Virtual functions, This Pointer, Abstract Base Classes and Concrete Classes, Virtual Destructors, Dynamic Binding. (Chapter - 2) Practical : 1. Program to Implement various inheritances. 2. Program to Implement virtual functions and dynamic binding. 3. Implementation of method overriding and operator overloading. Linear Data Structures : Asymptotic Notations : Big-Oh, Omega and Theta, Best, Worst and Average case Analysis : Definition and an example, Arrays and its representations, Stacks and Queues, Linked lists, Linked list based implementation of Stacks and Queues, Evaluation of Expressions, Linked list based polynomial addition. (Chapters - 3, 4, 5) Practical : 1. Program to implement various operations on arrays and linked lists. 2. Program to implement various operations on stacks and queues using array and linked list. 3. Program to evaluate the infix expressions by converting into prefix and postfix expressions. Non-Linear Data Structures : Trees, Binary Trees, Binary tree representation and traversals, Threaded binary trees, Binary tree representation of trees, Application of trees : Set representation and Union, Find operations, Graph and its representations, Graph Traversals, Connected components. Standard template library. (Chapters - 6, 7, 8) Practical : 1. Program to Implement Binary Tree Traversal and Graph Traversal Algorithm. 2. Program to Implement the Single Source Shortest Path Algorithm and All Pair Shortest Path Algorithm. 3. Program to find the Minimal Spanning Tree for a Graph. Searching, Sorting and Complexity Analysis : Insertion sort, Merge sort, Quicksort, Heapsort, Linear Search, Binary Search. (Chapter - 9) Practical : 1. Program to Implement Linear Search and Binary Search Algorithms. 2. Program to Implement Insertion Sort, Merge Sort, Quick Sort and Heap Sort Algorithms.