Log In
0% completed
All Lessons
Free Lessons (13)
Introduction to Complexity Measures
Comparing Algorithms
Example: Measuring Time Complexity of For Loop
Example: Measuring Time Complexity of a Nested For Loop
Introduction to Asymptotic Analysis and Big O
Other Common Asymptotic Notations and Why Big O Trumps Them
Useful Formulas
Common Complexity Scenarios
Challenge: Big O of Nested Loop with Addition
Solution: Big O of Nested Loop with Addition
Challenge: Big O of Nested Loop with Subtraction
Solution: Big O of Nested Loop with Subtraction
Challenge: Big O of Nested Loop with Multiplication
Solution: Big O of Nested Loop with Multiplication
Challenge: Nested Loop with Multiplication (Basic)
Solution: Nested Loop with Multiplication (Basic)
Challenge: Nested Loop with Multiplication (Intermediate)
Solution: Nested Loop with Multiplication (Intermediate)
Challenge: Nested Loop with Multiplication (Advanced)
Solution: Nested Loop with Multiplication (Advanced)
Challenge: Nested Loop with Multiplication (Pro)
Solution: Nested Loop with Multiplication (Pro)
Complexity Quiz: Test your understanding of complexity
Introduction to Lists
Lists
Arrays
Lists vs Arrays in Python
Challenge: Remove Even Integers From List
Solution: Remove Even Integers From List
Challenge: Merge Two Sorted Lists
Solution: Merge Two Sorted Lists
Challenge: Find Two Numbers That Add Up to K
Solution: Find Two Numbers That Add Up to K
Challenge: Product of Array Except Self
Solution: Product of Array Except Self
Challenge: Find Minimum Value in List
Solution: Find Minimum Value in List
Challenge: First Non-Repeating Integer in a List
Solution: First Non-Repeating Integer in a List
Challenge: Find Second Maximum Value in a List
Solution: Find Second Maximum Value in a List
Challenge: Rotate List
Solution: Rotate List
Challenge: Rearrange Positive & Negative Values
Solution: Rearrange Positive & Negative Values
Challenge: Rearrange Sorted List in Max/Min Form
Solution: Rearrange Sorted List in Max/Min Form
Challenge: Maximum Sublist
Solution: Maximum Sublist
Lists Quiz: Test your understanding of Lists
Introduction to Linked Lists
Singly Linked Lists (SLL)
Linked Lists vs. Lists
Basic Linked List Operations
Singly Linked List Insertion
Singly Linked List Deletion
Doubly Linked Lists (DLL)
Singly Linked Lists vs. Doubly Linked Lists
Challenge: Insertion at Tail
Solution: Insertion at Tail
Challenge: Search in a Singly Linked List
Solution: Search in a Singly Linked List
Challenge: Deletion by Value
Solution: Deletion by Value
Challenge: Find the Length of a Linked List
Solution: Find the Length of a Linked List
Challenge: Reverse Linked List
Solution: Reverse Linked List
Challenge: Linked List Cycle
Solution: Linked List Cycle
Challenge: Middle of the Linked List
Solution: Middle of the Linked List
Challenge: Remove Duplicates from a Linked List
Solution: Remove Duplicates from a Linked List
Challenge: Union and Intersection of Linked Lists
Solution: Union and Intersection of Linked Lists
Challenge: Return the Nth Node from End
Solution: Return the Nth Node from End
Challenge: Find If a Doubly Linked List Is a Palindrome
Solution: Find If a Doubly Linked List Is a Palindrome
Linked Lists Quiz: Test your understanding of Linked Lists
Introduction to Stacks and Queues
What is a Stack?
Stack (Implementation)
What is a Queue?
Queue (Implementation)
Challenge: Generate Binary Numbers From 1 to n Using a Queue
Solution: Generate Binary Numbers From 1 to n Using a Queue
Challenge: Implement Two Stacks Using One List
Solution: Implement Two Stacks Using One List
Challenge: Reverse First k Elements of Queue
Solution: Reverse First k Elements of Queue
Challenge: Implement Queue Using Stacks
Solution: Implement Queue Using Stacks
Challenge: Sort Values in a Stack
Solution: Sort Values in a Stack
Challenge: Evaluate Postfix Expression Using a Stack
Solution: Evaluate Postfix Expression Using a Stack
Challenge: Next Greater Element Using a Stack
Solution: Next Greater Element Using a Stack
Challenge: Find the Celebrity
Solution: Find the Celebrity
Challenge: Valid Parentheses
Solution: Valid Parentheses
Challenge: Min Stack
Solution: Min Stack
Stack/Queue Quiz: Test your understanding of Stack/Queue
Introduction to Graphs
What is a Graph?
Types of Graphs
Representation of Graphs
Graph Implementation
Complexities of Graph Operations
What is a Bipartite Graph?
Graph Traversal Algorithms
Challenge: Implement Breadth-First Search
Solution: Implement Breadth-First Search
Challenge: Implement Depth-First Search
Solution: Implement Depth-First Search
Challenge: Detect Cycle in a Directed Graph
Solution: Detect Cycle in a Directed Graph
Challenge: Find a Mother Vertex in a Directed Graph
Solution: Find a Mother Vertex in a Directed Graph
Challenge: Count the Number of Edges in an Undirected Graph
Solution: Count the Number of Edges in an Undirected Graph
Challenge: Check If a Path Exists between Two Vertices
Solution: Check If a Path Exists between Two Vertices
Challenge: Graph Valid Tree
Solution: Graph Valid Tree
Challenge: Find the Shortest Path between Two Vertices
Solution: Find the Shortest Path between Two Vertices
Challenge: Remove Edge from a Directed Graph
Solution: Remove Edge from a Directed Graph
Graph Quiz: Test your understanding of Graphs
Introduction to Trees
Trees and their Basic Properties!
What makes a tree 'balanced'?
What is a Binary Tree?
More on Complete Binary Trees
Skewed Binary Trees
What is a Binary Search Tree (BST)?
Implementing a Binary Search Tree in Python
Binary Search Tree Insertion
Binary Search Tree Insertion (Implementation)
Searching in a Binary Search Tree (Implementation)
Deletion in a Binary Search Tree
Deletion in a Binary Search Tree (Implementation)
Pre-Order Traversal
Post-Order Traversal
In-Order Traversal
What is an AVL Tree?
AVL Insertion
AVL Deletion
What is a Red-Black Tree?
Red-Black Tree Insertion
Red-Black Tree Deletion
What is a 2-3 Tree?
2-3 Insertion
2-3 Deletion (Case #1)
2-3 Deletion (Case #2)
2-3-4 Trees
Overview of Trees
Challenge: Find Minimum Value in Binary Search Tree
Solution: Find Minimum Value in Binary Search Tree
Challenge: Find kth Maximum Value in Binary Search Tree
Solution: Find kth Maximum Value in Binary Search Tree
Challenge: Find Ancestors of a Given Node in a BST
Solution: Find Ancestors of a Given Node in a BST
Challenge: Find the Height of Binary Search Tree
Solution: Find the Height of Binary Search Tree
Challenge: Find Nodes at k Distance from the Root
Solution: Find Nodes at k Distance from the Root
Trees Quiz: Test your understanding of Trees
Trie
What is a Trie?
Structure of a Trie
Insertion in a Trie
Search in a Trie
Deletion in Trie
Challenge: Total Number of Words in a Trie
Solution: Total Number of Words in a Trie
Challenge: Find All Words Stored in Trie
Solution: Find All Words Stored in Trie
Challenge: List Sort Using Trie
Solution: List Sort Using Trie
Challenge: Word Formation From a Dictionary Using Trie
Solution: Word Formation From a Dictionary Using Trie
Trie Quiz: Test Your Understanding of Tries
Introduction to Heap
What is a Heap?
Max Heap: Introduction
Max Heap (Implementation)
Min Heap: Introduction
Min Heap (Implementation)
Challenge: Convert Max Heap to Min Heap
Solution: Convert Max Heap to Min Heap
Challenge: Find k Smallest Elements in a List
Solution: Find k Smallest Elements in a List
Challenge: Find K Largest Elements in the List
Solution: Find K Largest Elements in the List
Heap Quiz: Test your understanding of Heaps
Introduction to Hashing
What is a Hash Table?
The Hash Function
Collisions in Hash Tables
Building a Hash Table from Scratch
Add/Remove & Search in Hash Table (Implementation)
A Quick Overview of Hash Tables
Trees vs Hash Table
Dictionary vs Set
Challenge: A List as a Subset of Another List
Solution: A List as a Subset of Another List
Challenge: Check if Lists are Disjoint
Solution: Check if Lists are Disjoint
Challenge: Find Symmetric Pairs in a List
Solution: Find Symmetric Pairs in a List
Challenge: Trace the Complete Path of a Journey
Solution: Trace the Complete Path of a Journey
Challenge: Find Two Pairs in an Array Such That a+b = c+d
Solution: Find Two Pairs in an Array Such That a+b = c+d
Challenge: A Sublist with a Sum of 0
Solution: A Sublist with a Sum of 0
Challenge: Word Formation Using a Hash Table
Solution: Word Formation Using a Hash Table
Challenge: Find Two Numbers That Add up to k—Hashing
Solution: Find Two Numbers That Add up to k—Hashing
Challenge: First Non-Repeating Integer in a List—Hashing
Solution: First Non-Repeating Integer in a List—Hashing
Challenge: Linked List Cycle—Hashing
Solution: Linked List Cycle—Hashing
Challenge: Remove Duplicates from Linked List - Hashing
Solution: Remove Duplicates from Linked List - Hashing
Challenge: Union and Intersection of Linked Lists — Hashing
Solution: Union and Intersection of Linked Lists — Hashing
Hashing Quiz: Test your understanding of Hashing
Summary of Data Structures
Overview of Linear & Non-Linear Data Structures
Conclusion
Practice Mock Interview
Data Structures for Coding Interviews in Python
/
...
/
Min Heap (Implementation)
Min Heap (Implementation)
We'll implement a min heap in this lesson!
We'll cover the following...
Implementation
Explanation
Implementation
...
Access this course and
1400+
top-rated courses and projects.
Unlock Full Access
Preview Free Lessons
→
Preview Free Lessons