Cademy logoCademy Marketplace

Course Images

Data Structures and Algorithms: The Complete Masterclass

Data Structures and Algorithms: The Complete Masterclass

🔥 Limited Time Offer 🔥

Get a 10% discount on your first order when you use this promo code at checkout: MAY24BAN3X

  • 30 Day Money Back Guarantee
  • Completion Certificate
  • 24/7 Technical Support

Highlights

  • On-Demand course

  • 19 hours 52 minutes

  • All levels

Description

This course takes you through all the important topics of data structure and algorithms from scratch. You will learn how to solve real-world problems with linked lists, stacks, queues, sorting algorithms, and a lot more using Python.

With the knowledge of data structures and algorithms at your fingertips, you can write efficient computer programs to solve real-world problems. This course will help you to get up and running with data structures and algorithms in no time. The course starts by explaining the concepts of complexity analysis and big O notation. Next, you will become familiar with the concepts of memory and logarithms. Moving along, you will get a solid understanding of data structure concepts, such as arrays, linked lists, stacks, queues, hash tables, trees, heaps, and graphs. Next, you will understand what recursion is and get to grips with a variety of basic and advanced algorithms, such as searching, sorting elementary, sorting advanced, tree traversal, and graph traversal. Towards the end, you will go through a set of interview questions that will enhance your knowledge of data structures and algorithms and prepare you for job interviews. By the end of this course, you will have gained exceptional knowledge of data structure and algorithms and will have developed skills to apply in the real world.

What You Will Learn

Discover how to design a linked list
Distinguish between static and dynamic array
Grasp the steps to construct a binary tree
Understand the concepts of a call stack and tree recursion
Discover the role of searching and sorting algorithms
Find the solution to the longest palindrome substring

Audience

This course is designed for anyone who wants to learn the concepts of data structures and algorithms from scratch. Basic knowledge of Python programming is needed to get started with this course.

Approach

This course helps you understand the important topics of data structures and algorithms step-by-step using examples and activities.

Key Features

Understand the fundamentals of data structures and algorithms * Learn how to implement data structures and algorithms in the real-world using Python * Prepare for your job interview by getting acquainted with some common interview questions

Github Repo

https://github.com/PacktPublishing/Data-Structures-and-Algorithms-The-Complete-Masterclass

About the Author

Shubham Sarda

Shubham is a software developer and digital marketer with a passion for teaching. He has worked with many funded start-ups, self-projects, and as a top-rated freelancer on multiple marketplaces. Currently, he stands among the top 700 freelancers with over 2,500+ projects on Fiverr, PeoplePerHour, Freelancer, and more. As an instructor, he has taught programming and digital marketing to over 20,000 students, both with online courses and offline bootcamps. He has mastered explaining complex topics in the simplest form that is easy to understand and follow. His video courses are also used by companies to train their employees and by colleges to prepare and upgrade their students according to the latest industry requirements.

Course Outline

1. Course Introduction

This section provides an introduction to the course.

1. Course Introduction

Dive into the Data Structures and Algorithm Boot Camp, covering everything from foundational concepts to advanced implementations using Python. From understanding memory, Big O notation, and recursion to mastering sorting algorithms and data structures, this course offers hands-on learning with real-world interview questions.

1. Course Introduction

Dive into the Data Structures and Algorithm Boot Camp, covering everything from foundational concepts to advanced implementations using Python. From understanding memory, Big O notation, and recursion to mastering sorting algorithms and data structures, this course offers hands-on learning with real-world interview questions.

2. Curriculum Walkthrough

This video introduces you to Data Structures and Algorithms.

2. Curriculum Walkthrough

This video introduces you to Data Structures and Algorithms.


2. Big O Notation

This section introduces you to big O notation in data structures.

1. Section Introduction

This video provides an introduction to this section.

1. Section Introduction

This video provides an introduction to this section.

2. Complexity Analysis

This video highlights the concept of complexity analysis.

2. Complexity Analysis

This video highlights the concept of complexity analysis.

3. Why We Need Big O Notation?

This video explains the need for big O notation.

