Data Structures using C++ - CS25C05

[ 2nd Semester - ECE - Electronics and Communication Engineering Department ]

Under Class: | 2nd Semester [ECE Dept Anna University 2025 Regulation] |

Data Structures using C++ - CS25C05 - Study Materials, Notes, Important Questions, Anna University Semester Question Paper PDF Download

Engineering - Data Structures using C++ - CS25C05 Subject (under Anna University 2nd Semester - ECE - Electronics and Communication Engineering Engineering Regulation 2025) - Study Materials, Written and lecture Notes, Important Questions, Semester Question Paper PDF Download






 

CS25C05:

Data Structures using C++

 

Course Objective:

• This course aims to provide an understanding of object-oriented programming principles using C++.

 

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.

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.

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.

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

 

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.

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.

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.

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.

 

Weightage: Continuous Assessment: 50%, End Semester Examinations: 50% 

Assessment Methodology: Quiz (5%), Assignments (20%), Flipped Class (5%), Practical (30%), Internal Examinations (40%)

 

References

1. Deitel, P. J., & Deitel, H. M. (2005). C++ how to program. Pearson Education.

2. Ellis Horowitz, E., Sahni, S., & Mehta, D. (2007). Fundamentals of data structures in C++. Universities Press Pvt Ltd.

3. Weiss, M. A. (2007). Data structures and algorithm analysis in C++. Addison- Wesley.

4. Trivedi, B. (2010). Programming with ANSI C++: A step-by-step approach. Oxford University Press.

5. Goodrich, M. T., Tamassia, R., & Mount, D. (2004). Data structures and

algorithms in C++. Wiley.

 

E-Resources:

1. https://nptel.ac.in/courses/106/106/106106143/

2. https://www.tutorialspoint.com/data_structures_algorithms/index.htm