Recurrence Relations:  Master Method
Algorithms with Attitude
Recurrence Relations: Master Method
15:40
Recurrence Relations:  Three Examples
Algorithms with Attitude
Recurrence Relations: Three Examples
7:11
Floyd-Warshall All-Pairs Shortest Paths:  A Dynamic Programming Approach
Algorithms with Attitude
Floyd-Warshall All-Pairs Shortest Paths: A Dynamic Programming Approach
15:17
Dynamic Programming:  Subset Sum
Algorithms with Attitude
Dynamic Programming: Subset Sum
26:46
Disjoint Sets: the Union-Find Data Structure
Algorithms with Attitude
Disjoint Sets: the Union-Find Data Structure
13:33
Introduction to Dynamic Programming:  Fibonacci Numbers
Algorithms with Attitude
Introduction to Dynamic Programming: Fibonacci Numbers
9:05
Introduction to P and NP:  The Clique Problem
Algorithms with Attitude
Introduction to P and NP: The Clique Problem
8:19
Boruvka's Minimum Spanning Tree Algorithm
Algorithms with Attitude
Boruvka's Minimum Spanning Tree Algorithm
4:52
NP-Complete Reductions:  Clique, Independent Set, Vertex Cover, and Dominating Set
Algorithms with Attitude
NP-Complete Reductions: Clique, Independent Set, Vertex Cover, and Dominating Set
13:23
Dynamic Programming:  the Rod Cutting Problem
Algorithms with Attitude
Dynamic Programming: the Rod Cutting Problem
9:59
Prim's Minimum Spanning Tree Algorithm (Jarnik's Algorithm)
Algorithms with Attitude
Prim's Minimum Spanning Tree Algorithm (Jarnik's Algorithm)
9:50
Kruskal's Minimum Spanning Tree Algorithm
Algorithms with Attitude
Kruskal's Minimum Spanning Tree Algorithm
5:48
Introduction to Minimum Spanning Trees
Algorithms with Attitude
Introduction to Minimum Spanning Trees
8:59
Linear Time Sorting:  Counting Sort, Radix Sort, and Bucket Sort
Algorithms with Attitude
Linear Time Sorting: Counting Sort, Radix Sort, and Bucket Sort
19:45
Lower Bounds for Comparison Based Sorting:  Decision Trees
Algorithms with Attitude
Lower Bounds for Comparison Based Sorting: Decision Trees
10:52
Runtime Analysis for Quick Sort and Quick Select
Algorithms with Attitude
Runtime Analysis for Quick Sort and Quick Select
10:00
Kosaraju's Algorithm for Strongly Connected Components
Algorithms with Attitude
Kosaraju's Algorithm for Strongly Connected Components
17:46
Depth First Search Based Topological Sort
Algorithms with Attitude
Depth First Search Based Topological Sort
7:48
Kahn's Algorithm for Topological Sorting
Algorithms with Attitude
Kahn's Algorithm for Topological Sorting
11:19
Merge Sort:  Top-Down and Bottom-Up
Algorithms with Attitude
Merge Sort: Top-Down and Bottom-Up
20:19
Quick Sort and Quick Select
Algorithms with Attitude
Quick Sort and Quick Select
21:36
You're Not a Freakin' Moron (The Imposter Syndrome)
Algorithms with Attitude
You're Not a Freakin' Moron (The Imposter Syndrome)
1:20
Geometric Series for Algorithms Analysis
Algorithms with Attitude
Geometric Series for Algorithms Analysis
3:17
Introduction to Topological Sorting in Directed Acyclic Graphs
Algorithms with Attitude
Introduction to Topological Sorting in Directed Acyclic Graphs
2:40
Graphs:  Depth First Search (DFS) with Example
Algorithms with Attitude
Graphs: Depth First Search (DFS) with Example
12:34
Directed Acyclic Graph (DAG) Single Source Shortest Paths with Example
Algorithms with Attitude
Directed Acyclic Graph (DAG) Single Source Shortest Paths with Example
7:10
Dijkstra's Single Source Shortest Paths Algorithm with Example
Algorithms with Attitude
Dijkstra's Single Source Shortest Paths Algorithm with Example
12:08
Bellman Ford Single Source Shortest Paths Algorithm with Example
Algorithms with Attitude
Bellman Ford Single Source Shortest Paths Algorithm with Example
10:35
Introduction to Single Source Shortest Paths
Algorithms with Attitude
Introduction to Single Source Shortest Paths
8:58
Graphs:  Breadth First Search (BFS) with Example
Algorithms with Attitude
Graphs: Breadth First Search (BFS) with Example
7:19
Graphs:  Representation
Algorithms with Attitude
Graphs: Representation
8:53
Introduction to Graphs
Algorithms with Attitude
Introduction to Graphs
7:43
Linked Lists and Dynamic Arrays:  Misuse and Abuse
Algorithms with Attitude
Linked Lists and Dynamic Arrays: Misuse and Abuse
8:06
Stacks, Queues, and Double Ended Queues (Deques)
Algorithms with Attitude
Stacks, Queues, and Double Ended Queues (Deques)
6:18
Advanced Dynamic Arrays
Algorithms with Attitude
Advanced Dynamic Arrays
10:05
Dynamic Arrays, aka ArrayLists
Algorithms with Attitude
Dynamic Arrays, aka ArrayLists
10:11
Lists, Iterators, and Abstract Data Types
Algorithms with Attitude
Lists, Iterators, and Abstract Data Types
3:13
Linked Lists
Algorithms with Attitude
Linked Lists
11:58
Recurrence Relations:  Recursion Tree Method
Algorithms with Attitude
Recurrence Relations: Recursion Tree Method
5:40
Recurrence Relations:  Substitution Method
Algorithms with Attitude
Recurrence Relations: Substitution Method
8:27
Recurrence Relations and Recursion
Algorithms with Attitude
Recurrence Relations and Recursion
4:57
Asymptotic Notation:  Runtime of Simple Programs And Loops
Algorithms with Attitude
Asymptotic Notation: Runtime of Simple Programs And Loops
7:13
Asymptotic Notation:  Usage
Algorithms with Attitude
Asymptotic Notation: Usage
3:23
Asymptotic Notation:  Proofs, Properties, and Pictures
Algorithms with Attitude
Asymptotic Notation: Proofs, Properties, and Pictures
5:14
Introduction for Students
Algorithms with Attitude
Introduction for Students
1:08
Iterated Functions and log*
Algorithms with Attitude
Iterated Functions and log*
5:32
Asymptotic Notation:  Definitions
Algorithms with Attitude
Asymptotic Notation: Definitions
12:21
Optimized Heapify
Algorithms with Attitude
Optimized Heapify
4:52
New Channel Teaser
Algorithms with Attitude
New Channel Teaser
0:17
Binary Heaps for Priority Queues
Algorithms with Attitude
Binary Heaps for Priority Queues
6:03
Linear Time BuildHeap
Algorithms with Attitude
Linear Time BuildHeap
5:20
Introduction to Binary Heaps (MaxHeaps)
Algorithms with Attitude
Introduction to Binary Heaps (MaxHeaps)
9:47
Heap Sort
Algorithms with Attitude
Heap Sort
3:32