3. Why We Need Big O Notation?

This video explains the need for big O notation.

4. Big O(n) Complexity

This video explains the concept of big O(n) complexity.

4. Big O(n) Complexity

This video explains the concept of big O(n) complexity.

5. Big O(1) Complexity

This video introduces you to big O(1) complexity.

5. Big O(1) Complexity

This video introduces you to big O(1) complexity.

6. Counting Operations

This video explains counting operations in data structures.

6. Counting Operations

This video explains counting operations in data structures.

7. Simplifying Big O - Part 1

This is the first part of the two-part video that simplifies big O.

7. Simplifying Big O - Part 1

This is the first part of the two-part video that simplifies big O.

8. Big O(n^2) Complexity

This video explains big O (n^2) complexity.

8. Big O(n^2) Complexity

This video explains big O (n^2) complexity.

9. Simplifying Big O - Part 2

This is the second part of the two-part video that continues to simplify big O.

9. Simplifying Big O - Part 2

This is the second part of the two-part video that continues to simplify big O.

10. Big O(n!) Complexity

This video explains big O(n!) complexity.

10. Big O(n!) Complexity

This video explains big O(n!) complexity.

11. Space Complexity - Part 1

This is the first part of the two-part video that provides an introduction to space complexity.

11. Space Complexity - Part 1

This is the first part of the two-part video that provides an introduction to space complexity.

12. Space Complexity - Part 2

This is the second part of the two-part video that explains more about space complexity.

12. Space Complexity - Part 2

This is the second part of the two-part video that explains more about space complexity.

13. Section Summary

This video provides a summary of this section.

13. Section Summary

This video provides a summary of this section.


3. Essential Concepts - I

This is the first part of the two-part section that introduces you to the essential concepts of data structures.

1. Memory

This video explains memory in data structures.

1. Memory

This video explains memory in data structures.

2. Logarithm

This video focuses on logarithms in data structures.

2. Logarithm

This video focuses on logarithms in data structures.


4. Data Structure - Introduction

This section introduces you to the core concepts of data structure.

1. Introduction to Data Structures

This video provides an introduction to data structures.

1. Introduction to Data Structures

This video provides an introduction to data structures.


5. Data Structure - Arrays

This section focuses on arrays in a data structure.

1. Array Introduction

This video introduces you to the array.

1. Array Introduction

This video introduces you to the array.

2. Array - Common Operations - Part 1

This is the first part of the three-part video that explains the common operators.

2. Array - Common Operations - Part 1

This is the first part of the three-part video that explains the common operators.

3. Array - Common Operations - Part 2

This is the second part of the three-part video that focuses on the common operators.

3. Array - Common Operations - Part 2

This is the second part of the three-part video that focuses on the common operators.

4. Static versus Dynamic Array - Common Operations - Part 3

This is the third part of the three-part video that highlights the difference between static and dynamic array.

4. Static versus Dynamic Array - Common Operations - Part 3

This is the third part of the three-part video that highlights the difference between static and dynamic array.


6. Data Structures - Linked Lists

This section introduces you to linked lists in data structures.

1. Linked Lists

This video provides an introduction to linked lists.

1. Linked Lists

This video provides an introduction to linked lists.

2. Linked List Complexities

This video focuses on the complexities of linked lists.

2. Linked List Complexities

This video focuses on the complexities of linked lists.

3. Doubly Linked List

This video explains the concept of a doubly linked list.

3. Doubly Linked List

This video explains the concept of a doubly linked list.

4. Circular Linked List and Implementing a Linked List

This video focuses on a circular linked list and explains how to implement a linked list.

4. Circular Linked List and Implementing a Linked List

This video focuses on a circular linked list and explains how to implement a linked list.


7. Data Structures - Stack and Queue

This section introduces you to stack and queue.

1. Stack and Queue

This video provides an introduction to stack and queue.

1. Stack and Queue

This video provides an introduction to stack and queue.


8. Data Structures - Hash Tables

This section introduces you to hash tables in data structures.

1. Hash Tables

