Log In
0% completed
All Lessons
Free Lessons (16)
Introduction to Complexity Measures
Comparing Algorithms
Example 1: Measuring Time Complexity of a Single Loop Algorithm
Example 2: Time Complexity of an Algorithm With Nested Loops
Introduction to Asymptotic Analysis and Big O
Other Common Asymptotic Notations and Why Big O Trumps Them
Useful Formulae
Common Complexity Scenarios
Challenge 1: Big (O) of Nested Loop with Addition
Solution Review: Big (O) of Nested Loop with Addition
Challenge 2: Big (O) of Nested Loop with Subtraction
Solution Review: Big (O) of Nested Loop with Subtraction
Challenge 3: Big (O) of Nested Loop with Multiplication
Solution Review: Big (O) of Nested Loop with Multiplication
Challenge 4: Nested Loop with Multiplication (Basic)
Solution Review: Nested Loop with Multiplication (Basic)
Challenge 5: Nested Loop with Multiplication (Intermediate)
Solution Review: Nested Loop with Multiplication (Intermediate)
Challenge 6: Nested Loop with Multiplication (Advanced)
Solution Review: Nested Loop with Multiplication (Advanced)
Challenge 7: Nested Loop with Multiplication (Pro)
Solution Review: Nested Loop with Multiplication (Pro)
Complexity Quiz: Test your understanding of Complexity
Introduction to Arrays
What is an Array?
Multidimensional Arrays
Challenge 1: Remove Even Integers From an Array
Solution Review: Remove Even Integers From an Array
Challenge 2: Merge Two Sorted Arrays
Solution Review: Merge Two Sorted Arrays
Challenge 3: Find Two Numbers that Add Up to Given Value
Solution Review: Find Two Numbers that Add Up to the Given Value
Challenge 4: Array of Products of all Elements
Solution Review: Array of Products of All Elements
Challenge 5: Finding Minimum Value in an Array
Solution Review: Finding Minimum Value in an Array
Challenge 6: Finding the First Unique Integer in an Array
Solution Review: Finding the First Unique Integer in an Array
Challenge 7: Finding the Second Maximum Value in an Array
Solution Review: Finding the Second Maximum Value in an Array
Challenge 8: Right Rotate an Array by One
Solution Review: Right Rotate an Array by One
Challenge 9: Rearrange Positive & Negative Values
Solution Review : Rearrange Positive & Negative Values
Challenge 10: Rearrange Sorted Array in Max/Min Form
Solution Review: Rearrange Sorted Array in Max/Min Form
Challenge 11: Maximum Sum Subarray
Solution Review: Maximum Sum Subarray
Arrays Quiz: Test Your Understanding of Arrays
Introduction to Linked Lists
Singly Linked Lists (SLL)
Basic Linked List Operations
Singly Linked List Insertion
Challenge 1: Insertion at Tail
Solution Review: Insertion at Tail
Challenge 2: Search in a Singly Linked List
Solution Review: Search in a Singly Linked List
Deletion in a Singly Linked List
Challenge 3: Deletion by Value
Solution Review: Deletion by Value
Linked Lists vs. Arrays
Challenge 4: Find the Length of a Linked List
Solution Review: Finding the Length of a Linked List
Challenge 5: Reverse a Linked List
Solution Review: Reverse a Linked List
Challenge 6: Detect Loop in a Linked List
Solution Review: Detect a Loop in a Linked List
Challenge 7: Find Middle Node of Linked List
Solution Review: Find Middle Node of a Linked List
Challenge 8: Remove Duplicates from Linked List
Solution Review: Remove Duplicates From a Linked List
Challenge 9: Union and Intersection of Linked Lists
Solution Review: Union and Intersection of Linked Lists
Challenge 10: Return the Nth Node From End
Solution Review: Return the Nth Node From The End
Doubly Linked Lists (DLL)
Singly Linked Lists vs. Doubly Linked Lists
Linked Lists Quiz: Test Your Understanding of Linked Lists
Introduction to Stack/Queues
What is a Stack?
Stack (Implementation)
What is a Queue?
Queue (Implementation)
Challenge 1: Generate Binary Numbers From 1 to N Using Queue
Solution Review: Generate Binary Numbers From 1 to N Using Queue
Challenge 2: Implement Two Stacks Using One Array
Solution Review: Implement Two Stacks Using One Array
Challenge 3: Reversing First "k" Elements of Queue
Solution Review: Reversing First "k" Elements of Queue
Challenge 4: Implement a Queue Using Stacks
Solution Review: Implement a Queue Using Stacks
Challenge 5: Sort Values in a Stack
Solution Review: Sort Values in Stack
Challenge 6: Evaluate Postfix Expression Using a Stack
Solution Review: Evaluate Postfix Expression Using a Stack
Challenge 7: Next Greater Element Using a Stack
Solution Review: Next Greater Element Using a Stack
Challenge 8: Check Balanced Parentheses Using Stack
Solution Review: Check Balanced Parentheses Using Stack
Challenge 9: min() Function Using a Stack
Solution Review: min() Function Using a 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 1: Implement Breadth First Search
Solution Review: Implement Breadth First Search
Challenge 2: Implement Depth First Search
Solution Review: Implement Depth First Search
Challenge 3: Detect Cycle in Graph
Solution Review: Detect Cycle in Graph
Challenge 4: Find a "Mother Vertex" in a Graph
Solution Review: Find a "Mother Vertex" in a Graph
Challenge 5: Count the Number of Edges in an Undirected Graph
Solution Review: Count the Number of Edges in an Undirected Graph
Challenge 6: Check if a Path Exists Between Two Vertices
Solution Review: Check if a Path Exists Between Two Vertices
Challenge 7: Check if an Undirected Graph is Tree or Not
Solution Review: Check if an Undirected Graph is a Tree or Not
Challenge 8: Find the Shortest Path Between Two Vertices
Solution Review: Find the Shortest Path Between Two Vertices
Challenge 9: Remove Edge
Solution Review: Remove Edge
Graph Quiz: Test your Understanding of Graphs
Introduction to Trees
An Introduction to Trees and Basic Tree Properties
What is a Binary Tree?
What Makes a Tree Balanced?
More on Complete Binary Trees
Skewed Binary Trees
What is a Binary Search Tree (BST)?
Implementing a Binary Search Tree in C#
Binary Search Tree Insertion
Binary Search Tree Insertion (Implementation)
Searching in a Binary Search Tree (Implementation)
Deletion in Binary Search Tree
Deletion in 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 are 2-3 Trees?
2-3 Insertion
2-3 Deletion (Case #1)
2-3 Deletion (Case #2)
2-3-4 Trees
Overview of Trees
Challenge 1: Finding Minimum Value in a Binary Search Tree
Solution Review: Finding Minimum Value in a Binary Search Tree
Challenge 2: Finding kth Maximum Value in Binary Search Tree
Solution Review: Finding Kth Maximum Value in Binary Search Tree
Challenge 3: Finding Ancestors of a Given Node in a BST
Solution Review: Finding Ancestors of a Given Node in a BST
Challenge 4: Finding the Height of a Binary Tree
Solution Review: Finding the Height of a Binary Tree
Challenge 5: Finding Nodes at "k" Distance From the Root
Solution Review: Finding 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 a Trie
Challenge 1: Total Number of Words in a Trie
Solution Review: Total Number of Words in a Trie
Challenge 2: Find All Words Stored in Trie
Solution Review: Finding All Words Stored in Trie
Challenge 3: List Sort Using Tries
Solution Review: List Sort Using Tries
Challenge 4: Word Formation From a Vector Using Trie
Solution Review: Word Formation From a Vector Using a 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 1: Convert Max-Heap to Min-Heap
Solution Review: Convert Max-Heap to Min-Heap
Challenge 2: Finding “k” Smallest Elements in the Array
Solution Review: Finding “K” Smallest Elements in the Array
Challenge 3: Finding “K” Largest Elements in the Array
Solution Review: Finding “K” Largest Elements in the Array
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
Trie vs. Hash Table
HashTable vs. Dictionary vs. HashSet
Challenge 1: An Array as a Subset of Another Array
Solution Review: An Array as a Subset of Another Array
Challenge 2: Check if Arrays are Disjoint
Solution Review: Check if Arrays are Disjoint
Challenge 3: Find Symmetric Pairs in an Array
Solution Review: Find Symmetric Pairs in an Array
Challenge 4: Trace the Complete Path of a Journey
Solution Review: Trace the Complete Path of a Journey
Challenge 5: Find Two Pairs in an Array with an Equal Sum
Solution Review: Find Two Pairs in an Array with an Equal Sum
Challenge 6: A Subarray with a Sum of 0
Solution Review: A Subarray with a Sum of 0
Challenge 7: Find First Unique Integer in an Array
Solution Review: Find First Unique Integer in an Array
Challenge 8: Remove Duplicates From Linked List Using Hashing
Solution Review: Remove Duplicates From Linked List Using Hashing
Challenge 9: Union and Intersection of Lists Using Hashing
Solution Review: Union and Intersection of Lists Using Hashing
Challenge 10: Find Two Numbers that Add Up to "Value"
Solution Review: Find Two Numbers that Add Up to "Value"
Hashing Quiz: Test Your Understanding of Hashing
Summary of Data Structures
Overview of Linear and Non-Linear Data Structures
Conclusion
Practice Mock Interview
Data Structures for Coding Interviews in C#
/
...
/
Trie vs. Hash Table
Trie vs. Hash Table
Learn about the differences between trie and hash tables.
We'll cover the following...
Comparison between trie and hash tables
Basic operations
Hash function
Order of data
Comparison between trie and hash tables
...