csIntermediate

Data Structures & Algorithms

Build deep expertise in algorithms and data structures — from arrays and linked lists to graphs and dynamic programming.

4.8(143 reviews)412 students3h 13m3 lectures
Download Notes
Data Structures & Algorithms

Lectures

38

Notes

15

Quizzes

10

Level

Intermediate

About This Course

A thorough course in data structures and algorithmic design for students pursuing software engineering or competitive programming. You will study fundamental data structures (arrays, linked lists, stacks, queues, trees, heaps, graphs, and hash tables) alongside core algorithmic paradigms including divide-and-conquer, greedy algorithms, dynamic programming, and graph traversal. Every topic includes time and space complexity analysis to prepare you for technical interviews and advanced coursework.

What you'll learn

  • Implement and analyse fundamental data structures from scratch
  • Apply divide-and-conquer techniques to solve complex problems
  • Master dynamic programming for optimisation problems
  • Traverse and analyse graphs using BFS, DFS, and shortest-path algorithms
  • Calculate time and space complexity using Big-O notation
  • Solve algorithmic problems confidently in interviews and exams

Prerequisites

  • Basic programming knowledge (any language)
  • Familiarity with functions, loops, and arrays
  • Elementary mathematics (logarithms, basic algebra)
AlgorithmsData StructuresDSAComputer ScienceProgramming

Curriculum

01Arrays and Strings0 lectures
    02Linked Lists, Stacks & Queues0 lectures
      03Trees and Heaps0 lectures
        04Graphs and Graph Algorithms0 lectures
          05Dynamic Programming0 lectures