Tired of the frustrating LeetCode grind?
The reason people struggle with learning data structures and algorithms (DSA) is that they go about it in the completely wrong way. They jump straight into trying to solve problems without the proper prerequisite knowledge. **This is why studying DSA feels like a slow "grind" for many.**
If you are going to land your dream job, you are going to need to build your knowledge in a way where you can apply your skills to new problems, when it matters most, on a technical interview.
**In this crash course we'll build up your DSA knowledge gradually so you never miss a step.** We'll cover the key patterns and concepts that you can leverage to solve the most common interview problems. By the end of this course, you will be able to:
- Solve interview problems about hash-maps, linked lists, binary trees, graphs, and dynamic programming
- Analyze algorithms using Big-O notation so an optimal implementation is achieved
- Visualize and understand core algorithm concepts so you can apply them to solve new problems
This course is designed for beginners, so you don’t need any DSA knowledge to begin. We will start at the fundamentals and increase the difficulty slowly over time; this is the key to truly **mastering** the concepts.
Once you complete this course, you’ll have the skills you need **ace your technical interviews and land your dream job**.
If you need additional support taking those skills and actually applying them, take Alvin's *complete* data structures and algorithms course on [Structy](https://structy.net/?utm_source=taro). You can try out the concepts yourself in their interactive code editor and learn advanced DSA patterns like stack exhaustive recursion.
Use [this link to get 20% off](https://structy.net/purchase?promo_code=taro20) the entire Structy DSA learning experience (discount code **TARO20**).
Overview
Syllabus
- Overview
- Course Welcome
- Core Problems And Concepts
- Max Value Approach
- Max Value Walkthrough
- Is Prime Approach
- Is Prime Walkthrough
- Big-O Basics Lecture
- Big-O Examples Lecture
- Array and String Basics
- Anagrams Approach
- Anagrams Walkthrough
- Most Frequent Char Approach
- Most Frequent Char Walkthrough
- Pair Sum Approach
- Pair Sum Walkthrough
- Pair Product Approach
- Pair Product Walkthrough
- Intersection Approach
- Intersection Walkthrough
- Recursion Basics
- Recursion Intro Lecture
- Recursion Warm Up Lecture
- Sum Numbers Recursive Approach
- Sum Numbers Recursive Walkthrough
- Linked Lists
- Linked List Intro Lecture
- Linked List Warm Up Lecture
- Linked List Values Approach
- Linked List Values Walkthrough
- Sum List Approach
- Sum List Walkthrough
- Linked List Find Approach
- Linked List Find Walkthrough
- Get Node Value Approach
- Get Node Value Walkthrough
- Reverse List Approach
- Reverse List Walkthrough
- Zipper Lists Approach
- Zipper Lists Walkthrough
- Intermission: Go Deeper
- Want To Learn More DSA With Alvin?
- Binary Trees
- Binary Tree Intro Lecture
- Binary Tree Warm Up Lecture
- Depth First Values Approach
- Depth First Values Walkthrough
- Breadth First Values Approach
- Breadth First Values Walkthrough
- Tree Sum Approach
- Tree Sum Walkthrough
- Tree Includes Approach
- Tree Includes Walkthrough
- Tree Min Value Approach
- Tree Min Value Walkthrough
- Max Root to Leaf Path Sum Approach
- Max Root to Leaf Path Sum Walkthrough
- Graphs
- Graph Intro Lecture
- Graph Warm Up Lecture
- Has Path Approach
- Has Path Walkthrough
- Undirected Path Approach
- Undirected Path Walkthrough
- Connected Components Count Approach
- Connected Components Count Walkthrough
- Largest Component Approach
- Largest Component Walkthrough
- Shortest Path Approach
- Shortest Path Walkthrough
- Island Count Approach
- Island Count Walkthrough
- Minimum Island Approach
- Minimum Island Walkthrough
- Dynamic Programming
- Fibonacci Approach
- Fibonacci Walkthrough
- Tribonacci Approach
- Tribonacci Walkthrough
- Sum Possible Approach
- Sum Possible Walkthrough
- Minimum Change Approach
- Minimum Change Walkthrough
- Count Paths Approach
- Counts Paths Walkthrough
- Max Path Sum Approach
- Max Path Sum Walkthrough
- Non Adjacent Sum Approach
- Non Adjacent Sum Walkthrough
- Summing Squares Approach
- Summing Squares Walkthrough
- Counting Change Approach
- Counting Change Walkthrough
- Array Stepper Approach
- Array Stepper Walkthrough
- Wrapping Up
- Outro
Taught by
Alvin Zablan