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