About This Algorithm Practice
Deepen your skills with guided intermediate problems
These intermediate exercises cover divide-and-conquer techniques, basic graph traversal, and introductory dynamic programming, each with a worked explanation.
The problems are untimed and designed for learning, so you can trace each solution and understand why it works.
Complete the set to prepare for the advanced practice exercises.
What You Will Practice at Intermediate Level
Implementing Efficient Sorts
Exercises guide you through merge sort's divide and merge steps and quicksort's partitioning, both averaging O(n log n) time.
Building Hash Tables
You will practice designing hash functions, resolving collisions with chaining or probing, and reasoning about average O(1) operations.
Binary Search Tree Operations
Guided problems let you insert, search, and traverse a BST in order, and observe how imbalance pushes operations toward O(n).
Recursion and Graph Search
You will write recursive solutions with clear base cases and trace BFS with a queue and DFS with a stack across sample graphs.