VL3201 C++ and Data Structures Syllabus:
VL3201 C++ and Data Structures Syllabus – Anna University Regulation 2021
UNIT I 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.
UNIT II 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.
UNIT III 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.
UNIT IV 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.
UNIT V SORTING & SEARCHING
Insertion sort – Merge sort – Quick sort – Heap sort – Linear Search – Binary Search.
TOTAL : 30 PERIODS
List of Experiments:
1. C++ Program to Implement Constructors and Destructors.
2. C++ Program to implement Member Functions, Classes and Friend Functions.
3. C++ Program to Implement Dynamic Memory Allocation and Overloading.
4. C++ Program to Implement Various Inheritances.
5. C++ Program to Implement Virtual Functions and Dynamic Binding.
6. C++ Program to Implement Various Operations on Arrays and Linked Lists.
7. C++ Program to Implement Various Operations on Stacks and Queues using Array and Linked List.
8. C++ Program to Evaluate the Infix Expressions by converting into Prefix and Postfix Expressions.
9. C++ Program to Implement Binary Tree Traversal and Graph Traversal Algorithm.
10. C++ Program to Implement the Single Source Shortest Path Algorithm and All Pair Shortest Path Algorithm.
11. C++ Program to find the Minimal Spanning Tree for a Graph.
12. C++ Program to Implement Linear Search and Binary Search Algorithms.
13. C++ Program to Implement Insertion Sort, Merge Sort, Quick Sort and Heap Sort Algorithms.
COURSE OUTCOMES:
At the end of the course, students will be able to
CO1: Comprehend and appreciate the significance and role of this course in the present contemporary world
CO2: Select and realize suitable data structure for specific Application.
CO3: Compare and realize Linear and nonlinear data structures for different application.
CO4: Implement different searching and sorting techniques.
CO5: Identify and realize connected components in trees.
CO6: Analyze and realize asymptotic notations.
TEXT BOOKS:
1. Deitel and Deitel, “ C++, How To Program”, Fifth Edition, Pearson Education, 2005
2. Ellis Horowitz, Sartaj Sahni and Dinesh Mehta, Fundamentals of Data Structures in C++, 2nd edition, Universities Press Pvt Ltd., Hyderabad, 2007.
REFERENCE BOOKS:
1. Mark Allen Weiss, “Data Structures and Algorithm Analysis in C++”, Third Edition, AddisonWesley, 2007.
2. Bhushan Trivedi, “Programming with ANSI C++, A Step-By-Step approach”, Oxford University Press, 2010.
3. Goodrich, Michael T., Roberto Tamassia, “David Mount. “ Data Structures and Algorithms in C++”, 7th edition, Wiley. 2004
