JavaScript Algorithms and Data Structures Masterclass
-
Introduction
-
Big O Notation
-
Analyzing Performance of Arrays and Objects
-
Problem Solving Approach
-
Problem Solving PatternsPREREQUISITESIntro to Problem Solving Patterns0sFrequency Counter Pattern0sFrequency Counter: Anagram Challenge0sAnagram Challenge Solution0sMultiple Pointers Pattern0sMultiple Pointers: Count Unique Values Challenge0sCount Unique Values Solution0sSliding Window Pattern0sDivide And Conquer Pattern0s
-
100% OPTIONAL Challenges
-
Recursion
-
Recursion Problem Set
-
Bonus CHALLENGING Recursion Problems
-
Searching Algorithms
-
Bubble Sort
-
Selection Sort
-
Insertion Sort
-
Comparing Bubble, Selection, and Insertion Sort
-
Merge Sort
-
Quick Sort
-
Radix Sort
-
Data Structures Introduction
-
Singly Linked ListsPREREQUISITESIntro to Singly Linked Lists0sStarter Code and Push Intro0sSingly Linked List: Push Solution0sSingly Linked List: Pop Intro0sSingly Linked List: Pop Solution0sSingly Linked List: Shift Intro0sSingly Linked List: Shift Solution0sSingly Linked List: Unshift Intro0sSingly Linked List: Unshift Solution0sSingly Linked List: Get Intro0sSingly Linked List: Get Solution0sSingly Linked List: Set Intro0sSingly Linked List: Set Solution0sSingly Linked List: Insert Intro0sSingly Linked List: Insert Solution0sSingly Linked List: Remove Intro0sSingly Linked List: Remove Solution0sSingly Linked List: Reverse Intro0sSingly Linked List: Reverse Solution0sSingly Linked List: BIG O Complexity0s
-
Doubly Linked ListsPREREQUISITESDoubly Linked Lists Introduction0sSetting Up Our Node Class0sPush0sPush Solution0sPop0sPop Solution0sShift0sShift Solution0sUnshift0sUnshift Solution0sGet0sGet Solution0sSet0sSet Solution0sInsert0sInsert Solution0sRemove0sRemove Solution0sComparing Singly and Doubly Linked Lists0s
-
Stacks + Queues
-
Binary Search Trees
-
Tree TraversalPREREQUISITESIntro To Tree Traversal0sBreadth First Search Intro0sBreadth First Search Solution0sDepth First PreOrder Intro0sDepth First PreOrder Solution0sDepth First PostOrder Intro0sDepth First PostOrder Solution0sDepth First InOrder Intro0sDepth First InOrder Solution0sWhen to Use BFS and DFS0s
-
Binary Heaps
-
Hash TablesPREREQUISITESIntro to Hash Tables0sMore About Hash Tables0sIntro to Hash Functions0sWriting Our First Hash Function0sImproving Our Hash Function0sHandling Collisions0sHash Table Set and Get0sHash Table Set Solution0sHash Table Get Solution0sHash Table Keys and Values0sHash Table Keys and Values Solution0sHash Table Big O Complexity0s
-
GraphsPREREQUISITESIntro to Graphs0sUses for Graphs0sTypes of Graphs0sStoring Graphs: Adjacency Matrix0sStoring Graphs: Adjacency List0sAdjacency Matrix Vs. List BIG O0sAdd Vertex Intro0sAdd Vertex Solution0sAdd Edge Intro0sAdd Edge Solution0sRemove Edge Intro0sRemove Edge Solution0sRemove Vertex Intro0sRemove Vertex Solution0s
-
Graph Traversal
-
Dijkstra’s Algorithm!
-
Dynamic Programming
Updated with a brand new section on Dynamic Programming!
This course crams months of computer science and interview prep material into 20 hours of video. The content is based directly on the last semester of my in-person coding bootcamps, where my students go on to land 6-figure developer jobs. I cover the exact same computer science content that has helped my students ace interviews at huge companies like Google, Tesla, Amazon, and Facebook. Nothing is watered down for an online audience; this is the real deal 🙂 We start with the basics and then eventually cover “advanced topics” that similar courses shy away from like Heaps, Graphs, and Dijkstra’s Shortest Path Algorithm.
I start by teaching you how to analyze your code’s time and space complexity using Big O notation. We cover the ins and outs of Recursion. We learn a 5-step approach to solving any difficult coding problem. We cover common programming patterns. We implement popular searching algorithms. We write 6 different sorting algorithms: Bubble, Selection, Insertion, Quick, Merge, and Radix Sort. Then, we switch gears and implement our own data structures from scratch, including linked lists, trees, heaps, hash tables, and graphs. We learn to traverse trees and graphs, and cover Dijkstra’s Shortest Path Algorithm. The course also includes an entire section devoted to Dynamic Programming.
Here’s why this course is worth your time:
It’s interactive – I give you a chance to try every problem before I show you my solution.
Every single problem has a complete solution walkthrough video as well as accompanying solution file.
I cover helpful “tips and tricks” to solve common problems, but we also focus on building an approach to ANY problem.
It’s full of animations and beautiful diagrams!
Are you looking to level-up your developer skills? Sign up today!
What's included
- 21.5 hours on-demand video
- 81 coding exercises
- 32 articles
- 81 downloadable resources
- Access on mobile and TV
- Certificate of completion