New batches start 11 August 2026. Enrol now →

← Programming & Computer Science Foundations

Programming & Computer Science Foundations

DSA with C++

Data structures and algorithms in C++ — from arrays and linked lists to AVL trees

Learn DSA the C++ way — starting with recursion, array representations, and string handling, then moving into matrices, sparse matrix representations, and linked lists. The course covers stacks, queues, trees, BST, AVL trees, search trees, heaps, sorting, hashing, and graphs, with asymptotic notation tying the analysis together.

36h
of content
20
modules
225
lessons
Fees from
₹4,000

per level · 3 levels · complete programme ₹17,000

Duration
5 mo
Enrol now Talk to us first

Fees by level

Start at any level, or take the complete programme. The fee you pay for a level is locked for you.

LevelWhat it coversDurationFee
Beginner Start from zero 1 mo ₹4,000
Intermediate Build working projects 2 mo ₹5,500
Advanced Get job-ready 2 mo ₹7,500
Complete programme (all levels) ₹17,000

All fees are in Indian Rupees and include applicable taxes. See our pricing & payment terms.

The complete curriculum

This is the entire syllabus — all 20 modules and 225 lessons, in the order you'll learn them. Nothing hidden.

↓ Download full curriculum (PDF)
01 Introduction 7 lessons
  1. 1.1Introduction to the Course
  2. 1.2Setting Up the environment
  3. 1.3Static Memory Allocation
  4. 1.4Dynamic memory allocation
  5. 1.5Physical and logical data structures
  6. 1.6ADT
  7. 1.7Space and time complexity
02 Recursion 18 lessons
  1. 2.1How recursion works, Generalization, Recursion and stack
  2. 2.2Recurrence relation and time complexity
  3. 2.3Code recursion
  4. 2.4Static and global variables in recursion and code
  5. 2.5Tail recursion
  6. 2.6Head recursion
  7. 2.7Tree recursion
  8. 2.8Indirect recursion
  9. 2.9Nested recursion
  10. 2.10Sum of natural numbers using recursion
  11. 2.11Factorial using recursion
  12. 2.12Power using recursion
  13. 2.13Taylor series using recursion approach-1
  14. 2.14Taylor series using recursion approach-2
  15. 2.15Fibonacci series using recursion
  16. 2.16nCr using recursion
  17. 2.17Tower of hanoi
  18. 2.18Tower of Hanoi implementation
03 Array Representations 10 lessons
  1. 3.1Introduction, Declaration, Demo
  2. 3.2Static array vs dynamic array, CODE
  3. 3.3Increase array size, CODE
  4. 3.42D array
  5. 3.52D array DEMO
  6. 3.6Array representation by compiler
  7. 3.7Row major formula for 2d arrays
  8. 3.8Column major formula for 2d arrays
  9. 3.9Formulas for nD arrays
  10. 3.10Formulas for 3D arrays
04 Array ADT 27 lessons
  1. 4.1Array ADT
  2. 4.2Array ADT - Demo
  3. 4.3Inserting in array
  4. 4.4Inserting in array - DEMO
  5. 4.5Deleting from array
  6. 4.6Deleting from array - DEMO
  7. 4.7Linear search
  8. 4.8Linear search - DEMO
  9. 4.9Binary search
  10. 4.10Binary search - DEMO
  11. 4.11Get, set, avg, max functions
  12. 4.12Get, set, avg, max functions DEMO
  13. 4.13Merging array
  14. 4.14Mergin array demo
  15. 4.15Check if an array is sorted
  16. 4.16Check if an array is sorted - DEMO
  17. 4.17Set operations on arrays
  18. 4.18Single missing element in sorted array
  19. 4.19Multiple missing element in sorted array
  20. 4.20Finding duplicates in sorted array
  21. 4.21Finding duplicates in unsorted array
  22. 4.22Reverse an array
  23. 4.23Reverse array DEMO
  24. 4.24Find duplicates in sorted array usign hashing
  25. 4.25Find a pair of elements with sum as K in unsorted array
  26. 4.26Find a pair of elements with sum as K in sorted array
  27. 4.27Find max and min in one scan
