Visualizing Time Complexities
Simplifying Big O Expressions
Big O Time Complexity Quiz
Big O Time Complexity Quiz 2
Big O Space Complexity Quiz
Introduction to Problem Solving
Step 1: Understand The Problem
Step 2: Concrete Examples
Step 4: Solve Or Simplify
Step 5: Look Back and Refactor
Recap and Interview Strategies
Intro to Problem Solving Patterns
Frequency Counter Pattern
Frequency Counter: Anagram Challenge
Frequency Counter - validAnagram
Anagram Challenge Solution
Multiple Pointers Pattern
Multiple Pointers: Count Unique Values Challenge
Multiple Pointers - countUniqueValues
Count Unique Values Solution
Divide And Conquer Pattern
Frequency Counter - sameFrequency
Frequency Counter / Multiple Pointers - areThereDuplicates
Multiple Pointers - averagePair
Multiple Pointers - isSubsequence
Sliding Window - maxSubarraySum
Sliding Window - minSubArrayLen
Sliding Window - findLongestSubstring
Story Time: Martin & The Dragon
Our First Recursive Function
Our Second Recursive Function
Writing Factorial Iteratively
Writing Factorial Recursively
Common Recursion Pitfalls
Introduction to Sorting Algorithms
Built-In JavaScript Sorting
Bubble Sort: Implementation
Bubble Sort: Optimization
Bubble Sort: BIG O Complexity
Intro to the "Crazier" Sorts
Merging Arrays: Implementation
Writing Merge Sort Part 1
Writing Merge Sort Part 2
Merge Sort BIG O Complexity
Introduction to Quick Sort
Pivot Helper Introduction
Pivot Helper Implementation
Quick Sort Implementation
Quick Sort Call Stack Walkthrough
Quick Sort Big O Complexity
Which Data Structure Is The Best?
ES2015 Class Syntax Overview
Data Structures: The Class Keyword
Data Structures: Adding Instance Methods
Data Structures: Adding Class Methods
Intro to Singly Linked Lists
Starter Code and Push Intro
Singly Linked List: Push Solution
Singly Linked List: Pop Intro
Singly Linked List: Pop Solution
Singly Linked List: Shift Intro
Singly Linked List: Shift Solution
Singly Linked List: Unshift Intro
Singly Linked List: Unshift Solution
Singly Linked List: Get Intro
Singly Linked List: Get Solution
Singly Linked List: Set Intro
Singly Linked List: Set Solution
Singly Linked List: Insert Intro
Singly Linked List: Insert Solution
Singly Linked List: Remove Intro
Singly Linked List: Remove Solution
Singly Linked List: Reverse Intro
Singly Linked List: Reverse Solution
Singly Linked List: BIG O Complexity
Breadth First Search Intro
Breadth First Search Solution
Depth First PreOrder Intro
Depth First PreOrder Solution
Depth First PostOrder Intro
Depth First PostOrder Solution
Depth First InOrder Intro
Depth First InOrder Solution
Writing Our First Hash Function
Improving Our Hash Function
Hash Table Keys and Values
Hash Table Keys and Values Solution
Hash Table Big O Complexity
Intro to Dijkstra's and Prerequisites
Who was Dijkstra and what is his Algorithm?
Walking through the Algorithm
Introducing Our Simple Priority Queue
Implementing Dijkstra's Algorithm
Upgrading the Priority Queue
Intro to Dynamic Programming
Writing A Recursive Solution
Time Complexity of Our Solution
The Problem With Our Solution
Time Complexity of Memoized Solution
Tabulation: A Bottom Up Approach
VERY IMPORTANT NOTE! PLEASE READ!
Divide and Conquer - countZeroes
Divide and Conquer - sortedFrequency
Divide and Conquer - findRotatedIndex
Sorting Exercise - merge helper
Sorting Exercise - pivot helper
Radix Sort Helper - getDigit
Radix Sort Helper - digitCount
Radix Sort Helper - mostDigits
Queues - enqueue Exercise
Binary Search Tree - insert Exercise
Binary Search Tree - DFS Exercise
Binary Search Tree - BFS Exercise
Binary Search Tree - remove Exercise
Binary Search Tree Exercise - Find 2nd largest node
Binary Search Tree Exercise - Check if balanced
BinaryHeap - insert Exercise
BinaryHeap - extractMax Exercise
Graphs Exercise - addVertex
Graphs Exercise - removeEdge
Graphs Exercise - removeVertex
Graphs Exercise - addEdge
Graphs - Dijkstra Exercise
Dynamic Programming - Coin Change
Coin Change - Greedy Algorithm
Frequency Counter - constructNote
Frequency Counter - findAllDuplicates
Frequency Counter / Multiple Pointer - findPair
Trie Exercise - removeWord