JavaScript Algorithms and Data Structures Masterclass
 
		About Course
Unlock the secrets of JavaScript algorithms and data structures with this comprehensive Masterclass, absolutely free! Taught by a seasoned coding bootcamp instructor, this 20-hour video course covers the essential computer science concepts and interview preparation strategies you need to excel in your career.
This course delves deep into fundamental concepts like Big O notation, recursion, and common programming patterns, equipping you with the skills to analyze and optimize code. You’ll explore various searching algorithms, implement six sorting algorithms (Bubble, Selection, Insertion, Quick, Merge, and Radix Sort), and build your own data structures from scratch, including linked lists, trees, heaps, hash tables, and graphs.
Gain hands-on experience with interactive exercises, complete solution walkthrough videos, and accompanying code files. This course utilizes animations and diagrams to enhance your understanding, making complex concepts easy to grasp.
This course is perfect for:
- Aspiring developers
- Anyone preparing for coding interviews
- Individuals seeking to improve their JavaScript skills
Master JavaScript algorithms and data structures today!
This course is completely free and available on platforms like Udemy, Udacity, Coursera, MasterClass, NearPeer, and others.
What Will You Learn?
- Learn everything you need to ace difficult coding interviews
- Master dozens of popular algorithms, including 6 sorting algorithms!
- Implement 10+ data structures from scratch
- Improve your problem solving skills and become a stronger developer
Course Content
Introduction
- 
										A Message from the Professor
- 
										Curriculum Walkthrough07:43
- 
										What Order Should You Watch In02:52
- 
										How I’m Running My Code03:21
- 
										Course Material Download Link00:00
Big O Notation
- 
										Intro to Big O07:41
- 
										Timing Our Code10:19
- 
										Counting Operations04:36
- 
										Visualizing Time Complexities04:25
- 
										Official Intro to Big O09:58
- 
										Simplifying Big O Expressions09:32
- 
										Space Complexity06:26
- 
										Logs and Section Recap08:46
Analyzing Performance of Arrays and Objects
- 
										Section Introduction01:42
- 
										The BIG O of Objects05:31
- 
										When are Arrays Slow06:25
- 
										Big O of Array Methods05:56
Problem Solving Approach
- 
										Introduction to Problem Solving07:08
- 
										Step 1 Understand The Problem07:59
- 
										Step 2 Concrete Examples06:19
- 
										Step 3 Break It Down07:44
- 
										Step 4 Solve Or Simplify10:32
- 
										Step 5 Look Back and Refactor16:57
- 
										Recap and Interview Strategies04:12
Problem Solving Patterns
- 
										Intro to Problem Solving Patterns02:55
- 
										Frequency Counter Pattern15:11
- 
										Frequency Counter Anagram Challenge02:33
- 
										Anagram Challenge Solution06:18
- 
										Multiple Pointers Pattern09:42
- 
										Multiple Pointers Count Unique Values Challenge04:29
- 
										Count Unique Values Solution06:30
- 
										Sliding Window Pattern13:14
- 
										Divide And Conquer Pattern07:02
Recursion
- 
										Story Time Martin & The Dragon07:06
- 
										Why Use Recursion05:53
- 
										The Call Stack07:07
- 
										Our First Recursive Function05:11
- 
										Our Second Recursive Function07:54
- 
										Writing Factorial Iteratively02:19
- 
										Writing Factorial Recursively03:15
- 
										Common Recursion Pitfalls05:06
- 
										Helper Method Recursion06:23
- 
										Pure Recursion07:45
Searching Algorithms
- 
										Intro to Searching04:04
- 
										Intro to Linear Search04:47
- 
										Linear Search Solution05:18
- 
										Linear Search BIG O01:55
- 
										Intro to Binary Search05:47
- 
										Binary Search PseudoCode02:40
- 
										Binary Search Solution16:41
- 
										Binary Search BIG O06:09
- 
										Naive String Search04:38
- 
										Naive String Search Implementation12:29
Bubble Sort
- 
										Introduction to Sorting Algorithms08:35
- 
										Built-In JavaScript Sorting04:40
