Beginner

228 Lessons

30h

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

Code Feedback

Mock Interview

Explanations

This course includes

168 Playgrounds

65 Challenges

24 Quizzes

837 Illustrations

This course includes

168 Playgrounds

65 Challenges

24 Quizzes

837 Illustrations

Course Overview

Data structures are amongst the most fundamental concepts of Computer Science. The data structure chosen can make or break an entire computer program. 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 Python to allow readers to become well equipped. Now with more code solutions, lessons, and illustrations ...

Course Content

1

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

2

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

3

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

4

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

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

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.

Part of the Java Interview Prep Path

Ace the Python Coding Interview

Stand out from the crowd. Cover everything you need to know to crack your coding interviews in Python.

7 Modules

Recommended Courses

BEFORE STARTING THIS COURSE

AFTER FINISHING THIS COURSE