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#
/
...
/
Conclusion
Conclusion
And that's a wrap! We hope you had fun taking this course!
We'll cover the following...
Conclusion
Next steps
Feedback
Conclusion
At
...