0% completed
All LessonsFree Lessons (16)
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)Quiz: Test Your Understanding of Complexity
Introduction to Arrays
ArraysThe var vs. let vs. constChallenge: 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 InsertionSingly Linked List DeletionDeletion at the TailLinked 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 Properties!What is a Binary Tree?What Makes a Tree 'Balanced'?More on Complete Binary TreesSkewed Binary TreeWhat is a Binary Search Tree (BST)?Implementing a Binary Search Tree in JavaScriptBinary Search Tree InsertionBinary Search Tree Insertion (Implementation)Pre-Order TraversalIn-Order TraversalPost-Order TraversalSearching in a Binary Search Tree (Implementation)Deletion in Binary Search TreeDeletion in Binary Search Tree (Implementation)What is an AVL Tree?AVL InsertionAVL DeletionWhat is a Red-Black Tree?Red-Black Tree InsertionRed-Black Tree DeletionWhat is a 2-3 Tree?2-3 Insertion2-3 Deletion (Element at Leaf)2-3 Deletion (Element at Internal Node)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 a 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 TablesTrees vs Hash TablesChallenge: 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