05 Strings 10 lessons
  1. 5.1String introduction
  2. 5.2Length of string
  3. 5.3Changing case of a string
  4. 5.4Counting words and vowels
  5. 5.5Validating a string
  6. 5.6Reversing a string
  7. 5.7Comparing two strings and palindrome
  8. 5.8Finding duplicates
  9. 5.9Check if two strings are anagrams
  10. 5.10Permutations of a given string
06 Matrices 11 lessons
  1. 6.1Diagonal matrix
  2. 6.2Diagonal matrix DEMO
  3. 6.3Class for diagonal matrix
  4. 6.4Class for diagonal matrix - DEMO
  5. 6.5Lower triangular matrix
  6. 6.6Lower triangular matrix code
  7. 6.7Upper triangular matrix
  8. 6.8Symmetric matrix
  9. 6.9Tri digonal and tri band matrix
  10. 6.10Toeplitz marix
  11. 6.11C++ class for matrix
07 Sparse matrix and polynomial representation 6 lessons
  1. 7.1Sparse matrix representation
  2. 7.2Sparse matrix addition
  3. 7.3Creation of Sparse matrix
  4. 7.4Addition of sparse matrix
  5. 7.5Sparse matrix using
  6. 7.6Polynomials
08 Linked list 41 lessons
  1. 8.1Why need dynamic DS LL
  2. 8.2Linked list introduction
  3. 8.3Display linked list
  4. 8.4Display linked list code
  5. 8.5Counting nodes and sum of all elements of linked list
  6. 8.6Counting nodes and sum - DEMO
  7. 8.7Max element in linked list
  8. 8.8Max element in linked list - DEMO
  9. 8.9Searching in linked list
  10. 8.10Searching in linked list - DEMO
  11. 8.11Insertion
  12. 8.12Insertion - DEMO
  13. 8.13Insertion in sorted list
  14. 8.14Insertion in sorted list - DEMO
  15. 8.15Check if list is sorted
  16. 8.16Check if list is sorted - DEMO
  17. 8.17Deletion
  18. 8.18Deletion - DEMO
  19. 8.19Reverse a linked list
  20. 8.20Concatinating two linked lists
  21. 8.21Checking for a LOOP
  22. 8.22Checking for LOOP - DEMO
  23. 8.23CLL Introduction
  24. 8.24CLL Introduction - DEMO
  25. 8.25Insertion in CLL
  26. 8.26Deletion in CLL
  27. 8.27CLL insertion and deletion - DEMO
  28. 8.28Doubly linked list - Introduction
  29. 8.29Insert in DLL
  30. 8.30Delete in DLL
  31. 8.31DLL - DEMO
  32. 8.32Circular doubly linked list
  33. 8.33Comparision of linked lsits
  34. 8.34Max element in LL
  35. 8.35Creating a LL using insert
  36. 8.36Creating a LL by inserting at last
  37. 8.37Removing duplicates from sorted LL
  38. 8.38Removing duplicates from sorted LL DEMO
  39. 8.39Recursive reverse for LL
  40. 8.40Reversign a LL DEMO
  41. 8.41Reverse a doubly LL DEMO
09 Sparse matrix polynomial expression using linked list 2 lessons
  1. 9.1Polynomial representation using LL
  2. 9.2Polynomial representation using LL DEMO
10 Stack 10 lessons
  1. 10.1Stack introduction
  2. 10.2Stack using array - DEMO
  3. 10.3Stack using linked list
  4. 10.4Parenthesis matching
  5. 10.5Parenthesis matching - DEMO
  6. 10.6Infix to postfix conversion
  7. 10.7Infix to postfix - DEMO
  8. 10.8Evaluation of postfix expression
  9. 10.9Postfix evaluation - DEMO
  10. 10.10Stack using LL - DEMO