This video provides an introduction to hash tables.

1. Hash Tables

This video provides an introduction to hash tables.


9. Data Structures - Trees

This section introduces you to trees in data structures.

1. Trees - Part 1

This is the first part of the two-part video that explains nonlinear data structure called trees.

1. Trees - Part 1

This is the first part of the two-part video that explains nonlinear data structure called trees.

2. Trees - Part 2

This is the second part of the two-part video that explains the depth and height of trees.

2. Trees - Part 2

This is the second part of the two-part video that explains the depth and height of trees.

3. Binary Tree

This video focuses on a binary tree in data structures.

3. Binary Tree

This video focuses on a binary tree in data structures.

4. Binary Search Tree

This video explains a binary search tree in data structures.

4. Binary Search Tree

This video explains a binary search tree in data structures.

5. Adelson-Vekskii Landis (AVL) Trees versus Red Black Trees

This video highlights the difference between AVL trees and red black trees.

5. Adelson-Vekskii Landis (AVL) Trees versus Red Black Trees

This video highlights the difference between AVL trees and red black trees.


10. Data Structures - Heaps

This section introduces you to heaps in data structures.

1. Heaps

This video provides an introduction to heaps.

1. Heaps

This video provides an introduction to heaps.

2. Heap Sort and Priority Queues

This video explains focuses on heap sort and priority queues.

2. Heap Sort and Priority Queues

This video explains focuses on heap sort and priority queues.


11. Data Structures - Tries

This section introduces you to the concept of a trie, which is a tree-like structure in data structures.

1. Trie - I

This is the first part of the two-part video that provides an introduction to the concept of a trie where we can store a character.

1. Trie - I

This is the first part of the two-part video that provides an introduction to the concept of a trie where we can store a character.

2. Trie - II

This is the second part of the two-part video that explains how to implement a trie.

2. Trie - II

This is the second part of the two-part video that explains how to implement a trie.

3. Why Are Tries Important?

This video explains the importance of tries.

3. Why Are Tries Important?

This video explains the importance of tries.


12. Data Structures - Graphs

This section explains the concept of graphs in data structures.

1. Graphs

This video introduces you to graphs.

1. Graphs

This video introduces you to graphs.


13. Essential Concepts - II

This is the second part of the two-part section that introduces you to the essential concepts of data structures.

1. What is Recursion?

This video explains recursion in data structures.

1. What is Recursion?

This video explains recursion in data structures.

2. Recursion: Control of a Function - Part 1

This is the first part of the four-part recursion-based video that explains the control of a function in data structures.

2. Recursion: Control of a Function - Part 1

This is the first part of the four-part recursion-based video that explains the control of a function in data structures.

3. Recursion: Tracing Tree - Part 2

This is the second part of the four-part recursion-based video that demonstrates how to trace a tree in data structures.

3. Recursion: Tracing Tree - Part 2

This is the second part of the four-part recursion-based video that demonstrates how to trace a tree in data structures.

4. Recursion: Understanding a Call Stack - Part 3

This is the third part of the four-part recursion-based video that helps you understand the concept of a call stack in data structures.

4. Recursion: Understanding a Call Stack - Part 3

This is the third part of the four-part recursion-based video that helps you understand the concept of a call stack in data structures.

5. Recursion: Tree Recursion - Part 4

This is the fourth part of the four-part recursion-based video that explains tree recursion in data structures.

5. Recursion: Tree Recursion - Part 4

This is the fourth part of the four-part recursion-based video that explains tree recursion in data structures.

6. Recursion Example - Factorial of a Number

This video provides a recursion-based example and explains how to get the factorial of a number.

6. Recursion Example - Factorial of a Number

This video provides a recursion-based example and explains how to get the factorial of a number.


14. Algorithm: Searching

This section explains the concept of searching.

1. Linear Search

This video explains the concept of a linear search.

1. Linear Search

This video explains the concept of a linear search.

2. Binary Search

This video focuses on the concept of a binary search.

2. Binary Search

This video focuses on the concept of a binary search.

3. Binary Search Complexity

