Section 1 : Introduction
|
Lecture 1 | Curriculum Walkthrough | 00:07:43 Duration |
|
Lecture 2 | INTRODUCTION TO BRAINMEASURES PROCTOR SYSTEM | |
|
Lecture 3 | How I'm Running My Code | 00:03:21 Duration |
Section 2 : Big O Notation
|
Lecture 1 | Intro to Big O | 00:07:42 Duration |
|
Lecture 2 | Timing Our Code | 00:10:19 Duration |
|
Lecture 3 | Counting Operations | 00:04:36 Duration |
|
Lecture 4 | Visualizing Time Complexities | 00:04:25 Duration |
|
Lecture 5 | Official Intro to Big O | 00:09:58 Duration |
|
Lecture 6 | Simplifying Big O Expressions | 00:09:32 Duration |
|
Lecture 7 | Space Complexity | 00:06:27 Duration |
|
Lecture 8 | Logs and Section Recap | 00:08:46 Duration |
Section 3 : Analyzing Performance of Arrays and Objects
|
Lecture 1 | PREREQUISITES | |
|
Lecture 2 | Section Introduction | 00:01:43 Duration |
|
Lecture 3 | The BIG O of Objects | 00:05:32 Duration |
|
Lecture 4 | When are Arrays Slow | 00:06:25 Duration |
|
Lecture 5 | Big O of Array Methods | 00:05:56 Duration |
Section 4 : Problem Solving Approach
|
Lecture 1 | PREREQUISITES | |
|
Lecture 2 | Introduction to Problem Solving | 00:07:08 Duration |
|
Lecture 3 | Step 1 Understand The Problem | 00:07:59 Duration |
|
Lecture 4 | Step 2 Concrete Examples | 00:06:19 Duration |
|
Lecture 5 | Step 3 Break It Down | 00:07:45 Duration |
|
Lecture 6 | Step 4 Solve Or Simplify | 00:10:33 Duration |
|
Lecture 7 | Step 5 Look Back and Refactor | 00:16:57 Duration |
|
Lecture 8 | Recap and Interview Strategies | 00:04:12 Duration |
Section 5 : Problem Solving Patterns
|
Lecture 1 | PREREQUISITES | |
|
Lecture 2 | Intro to Problem Solving Patterns | 00:02:56 Duration |
|
Lecture 3 | Frequency Counter Pattern | 00:15:11 Duration |
|
Lecture 4 | Frequency Counter Anagram Challenge | 00:02:34 Duration |
|
Lecture 5 | Anagram Challenge Solution | 00:06:18 Duration |
|
Lecture 6 | Multiple Pointers Pattern | 00:09:43 Duration |
|
Lecture 7 | Multiple Pointers Count Unique Values Challenge | 00:04:30 Duration |
|
Lecture 8 | Count Unique Values Solution | 00:06:31 Duration |
|
Lecture 9 | Sliding Window Pattern | 00:13:14 Duration |
|
Lecture 10 | Divide And Conquer Pattern | 00:07:02 Duration |
Section 6 : 100% OPTIONAL Challenges
|
Lecture 1 | IMPORTANT NOTE! | |
|
Lecture 2 | SOLUTIONS PART 1 | |
|
Lecture 3 | SOLUTIONS PART 2 | |
|
Lecture 4 | SOLUTIONS PART 3 |
Section 7 : Recursion
|
Lecture 1 | PREREQUISITES | |
|
Lecture 2 | Story Time Martin & The Dragon | 00:07:07 Duration |
|
Lecture 3 | Why Use Recursion | 00:05:53 Duration |
|
Lecture 4 | The Call Stack | 00:07:08 Duration |
|
Lecture 5 | Our First Recursive Function | 00:05:12 Duration |
|
Lecture 6 | Our Second Recursive Function | 00:07:54 Duration |
|
Lecture 7 | Writing Factorial Iteratively | 00:02:19 Duration |
|
Lecture 8 | Writing Factorial Recursively | 00:03:16 Duration |
|
Lecture 9 | Common Recursion Pitfalls | 00:05:07 Duration |
|
Lecture 10 | Helper Method Recursion | 00:06:23 Duration |
|
Lecture 11 | Pure Recursion | 00:07:45 Duration |
Section 8 : Recursion Problem Set
|
Lecture 1 | START HERE! | |
|
Lecture 2 | SOLUTIONS FOR THIS SECTION |
Section 9 : Bonus CHALLENGING Recursion Problems
|
Lecture 1 | NOTE ON THIS SECTION | |
|
Lecture 2 | SOLUTIONS PART 1 | |
|
Lecture 3 | SOLUTIONS PART 2 |
Section 10 : Searching Algorithms
|
Lecture 1 | PREREQUISITES | |
|
Lecture 2 | Intro to Searching | 00:04:04 Duration |
|
Lecture 3 | Intro to Linear Search | 00:04:47 Duration |
|
Lecture 4 | Linear Search Solution | 00:05:19 Duration |
|
Lecture 5 | Linear Search BIG O | |
|
Lecture 6 | Intro to Binary Search | 00:05:48 Duration |
|
Lecture 7 | Binary Search PseudoCode | 00:02:40 Duration |
|
Lecture 8 | Binary Search Solution | 00:16:41 Duration |
|
Lecture 9 | Binary Search BIG O | 00:06:09 Duration |
|
Lecture 10 | Naive String Search | 00:04:38 Duration |
|
Lecture 11 | Naive String Search Implementation | 00:12:30 Duration |
|
Lecture 12 | KNP COMING SOON |
Section 11 : Bubble Sort
|
Lecture 1 | PREREQUISITES | |
|
Lecture 2 | Introduction to Sorting Algorithms | 00:08:36 Duration |
|
Lecture 3 | Built-In JavaScript Sorting | 00:04:40 Duration |
|
Lecture 4 | Bubble Sort Overview | 00:07:21 Duration |
|
Lecture 5 | Bubble Sort Implementation | 00:09:58 Duration |
|
Lecture 6 | Bubble Sort Optimization | 00:04:22 Duration |
|
Lecture 7 | Bubble Sort BIG O Complexity | 00:01:28 Duration |
Section 12 : Selection Sort
|
Lecture 1 | PREREQUISITES | |
|
Lecture 2 | Selection Sort Introduction | 00:06:19 Duration |
|
Lecture 3 | Selection Sort Implementation | 00:11:14 Duration |
|
Lecture 4 | Selection Sort Big O Complexity | 00:01:40 Duration |
Section 13 : Insertion Sort
|
Lecture 1 | PREREQUISITES | |
|
Lecture 2 | Insertion Sort Introduction | 00:03:17 Duration |
|
Lecture 3 | Insertion Sort Implementation | 00:10:43 Duration |
|
Lecture 4 | Insertion Sort BIG O Complexity | 00:02:25 Duration |
Section 14 : Comparing Bubble, Selection, and Insertion Sort
|
Lecture 1 | Comparing Bubble, Selection, and Insertion Sort | 00:05:34 Duration |
Section 15 : Merge Sort
|
Lecture 1 | PREREQUISITES | |
|
Lecture 2 | Intro to the Crazier Sorts | 00:06:06 Duration |
|
Lecture 3 | Merge Sort Introduction | 00:05:26 Duration |
|
Lecture 4 | Merging Arrays Intro | 00:05:11 Duration |
|
Lecture 5 | Merging Arrays Implementation | 00:06:55 Duration |
|
Lecture 6 | Writing Merge Sort Part 1 | 00:02:21 Duration |
|
Lecture 7 | Writing Merge Sort Part 2 | 00:12:37 Duration |
|
Lecture 8 | Merge Sort BIG O Complexity | 00:06:22 Duration |
Section 16 : Quick Sort
|
Lecture 1 | PREREQUISITES | |
|
Lecture 2 | Introduction to Quick Sort | 00:09:01 Duration |
|
Lecture 3 | Pivot Helper Introduction | 00:08:06 Duration |
|
Lecture 4 | Pivot Helper Implementation | 00:08:08 Duration |
|
Lecture 5 | Quick Sort Implementation | 00:08:46 Duration |
|
Lecture 6 | Quick Sort Call Stack Walkthrough | 00:04:16 Duration |
|
Lecture 7 | Quick Sort Big O Complexity | 00:04:06 Duration |
Section 17 : Radix Sort
|
Lecture 1 | PREREQUISITES | |
|
Lecture 2 | Radix Sort Introduction | 00:09:23 Duration |
|
Lecture 3 | Radix Sort Helper Methods | |
|
Lecture 4 | Radix Sort Pseudocode | 00:04:18 Duration |
|
Lecture 5 | Radix Sort Implementation | 00:10:25 Duration |
|
Lecture 6 | Radix Sort BIG O Complexity | 00:03:51 Duration |
Section 18 : Data Structures Introduction
|
Lecture 1 | Which Data Structure Is The Best | 00:12:39 Duration |
|
Lecture 2 | ES2015 Class Syntax Overview | 00:05:15 Duration |
|
Lecture 3 | Data Structures The Class Keyword | 00:06:37 Duration |
|
Lecture 4 | Data Structures Adding Instance Methods | 00:09:50 Duration |
|
Lecture 5 | Data Structures Adding Class Methods | 00:07:12 Duration |
Section 19 : Singly Linked Lists
Section 20 : Doubly Linked Lists
|
Lecture 1 | PREREQUISITES | |
|
Lecture 2 | Doubly Linked Lists Introduction | 00:04:44 Duration |
|
Lecture 3 | Setting Up Our Node Class | 00:03:00 Duration |
|
Lecture 4 | Push | 00:02:11 Duration |
|
Lecture 5 | Push Solution | 00:04:05 Duration |
|
Lecture 6 | Pop | 00:03:20 Duration |
|
Lecture 7 | Pop Solution | 00:06:24 Duration |
|
Lecture 8 | Shift | 00:02:45 Duration |
|
Lecture 9 | Shift Solution | 00:04:12 Duration |
|
Lecture 10 | Unshift | 00:01:36 Duration |
|
Lecture 11 | Unshift Solution | 00:02:19 Duration |
|
Lecture 12 | Get | 00:04:02 Duration |
|
Lecture 13 | Get Solution | 00:07:05 Duration |
|
Lecture 14 | Set | 00:01:18 Duration |
|
Lecture 15 | Set Solution | 00:02:08 Duration |
|
Lecture 16 | Insert | 00:02:50 Duration |
|
Lecture 17 | Insert Solution | 00:06:48 Duration |
|
Lecture 18 | Remove | 00:02:19 Duration |
|
Lecture 19 | Remove Solution | 00:06:28 Duration |
|
Lecture 20 | Comparing Singly and Doubly Linked Lists | 00:04:32 Duration |
Section 21 : Stacks + Queues
|
Lecture 1 | PREREQUISITES | |
|
Lecture 2 | Intro to Stacks | 00:06:19 Duration |
|
Lecture 3 | Creating a Stack with an Array | 00:07:05 Duration |
|
Lecture 4 | Writing Our Own Stack From Scratch | 00:11:33 Duration |
|
Lecture 5 | BIG O of Stacks | 00:02:15 Duration |
|
Lecture 6 | Intro to Queues | 00:04:15 Duration |
|
Lecture 7 | Creating Queues Using Arrays | 00:03:25 Duration |
|
Lecture 8 | Writing Our Own Queue From Scratch | 00:10:24 Duration |
|
Lecture 9 | BIG O of Queues |
Section 22 : Binary Search Trees
|
Lecture 1 | PREREQUISITES | |
|
Lecture 2 | Introduction to Trees | 00:06:46 Duration |
|
Lecture 3 | Uses For Trees | 00:06:32 Duration |
|
Lecture 4 | Intro to Binary Trees | 00:05:54 Duration |
|
Lecture 5 | POP QUIZ! | 00:01:14 Duration |
|
Lecture 6 | Searching A Binary Search Tree | 00:02:55 Duration |
|
Lecture 7 | Our Tree Classes | 00:02:45 Duration |
|
Lecture 8 | BST Insert | 00:03:51 Duration |
|
Lecture 9 | BST Insert Solution | 00:11:53 Duration |
|
Lecture 10 | BST Find | 00:04:42 Duration |
|
Lecture 11 | BST Find Solution | 00:05:36 Duration |
|
Lecture 12 | Big O of Binary Search Trees | 00:05:59 Duration |
Section 23 : Tree Traversal
|
Lecture 1 | PREREQUISITES | |
|
Lecture 2 | Intro To Tree Traversal | 00:04:50 Duration |
|
Lecture 3 | Breadth First Search Intro | 00:05:52 Duration |
|
Lecture 4 | Breadth First Search Solution | 00:06:21 Duration |
|
Lecture 5 | Depth First PreOrder Intro | 00:05:38 Duration |
|
Lecture 6 | Depth First PreOrder Solution | 00:06:50 Duration |
|
Lecture 7 | Depth First PostOrder Intro | 00:04:02 Duration |
|
Lecture 8 | Depth First PostOrder Solution | 00:02:39 Duration |
|
Lecture 9 | Depth First InOrder Intro | 00:02:08 Duration |
|
Lecture 10 | Depth First InOrder Solution | 00:02:33 Duration |
|
Lecture 11 | When to Use BFS and DFS | 00:07:37 Duration |
Section 24 : Binary Heaps
|
Lecture 1 | PREREQUISITES | |
|
Lecture 2 | Intro to Heaps | 00:07:31 Duration |
|
Lecture 3 | Storing Heaps | 00:07:06 Duration |
|
Lecture 4 | Heap Insert Intro | 00:09:15 Duration |
|
Lecture 5 | Heap Insert Solution | 00:10:52 Duration |
|
Lecture 6 | Heap ExtractMax Intro | 00:08:28 Duration |
|
Lecture 7 | Heap ExtractMax Solution | 00:17:56 Duration |
|
Lecture 8 | Priority Queue Intro | |
|
Lecture 9 | Priority Queue Pseudocode | 00:03:43 Duration |
|
Lecture 10 | Priority Queue Solution | 00:09:21 Duration |
|
Lecture 11 | BIG O of Binary Heaps | 00:08:54 Duration |
Section 25 : Hash Tables
|
Lecture 1 | PREREQUISITES | |
|
Lecture 2 | Intro to Hash Tables | 00:05:50 Duration |
|
Lecture 3 | More About Hash Tables | 00:04:32 Duration |
|
Lecture 4 | Intro to Hash Functions | 00:06:11 Duration |
|
Lecture 5 | Writing Our First Hash Function | 00:08:27 Duration |
|
Lecture 6 | Improving Our Hash Function | 00:07:10 Duration |
|
Lecture 7 | Handling Collisions | 00:04:00 Duration |
|
Lecture 8 | Hash Table Set and Get | 00:04:03 Duration |
|
Lecture 9 | Hash Table Set Solution | 00:05:15 Duration |
|
Lecture 10 | Hash Table Get Solution | 00:06:43 Duration |
|
Lecture 11 | Hash Table Keys and Values | 00:01:42 Duration |
|
Lecture 12 | Hash Table Keys and Values Solution | 00:08:44 Duration |
|
Lecture 13 | Hash Table Big O Complexity | 00:05:41 Duration |
Section 26 : Graphs
|
Lecture 1 | PREREQUISITES | |
|
Lecture 2 | Intro to Graphs | 00:03:50 Duration |
|
Lecture 3 | Uses for Graphs | 00:07:58 Duration |
|
Lecture 4 | Types of Graphs | 00:08:49 Duration |
|
Lecture 5 | Storing Graphs Adjacency Matrix | 00:03:57 Duration |
|
Lecture 6 | Storing Graphs Adjacency List | 00:02:29 Duration |
|
Lecture 7 | Adjacency Matrix Vs | 00:05:51 Duration |
|
Lecture 8 | Add Vertex Intro | 00:02:10 Duration |
|
Lecture 9 | Add Vertex Solution | 00:02:54 Duration |
|
Lecture 10 | Add Edge Intro | 00:02:33 Duration |
|
Lecture 11 | Add Edge Solution | 00:02:11 Duration |
|
Lecture 12 | Remove Edge Intro | 00:01:36 Duration |
|
Lecture 13 | Remove Edge Solution | 00:02:42 Duration |
|
Lecture 14 | Remove Vertex Intro | 00:02:36 Duration |
|
Lecture 15 | Remove Vertex Solution | 00:04:34 Duration |
Section 27 : Graph Traversal
|
Lecture 1 | PREREQUISITES | |
|
Lecture 2 | Intro to Graph Traversal | 00:08:38 Duration |
|
Lecture 3 | Depth First Graph Traversal | 00:08:31 Duration |
|
Lecture 4 | DFS Recursive Intro | 00:07:28 Duration |
|
Lecture 5 | DFS Recursive Solution | 00:12:45 Duration |
|
Lecture 6 | DFS Iterative Intro | 00:03:38 Duration |
|
Lecture 7 | DFS Iterative Solution | 00:08:44 Duration |
|
Lecture 8 | Breadth First Graph Traversal | 00:03:00 Duration |
|
Lecture 9 | BFS Intro | 00:02:27 Duration |
|
Lecture 10 | BFS Solution | 00:08:09 Duration |
Section 28 : Dijkstra's Algorithm!
|
Lecture 1 | PREREQUISITES | |
|
Lecture 2 | Intro to Dijkstra's and Prerequisites | 00:02:42 Duration |
|
Lecture 3 | Who was Dijkstra and what is his Algorithm | 00:09:00 Duration |
|
Lecture 4 | Writing a Weighted Graph | 00:05:20 Duration |
|
Lecture 5 | Walking through the Algorithm | 00:16:27 Duration |
|
Lecture 6 | Introducing Our Simple Priority Queue | 00:03:48 Duration |
|
Lecture 7 | Dijkstra's Pseudo-Code | 00:04:29 Duration |
|
Lecture 8 | Implementing Dijkstra's Algorithm | 00:21:19 Duration |
|
Lecture 9 | Upgrading the Priority Queue | 00:01:53 Duration |
Section 29 : Dynamic Programming
|
Lecture 1 | Intro to Dynamic Programming | 00:05:03 Duration |
|
Lecture 2 | Overlapping Subproblems | 00:06:00 Duration |
|
Lecture 3 | Optimal Substructure | 00:06:28 Duration |
|
Lecture 4 | Writing A Recursive Solution | 00:06:43 Duration |
|
Lecture 5 | Time Complexity of Our Solution | 00:04:12 Duration |
|
Lecture 6 | The Problem With Our Solution | 00:03:39 Duration |
|
Lecture 7 | Enter Memoization! | 00:09:01 Duration |
|
Lecture 8 | Time Complexity of Memoized Solution | 00:03:27 Duration |
|
Lecture 9 | Tabulation A Bottom Up Approach | 00:06:59 Duration |