← All question banks300 questions
DSA in Python
Written specifically against Python semantics rather than generic pseudocode — list vs deque cost, dict ordering, mutable defaults, `sort` stability — alongside the standard algorithm syllabus. Many questions carry a code snippet you have to trace. Hard level covers amortised analysis, graph algorithm selection and non-obvious DP formulations.
Choose a level
Easy
100
questions in this bank
Definitions, vocabulary and single-step recall. Build the base you can answer without thinking.
Start easy →
Medium100
questions in this bank
Applied selection and comparison. Two facts have to be combined before you can answer.
Start medium →
Hard100
questions in this bank
Scenario and case-study questions with plausible distractors. This is exam-day difficulty.
Start hard →
Your progress
What the bank covers
- Asymptotics: big-O, amortised, best/avg/worst
- Python containers: list, tuple, dict, set, deque, heapq
- Strings, slicing, immutability, interning
- Two pointers, sliding window, prefix sums
- Sorting & searching, binary search on answer
- Stacks, queues, monotonic structures
- Linked lists, fast/slow pointers
- Trees: traversal, BST, balancing, tries
- Heaps, top-k, median maintenance
- Graphs: BFS/DFS, topological sort, Dijkstra, union-find
- Dynamic programming: 1-D, 2-D, knapsack, LIS, intervals
- Backtracking, greedy, bit manipulation