Get a firm grasp on the inner workings of the most common data structures. Tackle common interview coding problems and analyze your solutions.

Beginner

228 Lessons

25h

Certificate of Completion

Get a firm grasp on the inner workings of the most common data structures. Tackle common interview coding problems and analyze your solutions.

AI-POWERED

AI-POWERED

Code Feedback

Mock Interview

This course includes

160 Playgrounds

65 Challenges

23 Quizzes

This course includes

160 Playgrounds

65 Challenges

23 Quizzes

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 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

3.

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

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 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

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 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

6.

Introduction to Trees

38 Lessons

7.

Trie

14 Lessons

8.

Introduction to Heap

12 Lessons

9.

Introduction to Hashing

33 Lessons

10.

Summary of Data Structures

2 Lessons

Course Author

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

Trusted by 1.4 million developers working at companies

Anthony Walker

@_webarchitect_

Evan Dunbar

ML Engineer

Carlos Matias La Borde

Software Developer

Souvik Kundu

Front-end Developer

Vinay Krishnaiah

Software Developer

Eric Downs

Musician/Entrepeneur

Kenan Eyvazov

DevOps Engineer

Souvik Kundu

Front-end Developer

Eric Downs

Musician/Entrepeneur

Anthony Walker

@_webarchitect_

Evan Dunbar

ML Engineer

Hands-on Learning Powered by AI

See how Educative uses AI to make your learning more immersive than ever before.

Instant Code Feedback

AI-Powered Mock Interviews

Adaptive Learning

Explain with AI

AI Code Mentor

Frequently Asked Questions

What are the data structures of C++ programming?

Can I use C++ for coding interviews?

How to study for a C++ interview

Are C++ coders in demand?

How many hours a day should I study C++?