Data Structures and Algorithms: The Complete Masterclass

Video description

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.

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.

Table of contents

  1. Chapter 1 : Course Introduction
    1. Course Introduction
    2. Curriculum Walkthrough
  2. Chapter 2 : Big O Notation
    1. Section Introduction
    2. Complexity Analysis
    3. Why We Need Big O Notation?
    4. Big O(n) Complexity
    5. Big O(1) Complexity
    6. Counting Operations
    7. Simplifying Big O - Part 1
    8. Big O(n^2) Complexity
    9. Simplifying Big O - Part 2
    10. Big O(n!) Complexity
    11. Space Complexity – Part 1
    12. Space Complexity – Part 2
    13. Section Summary
  3. Chapter 3 : Essential Concepts - I
    1. Memory
    2. Logarithm
  4. Chapter 4 : Data Structure - Introduction
    1. Introduction to Data Structures
  5. Chapter 5 : Data Structure - Arrays
    1. Array Introduction
    2. Array - Common Operations – Part 1
    3. Array - Common Operations – Part 2
    4. Static versus Dynamic Array - Common Operations – Part 3
  6. Chapter 6 : Data Structures – Linked Lists
    1. Linked Lists
    2. Linked List Complexities
    3. Doubly Linked List
    4. Circular Linked List and Implementing a Linked List
  7. Chapter 7 : Data Structures – Stack and Queue
    1. Stack and Queue
  8. Chapter 8 : Data Structures – Hash Tables
    1. Hash Tables
  9. Chapter 9 : Data Structures - Trees
    1. Trees - Part 1
    2. Trees - Part 2
    3. Binary Tree
    4. Binary Search Tree
    5. Adelson-Vekskii Landis (AVL) Trees versus Red Black Trees
  10. Chapter 10 : Data Structures – Heaps
    1. Heaps
    2. Heap Sort and Priority Queues
  11. Chapter 11 : Data Structures – Tries
    1. Trie - I
    2. Trie - II
    3. Why Are Tries Important?
  12. Chapter 12 : Data Structures – Graphs
    1. Graphs
  13. Chapter 13 : Essential Concepts - II
    1. What is Recursion?
    2. Recursion: Control of a Function – Part 1
    3. Recursion: Tracing Tree – Part 2
    4. Recursion: Understanding a Call Stack – Part 3
    5. Recursion: Tree Recursion – Part 4
    6. Recursion Example - Factorial of a Number
  14. Chapter 14 : Algorithm: Searching
    1. Linear Search
    2. Binary Search
    3. Binary Search Complexity
    4. Implementing Binary Search – Part 1
    5. Implementing Binary Search Implementation – Recursion – Part 2
  15. Chapter 15 : Algorithm: Sorting Elementary
    1. Sorting Algorithm – Introduction
    2. Bubble Sort
    3. Bubble Sort Visualization
    4. Implementing Bubble Sort
    5. Bubble Sort Complexity
    6. Selection Sort
    7. Selection Sort Visualization
    8. Implementing Selection Sort
    9. Selection Sort Complexity
    10. Insertion Sort
    11. Implementing Insertion Sort
    12. Insertion Sort Complexity
    13. Performance Analysis
  16. Chapter 16 : Algorithm: Sorting Advanced
    1. Quick Sort
    2. Quick Sort Complexity
    3. Implementing Quicksort
    4. Merge Sort
    5. Merge Sort Complexity
    6. Implementing Merge Sort
  17. Chapter 17 : Algorithm: Tree Traversals
    1. Tree Traversal
    2. Depth-first Search – (Preorder, Inorder, and Postorder)
    3. Implementing a Binary Tree
    4. Implementing Depth-first Search
    5. Depth-first Search Complexity
    6. Breadth-first Search - Level Order
    7. Implementing Breadth-first Search
    8. Breadth-first Search Complexity
  18. Chapter 18 : Algorithms: Graph Traversal
    1. Graph Traversal
    2. Implementing Graph Animation
    3. Implementing Breadth-first Search
    4. Implementing Depth-first Search
    5. Graph Traversal Complexity
  19. Chapter 19 : Implementations and Interview Questions
    1. Implementing Data Structures
    2. Problem Solving Approach
  20. Chapter 20 : Question 1: Two Sum
    1. Two Sum
  21. Chapter 21 : Question 2: Min Stack
    1. Min Stacks
    2. Implementing a Min Stack
  22. Chapter 22 : Question 3: Max Stack
    1. Max Stacks
  23. Chapter 23 : Question 4: Design of a Linked List
    1. Designing a Linked List – Part I
    2. Designing a Linked List – Part 2
    3. Designing a Linked List – Part 3
    4. Designing a Linked List – Part 4
  24. Chapter 24 : Question 5: Reserve Linked List
    1. Reversing Linked List - I
    2. Reversing Linked List - II
  25. Chapter 25 : Question 6: Constructing a Binary Tree
    1. Traversal (Preorder, Inorder, and Postorder)
    2. Constructing a Binary Tree: From Preorder and Inorder Traversal – Part 1
    3. Constructing a Binary Tree: From Preorder and Inorder Traversal – Part 2
  26. Chapter 26 : Question 7: Invert Binary Tree
    1. Invert Binary Tree – Part 1
    2. Invert Binary Tree – Part 2
  27. Chapter 27 : Question 8: Constructing a Binary Search Tree
    1. Constructing a Binary Search Tree: From Preorder Traversal – Part 1
    2. Constructing a Binary Search Tree: From Preorder Traversal – Part 2
  28. Chapter 28 : Question 9: Detect Capital
    1. Detect Capital
  29. Chapter 29 : Question 10: Reverse Strings
    1. Reverse Strings
  30. Chapter 30 : Question 11: Longest Palindromic Substring
    1. Longest Palindromic Substring – Part 1
    2. Longest Palindromic Substring – Part 2
  31. Chapter 31 : Thank You for Being Here!
    1. Thank You for Being Here!

Product information

  • Title: Data Structures and Algorithms: The Complete Masterclass
  • Author(s): Shubham Sarda
  • Release date: January 2021
  • Publisher(s): Packt Publishing
  • ISBN: 9781801078504