- 
										Bubble Sort Overview07:21
- 
										Bubble Sort Implementation09:58
- 
										Bubble Sort Optimization04:22
- 
										Bubble Sort BIG O Complexity01:28
Selection Sort
- 
										Selection Sort Introduction06:18
- 
										Selection Sort Implementation11:14
- 
										Selection Sort Big O Complexity01:40
Insertion Sort
- 
										Insertion Sort Introduction03:17
- 
										Insertion Sort Implementation10:42
- 
										Insertion Sort BIG O Complexity02:24
Comparing Bubble, Selection, and Insertion Sort
- 
										Comparing Bubble05:33
Merge Sort
- 
										Intro to the Crazier Sorts06:05
- 
										Merge Sort Introduction05:25
- 
										Merging Arrays Intro05:11
- 
										Merging Arrays Implementation06:55
- 
										Writing Merge Sort Part 102:21
- 
										Writing Merge Sort Part 212:37
- 
										Merge Sort BIG O Complexity06:22
Quick Sort
- 
										Introduction to Quick Sort09:00
- 
										Pivot Helper Introduction08:06
- 
										Pivot Helper Implementation08:08
- 
										Quick Sort Implementation08:46
- 
										Quick Sort Call Stack Walkthrough04:15
- 
										Quick Sort Big O Complexity04:06
Radix Sort
- 
										Radix Sort Introduction09:22
- 
										Radix Sort Helper Methods11:09
- 
										Radix Sort Pseudocode04:18
- 
										Radix Sort Implementation10:24
- 
										Radix Sort BIG O Complexity03:51
Data Structures Introduction
- 
										Which Data Structure Is The Best12:38
- 
										ES2015 Class Syntax Overview05:14
- 
										Data Structures The Class Keyword06:36
- 
										Data Structures Adding Instance Methods09:49
- 
										Data Structures Adding Class Methods07:11
Singly Linked Lists
- 
										Intro to Singly Linked Lists07:46
- 
										Starter Code and Push Intro07:22
- 
										Singly Linked List Push Solution04:24
- 
										Singly Linked List Pop Intro06:14
- 
										Singly Linked List Pop Solution07:35
- 
										Singly Linked List Shift Intro01:31
- 
										Singly Linked List Shift Solution03:22
- 
										Singly Linked List Unshift Intro01:34
- 
										Singly Linked List Unshift Solution05:58
- 
										Singly Linked List Get Intro02:32
- 
										Singly Linked List Get Solution03:32
- 
										Singly Linked List Set Intro01:26
- 
										Singly Linked List Set Solution02:10
- 
										Singly Linked List Insert Intro04:27
- 
										Singly Linked List Insert Solution07:49
- 
										Singly Linked List Remove Intro01:56
- 
										Singly Linked List Remove Solution03:15
- 
										Singly Linked List Reverse Intro04:46
- 
										Singly Linked List Reverse Solution08:58
- 
										Singly Linked List BIG O Complexity05:41
Doubly Linked Lists
- 
										Doubly Linked Lists Introduction04:43
- 
										Setting Up Our Node Class03:00
- 
										Push02:10
- 
										Push Solution04:04
- 
										Pop03:20
- 
										Pop Solution06:23
- 
										Shift02:44
- 
										Shift Solution04:12
- 
										Unshift01:36
- 
										Unshift Solution02:19
- 
										Get04:02
- 
										Get Solution07:04
- 
										Set01:18
- 
										Set Solution02:08
- 
										Insert02:50
- 
										Insert Solution06:48
- 
										Remove02:18
- 
										Remove Solution06:28
- 
										Comparing Singly and Doubly Linked Lists04:32
Stacks + Queues
- 
										Intro to Stacks06:19
- 
										Creating a Stack with an Array07:05
- 
										Writing Our Own Stack From Scratch11:33
- 
										BIG O of Stacks02:14
- 
										Intro to Queues04:14
- 
										Creating Queues Using Arrays03:25
- 
										Writing Our Own Queue From Scratch10:24
- 
										BIG O of Queues02:30
Binary Search Trees
- 
										Introduction to Trees06:45
