These algorithms tests come in two forms: timed knowledge tests that measure your understanding, and untimed practice exercises for learning 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 Beginner
Intermediate 25 20 min Merge sort, quick sort, BFS/DFS, hash tables, stacks, queues, basic dynamic programming, greedy algorithms Start Intermediate
Advanced 25 25 min Dijkstra, Bellman-Ford, MST algorithms, advanced DP (knapsack, LCS), backtracking, amortized analysis Start Advanced
Expert 30 30 min NP-completeness, network flow, randomized algorithms, approximation algorithms, string matching (KMP, Rabin-Karp), advanced graph theory Start Expert

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 Beginner
Intermediate 20 Untimed Practice divide-and-conquer, basic graph traversal, and introductory dynamic programming problems Start Intermediate
Advanced 20 Untimed Work through shortest path algorithms, MST construction, advanced DP table-filling, and backtracking problems Start Advanced
Expert 25 Untimed Challenge problems on NP-hard reductions, flow networks, string algorithms, and competitive programming techniques Start Expert