What you'll learn

Description:  This course is designed to: 1.To help learners develop the programming skills to solve the problem using different data structures. 2.To help the learners to understand the various data structures and algorithmic techniques to solve the problems. 3.To help the learner to find the best solution for a problem out of many solutions based on complexity. Learning Outcome: · Understand the foundational concepts of data structures and their real-world applications. · Analyze the efficiency of algorithms using time and space complexity. · Design and implement optimized algorithms for problem-solving. · Demonstrate proficiency in using modern programming languages for DSA applications. · Develop critical thinking to select appropriate data structures and algorithms.

  • oImportance of DSA in problem-solving oIntroduction to Time and Space Complexity oBig-O, O, and T Notation oAlgorithm Design and Analysis Basics
  • oTypes: 1D, 2D, Dynamic Arrays oOperations: Insertion, Deletion, Traversal oApplications: Searching, Sorting, Sliding Window Problems
  • oTypes: Singly Linked List, Doubly Linked List, Circular Linked List oOperations: Insertion, Deletion, Traversal oProblems: Detecting Cycles, Reversing a Linked List
  • oDefinition and Operations (Push, Pop, Peek) oApplications: Expression Evaluation (Infix, Prefix, Postfix) oImplementing Stacks using Arrays and Linked Lists
  • oTypes: Simple Queue, Circular Queue, Priority Queue oOperations: Enqueue, Dequeue oApplications: Scheduling, BFS Traversal
  • oBasic Concepts: Binary Tree, Binary Search Tree (BST) oOperations: Insertion, Deletion, Search, Traversal (Pre-order, In-order, Post-order) oBalanced Trees: AVL, Red-Black Trees
  • oMin-Heap, Max-Heap oOperations: Insert, Extract-Min/Max, Heapify oApplications: Priority Queue Implementation
  • oRepresentation: Adjacency Matrix, Adjacency List oTraversal: Depth-First Search (DFS), Breadth-First Search (BFS) oShortest Path Algorithms: Dijkstra, Bellman-Ford oTopological Sort, Strongly Connected Components (Kosaraju)
  • oSimple Sorts: Bubble Sort, Selection Sort, Insertion Sort oEfficient Sorts: Merge Sort, Quick Sort, Heap Sort oNon-Comparison Sorts: Counting Sort, Radix Sort oTime Complexity of Sorting Algorithms
  • oLinear Search, Binary Search (Iterative, Recursive) oSearch in Rotated Sorted Array oBinary Search Applications (e.g., Search for the First/Last Occurrence)

Puneet Kumar
Assistant Professor

Mr. Puneet is currently working as Assistant Professor in the School of Computer Science & Engineering at Lovely Professional University. He has done Master’s in Computer Science and Engineering and has 11+ years experience as a Data Structure and Algorithms tutor in various colleges. He have conducted lots of workshops and skill development courses on programming languages, data structures and algorithms.


Dr. Nishant Agnihotri
Associate Professor

Dr. Nishant is currently working as Assistant Professor in the School of Computer Science & Engineering at Lovely Professional University. He has done P.hD in Computer Science and Engineering and has 9+ years of experience as a Data Structure and Algorithms tutor in various colleges. He have conducted lots of workshops and skill development courses on programming languages, data structures and algorithms.