This video introduces you to binary search complexity.

3. Binary Search Complexity

This video introduces you to binary search complexity.

4. Implementing Binary Search - Part 1

This is the first part of the two-part video that demonstrates how to implement a binary search.

4. Implementing Binary Search - Part 1

This is the first part of the two-part video that demonstrates how to implement a binary search.

5. Implementing Binary Search Implementation - Recursion - Part 2

This is the second part of the two-part video that explains how to implement a binary search using recursion.

5. Implementing Binary Search Implementation - Recursion - Part 2

This is the second part of the two-part video that explains how to implement a binary search using recursion.


15. Algorithm: Sorting Elementary

This section introduces you to sorting elementary.

1. Sorting Algorithm - Introduction

This video provides an introduction to the sorting algorithm.

1. Sorting Algorithm - Introduction

This video provides an introduction to the sorting algorithm.

2. Bubble Sort

This video explains the concept of bubble sort.

2. Bubble Sort

This video explains the concept of bubble sort.

3. Bubble Sort Visualization

This video focuses on bubble sort visualization.

3. Bubble Sort Visualization

This video focuses on bubble sort visualization.

4. Implementing Bubble Sort

This video demonstrates how to implement bubble sort.

4. Implementing Bubble Sort

This video demonstrates how to implement bubble sort.

5. Bubble Sort Complexity

This video focuses on bubble sort complexity.

5. Bubble Sort Complexity

This video focuses on bubble sort complexity.

6. Selection Sort

This video explains the parallax effect to make selection sort.

6. Selection Sort

This video explains the parallax effect to make selection sort.

7. Selection Sort Visualization

This video focuses on selection sort visualization.

7. Selection Sort Visualization

This video focuses on selection sort visualization.

8. Implementing Selection Sort

This video explains how to implement selection sort.

8. Implementing Selection Sort

This video explains how to implement selection sort.

9. Selection Sort Complexity

This video focuses on selection sort complexity.

9. Selection Sort Complexity

This video focuses on selection sort complexity.

10. Insertion Sort

This video introduces you to insertion sort.

10. Insertion Sort

This video introduces you to insertion sort.

11. Implementing Insertion Sort

This video explains how to implement insertion sort.

11. Implementing Insertion Sort

This video explains how to implement insertion sort.

12. Insertion Sort Complexity

This video focuses on insertion sort complexity.

12. Insertion Sort Complexity

This video focuses on insertion sort complexity.

13. Performance Analysis

This video explains the concept of performance analysis in data structure.

13. Performance Analysis

This video explains the concept of performance analysis in data structure.


16. Algorithm: Sorting Advanced

This section explains the concept of advanced sorting.

1. Quick Sort

This video introduces you to quick sort in data structure.

1. Quick Sort

This video introduces you to quick sort in data structure.

2. Quick Sort Complexity

This video focuses on the quick sort complexity.

2. Quick Sort Complexity

This video focuses on the quick sort complexity.

3. Implementing Quicksort

This video demonstrates how to implement quicksort.

3. Implementing Quicksort

This video demonstrates how to implement quicksort.

4. Merge Sort

This video introduces you to merge sort.

4. Merge Sort

This video introduces you to merge sort.

5. Merge Sort Complexity

This video explains merge sort complexity.

5. Merge Sort Complexity

This video explains merge sort complexity.

6. Implementing Merge Sort

This video explains how to implement merge sort.

6. Implementing Merge Sort

This video explains how to implement merge sort.


17. Algorithm: Tree Traversals

This section explains the concept of tree traversals.

1. Tree Traversal

This video introduces you to the concept of tree traversals.

1. Tree Traversal

This video introduces you to the concept of tree traversals.

2. Depth-first Search - (Preorder, Inorder, and Postorder)

This video focuses on depth-first searches, such as preorder, inorder, and postorder.

2. Depth-first Search - (Preorder, Inorder, and Postorder)

This video focuses on depth-first searches, such as preorder, inorder, and postorder.

3. Implementing a Binary Tree

This video demonstrates how to implement a binary tree.

