0% completed
All LessonsFree Lessons (19)
Introduction to Complexity Measures
Comparing AlgorithmsExample: Measuring Time Complexity of a Single Loop AlgorithmExample: Time Complexity of an Algorithm With Nested LoopsIntroduction to Asymptotic Analysis and Big OOther Common Asymptotic Notations and Why Big O Trumps ThemUseful FormulaeCommon Complexity ScenariosChallenge: Big (O) of Nested Loop with AdditionSolution: Big (O) of Nested Loop with AdditionChallenge: Big (O) of Nested Loop with SubtractionSolution: Big (O) of Nested Loop with SubtractionChallenge: Big (O) of Nested Loop with MultiplicationSolution: Big (O) of Nested Loop with MultiplicationChallenge: 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 Arrays
What is an Array?Multidimensional ArraysWhat Is a Vector?Challenge: Remove Even Integers From ArraySolution: Remove Even Integers From ArrayChallenge: Merge Two Sorted ArraysSolution: Merge Two Sorted ArraysChallenge: Find Two Numbers That Add Up to KSolution: Find Two Numbers That Add Up to KChallenge: Product of Array Except SelfSolution: Product of Array Except SelfChallenge: Find Minimum Value in ArraySolution: Find Minimum Value in ArrayChallenge: First Non-Repeating Integer in an ArraySolution: First Non-Repeating Integer in an ArrayChallenge: Find Second Maximum Value in an ArraySolution: Find Second Maximum Value in an ArrayChallenge: Rotate ArraySolution: Rotate ArrayChallenge: Rearrange Positive & Negative ValuesSolution: Rearrange Positive & Negative ValuesChallenge: Rearrange Sorted Array in Max/Min FormSolution: Rearrange Sorted Array in Max/Min FormChallenge: Maximum SubarraySolution: Maximum SubarrayArrays Quiz: Test Your Understanding of Arrays
Introduction to Linked Lists
Singly Linked Lists (SLL)Basic Linked List OperationsSingly Linked List InsertionDeletion in a Singly Linked ListLinked Lists vs. ArraysDoubly Linked Lists (DLL)Singly Linked Lists vs. Doubly Linked ListsChallenge: Insertion at TailSolution: Insertion at TailChallenge: Search in a Singly Linked ListSolution: Search in a Singly Linked ListChallenge: Deletion by ValueSolution: Deletion by ValueChallenge: Find the Length of a Linked ListSolution: Find the Length of a Linked ListChallenge: Reverse Linked ListSolution: Reverse Linked ListChallenge: Linked List CycleSolution: Linked List CycleChallenge: Middle of the Linked ListSolution: Middle of the Linked ListChallenge: Remove Duplicates from a Linked ListSolution: Remove Duplicates from a Linked ListChallenge: Union and Intersection of Linked ListsSolution: Union and Intersection of Linked ListsChallenge: Return the Nth Node from EndSolution: Return the Nth Node from EndChallenge: Find If a Doubly Linked List Is a PalindromeSolution: Find If a Doubly Linked List Is a PalindromeLinked 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: Generate Binary Numbers From 1 to n Using a QueueSolution: Generate Binary Numbers From 1 to n Using a QueueChallenge: Implement Two Stacks Using One ArraySolution: Implement Two Stacks Using One ArrayChallenge: Reverse First k Elements of QueueSolution: Reverse First k Elements of QueueChallenge: Implement Queue Using StacksSolution: Implement Queue Using StacksChallenge: Sort Values in a StackSolution: Sort Values in a StackChallenge: Evaluate Postfix Expression Using a StackSolution: Evaluate Postfix Expression Using a StackChallenge: Next Greater Element Using a StackSolution: Next Greater Element Using a StackChallenge: Find the CelebritySolution: Find the CelebrityChallenge: Valid ParenthesesSolution: Valid ParenthesesChallenge: Min StackSolution: Min StackStack/Queue Quiz: Test Your Understanding of Stack/Queue
Introduction to Graphs
What is a Graph?Types of GraphsRepresentation of GraphsGraph ImplementationComplexities of Graph OperationsWhat is a Bipartite Graph?Graph Traversal AlgorithmsChallenge: Implement Breadth-First SearchSolution: Implement Breadth-First SearchChallenge: Implement Depth-First SearchSolution: Implement Depth-First SearchChallenge: Detect Cycle in a Directed GraphSolution: Detect Cycle in a Directed GraphChallenge: Find a Mother Vertex in a Directed GraphSolution: Find a Mother Vertex in a Directed GraphChallenge: Count the number of Edges in an Undirected GraphSolution: Count the Number of Edges in an Undirected GraphChallenge: Check If a Path Exists between Two VerticesSolution: Check If a Path Exists between Two VerticesChallenge: Graph Valid TreeSolution: Graph Valid TreeChallenge: Find the Shortest Path between Two VerticesSolution: Find the Shortest Path between Two VerticesChallenge: Remove Edge from a Directed GraphSolution: Remove Edge from a Directed GraphGraph Quiz: Test Your Understanding of Graphs
Introduction to Trees
An Introduction to Trees and Basic Tree PropertiesWhat is a Binary Tree?What Makes a Tree 'balanced'?More on Complete Binary TreesSkewed Binary TreesWhat is a Binary Search Tree (BST)?Implementing a Binary Search Tree in C++Binary Search Tree InsertionBinary Search Tree Insertion (Implementation)Searching in a Binary Search Tree (Implementation)Deletion in Binary Search TreeDeletion in Binary Search Tree (Implementation)Pre-Order TraversalPost-Order TraversalIn-Order TraversalWhat is an AVL Tree?AVL InsertionAVL DeletionWhat is a Red-Black Tree?Red-Black Tree InsertionRed-Black Tree DeletionWhat is 2-3 Tree?2-3 Insertion2-3 Deletion (Case #1)2-3 Deletion (Case #2)2-3-4 TreesOverview of TreesChallenge: Find Minimum Value in Binary Search TreeSolution: Find Minimum Value in Binary Search TreeChallenge: Find kth Maximum Value in Binary Search TreeSolution: Find kth Maximum Value in Binary Search TreeChallenge: Find Ancestors of a Given Node in a BSTSolution: Find Ancestors of a Given Node in a BSTChallenge: Find the Height of Binary Search TreeSolution: Find the Height of Binary Search TreeChallenge: Find Nodes at k Distance from the RootSolution: Find Nodes at k Distance from the RootTrees Quiz: Test Your Understanding of Trees
Trie
What is a Trie?Structure of a TrieInsertion in a TrieSearch in a TrieDeletion in TrieChallenge: Total Number of Words in a TrieSolution: Total Number of Words in a TrieChallenge: Find All Words Stored in TrieSolution: Find All Words Stored in TrieChallenge: Array Sort Using TrieSolution: Array Sort Using TrieChallenge: Word Formation From a Dictionary Using TrieSolution: Word Formation From a Dictionary Using TrieTrie Quiz: Test Your Understanding of Tries
Introduction to Heap
What is a Heap?Max Heap: IntroductionMax Heap (Implementation)Min Heap: IntroductionMin Heap (Implementation)Challenge: Convert Max Heap to Min HeapSolution: Convert Max Heap to Min HeapChallenge: Find k Smallest Elements in an ArraySolution: Find k Smallest Elements in an ArrayChallenge: Find K Largest Elements in an ArraySolution: Find K Largest Elements in an ArrayHeap Quiz: Test Your Understanding of Heaps
Introduction to Hashing
What is a Hash Table?The Hash FunctionCollisions in Hash TablesBuilding a Hash Table from ScratchAdd/Remove & Search in Hash Table (Implementation)A Quick Overview of Hash TablesTrie vs. Hash Tableunordered_map vs unordered_setChallenge: An Array as a Subset of Another ArraySolution: An Array as a Subset of Another ArrayChallenge: Check if Arrays are DisjointSolution: Check if Arrays are DisjointChallenge: Find Symmetric Pairs in an ArraySolution: Find Symmetric Pairs in an ArrayChallenge: Trace the Complete Path of a JourneySolution: Trace the Complete Path of a JourneyChallenge: Find Two Pairs in an Array Such That a+b = c+dSolution: Find Two Pairs in an Array Such That a+b = c+dChallenge: A Subarray with a Sum of 0Solution: A Subarray with a Sum of 0Challenge: Word Formation Using a Hash TableSolution: Word Formation Using a Hash TableChallenge: Find Two Numbers That Add up to k—HashingSolution: Find Two Numbers That Add up to k—HashingChallenge: First Non-Repeating Integer in an Array—HashingSolution: First Non-Repeating Integer in an Array—HashingChallenge: Linked List Cycle—HashingSolution: Linked List Cycle—HashingChallenge: Remove Duplicates from Linked List - HashingSolution: Remove Duplicates from Linked List - HashingChallenge: Union and Intersection of Linked Lists — HashingSolution: Union and Intersection of Linked Lists — HashingHashing Quiz: Test Your Understanding of Hashing
Summary of Data Structures
Overview of Linear & Non-Linear Data StructuresConclusion
Mock interview
Premium
Data Structures
Practice Mock Interview