Welcome to Data Structures & Algorithms, a self-paced course that teaches you the fundamentals of programming and problem-solving.
Every technical interview — startup or big tech — leans on the same toolkit: arrays, hash maps, trees, graphs, and the patterns that connect them. Learning DSA gives you that toolkit.
It's also what's running under the hood of things you use every day. A database index, a search engine's ranking, a maps app's shortest route — all of it comes down to picking the right data structure and algorithm for the job.
Most importantly, DSA teaches you to spot which known pattern a new problem matches, so you're never starting from scratch. That's the skill that sticks around long after this course is done.
Every lesson is one of three kinds:
When you open a problem, you'll see the statement on the left, a code editor in the middle, and an output panel along the bottom. Press Run and you'll see, for each test case, whether it passed and how long it took, plus the problem's target time complexity to aim for.
We start from the basics and build up to graphs, dynamic programming, heaps, and more. Along the way you'll build the single most useful skill in this field: spotting which tool a problem calls for.
Your completed items get a ✓ in the sidebar, and your attempts are saved under the Submissions tab of each problem. Go at your own pace, and revisit anything.
Ready? Hit Mark complete & continue to write your first function.