3. Implementing a Binary Tree

This video demonstrates how to implement a binary tree.

4. Implementing Depth-first Search

This video explains how to implement depth-first search.

4. Implementing Depth-first Search

This video explains how to implement depth-first search.

5. Depth-first Search Complexity

This video explains depth-first search complexity.

5. Depth-first Search Complexity

This video explains depth-first search complexity.

6. Breadth-first Search - Level Order

This video introduces you to breadth-first search

6. Breadth-first Search - Level Order

This video introduces you to breadth-first search

7. Implementing Breadth-first Search

This video explains how to implement breadth-first search.

7. Implementing Breadth-first Search

This video explains how to implement breadth-first search.

8. Breadth-first Search Complexity

This video explains breadth first search complexity.

8. Breadth-first Search Complexity

This video explains breadth first search complexity.


18. Algorithms: Graph Traversal

This section explains the concept of graph traversals.

1. Graph Traversal

This video introduces you to graph traversals.

1. Graph Traversal

This video introduces you to graph traversals.

2. Implementing Graph Animation

This video demonstrates how to implement graph animation.

2. Implementing Graph Animation

This video demonstrates how to implement graph animation.

3. Implementing Breadth-first Search

This video explains how to implement breadth-first search in graph traversals.

3. Implementing Breadth-first Search

This video explains how to implement breadth-first search in graph traversals.

4. Implementing Depth-first Search

This video demonstrates how to implement depth-first search in graph traversals.

4. Implementing Depth-first Search

This video demonstrates how to implement depth-first search in graph traversals.

5. Graph Traversal Complexity

This video explains graph traversal complexity.

5. Graph Traversal Complexity

This video explains graph traversal complexity.


19. Implementations and Interview Questions

This section focuses on implementations and interview questions.

1. Implementing Data Structures

This video demonstrates how to implement data structures.

1. Implementing Data Structures

This video demonstrates how to implement data structures.

2. Problem Solving Approach

This video focuses on the problem-solving approach.

2. Problem Solving Approach

This video focuses on the problem-solving approach.


20. Question 1: Two Sum

This section explains adding two linked list.

1. Two Sum

This video explains how to add two linked lists.

1. Two Sum

This video explains how to add two linked lists.


21. Question 2: Min Stack

This section explains the concept of a min stack.

1. Min Stacks

This video introduces you to min stacks.

1. Min Stacks

This video introduces you to min stacks.

2. Implementing a Min Stack

This video demonstrates how to implement a min stack.

2. Implementing a Min Stack

This video demonstrates how to implement a min stack.


22. Question 3: Max Stack

This section explains the concept of a max stack.

1. Max Stacks

This video introduces you to max stacks.

1. Max Stacks

This video introduces you to max stacks.


23. Question 4: Design of a Linked List

This section explains the design of a linked list.

1. Designing a Linked List - Part I

This is the first part of the four-part video that demonstrates how to design a linked list.

1. Designing a Linked List - Part I

This is the first part of the four-part video that demonstrates how to design a linked list.

2. Designing a Linked List - Part 2

This is the second part of the four-part video that dives deep into the default settings to design a linked list.

2. Designing a Linked List - Part 2

This is the second part of the four-part video that dives deep into the default settings to design a linked list.

3. Designing a Linked List - Part 3

This is the third part of the three-part video that explains how to add a node to any position.

3. Designing a Linked List - Part 3

This is the third part of the three-part video that explains how to add a node to any position.

4. Designing a Linked List - Part 4

This is the fourth part of the four-part video that demonstrates how to delete a node in a particular index.

4. Designing a Linked List - Part 4

This is the fourth part of the four-part video that demonstrates how to delete a node in a particular index.


24. Question 5: Reserve Linked List

This section explains the concept of a reserved linked list.

1. Reversing Linked List - I

This is the first part of the two-part video that demonstrates how to reverse a linked list.

1. Reversing Linked List - I

This is the first part of the two-part video that demonstrates how to reverse a linked list.

2. Reversing Linked List - II

This is the second part of the two-part video that further explains how to reverse a linked list.

