← All paths
PythonIntermediate

Algorithms and Data Structures

Algorithms and data structures to ace technical interviews: complexity, arrays, hash maps, trees, graphs, dynamic programming. BigTech-style problems, runnable in the browser.

14 chapters56 lessons52 challenges

Course curriculum

Chapter 1: Complexity (Big-O)

  • ▸Why complexity matters
  • ▸Big-O notation
  • ▸Space complexity
  • ▸Analyzing an algorithm

Chapter 2: Arrays and strings

  • ▸Arrays
  • ▸Two pointers
  • ▸Sliding window
  • ▸String tricks

Chapter 3: Hash maps and sets

  • ▸The hash map
  • ▸Counting frequencies
  • ▸The set: membership and duplicates
  • ▸The complement pattern

Chapter 4: Stacks and Queues

  • ▸The stack (LIFO)
  • ▸The queue (FIFO) and the deque
  • ▸Balanced brackets
  • ▸Evaluating with the stack

Chapter 5: Linked Lists

  • ▸What a linked list is
  • ▸Traversing and operating
  • ▸Reversing a linked list
  • ▸Fast & slow pointers

Chapter 6: Trees

  • ▸Binary trees
  • ▸Traversals (DFS)
  • ▸The BST
  • ▸BFS and depth

Chapter 7: Heaps and Priority Queues

  • ▸What a heap is
  • ▸heapq in Python
  • ▸Top-K problems
  • ▸The priority queue

Chapter 8: Graphs

  • ▸What a graph is
  • ▸BFS on graphs
  • ▸DFS on graphs
  • ▸Graph applications

Chapter 9: Recursion and backtracking

  • ▸Recursion
  • ▸Thinking recursively
  • ▸Backtracking
  • ▸Generating subsets

Chapter 10: Binary search

  • ▸Binary search
  • ▸The implementation
  • ▸Variants and bisect
  • ▸Binary search on the answer

Chapter 11: Dynamic programming

  • ▸What dynamic programming is
  • ▸Memoization (top-down)
  • ▸Tabulation (bottom-up)
  • ▸Classic DP problems

Chapter 12: Greedy algorithms

  • ▸What a greedy algorithm is
  • ▸When greedy works
  • ▸Greedy examples
  • ▸Greedy vs DP

Chapter 13: Interview patterns

  • ▸Recognizing the pattern
  • ▸The main patterns
  • ▸Approaching a problem
  • ▸Communicating in the interview

Chapter 14: Interview problems

  • ▸Sliding window in action
  • ▸Interval problems
  • ▸Interview checklist
  • ▸Next steps

Ready to level up?

Create a free account and start now: earn XP on every challenge and climb the leaderboard.

Algorithms and Data Structures — LevelUpCode