Data Structures and Algorithms: Patterns for Interviews

Learn core data structures, graph algorithms, sorting and problem-solving patterns with Python examples. For students and interview candidates.

Start course →

What you'll learn

  • Analyse time and space complexity with Big-O.
  • Choose and implement arrays, hash maps, trees, heaps and graphs.
  • Apply sorting, searching and graph algorithms such as BFS, DFS and Dijkstra.
  • Recognize patterns: two pointers, sliding window, backtracking, greedy and dynamic programming.
  • Design structures such as LRU cache and solve interval and K-way merge problems.

Syllabus

Module 1: Foundations

  1. What is DSA?
  2. Big-O & Complexity

Module 2: Data Structures

  1. Arrays
  2. Strings
  3. Linked List
  4. Stack
  5. Queue
  6. Hash Map
  7. Binary Tree
  8. Binary Search Tree
  9. Heap / Priority Queue
  10. Graph
  11. Trie
  12. Segment Tree
  13. Fenwick Tree (BIT)
  14. Monotonic Stack / Queue

Module 3: Graph Algorithms

  1. Topological Sort
  2. Dijkstra's Algorithm
  3. Bellman-Ford Algorithm
  4. Floyd-Warshall Algorithm
  5. Minimum Spanning Tree
  6. Union-Find / Disjoint Set

Module 4: Sorting & Searching

  1. Linear Search
  2. Binary Search
  3. Bubble, Selection, Insertion Sort
  4. Merge Sort
  5. Quick Sort

Module 5: Algorithm Patterns

  1. Recursion
  2. Two Pointers
  3. Sliding Window
  4. Breadth-First Search
  5. Depth-First Search
  6. Backtracking
  7. Greedy
  8. Dynamic Programming

Module 6: Advanced Patterns

  1. Bit Manipulation
  2. Math & Number Theory
  3. String Matching
  4. Advanced Dynamic Programming
  5. Intervals
  6. LRU Cache Design
  7. K-way Merge