2. Reversing Linked List - II

This is the second part of the two-part video that further explains how to reverse a linked list.


25. Question 6: Constructing a Binary Tree

This section explains how to construct a binary tree.

1. Traversal (Preorder, Inorder, and Postorder)

This video explains the concept of traversal, such as preorder, inorder, and postorder.

1. Traversal (Preorder, Inorder, and Postorder)

This video explains the concept of traversal, such as preorder, inorder, and postorder.

2. Constructing a Binary Tree: From Preorder and Inorder Traversal - Part 1

This is the first part of the two-part video that demonstrates how to construct a binary tree from preorder and inorder traversal.

2. Constructing a Binary Tree: From Preorder and Inorder Traversal - Part 1

This is the first part of the two-part video that demonstrates how to construct a binary tree from preorder and inorder traversal.

3. Constructing a Binary Tree: From Preorder and Inorder Traversal - Part 2

This is the second part of the two-part video that explains how to construct a binary tree from preorder and inorder traversal.

3. Constructing a Binary Tree: From Preorder and Inorder Traversal - Part 2

This is the second part of the two-part video that explains how to construct a binary tree from preorder and inorder traversal.


26. Question 7: Invert Binary Tree

This section explains the concept of an invert binary tree.

1. Invert Binary Tree - Part 1

This is the first part of the two-part video that demonstrates how to work with an invert binary tree.

1. Invert Binary Tree - Part 1

This is the first part of the two-part video that demonstrates how to work with an invert binary tree.

2. Invert Binary Tree - Part 2

This is the second part of the two-part video that explains a problem based on invert binary tree.

2. Invert Binary Tree - Part 2

This is the second part of the two-part video that explains a problem based on invert binary tree.


27. Question 8: Constructing a Binary Search Tree

This section explains how to construct a binary search tree.

1. Constructing a Binary Search Tree: From Preorder Traversal - Part 1

This is the first part of the two-part video that demonstrates how to construct a binary search tree from preorder traversal.

1. Constructing a Binary Search Tree: From Preorder Traversal - Part 1

This is the first part of the two-part video that demonstrates how to construct a binary search tree from preorder traversal.

2. Constructing a Binary Search Tree: From Preorder Traversal - Part 2

This is the second part of the two-part video that explains how to construct a binary search tree from preorder traversal.

2. Constructing a Binary Search Tree: From Preorder Traversal - Part 2

This is the second part of the two-part video that explains how to construct a binary search tree from preorder traversal.


28. Question 9: Detect Capital

This section explains the concept of detect capital.

1. Detect Capital

This video provides an introduction to detect capital.

1. Detect Capital

This video provides an introduction to detect capital.


29. Question 10: Reverse Strings

This section explains the concept of reverse strings.

1. Reverse Strings

This video provides an introduction to reverse strings.

1. Reverse Strings

This video provides an introduction to reverse strings.


30. Question 11: Longest Palindromic Substring

This section explains the concept of the longest palindromic substring.

1. Longest Palindromic Substring - Part 1

This is the first part of the two-part video that explains the longest palindromic substring.

1. Longest Palindromic Substring - Part 1

This is the first part of the two-part video that explains the longest palindromic substring.

2. Longest Palindromic Substring - Part 2

This is the second part of the two-part video that focuses on the longest palindromic substring.

2. Longest Palindromic Substring - Part 2

This is the second part of the two-part video that focuses on the longest palindromic substring.


31. Thank You for Being Here!

This section concludes the course.

1. Thank You for Being Here!

Reflect on your comprehensive learning journey of data structures and algorithms with the instructor. Let's wrap up!

1. Thank You for Being Here!

Reflect on your comprehensive learning journey of data structures and algorithms with the instructor. Let's wrap up!

Course Content

  1. Data Structures and Algorithms: The Complete Masterclass

About The Provider

Packt
Packt
Birmingham
Founded in 2004 in Birmingham, UK, Packt’s mission is to help the world put software to work in new ways, through the delivery of effective learning and i...
Read more about Packt

Tags

Reviews