- 
										Uses For Trees06:32
- 
										Intro to Binary Trees05:54
- 
										POP QUIZ!01:13
- 
										Searching A Binary Search Tree02:55
- 
										Our Tree Classes02:44
- 
										BST Insert03:50
- 
										BST Insert Solution11:53
- 
										BST Find04:42
- 
										BST Find Solution05:36
- 
										Big O of Binary Search Trees05:58
Tree Traversal
- 
										Intro To Tree Traversal04:50
- 
										Breadth First Search Intro05:51
- 
										Breadth First Search Solution06:20
- 
										Depth First PreOrder Intro05:37
- 
										Depth First PreOrder Solution06:50
- 
										Depth First PostOrder Intro04:02
- 
										Depth First PostOrder Solution02:38
- 
										Depth First InOrder Intro02:07
- 
										Depth First InOrder Solution02:32
- 
										When to Use BFS and DFS07:37
Binary Heaps
- 
										Intro to Heaps07:30
- 
										Storing Heaps07:05
- 
										Heap Insert Intro09:14
- 
										Heap Insert Solution10:51
- 
										Heap ExtractMax Intro08:28
- 
										Heap ExtractMax Solution17:56
- 
										Priority Queue Intro08:59
- 
										Priority Queue Pseudocode03:43
- 
										Priority Queue Solution09:21
- 
										BIG O of Binary Heaps08:54
Hash Tables
- 
										Intro to Hash Tables05:50
- 
										More About Hash Tables04:32
- 
										Intro to Hash Functions06:11
- 
										Writing Our First Hash Function08:27
- 
										Improving Our Hash Function07:10
- 
										Handling Collisions03:59
- 
										Hash Table Set and Get04:02
- 
										Hash Table Set Solution05:14
- 
										Hash Table Get Solution06:43
- 
										Hash Table Keys and Values01:41
- 
										Hash Table Keys and Values Solution08:43
- 
										Hash Table Big O Complexity05:41
Graphs
- 
										Intro to Graphs03:50
- 
										Uses for Graphs07:57
- 
										Types of Graphs08:48
- 
										Storing Graphs Adjacency Matrix03:57
- 
										Storing Graphs Adjacency List02:29
- 
										Adjacency Matrix Vs. List BIG O05:51
- 
										Add Vertex Intro02:10
- 
										Add Vertex Solution02:54
- 
										Add Edge Intro02:32
- 
										Add Edge Solution02:11
- 
										Remove Edge Intro01:35
- 
										Remove Edge Solution02:41
- 
										Remove Vertex Intro02:35
- 
										Remove Vertex Solution04:34
Graph Traversal
- 
										Intro to Graph Traversal08:38
- 
										Depth First Graph Traversal08:30
- 
										DFS Recursive Intro07:27
- 
										DFS Recursive Solution12:45
- 
										DFS Iterative Intro03:37
- 
										DFS Iterative Solution08:44
- 
										Breadth First Graph Traversal02:59
- 
										BFS Intro02:27
- 
										BFS Solution08:09
Dijkstra’s Algorithm!
- 
										Intro to Dijkstra’s and Prerequisites02:41
- 
										Who was Dijkstra and what is his Algorithm09:00
- 
										Writing a Weighted Graph05:20
- 
										Walking through the Algorithm16:26
- 
										Introducing Our Simple Priority Queue03:48
- 
										Dijkstra’s Pseudo-Code04:28
- 
										Implementing Dijkstra’s Algorithm21:18
- 
										Upgrading the Priority Queue01:52
Dynamic Programming
- 
										Intro to Dynamic Programming05:03
- 
										Overlapping Subproblems05:59
- 
										Optimal Substructure06:28
- 
										Writing A Recursive Solution06:43
- 
										Time Complexity of Our Solution04:11
- 
										The Problem With Our Solution03:39
- 
										Enter Memoization!09:00
- 
										Time Complexity of Memoized Solution03:27
- 
										Tabulation A Bottom Up Approach06:59
Earn a certificate
Add this certificate to your resume to demonstrate your skills & increase your chances of getting noticed.
 
				 
 