11 Queue 10 lessons
  1. 11.1Queue introduction
  2. 11.2Queue insertion and deletion - DEMO
  3. 11.3Drawback of queue using array
  4. 11.4Circular queue
  5. 11.5Circular queue - DEMO
  6. 11.6Queue using linked list
  7. 11.7Queue using LL - DEMO
  8. 11.8Priority queue
  9. 11.9Double ended queue DEQUE
  10. 11.10Double ended queue DEQUE - DEMO
12 Trees 17 lessons
  1. 12.1Tree - terminology
  2. 12.2Height vs nodes formulas
  3. 12.3Internal and external nodes
  4. 12.4Strict binary tree
  5. 12.5n-ary trees
  6. 12.6Representation of binary tree
  7. 12.7Full vs complete binary tree
  8. 12.8Strict vs complete binary tree
  9. 12.9Creating a tree
  10. 12.10Creating Binary tree DEMO
  11. 12.11Binary tree traversals
  12. 12.12Iterative traversals DEMO
  13. 12.13Level order traversal DEMO
  14. 12.14Generate binary tree from traversals
  15. 12.15Generate BT from traversals DEMO
  16. 12.16Height and count of BT DEMO
  17. 12.17Count leaf nodes in BT DEMO
13 Binary search tree 7 lessons
  1. 13.1Searching in BST
  2. 13.2Inserting in BST
  3. 13.3Creating a BST
  4. 13.4BST DEMO
  5. 13.5Deleting from BST
  6. 13.6BST drawbacks
  7. 13.7Generate BST from preorder
14 AVL trees 6 lessons
  1. 14.1AVL tree introduction
  2. 14.2Insertion in AVL with rotations
  3. 14.3General form of AVR rotations
  4. 14.4Generating AVL tree
  5. 14.5Height analysis AVL trees
  6. 14.6AVL rotations DEMO
15 Search trees 6 lessons
  1. 15.12,3 trees
  2. 15.22,3,4 trees
  3. 15.3Red black trees
  4. 15.4Red black tree creation
  5. 15.5Red black trees vs 2-3-4 trees
  6. 15.6Red black tree deletion
16 Heap 8 lessons
  1. 16.1Heap introduction
  2. 16.2Heap insertion
  3. 16.3Heap insertion - DEMO
  4. 16.4Heap creation
  5. 16.5Heap element deletion
  6. 16.6Heap sort - DEMO
  7. 16.7Heapify
  8. 16.8Heap as priority queue
17 Sorting techniques 10 lessons
  1. 17.1Bubble sort
  2. 17.2Bubble sort DEMO
  3. 17.3Insertion sort
  4. 17.4Insertion sort DEMO
  5. 17.5Selection sort
  6. 17.6Selection sort DEMO
  7. 17.7Quick sort
  8. 17.8Quick sort DEMO
  9. 17.9Merge sort
  10. 17.10Merge sort DEMO
18 Hashing techniques 6 lessons
  1. 18.1Hashing introduction
  2. 18.2Chaining
  3. 18.3Chaining - DEMO
  4. 18.4Linear probing - Quadratic probing
  5. 18.5Linear probing - DEMO
  6. 18.6Hash function ideas
19 Graphs 12 lessons
  1. 19.1Graphs terminology
  2. 19.2Representation of undirected graph
  3. 19.3Representation of directed graph
  4. 19.4Breadth first search
  5. 19.5BFS DEMO
  6. 19.6Depth first search
  7. 19.7DFS - Demo
  8. 19.8Minimum cost spanning tree
  9. 19.9Prims algorithm
  10. 19.10Prims algorithm DEMO
  11. 19.11Kruskal_s algorithm
  12. 19.12Kruskal algorithm DEMO
20 Asymptotic notation 1 lesson
  1. 20.1Asymptotic notations

Tools you'll use

C++

Every course includes

Live, instructor-led classes Course materials & lab access Doubt-clearing sessions Final assessment + one free re-attempt Verifiable certificate

How certification works