Choose from timed knowledge tests to measure your understanding, or untimed practice exercises to learn at your own pace. All questions cover core algorithm topics including sorting, searching, graph algorithms, dynamic programming, and data structures.
Knowledge Tests
Timed assessments that evaluate your understanding of algorithm concepts, time complexity, and problem-solving approaches. Results include a score breakdown by topic.
| Level | Questions | Time | Description | |
|---|---|---|---|---|
| Beginner | 20 | 15 min | Basic concepts: Big O notation, simple sorting (bubble, insertion, selection), linear and binary search, basic recursion | Start |
| Intermediate | 25 | 20 min | Merge sort, quick sort, BFS/DFS, hash tables, stacks, queues, basic dynamic programming, greedy algorithms | Start |
| Advanced | 25 | 25 min | Dijkstra, Bellman-Ford, MST algorithms, advanced DP (knapsack, LCS), backtracking, amortized analysis | Start |
| Expert | 30 | 30 min | NP-completeness, network flow, randomized algorithms, approximation algorithms, string matching (KMP, Rabin-Karp), advanced graph theory | Start |
Practice Exercises
Untimed exercises designed for learning. Work through problems at your own pace with hints and detailed explanations for each answer.
| Level | Questions | Time | Description | |
|---|---|---|---|---|
| Beginner | 15 | Untimed | Step-by-step exercises on basic sorting, searching, and recursion with detailed explanations | Start |
| Intermediate | 20 | Untimed | Practice divide-and-conquer, basic graph traversal, and introductory dynamic programming problems | Start |
| Advanced | 20 | Untimed | Work through shortest path algorithms, MST construction, advanced DP table-filling, and backtracking problems | Start |
| Expert | 25 | Untimed | Challenge problems on NP-hard reductions, flow networks, string algorithms, and competitive programming techniques | Start |