0% completed
All LessonsFree Lessons (13)
Introduction to Complexity Measures
Comparing AlgorithmsExample: Measuring Time Complexity of For LoopExample: Measuring Time Complexity of a Nested For LoopIntroduction to Asymptotic Analysis and Big OOther Common Asymptotic Notations and Why Big O Trumps ThemUseful FormulasCommon 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 Lists
ListsArraysLists vs Arrays in PythonChallenge: Remove Even Integers From ListSolution: Remove Even Integers From ListChallenge: Merge Two Sorted ListsSolution: Merge Two Sorted ListsChallenge: 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 ListSolution: Find Minimum Value in ListChallenge: First Non-Repeating Integer in a ListSolution: First Non-Repeating Integer in a ListChallenge: Find Second Maximum Value in a ListSolution: Find Second Maximum Value in a ListChallenge: Rotate ListSolution: Rotate ListChallenge: Rearrange Positive & Negative ValuesSolution: Rearrange Positive & Negative ValuesChallenge: Rearrange Sorted List in Max/Min FormSolution: Rearrange Sorted List in Max/Min FormChallenge: Maximum SublistSolution: Maximum SublistLists Quiz: Test your understanding of Lists
Introduction to Linked Lists
Singly Linked Lists (SLL)Linked Lists vs. ListsBasic Linked List OperationsSingly Linked List InsertionSingly Linked List DeletionDoubly 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 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 QueueSolution: Generate Binary Numbers From 1 to n Using a QueueChallenge: Implement Two Stacks Using One ListSolution: Implement Two Stacks Using One ListChallenge: 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
Trees and their Basic Properties!What makes a tree 'balanced'?What is a Binary Tree?More on Complete Binary TreesSkewed Binary TreesWhat is a Binary Search Tree (BST)?Implementing a Binary Search Tree in PythonBinary Search Tree InsertionBinary Search Tree Insertion (Implementation)Searching in a Binary Search Tree (Implementation)Deletion in a Binary Search TreeDeletion in a 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 a 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: List Sort Using TrieSolution: List 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 a ListSolution: Find k Smallest Elements in a ListChallenge: Find K Largest Elements in the ListSolution: Find K Largest Elements in the ListHeap 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 TableDictionary vs SetChallenge: A List as a Subset of Another ListSolution: A List as a Subset of Another ListChallenge: Check if Lists are DisjointSolution: Check if Lists are DisjointChallenge: Find Symmetric Pairs in a ListSolution: Find Symmetric Pairs in a ListChallenge: 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 Sublist with a Sum of 0Solution: A Sublist 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 a List—HashingSolution: First Non-Repeating Integer in a List—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