Algorithms & Complexity
About This Course
Most people learn algorithms by memorizing solutions. This course does the opposite it teaches you to think algorithmically, so you can solve problems you've never seen before.
You'll start from first principles: what an algorithm actually is, what makes one better than another, and how to measure that difference rigorously using Big-O notation. From there you'll work through the essential algorithm families searching, sorting, recursion and the data structures that make them possible.
By the end, you won't just know how bubble sort or binary search work. You'll understand why they work, when to use them, and what to reach for when neither fits.
What you'll cover:
- What algorithms are and how to design them
- Time and space complexity analysis with Big-O notation
- Linear search and binary search (including edge cases)
- Bubble, selection, insertion, and merge sort and how to choose between them
- Recursion, the call stack, and recursion vs. iteration
- Arrays, stacks, queues, and linked lists
Who this is for: Anyone who wants to move beyond writing code that "works" and start writing code that's correct and efficient whether you're preparing for technical interviews, university coursework, or just want to think sharper.
Prerequisites: Basic programming in any language. You don't need to be an expert you just need to know what a variable, loop, and function are.
Watch the Intro Video
Course Comments
0 comments
Lectures
23 lectures
Level
Beginner