Booking options
£101.99
£101.99
On-Demand course
19 hours 52 minutes
All levels
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.
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
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.
This course helps you understand the important topics of data structures and algorithms step-by-step using examples and activities.
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
https://github.com/PacktPublishing/Data-Structures-and-Algorithms-The-Complete-Masterclass
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.
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! |