INTERACTIVE COURSE

Beginner

219 Lessons

25h

Certificate of Completion

144 Playgrounds

61 Challenges

24 Quizzes

868 Illustrations

Course Overview

Data structures are amongst the very fundamentals of Computer Science and are often a core decision in developing efficient programs. Consequently, they are also largely categorized as a vital benchmark of computer science knowledge when it comes to industry interviews. This course contains a detailed review of all the common data structures and provides implementation level details in C++ to allow readers to become well equipped with all the different data structures they can leverage to write better code!

Course Content

1

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

2

Introduction to Arrays

What is an Array?Multidimensional ArraysChallenge: Remove Even Integers From an ArraySolution: Remove Even Integers From an ArrayChallenge: Merge Two Sorted ArraysSolution: Merge Two Sorted ArraysChallenge: Find Two Numbers that Add up to "value"Solution: Find Two Numbers that Add up to "value"Challenge: Array of Products of all ElementsSolution: Array of Products of All ElementsChallenge: Find Minimum Value in an ArraySolution: Find Minimum Value in an ArrayChallenge: Find First Unique Integer in an ArraySolution: Find First Unique Integer in an ArrayChallenge: Find Second Maximum Value in an ArraySolution: Find Second Maximum Value in an ArrayChallenge: Right Rotate an Array by 1Solution: Right Rotate an Array by 1Challenge: Rearrange Positive & Negative ValuesSolution: Rearrange Positive & Negative ValuesChallenge: Rearrange Sorted Array in Max/Min FormSolution: Rearrange Sorted Array in Max/Min FormChallenge: Maximum Sum SubarraySolution: Maximum Sum SubarrayArrays Quiz: Test Your Understanding of Arrays

3

Introduction to Linked Lists

Singly Linked Lists (SLL)Basic Linked List OperationsSingly Linked List InsertionChallenge: Insertion at TailSolution: Insertion at TailChallenge: Search in a Singly Linked ListSolution: Search in a Singly Linked ListDeletion in a Singly Linked ListChallenge: Deletion by ValueSolution: Deletion by ValueLinked Lists vs. ArraysChallenge: Find the Length of a Linked ListSolution: Find the Length of a Linked ListChallenge: Reverse a Linked ListSolution: Reverse a Linked ListChallenge: Detect Loop in a Linked ListSolution: Detect a Loop in a Linked ListChallenge: Find Middle Node of Linked ListSolution: Find Middle Node of a Linked ListChallenge: Remove Duplicates from 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 the EndDoubly Linked Lists (DLL)Singly Linked Lists vs. Doubly Linked ListsLinked Lists Quiz: Test Your Understanding of Linked Lists

4

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 QueueSolution: Generate Binary Numbers from 1 to n using QueueChallenge: Implement Two Stacks using one ArraySolution: Implement Two Stacks using one ArrayChallenge: Reversing First k Elements of QueueSolution: Reversing First k Elements of QueueChallenge: Implement a Queue Using StacksSolution: Implement a Queue Using StacksChallenge: Sort Values in a StackSolution: Sort Values in 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: Check Balanced Parentheses Using StackSolution: Check Balanced Parentheses using StackChallenge: min() Function Using a StackSolution: min() Function Using a StackStack/Queue Quiz: Test Your Understanding of Stack/Queue

5

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 GraphSolution: Detect Cycle in GraphChallenge: Find a "Mother Vertex" in a GraphSolution: Find a "Mother Vertex" in a 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: Check if an Undirected Graph is Tree or notSolution: Check if an Undirected Graph is a Tree or NotChallenge: Find the Shortest Path between Two VerticesSolution: Find the Shortest Path Between Two VerticesChallenge: Remove EdgeSolution: Remove EdgeGraph Quiz: Test Your Understanding of Graphs

6

Introduction to Trees

38 Lessons

7

Trie

14 Lessons

8

Introduction to Heap

12 Lessons

9

Introduction to Hashing

29 Lessons

10

Summary of Data Structures

2 Lessons

COURSE AUTHOR

How You'll Learn

You don’t get better at swimming by watching others. Coding is no different. Practice as you learn with live code environments inside your browser.

Videos are holding you back. Educative‘s interactive, text-based lessons accelerate learning — no setup, downloads, or alt-tabbing required.

Learn faster and smarter with adaptive AI tools embedded in every Educative course.

Built-in assessments let you test your skills. Completion certificates let you show them off.

Learn everything you’ll need to perform like a rockstar on your coding interviews in C++.

Ace the C++ Coding Interview

Learn everything you’ll need to prepare for your coding interviews in C++.

7 Modules

Recommended Courses

BEFORE STARTING THIS COURSE

AFTER FINISHING THIS COURSE