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

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

AI-POWERED

Code Feedback

Mock Interview

This course includes

168 Playgrounds

65 Challenges

24 Quizzes

This course includes

168 Playgrounds

65 Challenges

24 Quizzes

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

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

Trusted by 1.4 million developers working at companies

Anthony Walker

@_webarchitect_

Emma Bostian 🐞

@EmmaBostian

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

Anthony Walker

@_webarchitect_

Emma Bostian 🐞

@EmmaBostian

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

Evaluate and debug your code with the click of a button. Get real-time feedback on test cases, including time and space complexity of your solutions.