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.

LevelQuestionsTimeDescription
Beginner2015 minBasic concepts: Big O notation, simple sorting (bubble, insertion, selection), linear and binary search, basic recursionStart
Intermediate2520 minMerge sort, quick sort, BFS/DFS, hash tables, stacks, queues, basic dynamic programming, greedy algorithmsStart
Advanced2525 minDijkstra, Bellman-Ford, MST algorithms, advanced DP (knapsack, LCS), backtracking, amortized analysisStart
Expert3030 minNP-completeness, network flow, randomized algorithms, approximation algorithms, string matching (KMP, Rabin-Karp), advanced graph theoryStart

Practice Exercises

Untimed exercises designed for learning. Work through problems at your own pace with hints and detailed explanations for each answer.

LevelQuestionsTimeDescription
Beginner15UntimedStep-by-step exercises on basic sorting, searching, and recursion with detailed explanationsStart
Intermediate20UntimedPractice divide-and-conquer, basic graph traversal, and introductory dynamic programming problemsStart
Advanced20UntimedWork through shortest path algorithms, MST construction, advanced DP table-filling, and backtracking problemsStart
Expert25UntimedChallenge problems on NP-hard reductions, flow networks, string algorithms, and competitive programming techniquesStart